@vue/compat 3.6.0-rc.2 → 3.6.0-rc.4

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.6.0-rc.2
2
+ * @vue/compat v3.6.0-rc.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -318,7 +318,7 @@ const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
318
318
  /**
319
319
  * The full list is needed during SSR to produce the correct initial markup.
320
320
  */
321
- const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
321
+ const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
322
322
  /**
323
323
  * Boolean attributes should be included if the value is truthy or ''.
324
324
  * e.g. `<select multiple>` compiles to `{ multiple: '' }`
@@ -2560,7 +2560,9 @@ const SchedulerJobFlags = {
2560
2560
  "ALLOW_RECURSE": 2,
2561
2561
  "2": "ALLOW_RECURSE",
2562
2562
  "DISPOSED": 4,
2563
- "4": "DISPOSED"
2563
+ "4": "DISPOSED",
2564
+ "REQUEUE_ON_SUSPENSE_DISCARD": 8,
2565
+ "8": "REQUEUE_ON_SUSPENSE_DISCARD"
2564
2566
  };
2565
2567
  const jobs = [];
2566
2568
  let postJobs = [];
@@ -2617,7 +2619,7 @@ function queueFlush() {
2617
2619
  function queuePostFlushCb(jobs, id = Infinity) {
2618
2620
  if (!isArray(jobs)) if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2619
2621
  else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2620
- else for (const job of jobs) queueJobWorker(job, id, postJobs, postJobs.length, 0);
2622
+ else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2621
2623
  queueFlush();
2622
2624
  }
2623
2625
  function flushPreFlushCbs(instance, seen) {
@@ -2638,7 +2640,7 @@ function flushPreFlushCbs(instance, seen) {
2638
2640
  function flushPostFlushCbs(seen) {
2639
2641
  if (postJobs.length) {
2640
2642
  if (activePostJobs) {
2641
- activePostJobs.push(...postJobs);
2643
+ for (let i = 0; i < postJobs.length; i++) activePostJobs.push(postJobs[i]);
2642
2644
  postJobs.length = 0;
2643
2645
  return;
2644
2646
  }
@@ -3823,49 +3825,16 @@ const BaseTransitionImpl = {
3823
3825
  setup(props, { slots }) {
3824
3826
  const instance = getCurrentInstance();
3825
3827
  const state = useTransitionState();
3828
+ let resumeAfterLeave;
3826
3829
  return () => {
3827
- const children = slots.default && getTransitionRawChildren(slots.default(), true);
3828
- const child = children && children.length ? findNonCommentChild(children) : instance.subTree ? createCommentVNode() : void 0;
3830
+ const child = resolveTransitionChild(slots.default && slots.default(), !!instance.subTree);
3829
3831
  if (!child) return;
3830
3832
  const rawProps = /* @__PURE__ */ toRaw(props);
3831
3833
  const { mode } = rawProps;
3832
3834
  checkTransitionMode(mode);
3833
- if (state.isLeaving) return emptyPlaceholder(child);
3834
- const innerChild = getInnerChild$1(child);
3835
- if (!innerChild) return emptyPlaceholder(child);
3836
- let enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance, (hooks) => enterHooks = hooks);
3837
- if (innerChild.type !== Comment) setTransitionHooks(innerChild, enterHooks);
3838
- let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3839
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3840
- let leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);
3841
- setTransitionHooks(oldInnerChild, leavingHooks);
3842
- if (mode === "out-in" && innerChild.type !== Comment) {
3843
- state.isLeaving = true;
3844
- leavingHooks.afterLeave = () => {
3845
- state.isLeaving = false;
3846
- if (!(instance.job.flags & 4)) instance.update();
3847
- delete leavingHooks.afterLeave;
3848
- oldInnerChild = void 0;
3849
- };
3850
- return emptyPlaceholder(child);
3851
- } else if (mode === "in-out" && innerChild.type !== Comment) leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
3852
- const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);
3853
- leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
3854
- el[leaveCbKey] = () => {
3855
- earlyRemove();
3856
- el[leaveCbKey] = void 0;
3857
- delete enterHooks.delayedLeave;
3858
- oldInnerChild = void 0;
3859
- };
3860
- enterHooks.delayedLeave = () => {
3861
- delayedLeave();
3862
- delete enterHooks.delayedLeave;
3863
- oldInnerChild = void 0;
3864
- };
3865
- };
3866
- else oldInnerChild = void 0;
3867
- } else if (oldInnerChild) oldInnerChild = void 0;
3868
- return child;
3835
+ return prepareTransitionSwitch(instance.subTree, child, rawProps, state, instance, mode === "out-in" ? resumeAfterLeave || (resumeAfterLeave = () => {
3836
+ if (!(instance.job.flags & 4)) instance.update();
3837
+ }) : NOOP);
3869
3838
  };
