@vue/runtime-dom 3.5.17 → 3.5.19

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,11 +1,11 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.17
2
+ * @vue/runtime-dom v3.5.19
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
6
  import { warn, BaseTransitionPropsValidators, h, BaseTransition, assertNumber, getCurrentInstance, onBeforeUpdate, queuePostFlushCb, onMounted, watch, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, unref, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, createRenderer, createHydrationRenderer, isRuntimeOnly } from '@vue/runtime-core';
7
7
  export * from '@vue/runtime-core';
8
- import { extend, isObject, toNumber, isArray, NOOP, isString, hyphenate, capitalize, isSpecialBooleanAttr, includeBooleanAttr, isSymbol, isFunction, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';
8
+ import { extend, isObject, toNumber, isArray, NOOP, normalizeCssVarValue, isString, hyphenate, capitalize, isSpecialBooleanAttr, includeBooleanAttr, isSymbol, isFunction, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';
9
9
 
10
10
  let policy = void 0;
11
11
  const tt = typeof window !== "undefined" && window.trustedTypes;
@@ -418,7 +418,7 @@ const vShow = {
418
418
  setDisplay(el, value);
419
419
  }
420
420
  };
421
- if (!!(process.env.NODE_ENV !== "production")) {
421
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {
422
422
  vShow.name = "show";
423
423
  }
424
424
  function setDisplay(el, value) {
@@ -498,8 +498,9 @@ function setVarsOnNode(el, vars) {
498
498
  const style = el.style;
499
499
  let cssText = "";
500
500
  for (const key in vars) {
501
- style.setProperty(`--${key}`, vars[key]);
502
- cssText += `--${key}: ${vars[key]};`;
501
+ const value = normalizeCssVarValue(vars[key]);
502
+ style.setProperty(`--${key}`, value);
503
+ cssText += `--${key}: ${value};`;
503
504
  }
504
505
  style[CSS_VAR_TEXT] = cssText;
505
506
  }
@@ -841,10 +842,10 @@ function defineCustomElement(options, extraOptions, _createApp) {
841
842
  VueCustomElement.def = Comp;
842
843
  return VueCustomElement;
843
844
  }
844
- /*! #__NO_SIDE_EFFECTS__ */
845
- const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
845
+
846
+ const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
846
847
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
847
- };
848
+ });
848
849
  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
849
850
  };
850
851
  class VueElement extends BaseClass {
@@ -1705,13 +1706,13 @@ const modifierGuards = {
1705
1706
  const withModifiers = (fn, modifiers) => {
1706
1707
  const cache = fn._withMods || (fn._withMods = {});
1707
1708
  const cacheKey = modifiers.join(".");
1708
- return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
1709
+ return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
1709
1710
  for (let i = 0; i < modifiers.length; i++) {
1710
1711
  const guard = modifierGuards[modifiers[i]];
1711
1712
  if (guard && guard(event, modifiers)) return;
1712
1713
  }
1713
1714
  return fn(event, ...args);
1714
- });
1715
+ }));
1715
1716
  };
