vue 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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.19
2
+ * vue v3.5.21
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.19
2
+ * vue v3.5.21
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,9 +1,8 @@
1
1
  /**
2
- * vue v3.5.19
2
+ * vue v3.5.21
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- /*! #__NO_SIDE_EFFECTS__ */
7
6
  // @__NO_SIDE_EFFECTS__
8
7
  function makeMap(str) {
9
8
  const map = /* @__PURE__ */ Object.create(null);
@@ -61,10 +60,10 @@ const cacheStringFunction = (fn) => {
61
60
  return hit || (cache[str] = fn(str));
62
61
  });
63
62
  };
64
- const camelizeRE = /-(\w)/g;
63
+ const camelizeRE = /-\w/g;
65
64
  const camelize = cacheStringFunction(
66
65
  (str) => {
67
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
66
+ return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());
68
67
  }
69
68
  );
70
69
  const hyphenateRE = /\B([A-Z])/g;
@@ -1164,7 +1163,7 @@ const arrayInstrumentations = {
1164
1163
  join(separator) {
1165
1164
  return reactiveReadArray(this).join(separator);
1166
1165
  },
1167
- // keys() iterator only reads `length`, no optimisation required
1166
+ // keys() iterator only reads `length`, no optimization required
1168
1167
  lastIndexOf(...args) {
1169
1168
  return searchProxy(this, "lastIndexOf", args);
1170
1169
  },
@@ -1516,7 +1515,7 @@ function createInstrumentations(readonly, shallow) {
1516
1515
  get size() {
1517
1516
  const target = this["__v_raw"];
1518
1517
  !readonly && track(toRaw(target), "iterate", ITERATE_KEY);
1519
- return Reflect.get(target, "size", target);
1518
+ return target.size;
1520
1519
  },
1521
1520
  has(key) {
1522
1521
  const target = this["__v_raw"];
@@ -2227,11 +2226,11 @@ function traverse(value, depth = Infinity, seen) {
2227
2226
  if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2228
2227
  return value;
2229
2228
  }
2230
- seen = seen || /* @__PURE__ */ new Set();
2231
- if (seen.has(value)) {
2229
+ seen = seen || /* @__PURE__ */ new Map();
2230
+ if ((seen.get(value) || 0) >= depth) {
2232
2231
  return value;
2233
2232
  }
2234
- seen.add(value);
2233
+ seen.set(value, depth);
2235
2234
  depth--;
2236
2235
  if (isRef(value)) {
2237
2236
  traverse(value.value, depth, seen);
@@ -2693,11 +2692,14 @@ function checkRecursiveUpdates(seen, fn) {
2693
2692
  let isHmrUpdating = false;
2694
2693
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2695
2694
  {
2696
- getGlobalThis().__VUE_HMR_RUNTIME__ = {
2697
- createRecord: tryWrap(createRecord),
2698
- rerender: tryWrap(rerender),
2699
- reload: tryWrap(reload)
2700
- };
2695
+ const g = getGlobalThis();
2696
+ if (!g.__VUE_HMR_RUNTIME__) {
2697
+ g.__VUE_HMR_RUNTIME__ = {
2698
+ createRecord: tryWrap(createRecord),
2699
+ rerender: tryWrap(rerender),
2700
+ reload: tryWrap(reload)
2701
+ };
2702
+ }
2701
2703
  }
2702
2704
  const map = /* @__PURE__ */ new Map();
2703
2705
  function registerHMR(instance) {
@@ -2770,10 +2772,12 @@ function reload(id, newComp) {
2770
2772
  dirtyInstances.delete(instance);
2771
2773
  } else if (instance.parent) {
2772
2774
  queueJob(() => {
2773
- isHmrUpdating = true;
2774
- instance.parent.update();
2775
- isHmrUpdating = false;
2776
- dirtyInstances.delete(instance);
2775
+ if (!(instance.job.flags & 8)) {
2776
+ isHmrUpdating = true;
2777
+ instance.parent.update();
2778
+ isHmrUpdating = false;
2779
+ dirtyInstances.delete(instance);
2780
+ }
2777
2781
  });
2778
2782
  } else if (instance.appContext.reload) {
2779
2783
  instance.appContext.reload();
@@ -2877,7 +2881,6 @@ const devtoolsComponentRemoved = (component) => {
2877
2881
  _devtoolsComponentRemoved(component);
2878
2882
  }
2879
2883
  };
2880
- /*! #__NO_SIDE_EFFECTS__ */
2881
2884
  // @__NO_SIDE_EFFECTS__
2882
2885
  function createDevtoolsComponentHook(hook) {
2883
2886
  return (component) => {
@@ -3275,26 +3278,34 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3275
3278
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3276
3279
  o: { nextSibling, parentNode, querySelector, insert, createText }
3277
3280
  }, hydrateChildren) {
3281
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3282
+ vnode2.anchor = hydrateChildren(
3283
+ nextSibling(node2),
3284
+ vnode2,
3285
+ parentNode(node2),
3286
+ parentComponent,
3287
+ parentSuspense,
3288
+ slotScopeIds,
3289
+ optimized
3290
+ );
3291
+ vnode2.targetStart = targetStart;
3292
+ vnode2.targetAnchor = targetAnchor;
3293
+ }
3278
3294
  const target = vnode.target = resolveTarget(
3279
3295
  vnode.props,
3280
3296
  querySelector
3281
3297
  );
3298
+ const disabled = isTeleportDisabled(vnode.props);
3282
3299
  if (target) {
3283
- const disabled = isTeleportDisabled(vnode.props);
3284
3300
  const targetNode = target._lpa || target.firstChild;
3285
3301
  if (vnode.shapeFlag & 16) {
3286
3302
  if (disabled) {
3287
- vnode.anchor = hydrateChildren(
3288
- nextSibling(node),
3303
+ hydrateDisabledTeleport(
3304
+ node,
3289
3305
  vnode,
3290
- parentNode(node),
3291
- parentComponent,
3292
- parentSuspense,
3293
- slotScopeIds,
3294
- optimized
3306
+ targetNode,
3307
+ targetNode && nextSibling(targetNode)
3295
3308
  );
3296
- vnode.targetStart = targetNode;
3297
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
3298
3309
  } else {
3299
3310
  vnode.anchor = nextSibling(node);
3300
3311
  let targetAnchor = targetNode;
@@ -3325,6 +3336,10 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3325
3336
  }
3326
3337
  }
3327
3338
  updateCssVars(vnode, disabled);
3339
+ } else if (disabled) {
3340
+ if (vnode.shapeFlag & 16) {
3341
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3342
+ }
3328
3343
  }
3329
3344
  return vnode.anchor && nextSibling(vnode.anchor);
3330
3345
  }
@@ -3436,7 +3451,7 @@ const BaseTransitionImpl = {
3436
3451
  setTransitionHooks(innerChild, enterHooks);
3437
3452
  }
3438
3453
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3439
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3454
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3440
3455
  let leavingHooks = resolveTransitionHooks(
3441
3456
  oldInnerChild,
3442
3457
  rawProps,
@@ -3716,7 +3731,6 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
3716
3731
  return ret;
3717
3732
  }
3718
3733
 
3719
- /*! #__NO_SIDE_EFFECTS__ */
3720
3734
  // @__NO_SIDE_EFFECTS__
3721
3735
  function defineComponent(options, extraOptions) {
3722
3736
  return isFunction(options) ? (
@@ -3769,6 +3783,7 @@ function useTemplateRef(key) {
3769
3783
  return ret;
3770
3784
  }
3771
3785
 
3786
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
3772
3787
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3773
3788
  if (isArray(rawRef)) {
3774
3789
  rawRef.forEach(
@@ -3818,6 +3833,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3818
3833
  return !knownTemplateRefs.has(ref2);
3819
3834
  };
3820
3835
  if (oldRef != null && oldRef !== ref) {
3836
+ invalidatePendingSetRef(oldRawRef);
3821
3837
  if (isString(oldRef)) {
3822
3838
  refs[oldRef] = null;
3823
3839
  if (canSetSetupRef(oldRef)) {
@@ -3875,9 +3891,15 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3875
3891
  }
3876
3892
  };
3877
3893
  if (value) {
3878
- doSet.id = -1;
3879
- queuePostRenderEffect(doSet, parentSuspense);
3894
+ const job = () => {
3895
+ doSet();
3896
+ pendingSetRefMap.delete(rawRef);
3897
+ };
3898
+ job.id = -1;
3899
+ pendingSetRefMap.set(rawRef, job);
3900
+ queuePostRenderEffect(job, parentSuspense);
3880
3901
  } else {
3902
+ invalidatePendingSetRef(rawRef);
3881
3903
  doSet();
3882
3904
  }
3883
3905
  } else {
@@ -3885,6 +3907,13 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3885
3907
  }
3886
3908
  }
3887
3909
  }
3910
+ function invalidatePendingSetRef(rawRef) {
3911
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
3912
+ if (pendingSetRef) {
3913
+ pendingSetRef.flags |= 8;
3914
+ pendingSetRefMap.delete(rawRef);
3915
+ }
3916
+ }
3888
3917
 
3889
3918
  let hasLoggedMismatchError = false;
3890
3919
  const logMismatchError = () => {
@@ -4617,7 +4646,6 @@ function forEachElement(node, cb) {
4617
4646
  }
4618
4647
 
4619
4648
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4620
- /*! #__NO_SIDE_EFFECTS__ */
4621
4649
  // @__NO_SIDE_EFFECTS__
4622
4650
  function defineAsyncComponent(source) {
4623
4651
  if (isFunction(source)) {
@@ -8655,8 +8683,9 @@ function emit(instance, event, ...rawArgs) {
8655
8683
  );
8656
8684
  }
8657
8685
  }
8686
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
8658
8687
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
8659
- const cache = appContext.emitsCache;
8688
+ const cache = asMixin ? mixinEmitsCache : appContext.emitsCache;
8660
8689
  const cached = cache.get(comp);
8661
8690
  if (cached !== void 0) {
8662
8691
  return cached;
@@ -9104,7 +9133,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9104
9133
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
9105
9134
  if (pendingBranch) {
9106
9135
  suspense.pendingBranch = newBranch;
9107
- if (isSameVNodeType(newBranch, pendingBranch)) {
9136
+ if (isSameVNodeType(pendingBranch, newBranch)) {
9108
9137
  patch(
9109
9138
  pendingBranch,
9110
9139
  newBranch,
@@ -9175,7 +9204,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9175
9204
  );
9176
9205
  setActiveBranch(suspense, newFallback);
9177
9206
  }
9178
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
9207
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
9179
9208
  patch(
9180
9209
  activeBranch,
9181
9210
  newBranch,
@@ -9206,7 +9235,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9206
9235
  }
9207
9236
  }
9208
9237
  } else {
9209
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
9238
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
9210
9239
  patch(
9211
9240
  activeBranch,
9212
9241
  newBranch,
@@ -10363,7 +10392,7 @@ function getComponentPublicInstance(instance) {
10363
10392
  return instance.proxy;
10364
10393
  }
10365
10394
  }
10366
- const classifyRE = /(?:^|[-_])(\w)/g;
10395
+ const classifyRE = /(?:^|[-_])\w/g;
10367
10396
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
10368
10397
  function getComponentName(Component, includeInferred = true) {
10369
10398
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -10406,15 +10435,23 @@ const computed = (getterOrOptions, debugOptions) => {
10406
10435
  };
10407
10436
 
10408
10437
  function h(type, propsOrChildren, children) {
10438
+ const doCreateVNode = (type2, props, children2) => {
10439
+ setBlockTracking(-1);
10440
+ try {
10441
+ return createVNode(type2, props, children2);
10442
+ } finally {
10443
+ setBlockTracking(1);
10444
+ }
10445
+ };
10409
10446
  const l = arguments.length;
10410
10447
  if (l === 2) {
10411
10448
  if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
10412
10449
  if (isVNode(propsOrChildren)) {
10413
- return createVNode(type, null, [propsOrChildren]);
10450
+ return doCreateVNode(type, null, [propsOrChildren]);
10414
10451
  }
10415
- return createVNode(type, propsOrChildren);
10452
+ return doCreateVNode(type, propsOrChildren);
10416
10453
  } else {
10417
- return createVNode(type, null, propsOrChildren);
10454
+ return doCreateVNode(type, null, propsOrChildren);
10418
10455
  }
10419
10456
  } else {
10420
10457
  if (l > 3) {
@@ -10422,7 +10459,7 @@ function h(type, propsOrChildren, children) {
10422
10459
  } else if (l === 3 && isVNode(children)) {
10423
10460
  children = [children];
10424
10461
  }
10425
- return createVNode(type, propsOrChildren, children);
10462
+ return doCreateVNode(type, propsOrChildren, children);
10426
10463
  }
10427
10464
  }
10428
10465
 
@@ -10632,7 +10669,7 @@ function isMemoSame(cached, memo) {
10632
10669
  return true;
10633
10670
  }
10634
10671
 
10635
- const version = "3.5.19";
10672
+ const version = "3.5.21";
10636
10673
  const warn = warn$1 ;
10637
10674
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10638
10675
  const devtools = devtools$1 ;
@@ -10991,7 +11028,7 @@ function getTransitionInfo(el, expectedType) {
10991
11028
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION$1 : ANIMATION : null;
10992
11029
  propCount = type ? type === TRANSITION$1 ? transitionDurations.length : animationDurations.length : 0;
10993
11030
  }
10994
- const hasTransform = type === TRANSITION$1 && /\b(transform|all)(,|$)/.test(
11031
+ const hasTransform = type === TRANSITION$1 && /\b(?:transform|all)(?:,|$)/.test(
10995
11032
  getStyleProperties(`${TRANSITION$1}Property`).toString()
10996
11033
  );
10997
11034
  return {
@@ -11032,6 +11069,8 @@ function patchClass(el, value, isSVG) {
11032
11069
  const vShowOriginalDisplay = Symbol("_vod");
11033
11070
  const vShowHidden = Symbol("_vsh");
11034
11071
  const vShow = {
11072
+ // used for prop mismatch check during hydration
11073
+ name: "show",
11035
11074
  beforeMount(el, { value }, { transition }) {
11036
11075
  el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
11037
11076
  if (transition && value) {
@@ -11065,9 +11104,6 @@ const vShow = {
11065
11104
  setDisplay(el, value);
11066
11105
  }
11067
11106
  };
11068
- {
11069
- vShow.name = "show";
11070
- }
11071
11107
  function setDisplay(el, value) {
11072
11108
  el.style.display = value ? el[vShowOriginalDisplay] : "none";
11073
11109
  el[vShowHidden] = !value;
@@ -11153,7 +11189,7 @@ function setVarsOnNode(el, vars) {
11153
11189
  }
11154
11190
  }
11155
11191
 
11156
- const displayRE = /(^|;)\s*display\s*:/;
11192
+ const displayRE = /(?:^|;)\s*display\s*:/;
11157
11193
  function patchStyle(el, prev, next) {
11158
11194
  const style = el.style;
11159
11195
  const isCssString = isString(next);
@@ -11476,11 +11512,10 @@ function shouldSetAsProp(el, key, value, isSVG) {
11476
11512
  }
11477
11513
 
11478
11514
  const REMOVAL = {};
11479
- /*! #__NO_SIDE_EFFECTS__ */
11480
11515
  // @__NO_SIDE_EFFECTS__
11481
11516
  function defineCustomElement(options, extraOptions, _createApp) {
11482
- const Comp = defineComponent(options, extraOptions);
11483
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
11517
+ let Comp = defineComponent(options, extraOptions);
11518
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
11484
11519
  class VueCustomElement extends VueElement {
11485
11520
  constructor(initialProps) {
11486
11521
  super(Comp, initialProps, _createApp);
@@ -11489,7 +11524,6 @@ function defineCustomElement(options, extraOptions, _createApp) {
11489
11524
  VueCustomElement.def = Comp;
11490
11525
  return VueCustomElement;
11491
11526
  }
11492
-
11493
11527
  const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
11494
11528
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
11495
11529
  });
@@ -11962,7 +11996,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
11962
11996
  if (e && e.target !== el) {
11963
11997
  return;
11964
11998
  }
11965
- if (!e || /transform$/.test(e.propertyName)) {
11999
+ if (!e || e.propertyName.endsWith("transform")) {
11966
12000
  el.removeEventListener("transitionend", cb);
11967
12001
  el[moveCbKey] = null;
11968
12002
  removeTransitionClass(el, moveClass);
@@ -13931,7 +13965,7 @@ const isMemberExpressionBrowser = (exp) => {
13931
13965
  return !currentOpenBracketCount && !currentOpenParensCount;
13932
13966
  };
13933
13967
  const isMemberExpression = isMemberExpressionBrowser ;
13934
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
13968
+ const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/;
13935
13969
  const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
13936
13970
  const isFnExpression = isFnExpressionBrowser ;
13937
13971
  function assert(condition, msg) {
@@ -15973,7 +16007,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
15973
16007
  }
15974
16008
 
15975
16009
  const transformIf = createStructuralDirectiveTransform(
15976
- /^(if|else|else-if)$/,
16010
+ /^(?:if|else|else-if)$/,
15977
16011
  (node, dir, context) => {
15978
16012
  return processIf(node, dir, context, (ifNode, branch, isRoot) => {
15979
16013
  const siblings = context.parent.children;
@@ -16560,7 +16594,7 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
16560
16594
  );
16561
16595
  } else if (vElse = findDir(
16562
16596
  slotElement,
16563
- /^else(-if)?$/,
16597
+ /^else(?:-if)?$/,
16564
16598
  true
16565
16599
  /* allowEmpty */
16566
16600
  )) {
@@ -16572,7 +16606,7 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
16572
16606
  break;
16573
16607
  }
16574
16608
  }
16575
- if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {
16609
+ if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) {
16576
16610
  let conditional = dynamicSlots[dynamicSlots.length - 1];
16577
16611
  while (conditional.alternate.type === 19) {
16578
16612
  conditional = conditional.alternate;