3870
3839
  }
3871
3840
  };
@@ -4009,15 +3978,102 @@ function getInnerChild$1(vnode) {
4009
3978
  if (shapeFlag & 32 && isFunction(children.default)) return children.default();
4010
3979
  }
4011
3980
  }
3981
+ function resolveTransitionChild(children, renderEmpty = false) {
3982
+ const branches = children && getTransitionRawChildren(children, true);
3983
+ return branches && branches.length ? findNonCommentChild(branches) : renderEmpty ? createCommentVNode() : void 0;
3984
+ }
3985
+ /**
3986
+ * @internal
3987
+ */
3988
+ function prepareTransitionSwitch(previous, next, props, state, instance, resumeAfterLeave, delayedLeaveSource) {
3989
+ if (state.isLeaving) return emptyPlaceholder(next);
3990
+ const nextInner = getInnerChild$1(next);
3991
+ if (!nextInner) return emptyPlaceholder(next);
3992
+ let enterHooks = resolveTransitionHooks(nextInner, props, state, instance, (hooks) => {
3993
+ if (delayedLeaveSource) forwardDelayedLeave(hooks, delayedLeaveSource);
3994
+ enterHooks = hooks;
3995
+ });
3996
+ if (delayedLeaveSource) forwardDelayedLeave(enterHooks, delayedLeaveSource);
3997
+ if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
3998
+ const mode = props.mode;
3999
+ const previousInner = previous && getInnerChild$1(previous);
4000
+ if (previous && previousInner && previousInner.type !== Comment && !isSameVNodeType(previousInner, nextInner) && (!previous.component || recursiveGetSubtree(previous.component).type !== Comment)) {
4001
+ const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
4002
+ if (nextInner.type !== Comment && (mode === "out-in" || mode === "in-out") && applyTransitionModeSwitch(previousInner, leavingHooks, mode === "in-out" ? () => enterHooks : void 0, props, state, resumeAfterLeave)) return emptyPlaceholder(next);
4003
+ }
4004
+ return next;
4005
+ }
4006
+ function forwardDelayedLeave(hooks, source) {
4007
+ const delayedLeave = source && source.delayedLeave;
4008
+ if (!delayedLeave) return;
4009
+ hooks.delayedLeave = () => {
4010
+ if (source.delayedLeave === delayedLeave) delayedLeave();
4011
+ delete hooks.delayedLeave;
4012
+ };
4013
+ }
4014
+ /**
4015
+ * Prepares an outgoing VNode when the incoming branch belongs to another
4016
+ * renderer. Returns true when out-in must defer the incoming branch.
4017
+ *
4018
+ * @internal
4019
+ */
4020
+ function prepareTransitionLeave(previous, enterHooks, props, state, instance, resumeAfterLeave) {
4021
+ const previousInner = getInnerChild$1(previous);
4022
+ if (!previousInner || previousInner.type === Comment || previous.component && recursiveGetSubtree(previous.component).type === Comment) return false;
4023
+ return applyTransitionModeSwitch(previousInner, prepareLeavingTransitionHooks(previousInner, props, state, instance), enterHooks ? () => enterHooks : void 0, props, state, resumeAfterLeave);
4024
+ }
4025
+ function prepareLeavingTransitionHooks(previousInner, props, state, instance) {
4026
+ return setTransitionHooks(previousInner, resolveTransitionHooks(previousInner, props, state, instance));
4027
+ }
4028
+ function applyTransitionModeSwitch(leavingVNode, leavingHooks, getEnterHooks, props, state, resumeAfterLeave) {
4029
+ if (props.mode === "out-in") {
4030
+ state.isLeaving = true;
4031
+ leavingHooks.afterLeave = () => {
4032
+ state.isLeaving = false;
4033
+ resumeAfterLeave();
4034
+ delete leavingHooks.afterLeave;
4035
+ };
4036
+ return true;
4037
+ } else if (props.mode === "in-out" && getEnterHooks) {
4038
+ let delayedLeavingVNode = leavingVNode;
4039
+ leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
4040
+ const enterHooks = getEnterHooks();
4041
+ if (!enterHooks) {
4042
+ delayedLeave();
4043
+ return;
4044
+ }
4045
+ const vnode = delayedLeavingVNode;
4046
+ const leavingVNodesCache = getLeavingNodesForType(state, vnode);
4047
+ leavingVNodesCache[String(vnode.key)] = vnode;
4048
+ el[leaveCbKey] = () => {
4049
+ earlyRemove();
4050
+ el[leaveCbKey] = void 0;
4051
+ delete enterHooks.delayedLeave;
4052
+ delayedLeavingVNode = void 0;
4053
+ };
4054
+ enterHooks.delayedLeave = () => {
4055
+ delayedLeave();
4056
+ delete enterHooks.delayedLeave;
4057
+ delayedLeavingVNode = void 0;
4058
+ };
4059
+ };
4060
+ }
4061
+ return false;
4062
+ }
4012
4063
  function setTransitionHooks(vnode, hooks) {
4013
4064
  if (vnode.shapeFlag & 6 && vnode.component) {
4014
4065
  vnode.transition = hooks;
4015
4066
  if (isVaporComponent(vnode.type)) getVaporInterface(vnode.component, vnode).setTransitionHooks(vnode.component, hooks);
4016
- else setTransitionHooks(vnode.component.subTree, hooks);
4067
+ else {
4068
+ const subTree = vnode.component.subTree;
4069
+ return setTransitionHooks(isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree, hooks);
4070
+ }
4017
4071
  } else if (vnode.shapeFlag & 128) {
4018
- vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4019
- vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
4072
+ const contentHooks = vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4073
+ const fallbackHooks = vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
4074
+ return vnode.suspense && vnode.suspense.activeBranch === vnode.ssFallback ? fallbackHooks : contentHooks;
4020
4075
  } else vnode.transition = hooks;
4076
+ return hooks;
4021
4077
  }