1716
1717
  const keyNames = {
1717
1718
  esc: "escape",
@@ -1725,7 +1726,7 @@ const keyNames = {
1725
1726
  const withKeys = (fn, modifiers) => {
1726
1727
  const cache = fn._withKeys || (fn._withKeys = {});
1727
1728
  const cacheKey = modifiers.join(".");
1728
- return cache[cacheKey] || (cache[cacheKey] = (event) => {
1729
+ return cache[cacheKey] || (cache[cacheKey] = ((event) => {
1729
1730
  if (!("key" in event)) {
1730
1731
  return;
1731
1732
  }
@@ -1735,7 +1736,7 @@ const withKeys = (fn, modifiers) => {
1735
1736
  )) {
1736
1737
  return fn(event);
1737
1738
  }
1738
- });
1739
+ }));
1739
1740
  };
1740
1741
 
1741
1742
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -1749,13 +1750,13 @@ function ensureHydrationRenderer() {
1749
1750
  enabledHydration = true;
1750
1751
  return renderer;
1751
1752
  }
1752
- const render = (...args) => {
1753
+ const render = ((...args) => {
1753
1754
  ensureRenderer().render(...args);
1754
- };
1755
- const hydrate = (...args) => {
1755
+ });
1756
+ const hydrate = ((...args) => {
1756
1757
  ensureHydrationRenderer().hydrate(...args);
1757
- };
1758
- const createApp = (...args) => {
1758
+ });
1759
+ const createApp = ((...args) => {
1759
1760
  const app = ensureRenderer().createApp(...args);
1760
1761
  if (!!(process.env.NODE_ENV !== "production")) {
1761
1762
  injectNativeTagCheck(app);
@@ -1780,8 +1781,8 @@ const createApp = (...args) => {
1780
1781
  return proxy;
1781
1782
  };
1782
1783
  return app;
1783
- };
1784
- const createSSRApp = (...args) => {
1784
+ });
1785
+ const createSSRApp = ((...args) => {
1785
1786
  const app = ensureHydrationRenderer().createApp(...args);
1786
1787
  if (!!(process.env.NODE_ENV !== "production")) {
1787
1788
  injectNativeTagCheck(app);
@@ -1795,7 +1796,7 @@ const createSSRApp = (...args) => {
1795
1796
  }
1796
1797
  };
1797
1798
  return app;
1798
- };
1799
+ });
1799
1800
  function resolveRootNamespace(container) {
1800
1801
  if (container instanceof SVGElement) {
1801
1802
  return "svg";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.17
2
+ * @vue/runtime-dom v3.5.19
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -59,10 +59,10 @@ var VueRuntimeDOM = (function (exports) {
59
59
  );
60
60
  const cacheStringFunction = (fn) => {
61
61
  const cache = /* @__PURE__ */ Object.create(null);
62
- return (str) => {
62
+ return ((str) => {
63
63
  const hit = cache[str];
64
64
  return hit || (cache[str] = fn(str));
65
- };
65
+ });
66
66
  };
67
67
  const camelizeRE = /-(\w)/g;
68
68
  const camelize = cacheStringFunction(
@@ -314,6 +314,24 @@ var VueRuntimeDOM = (function (exports) {
314
314
  );
315
315
  };
316
316
 
317
+ function normalizeCssVarValue(value) {
318
+ if (value == null) {
319
+ return "initial";
320
+ }
321
+ if (typeof value === "string") {
322
+ return value === "" ? " " : value;
323
+ }
324
+ if (typeof value !== "number" || !Number.isFinite(value)) {
325
+ {
326
+ console.warn(
327
+ "[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:",
328
+ value
329
+ );
330
+ }
331
+ }
332
+ return String(value);
333
+ }
334
+
317
335
  function warn$2(msg, ...args) {
318
336
  console.warn(`[Vue warn] ${msg}`, ...args);
319
337
  }
@@ -1277,7 +1295,13 @@ var VueRuntimeDOM = (function (exports) {
1277
1295
  }
1278
1296
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
1279
1297
  if (isOldValueReadonly) {
1280
- return false;
1298
+ {
1299
+ warn$2(
1300
+ `Set operation on key "${String(key)}" failed: target is readonly.`,
1301
+ target[key]
1302
+ );
1303
+ }
1304
+ return true;
1281
1305
  } else {
1282
1306
  oldValue.value = value;
1283
1307
  return true;
@@ -2644,7 +2668,9 @@ var VueRuntimeDOM = (function (exports) {
2644
2668
  }
2645
2669
  instance.renderCache = [];
2646
2670
  isHmrUpdating = true;
2647
- instance.update();
2671
+ if (!(instance.job.flags & 8)) {
2672
+ instance.update();
2673
+ }
2648
2674
  isHmrUpdating = false;
2649
2675
  });
2650
2676
  }
@@ -3705,7 +3731,7 @@ var VueRuntimeDOM = (function (exports) {
3705
3731
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
3706
3732
  const setupState = owner.setupState;
3707
3733
  const rawSetupState = toRaw(setupState);
3708
- const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {
3734
+ const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {
3709
3735
  {
3710
3736
  if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {
3711
3737
  warn$1(
@@ -3718,6 +3744,9 @@ var VueRuntimeDOM = (function (exports) {
3718
3744
  }
3719
3745
  return hasOwn(rawSetupState, key);
3720
3746
  };
3747
+ const canSetRef = (ref2) => {
3748
+ return !knownTemplateRefs.has(ref2);
3749
+ };
3721
3750
  if (oldRef != null && oldRef !== ref) {
3722
3751
  if (isString(oldRef)) {
3723
3752
  refs[oldRef] = null;
@@ -3725,7 +3754,11 @@ var VueRuntimeDOM = (function (exports) {
3725
3754
  setupState[oldRef] = null;
3726
3755
  }
3727
3756
  } else if (isRef(oldRef)) {
3728
- oldRef.value = null;
3757
+ if (canSetRef(oldRef)) {
3758
+ oldRef.value = null;
3759
+ }
3760
+ const oldRawRefAtom = oldRawRef;
3761
+ if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
3729
3762
  }
3730
3763
  }
3731
3764
  if (isFunction(ref)) {
@@ -3736,7 +3769,7 @@ var VueRuntimeDOM = (function (exports) {
3736
3769
  if (_isString || _isRef) {
3737
3770
  const doSet = () => {
3738
3771
  if (rawRef.f) {
3739
- const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;
3772
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
3740
3773
  if (isUnmount) {
3741
3774
  isArray(existing) && remove(existing, refValue);
3742
3775
  } else {
@@ -3747,8 +3780,11 @@ var VueRuntimeDOM = (function (exports) {
3747
3780
  setupState[ref] = refs[ref];
3748
3781
  }
3749
3782
  } else {
3750
- ref.value = [refValue];
3751
- if (rawRef.k) refs[rawRef.k] = ref.value;
3783
+ const newVal = [refValue];
3784
+ if (canSetRef(ref)) {
3785
+ ref.value = newVal;
3786
+ }
3787
+ if (rawRef.k) refs[rawRef.k] = newVal;
3752
3788
  }
3753
3789
  } else if (!existing.includes(refValue)) {
3754
3790
  existing.push(refValue);
@@ -3760,7 +3796,9 @@ var VueRuntimeDOM = (function (exports) {
3760
3796
  setupState[ref] = value;
3761
3797
  }
3762
3798
  } else if (_isRef) {
3763
- ref.value = value;
3799
+ if (canSetRef(ref)) {
3800
+ ref.value = value;
3801
+ }
3764
3802
  if (rawRef.k) refs[rawRef.k] = value;
3765
3803
  } else {
3766
3804
  warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
@@ -4381,10 +4419,8 @@ Server rendered element contains fewer child nodes than client vdom.`
4381
4419
  if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
4382
4420
  const cssVars = instance.getCssVars();
4383
4421
  for (const key in cssVars) {
4384
- expectedMap.set(
4385
- `--${getEscapedCssVarName(key)}`,
4386
- String(cssVars[key])
4387
- );
4422
+ const value = normalizeCssVarValue(cssVars[key]);
4423
+ expectedMap.set(`--${getEscapedCssVarName(key)}`, value);
4388
4424
  }
4389
4425
  }
4390
4426
  if (vnode === root && instance.parent) {
@@ -4573,16 +4609,19 @@ Server rendered element contains fewer child nodes than client vdom.`
4573
4609
  __asyncLoader: load,
4574
4610
  __asyncHydrate(el, instance, hydrate) {
4575
4611
  let patched = false;
4576
- const doHydrate = hydrateStrategy ? () => {
4577
- const performHydrate = () => {
4578
- if (patched) {
4612
+ (instance.bu || (instance.bu = [])).push(() => patched = true);
4613
+ const performHydrate = () => {
4614
+ if (patched) {
4615
+ {
4579
4616
  warn$1(
4580
- `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
4617
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`
4581
4618
  );
4582
- return;
4583
4619
  }
4584
- hydrate();
4585
- };
4620
+ return;
4621
+ }
4622
+ hydrate();
4623
+ };
4624
+ const doHydrate = hydrateStrategy ? () => {
4586
4625
  const teardown = hydrateStrategy(
4587
4626
  performHydrate,
4588
4627
  (cb) => forEachElement(el, cb)
@@ -4590,8 +4629,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4590
4629
  if (teardown) {
4591
4630
  (instance.bum || (instance.bum = [])).push(teardown);
4592
4631
  }
4593
- (instance.u || (instance.u = [])).push(() => patched = true);
4594
- } : hydrate;
4632
+ } : performHydrate;
4595
4633
  if (resolvedComp) {
4596
4634
  doHydrate();
4597
4635
  } else {
@@ -5323,10 +5361,10 @@ If this is a native custom element, make sure to exclude it from component resol
5323
5361
  return true;
5324
5362
  },
5325
5363
  has({
5326
- _: { data, setupState, accessCache, ctx, appContext, propsOptions }
5364
+ _: { data, setupState, accessCache, ctx, appContext, propsOptions, type }
5327
5365
  }, key) {
5328
- let normalizedProps;
5329
- return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
5366
+ let normalizedProps, cssModules;
5367
+ return !!(accessCache[key] || data !== EMPTY_OBJ && key[0] !== "$" && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
5330
5368
  },
5331
5369
  defineProperty(target, key, descriptor) {
5332
5370
  if (descriptor.get != null) {
@@ -5464,15 +5502,15 @@ If this is a native custom element, make sure to exclude it from component resol
5464
5502
  return null;
5465
5503
  }
5466
5504
  function useSlots() {
5467
- return getContext().slots;
5505
+ return getContext("useSlots").slots;
5468
5506
  }
5469
5507
  function useAttrs() {
5470
- return getContext().attrs;
5508
+ return getContext("useAttrs").attrs;
5471
5509
  }
5472
- function getContext() {
5510
+ function getContext(calledFunctionName) {
5473
5511
  const i = getCurrentInstance();
5474
5512
  if (!i) {
5475
- warn$1(`useContext() called without active instance.`);
5513
+ warn$1(`${calledFunctionName}() called without active instance.`);
5476
5514
  }
5477
5515
  return i.setupContext || (i.setupContext = createSetupContext(i));
5478
5516
  }
@@ -5723,7 +5761,8 @@ If this is a native custom element, make sure to exclude it from component resol
5723
5761
  expose.forEach((key) => {
5724
5762
  Object.defineProperty(exposed, key, {
5725
5763
  get: () => publicThis[key],
5726
- set: (val) => publicThis[key] = val
5764
+ set: (val) => publicThis[key] = val,
5765
+ enumerable: true
5727
5766
  });
5728
5767
  });
5729
5768
  } else if (!instance.exposed) {
@@ -6170,7 +6209,7 @@ If you want to remount the same app, move your app creation logic into a factory
6170
6209
  }
6171
6210
  }
6172
6211
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
6173
- const instance = currentInstance || currentRenderingInstance;
6212
+ const instance = getCurrentInstance();
6174
6213
  if (instance || currentApp) {
6175
6214
  let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
6176
6215
  if (provides && key in provides) {
@@ -6185,7 +6224,7 @@ If you want to remount the same app, move your app creation logic into a factory
6185
6224
  }
6186
6225
  }
6187
6226
  function hasInjectionContext() {
6188
- return !!(currentInstance || currentRenderingInstance || currentApp);
6227
+ return !!(getCurrentInstance() || currentApp);
6189
6228
  }
6190
6229
 
6191
6230
  const internalObjectProto = {};
@@ -6599,7 +6638,7 @@ If you want to remount the same app, move your app creation logic into a factory
6599
6638
  return args.some((elem) => elem.toLowerCase() === "boolean");
6600
6639
  }
6601
6640
 
6602
- const isInternalKey = (key) => key[0] === "_" || key === "$stable";
6641
+ const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
6603
6642
  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
6604
6643
  const normalizeSlot = (key, rawSlot, ctx) => {
6605
6644
  if (rawSlot._n) {
@@ -6653,8 +6692,6 @@ If you want to remount the same app, move your app creation logic into a factory
6653
6692
  const initSlots = (instance, children, optimized) => {
6654
6693
  const slots = instance.slots = createInternalObject();
6655
6694
  if (instance.vnode.shapeFlag & 32) {
6656
- const cacheIndexes = children.__;
6657
- if (cacheIndexes) def(slots, "__", cacheIndexes, true);
6658
6695
  const type = children._;
6659
6696
  if (type) {
6660
6697
  assignSlots(slots, children, optimized);
@@ -6715,12 +6752,10 @@ If you want to remount the same app, move your app creation logic into a factory
6715
6752
  if (instance.appContext.config.performance && isSupported()) {
6716
6753
  const startTag = `vue-${type}-${instance.uid}`;
6717
6754
  const endTag = startTag + `:end`;
6755
+ const measureName = `<${formatComponentName(instance, instance.type)}> ${type}`;
6718
6756
  perf.mark(endTag);
6719
- perf.measure(
6720
- `<${formatComponentName(instance, instance.type)}> ${type}`,
6721
- startTag,
6722
- endTag
6723
- );
6757
+ perf.measure(measureName, startTag, endTag);
6758
+ perf.clearMeasures(measureName);
6724
6759
  perf.clearMarks(startTag);
6725
6760
  perf.clearMarks(endTag);
6726
6761
  }
@@ -7341,6 +7376,7 @@ If you want to remount the same app, move your app creation logic into a factory
7341
7376
  if (!initialVNode.el) {
7342
7377
  const placeholder = instance.subTree = createVNode(Comment);
7343
7378
  processCommentNode(null, placeholder, container, anchor);
7379
+ initialVNode.placeholder = placeholder.el;
7344
7380
  }
7345
7381
  } else {
7346
7382
  setupRenderEffect(
@@ -7842,7 +7878,11 @@ If you want to remount the same app, move your app creation logic into a factory
7842
7878
  for (i = toBePatched - 1; i >= 0; i--) {
7843
7879
  const nextIndex = s2 + i;
7844
7880
  const nextChild = c2[nextIndex];
7845
- const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
7881
+ const anchorVNode = c2[nextIndex + 1];
7882
+ const anchor = nextIndex + 1 < l2 ? (
7883
+ // #13559, fallback to el placeholder for unresolved async component
7884
+ anchorVNode.el || anchorVNode.placeholder
7885
+ ) : parentAnchor;
7846
7886
  if (newIndexToOldIndexMap[i] === 0) {
7847
7887
  patch(
7848
7888
  null,
@@ -7907,6 +7947,12 @@ If you want to remount the same app, move your app creation logic into a factory
7907
7947
  }
7908
7948
  };
7909
7949
  const performLeave = () => {
7950
+ if (el._isLeaving) {
7951
+ el[leaveCbKey](
7952
+ true
7953
+ /* cancelled */
7954
+ );
7955
+ }
7910
7956
  leave(el, () => {
7911
7957
  remove2();
7912
7958
  afterLeave && afterLeave();
@@ -8052,27 +8098,12 @@ If you want to remount the same app, move your app creation logic into a factory
8052
8098
  if (instance.type.__hmrId) {
8053
8099
  unregisterHMR(instance);
8054
8100
  }
8055
- const {
8056
- bum,
8057
- scope,
8058
- job,
8059
- subTree,
8060
- um,
8061
- m,
8062
- a,
8063
- parent,
8064
- slots: { __: slotCacheKeys }
8065
- } = instance;
8101
+ const { bum, scope, job, subTree, um, m, a } = instance;
8066
8102
  invalidateMount(m);
8067
8103
  invalidateMount(a);
8068
8104
  if (bum) {
8069
8105
  invokeArrayFns(bum);
8070
8106
  }
8071
- if (parent && isArray(slotCacheKeys)) {
8072
- slotCacheKeys.forEach((v) => {
8073
- parent.renderCache[v] = void 0;
8074
- });
8075
- }
8076
8107
  scope.stop();
8077
8108
  if (job) {
8078
8109
  job.flags |= 8;
@@ -8084,12 +8115,6 @@ If you want to remount the same app, move your app creation logic into a factory
8084
8115
  queuePostRenderEffect(() => {
8085
8116
  instance.isUnmounted = true;
8086
8117
  }, parentSuspense);
8087
- if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
8088
- parentSuspense.deps--;
8089
- if (parentSuspense.deps === 0) {
8090
- parentSuspense.resolve();
8091
- }
8092
- }
8093
8118
  {
8094
8119
  devtoolsComponentRemoved(instance);
8095
8120
  }
@@ -8190,7 +8215,8 @@ If you want to remount the same app, move your app creation logic into a factory
8190
8215
  if (!shallow && c2.patchFlag !== -2)
8191
8216
  traverseStaticChildren(c1, c2);
8192
8217
  }
8193
- if (c2.type === Text) {
8218
+ if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
8219
+ c2.patchFlag !== -1) {
8194
8220
  c2.el = c1.el;
8195
8221
  }
8196
8222
  if (c2.type === Comment && !c2.el) {
@@ -9707,6 +9733,7 @@ Component that was made reactive: `,
9707
9733
  suspense: vnode.suspense,
9708
9734
  ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
9709
9735
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
9736
+ placeholder: vnode.placeholder,
9710
9737
  el: vnode.el,
9711
9738
  anchor: vnode.anchor,
9712
9739
  ctx: vnode.ctx,
@@ -10484,7 +10511,7 @@ Component that was made reactive: `,
10484
10511
  return true;
10485
10512
  }
10486
10513
 
10487
- const version = "3.5.17";
10514
+ const version = "3.5.19";
10488
10515
  const warn = warn$1 ;
10489
10516
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10490
10517
  const devtools = devtools$1 ;
@@ -10978,8 +11005,9 @@ Component that was made reactive: `,
10978
11005
  const style = el.style;
10979
11006
  let cssText = "";
10980
11007
  for (const key in vars) {
10981
- style.setProperty(`--${key}`, vars[key]);
10982
- cssText += `--${key}: ${vars[key]};`;
11008
+ const value = normalizeCssVarValue(vars[key]);
11009
+ style.setProperty(`--${key}`, value);
11010
+ cssText += `--${key}: ${value};`;
10983
11011
  }
10984
11012
  style[CSS_VAR_TEXT] = cssText;
10985
11013
  }
@@ -11321,10 +11349,10 @@ Expected function or array of functions, received type ${typeof value}.`
11321
11349
  VueCustomElement.def = Comp;
11322
11350
  return VueCustomElement;
11323
11351
  }
11324
- /*! #__NO_SIDE_EFFECTS__ */
11325
- const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
11352
+
11353
+ const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
11326
11354
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
11327
- };
11355
+ });
11328
11356
  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
11329
11357
  };
11330
11358
  class VueElement extends BaseClass {
@@ -12139,13 +12167,13 @@ Expected function or array of functions, received type ${typeof value}.`
12139
12167
  const withModifiers = (fn, modifiers) => {
12140
12168
  const cache = fn._withMods || (fn._withMods = {});
12141
12169
  const cacheKey = modifiers.join(".");
12142
- return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
12170
+ return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
12143
12171
  for (let i = 0; i < modifiers.length; i++) {
12144
12172
  const guard = modifierGuards[modifiers[i]];
12145
12173
  if (guard && guard(event, modifiers)) return;
12146
12174
  }
12147
12175
  return fn(event, ...args);
12148
- });
12176
+ }));
12149
12177
  };
12150
12178
  const keyNames = {
12151
12179
  esc: "escape",
@@ -12159,7 +12187,7 @@ Expected function or array of functions, received type ${typeof value}.`
12159
12187
  const withKeys = (fn, modifiers) => {
12160
12188
  const cache = fn._withKeys || (fn._withKeys = {});
12161
12189
  const cacheKey = modifiers.join(".");
12162
- return cache[cacheKey] || (cache[cacheKey] = (event) => {
12190
+ return cache[cacheKey] || (cache[cacheKey] = ((event) => {
12163
12191
  if (!("key" in event)) {
12164
12192
  return;
12165
12193
  }
@@ -12169,7 +12197,7 @@ Expected function or array of functions, received type ${typeof value}.`
12169
12197
  )) {
12170
12198
  return fn(event);
12171
12199
  }
12172
- });
12200
+ }));
12173
12201
  };
12174
12202
 
12175
12203
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -12183,13 +12211,13 @@ Expected function or array of functions, received type ${typeof value}.`
12183
12211
  enabledHydration = true;
12184
12212
  return renderer;
12185
12213
  }
12186
- const render = (...args) => {
12214
+ const render = ((...args) => {
12187
12215
  ensureRenderer().render(...args);
12188
- };
12189
- const hydrate = (...args) => {
12216
+ });
12217
+ const hydrate = ((...args) => {
12190
12218
  ensureHydrationRenderer().hydrate(...args);
12191
- };
12192
- const createApp = (...args) => {
12219
+ });
12220
+ const createApp = ((...args) => {
12193
12221
  const app = ensureRenderer().createApp(...args);
12194
12222
  {
12195
12223
  injectNativeTagCheck(app);
@@ -12214,8 +12242,8 @@ Expected function or array of functions, received type ${typeof value}.`
12214
12242
  return proxy;
12215
12243
  };
12216
12244
  return app;
12217
- };
12218
- const createSSRApp = (...args) => {
12245
+ });
12246
+ const createSSRApp = ((...args) => {
12219
12247
  const app = ensureHydrationRenderer().createApp(...args);
12220
12248
  {
12221
12249
  injectNativeTagCheck(app);
@@ -12229,7 +12257,7 @@ Expected function or array of functions, received type ${typeof value}.`
12229
12257
  }
12230
12258
  };
12231
12259
  return app;
12232
- };
12260
+ });
12233
12261
  function resolveRootNamespace(container) {
12234
12262
  if (container instanceof SVGElement) {
12235
12263
  return "svg";