4022
4078
  function getTransitionRawChildren(children, keepComment = false, parentKey) {
4023
4079
  let ret = [];
@@ -4384,7 +4440,10 @@ function createHydrationFunctions(rendererInternals) {
4384
4440
  const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
4385
4441
  for (const key in props) {
4386
4442
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) logMismatchError();
4387
- if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) patchProp(el, key, null, props[key], namespace, parentComponent);
4443
+ if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4444
+ if (isUnchangedResourceProp(el, key, props[key])) continue;
4445
+ patchProp(el, key, null, props[key], namespace, parentComponent);
4446
+ }
4388
4447
  }
4389
4448
  } else if (props.onClick) patchProp(el, "onClick", null, props.onClick, void 0, parentComponent);
4390
4449
  else if (patchFlag & 4 && /* @__PURE__ */ isReactive(props.style)) for (const key in props.style) props.style[key];
@@ -4495,6 +4554,16 @@ const isTemplateNode = (node) => {
4495
4554
  /**
4496
4555
  * Dev only
4497
4556
  */
4557
+ const resourceProps = /* @__PURE__ */ new Set([
4558
+ "src",
4559
+ "srcset",
4560
+ "href",
4561
+ "poster"
4562
+ ]);
4563
+ function isUnchangedResourceProp(el, key, clientValue) {
4564
+ if (!resourceProps.has(key)) return false;
4565
+ return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
4566
+ }
4498
4567
  function propHasMismatch(el, key, clientValue, vnode, instance) {
4499
4568
  let mismatchType;
4500
4569
  let mismatchKey;
@@ -4535,7 +4604,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
4535
4604
  function getAttributeMismatch(el, key, clientValue) {
4536
4605
  let actual;
4537
4606
  let expected;
4538
- if (isBooleanAttr(key)) {
4607
+ if (key === "hidden") {
4608
+ actual = normalizeHiddenValue(el.getAttribute(key));
4609
+ expected = normalizeHiddenValue(clientValue);
4610
+ } else if (isBooleanAttr(key)) {
4539
4611
  actual = el.hasAttribute(key);
4540
4612
  expected = includeBooleanAttr(clientValue);
4541
4613
  } else if (clientValue == null) {
@@ -4563,6 +4635,11 @@ function warnPropMismatch(el, mismatchKey, mismatchType, actual, expected) {
4563
4635
  }
4564
4636
  return false;
4565
4637
  }
4638
+ function normalizeHiddenValue(value) {
4639
+ if (!isRenderableAttrValue(value)) return false;
4640
+ if (isString(value)) return value.toLowerCase() === "until-found" ? "until-found" : "";
4641
+ return includeBooleanAttr(value) ? "" : false;
4642
+ }
4566
4643
  function toClassSet(str) {
4567
4644
  return new Set(str.trim().split(/\s+/));
4568
4645
  }
@@ -5454,7 +5531,8 @@ function createSlots(slots, dynamicSlots) {
5454
5531
  * Compiler runtime helper for rendering `<slot/>`
5455
5532
  * @private
5456
5533
  */
5457
- function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
5534
+ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5535
+ if (props == null) props = {};
5458
5536
  let slot = slots[name];
5459
5537
  if (fallback) fallback.__vdom = true;
5460
5538
  const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
@@ -6412,7 +6490,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6412
6490
  if (options.el) return vm.$mount(options.el);
6413
6491
  else return vm;
6414
6492
  }
6415
- Vue.version = `2.6.14-compat:3.6.0-rc.2`;
6493
+ Vue.version = `2.6.14-compat:3.6.0-rc.4`;
6416
6494
  Vue.config = singletonApp.config;
6417
6495
  Vue.use = (plugin, ...options) => {
6418
6496
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7120,8 +7198,9 @@ function renderComponentRoot(instance) {
7120
7198
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
7121
7199
  }
7122
7200
  if (vnode.transition) {
7123
- if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) warn$1("Component inside <Transition> renders non-element root node that cannot be animated.");
7124
- setTransitionHooks(root, vnode.transition);
7201
+ const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
7202
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(child)) warn$1("Component inside <Transition> renders non-element root node that cannot be animated.");
7203
+ setTransitionHooks(child, vnode.transition);
7125
7204
  }
7126
7205
  if (!!(process.env.NODE_ENV !== "production") && setRoot) setRoot(root);
7127
7206
  else result = root;
@@ -7181,9 +7260,10 @@ function filterSingleRoot(children, recurse = true) {
7181
7260
  }
7182
7261
  return singleRoot;
7183
7262
  }
7263
+ const isFunctionalFallthroughKey = (key) => key === "class" || key === "style" || isOn(key);
7184
7264
  const getFunctionalFallthrough = (attrs) => {
7185
7265
  let res;
7186
- for (const key in attrs) if (key === "class" || key === "style" || isOn(key)) (res || (res = {}))[key] = attrs[key];
7266
+ for (const key in attrs) if (isFunctionalFallthroughKey(key)) (res || (res = {}))[key] = attrs[key];
7187
7267
  return res;
7188
7268
  };
7189
7269
  const filterModelListeners = (attrs, props) => {
@@ -8752,6 +8832,10 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8752
8832
  suspense.activeBranch = pendingBranch;
8753
8833
  } else unmount(pendingBranch, parentComponent, suspense);
8754
8834
  suspense.deps = 0;
8835
+ for (let i = 0; i < suspense.effects.length; i++) {
8836
+ const effect = suspense.effects[i];
8837
+ if (effect.flags & 8) queuePostFlushCb(effect);
8838
+ }
8755
8839
  suspense.effects.length = 0;
8756
8840
  suspense.hiddenContainer = createElement("div");
8757
8841
  if (isInFallback) {
@@ -8861,7 +8945,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8861
8945
  let hasUnresolvedAncestor = false;
8862
8946
  while (parent) {
8863
8947
  if (parent.pendingBranch) {
8864
- parent.effects.push(...effects);
8948
+ for (let i = 0; i < effects.length; i++) parent.effects.push(effects[i]);
8865
8949
  hasUnresolvedAncestor = true;
8866
8950
  break;
8867
8951
  }
@@ -9171,11 +9255,26 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
9171
9255
  if (shapeFlag & 128) type.normalize(vnode);
9172
9256
  } else if (children) vnode.shapeFlag |= isString(children) ? 8 : 16;
9173
9257
  if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
9258
+ if (!!(process.env.NODE_ENV !== "production") && props && vnode.shapeFlag & 1) {
9259
+ const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
9260
+ if (overwritingProp && hasContentChildren(vnode.children)) warn$1(`The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`);
9261
+ }
9174
9262
  if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock && (vnode.patchFlag > 0 || shapeFlag & 6) && vnode.patchFlag !== 32) currentBlock.push(vnode);
9175
9263
  convertLegacyVModelProps(vnode);
9176
9264
  defineLegacyVNodeProperties(vnode);
9177
9265
  return vnode;
9178
9266
  }
9267
+ /**
9268
+ * dev only
9269
+ * Whether children would actually render something. Empty text and empty
9270
+ * arrays are ignored, mirroring the compiler's `node.children.length` check
9271
+ * for `v-html` / `v-text`.
9272
+ */
9273
+ function hasContentChildren(children) {
9274
+ if (isString(children)) return children !== "";
9275
+ if (isArray(children)) return children.length > 0;
9276
+ return false;
9277
+ }
9179
9278
  const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithArgsTransform : _createVNode;
9180
9279
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
9181
9280
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
@@ -9584,7 +9683,12 @@ function setupStatefulComponent(instance, isSSR) {
9584
9683
  };
9585
9684
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
9586
9685
  if (isSSR) return setupResult.then((resolvedResult) => {
9587
- handleSetupResult(instance, resolvedResult, isSSR);
9686
+ setInSSRSetupState(true);
9687
+ try {
9688
+ handleSetupResult(instance, resolvedResult, isSSR);
9689
+ } finally {
9690
+ setInSSRSetupState(false);
9691
+ }
9588
9692
  }).catch((e) => {
9589
9693
  handleError(e, instance, 0);
9590
9694
  });
@@ -9970,7 +10074,7 @@ function isMemoSame(cached, memo) {
9970
10074
  }
9971
10075
  //#endregion
9972
10076
  //#region packages/runtime-core/src/index.ts
9973
- const version = "3.6.0-rc.2";
10077
+ const version = "3.6.0-rc.4";
9974
10078
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
9975
10079
  /**
9976
10080
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10760,7 +10864,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
10760
10864
  if (!this._instance) if (this._resolved) this._mountComponent(this._def);
10761
10865
  else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10762
10866
  this._pendingResolve = void 0;
10763
- this._resolveDef();
10867
+ if (this.isConnected) return this._resolveDef();
10764
10868
  });
10765
10869
  else this._resolveDef();
10766
10870
  }
@@ -10796,7 +10900,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
10796
10900
  * resolve inner component definition (handle possible async component)
10797
10901
  */
10798
10902
  _resolveDef() {
10799
- if (this._pendingResolve) return;
10903
+ if (this._pendingResolve) return this._pendingResolve;
10800
10904
  for (let i = 0; i < this.attributes.length; i++) this._setAttr(this.attributes[i].name);
10801
10905
  this._ob = new MutationObserver(this._processMutations.bind(this));
10802
10906
  this._ob.observe(this, { attributes: true });
@@ -10826,6 +10930,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
10826
10930
  this._def = def;
10827
10931
  resolve(def);
10828
10932
  });
10933
+ return this._pendingResolve;
10829
10934
  } else resolve(this._def);
10830
10935
  }
10831
10936
  _mountComponent(def) {
@@ -10864,14 +10969,17 @@ var VueElementBase = class VueElementBase extends BaseClass {
10864
10969
  const { props } = def;
10865
10970
  const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
10866
10971
  for (const key of Object.keys(this)) if (key[0] !== "_" && declaredPropKeys.includes(key)) this._setProp(key, this[key]);
10867
- for (const key of declaredPropKeys.map(camelize)) Object.defineProperty(this, key, {
10868
- get() {
10869
- return this._getProp(key);
10870
- },
10871
- set(val) {
10872
- this._setProp(key, val, true, !this._patching);
10873
- }
10874
- });
10972
+ for (const key of declaredPropKeys.map(camelize)) {
10973
+ if (!!(process.env.NODE_ENV !== "production") && key in Object.getPrototypeOf(this)) warn(`Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`);
10974
+ Object.defineProperty(this, key, {
10975
+ get() {
10976
+ return this._getProp(key);
10977
+ },
10978
+ set(val) {
10979
+ this._setProp(key, val, true, !this._patching);
10980
+ }
10981
+ });
10982
+ }
10875
10983
  }
10876
10984
  _setAttr(key) {
10877
10985
  if (key.startsWith("data-v-")) return;
@@ -11291,13 +11399,22 @@ function onCompositionEnd(e) {
11291
11399
  }
11292
11400
  }
11293
11401
  const assignKey = Symbol("_assign");
11402
+ const initialValueKey = Symbol("_initialValue");
11294
11403
  const vModelText = {
11295
11404
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
11405
+ if (el.parentNode) {
11406
+ if (el.type === "text") el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
11407
+ else if (el.type === "textarea") el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
11408
+ }
11296
11409
  el[assignKey] = getModelAssigner(vnode);
11297
11410
  vModelTextInit(el, trim, number || !!(vnode.props && vnode.props.type === "number"), lazy);
11298
11411
  },
11299
- mounted(el, { value }) {
11300
- el.value = value == null ? "" : value;
11412
+ mounted(el, { value, modifiers: { trim, number } }) {
11413
+ const newValue = value == null ? "" : value;
11414
+ const initialValue = el[initialValueKey];
11415
+ delete el[initialValueKey];
11416
+ if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) el[assignKey](castValue(el.value, trim, number));
11417
+ else el.value = newValue;
11301
11418
  },
11302
11419
  beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
11303
11420
  el[assignKey] = getModelAssigner(vnode);
@@ -11714,6 +11831,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11714
11831
  invokeDirectiveHook: () => invokeDirectiveHook,
11715
11832
  isAsyncWrapper: () => isAsyncWrapper,
11716
11833
  isEmitListener: () => isEmitListener,
11834
+ isFunctionalFallthroughKey: () => isFunctionalFallthroughKey,
11717
11835
  isHydrating: () => isHydrating,
11718
11836
  isHydratingEnabled: () => isHydratingEnabled,
11719
11837
  isKeepAlive: () => isKeepAlive,
@@ -11774,6 +11892,8 @@ var src_exports = /* @__PURE__ */ __exportAll({
11774
11892
  performTransitionLeave: () => performTransitionLeave,
11775
11893
  popScopeId: () => popScopeId,
11776
11894
  popWarningContext: () => popWarningContext,
11895
+ prepareTransitionLeave: () => prepareTransitionLeave,
11896
+ prepareTransitionSwitch: () => prepareTransitionSwitch,
11777
11897
  provide: () => provide,
11778
11898
  proxyRefs: () => proxyRefs,
11779
11899
  pushScopeId: () => pushScopeId,
@@ -11796,6 +11916,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11796
11916
  resolveFilter: () => resolveFilter,
11797
11917
  resolvePropValue: () => resolvePropValue,
11798
11918
  resolveTeleportTarget: () => resolveTarget,
11919
+ resolveTransitionChild: () => resolveTransitionChild,
11799
11920
  resolveTransitionHooks: () => resolveTransitionHooks,
11800
11921
  resolveTransitionProps: () => resolveTransitionProps,
11801
11922
  restoreCurrentInstance: () => restoreCurrentInstance,
@@ -14894,15 +15015,22 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
14894
15015
  else {
14895
15016
  childBlock = children[0].codegenNode;
14896
15017
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
14897
- if (childBlock.isBlock !== !isStableFragment) if (childBlock.isBlock) {
15018
+ const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
15019
+ if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
14898
15020
  removeHelper(OPEN_BLOCK);
14899
15021
  removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14900
15022
  } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
14901
- childBlock.isBlock = !isStableFragment;
15023
+ childBlock.isBlock = shouldUseBlock;
14902
15024
  if (childBlock.isBlock) {
14903
15025
  helper(OPEN_BLOCK);
14904
15026
  helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14905
- } else helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
15027
+ } else {
15028
+ helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
15029
+ if (childBlock.needsPatch) {
15030
+ var _childBlock$patchFlag;
15031
+ childBlock.patchFlag = ((_childBlock$patchFlag = childBlock.patchFlag) !== null && _childBlock$patchFlag !== void 0 ? _childBlock$patchFlag : 0) | 512;
15032
+ }
15033
+ }
14906
15034
  }
14907
15035
  if (memo) {
14908
15036
  const loop = createFunctionExpression(createForLoopParams(forNode.parseResult, [createSimpleExpression(`_cached`)]));
@@ -15128,12 +15256,16 @@ const transformElement = (node, context) => {
15128
15256
  let vnodeDynamicProps;
15129
15257
  let dynamicPropNames;
15130
15258
  let vnodeDirectives;
15259
+ let needsPatch = false;
15260
+ let isBlockRequired = false;
15131
15261
  let shouldUseBlock = isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && (tag === "svg" || tag === "foreignObject" || tag === "math");
15132
15262
  if (props.length > 0) {
15133
15263
  const propsBuildResult = buildProps(node, context, void 0, isComponent, isDynamicComponent);
15134
15264
  vnodeProps = propsBuildResult.props;
15135
15265
  patchFlag = propsBuildResult.patchFlag;
15136
15266
  dynamicPropNames = propsBuildResult.dynamicPropNames;
15267
+ needsPatch = propsBuildResult.needsPatch;
15268
+ isBlockRequired = propsBuildResult.isBlockRequired;
15137
15269
  const directives = propsBuildResult.directives;
15138
15270
  vnodeDirectives = directives && directives.length ? createArrayExpression(directives.map((dir) => buildDirectiveArgs(dir, context))) : void 0;
15139
15271
  if (propsBuildResult.shouldUseBlock) shouldUseBlock = true;
@@ -15162,7 +15294,10 @@ const transformElement = (node, context) => {
15162
15294
  } else vnodeChildren = node.children;
15163
15295
  }
15164
15296
  if (dynamicPropNames && dynamicPropNames.length) vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
15165
- node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, patchFlag === 0 ? void 0 : patchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false, isComponent, node.loc);
15297
+ const vnodeCall = node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, patchFlag === 0 ? void 0 : patchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false, isComponent, node.loc);
15298
+ needsPatch = needsPatch && (patchFlag === 0 || patchFlag === 32);
15299
+ if (needsPatch) vnodeCall.needsPatch = true;
15300
+ if (isBlockRequired) vnodeCall.isBlockRequired = true;
15166
15301
  };
15167
15302
  };
15168
15303
  function resolveComponentType(node, context, ssr = false) {
@@ -15196,6 +15331,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15196
15331
  const runtimeDirectives = [];
15197
15332
  const hasChildren = children.length > 0;
15198
15333
  let shouldUseBlock = false;
15334
+ let isBlockRequired = false;
15199
15335
  let patchFlag = 0;
15200
15336
  let hasRef = false;
15201
15337
  let hasClassBinding = false;
@@ -15220,12 +15356,12 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15220
15356
  const isEventHandler = isOn(name);
15221
15357
  if (isEventHandler && (!isComponent || isDynamicComponent) && name.toLowerCase() !== "onclick" && name !== "onUpdate:modelValue" && !isReservedProp(name)) hasHydrationEventBinding = true;
15222
15358
  if (isEventHandler && isReservedProp(name)) hasVnodeHook = true;
15359
+ if (name === "ref") hasRef = true;
15223
15360
  if (isEventHandler && value.type === 14) value = value.arguments[0];
15224
15361
  if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) return;
15225
- if (name === "ref") hasRef = true;
15226
- else if (name === "class") hasClassBinding = true;
15362
+ if (name === "class") hasClassBinding = true;
15227
15363
  else if (name === "style") hasStyleBinding = true;
15228
- else if (name !== "key" && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
15364
+ else if (name !== "ref" && name !== "key" && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
15229
15365
  if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
15230
15366
  } else hasDynamicKeys = true;
15231
15367
  };
@@ -15251,7 +15387,11 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15251
15387
  if (name === "once" || name === "memo") continue;
15252
15388
  if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled("COMPILER_IS_ON_ELEMENT", context))) continue;
15253
15389
  if (isVOn && ssr) continue;
15254
- if (isVBind && isStaticArgOf(arg, "key") || isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update")) shouldUseBlock = true;
15390
+ if (isVBind && isStaticArgOf(arg, "key")) shouldUseBlock = true;
15391
+ if (isVOn && hasChildren && arg && isStaticExp(arg) && camelize(arg.content) === "vue:beforeUpdate") {
15392
+ shouldUseBlock = true;
15393
+ isBlockRequired = true;
15394
+ }
15255
15395
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
15256
15396
  if (!arg && (isVBind || isVOn)) {
15257
15397
  hasDynamicKeys = true;
@@ -15295,7 +15435,10 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15295
15435
  }
15296
15436
  } else if (!isBuiltInDirective(name)) {
15297
15437
  runtimeDirectives.push(prop);
15298
- if (hasChildren) shouldUseBlock = true;
15438
+ if (hasChildren) {
15439
+ shouldUseBlock = true;
15440
+ isBlockRequired = true;
15441
+ }
15299
15442
  }
15300
15443
  }
15301
15444
  }
@@ -15312,7 +15455,8 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15312
15455
  if (dynamicPropNames.length) patchFlag |= 8;
15313
15456
  if (hasHydrationEventBinding) patchFlag |= 32;
15314
15457
  }
15315
- if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) patchFlag |= 512;
15458
+ const needsPatch = (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0);
15459
+ if (!shouldUseBlock && needsPatch) patchFlag |= 512;
15316
15460
  if (!context.inSSR && propsExpression) switch (propsExpression.type) {
15317
15461
  case 15:
15318
15462
  let classKeyIndex = -1;
@@ -15342,7 +15486,9 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15342
15486
  directives: runtimeDirectives,
15343
15487
  patchFlag,
15344
15488
  dynamicPropNames,
15345
- shouldUseBlock
15489
+ shouldUseBlock,
15490
+ needsPatch,
15491
+ isBlockRequired
15346
15492
  };
15347
15493
  }
15348
15494
  function dedupeProperties(properties) {
@@ -16379,4 +16525,4 @@ Vue.compile = compileToFunction;
16379
16525
  var esm_index_default = Vue;
16380
16526
  const configureCompat = Vue.configureCompat;
16381
16527
  //#endregion
16382
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
16528
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };