@vue/compat 3.6.0-rc.11 → 3.6.0-rc.12

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.11
2
+ * @vue/compat v3.6.0-rc.12
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -311,9 +311,10 @@ const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
311
311
  * - ismap -> isMap
312
312
  * - nomodule -> noModule
313
313
  * - novalidate -> noValidate
314
+ * - playsinline -> playsInline
314
315
  * - readonly -> readOnly
315
316
  */
316
- const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
317
+ const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;
317
318
  const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
318
319
  /**
319
320
  * The full list is needed during SSR to produce the correct initial markup.
@@ -1009,17 +1010,33 @@ const arrayInstrumentations = {
1009
1010
  };
1010
1011
  function iterator(self, method, wrapValue) {
1011
1012
  const arr = shallowReadArray(self);
1012
- const iter = arr[method]();
1013
+ const methodFn = arr[method];
1014
+ const iter = methodFn.call(arr);
1013
1015
  if (arr !== self && !/* @__PURE__ */ isShallow(self)) {
1016
+ if (iter[Symbol.toStringTag] === "Array Iterator") {
1017
+ const wrapped = Object.create(Object.getPrototypeOf(iter));
1018
+ wrapped.next = () => wrapResult(iter.next(), wrapValue);
1019
+ if (methodFn !== arrayProto[method]) Object.defineProperties(wrapped, {
1020
+ return: { get() {
1021
+ const fn = iter.return;
1022
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1023
+ } },
1024
+ throw: { get() {
1025
+ const fn = iter.throw;
1026
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1027
+ } }
1028
+ });
1029
+ return wrapped;
1030
+ }
1014
1031
  iter._next = iter.next;
1015
- iter.next = () => {
1016
- const result = iter._next();
1017
- if (!result.done) result.value = wrapValue(result.value);
1018
- return result;
1019
- };
1032
+ iter.next = () => wrapResult(iter._next(), wrapValue);
1020
1033
  }
1021
1034
  return iter;
1022
1035
  }
1036
+ function wrapResult(result, wrapValue) {
1037
+ if (!result.done) result.value = wrapValue(result.value);
1038
+ return result;
1039
+ }
1023
1040
  const arrayProto = Array.prototype;
1024
1041
  function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1025
1042
  const arr = shallowReadArray(self);
@@ -1337,6 +1354,7 @@ function createInstrumentationGetter(isReadonly, shallow) {
1337
1354
  return (target, key, receiver) => {
1338
1355
  if (key === "__v_isReactive") return !isReadonly;
1339
1356
  else if (key === "__v_isReadonly") return isReadonly;
1357
+ else if (key === "__v_isShallow") return shallow;
1340
1358
  else if (key === "__v_raw") return target;
1341
1359
  return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1342
1360
  };
@@ -2246,8 +2264,9 @@ function getCurrentWatcher() {
2246
2264
  function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {
2247
2265
  if (owner) {
2248
2266
  const { call } = owner.options;
2249
- if (call) owner.cleanups[owner.cleanupsLength++] = () => call(cleanupFn, 4);
2250
- else owner.cleanups[owner.cleanupsLength++] = cleanupFn;
2267
+ const cleanup = call ? () => call(cleanupFn, 4) : cleanupFn;
2268
+ if (owner.cb) (owner.cbCleanups || (owner.cbCleanups = [])).push(cleanup);
2269
+ else owner.cleanups[owner.cleanupsLength++] = cleanup;
2251
2270
  } else if (!!(process.env.NODE_ENV !== "production") && !failSilently) warn$2("onWatcherCleanup() was called when there was no active watcher to associate with.");
2252
2271
  }
2253
2272
  var WatcherEffect = class extends ReactiveEffect {
@@ -2308,9 +2327,11 @@ var WatcherEffect = class extends ReactiveEffect {
2308
2327
  if (once && cb) {
2309
2328
  const _cb = cb;
2310
2329
  cb = (...args) => {
2311
- const res = _cb(...args);
2312
- this.stop();
2313
- return res;
2330
+ try {
2331
+ return _cb(...args);
2332
+ } finally {
2333
+ this.stop();
2334
+ }
2314
2335
  };
2315
2336
  }
2316
2337
  this.cb = cb;
@@ -2320,6 +2341,19 @@ var WatcherEffect = class extends ReactiveEffect {
2320
2341
  this.onTrigger = options.onTrigger;
2321
2342
  }
2322
2343
  }
2344
+ cleanupCallback() {
2345
+ const cleanups = this.cbCleanups;
2346
+ if (cleanups) {
2347
+ this.cbCleanups = void 0;
2348
+ for (let i = 0, l = cleanups.length; i < l; i++) cleanups[i]();
2349
+ }
2350
+ }
2351
+ stop() {
2352
+ if (this.active) {
2353
+ super.stop();
2354
+ this.cleanupCallback();
2355
+ }
2356
+ }
2323
2357
  run(initialRun = false) {
2324
2358
  const oldValue = this.oldValue;
2325
2359
  const newValue = this.oldValue = super.run();
@@ -2327,10 +2361,11 @@ var WatcherEffect = class extends ReactiveEffect {
2327
2361
  const { immediate, deep, call } = this.options;
2328
2362
  if (initialRun && !immediate) return;
2329
2363
  if (initialRun || deep || this.forceTrigger || (this.isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2330
- cleanup(this);
2331
2364
  const currentWatcher = activeWatcher;
2332
- activeWatcher = this;
2365
+ const prevSub = setActiveSub();
2333
2366
  try {
2367
+ this.cleanupCallback();
2368
+ activeWatcher = this;
2334
2369
  const args = [
2335
2370
  newValue,
2336
2371
  oldValue === INITIAL_WATCHER_VALUE ? void 0 : this.isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
@@ -2339,6 +2374,7 @@ var WatcherEffect = class extends ReactiveEffect {
2339
2374
  call ? call(this.cb, 3, args) : this.cb(...args);
2340
2375
  } finally {
2341
2376
  activeWatcher = currentWatcher;
2377
+ setActiveSub(prevSub);
2342
2378
  }
2343
2379
  }
2344
2380
  }
@@ -2681,15 +2717,15 @@ function queuePostFlushCb(jobs, id = Infinity) {
2681
2717
  } else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2682
2718
  queueFlush();
2683
2719
  }
2684
- function flushPreFlushCbs(instance, seen) {
2720
+ function flushPreFlushCbs(instance, minUid, seen) {
2685
2721
  if (!!(process.env.NODE_ENV !== "production")) seen = seen || /* @__PURE__ */ new Map();
2686
2722
  for (let i = flushIndex; i < jobsLength; i++) {
2687
2723
  const cb = jobs[i];
2688
2724
  if (cb.order & 1 || cb.order === Infinity) continue;
2689
- if (instance && cb.order !== instance.uid * 2) continue;
2725
+ if (instance && cb.order !== instance.uid * 2 || minUid !== void 0 && !(cb.order >= minUid * 2)) continue;
2690
2726
  if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) continue;
2691
2727
  jobs.splice(i, 1);
2692
- i--;
2728
+ i = instance ? i - 1 : flushIndex - 1;
2693
2729
  jobsLength--;
2694
2730
  if (cb.flags & 2) cb.flags &= -2;
2695
2731
  try {
@@ -2699,15 +2735,24 @@ function flushPreFlushCbs(instance, seen) {
2699
2735
  }
2700
2736
  }
2701
2737
  }
2702
- function flushPostFlushCbs(seen) {
2738
+ function flushPostFlushCbs(seen, skip, minUid = 0) {
2703
2739
  if (postJobs.length) {
2740
+ let cbs = postJobs;
2741
+ if (skip) {
2742
+ cbs = [];
2743
+ let kept = 0;
2744
+ for (let i = 0; i < postJobs.length; i++) {
2745
+ const cb = postJobs[i];
2746
+ if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) postJobs[kept++] = cb;
2747
+ else cbs.push(cb);
2748
+ }
2749
+ postJobs.length = kept;
2750
+ } else postJobs = [];
2704
2751
  if (activePostJobs) {
2705
- for (let i = 0; i < postJobs.length; i++) activePostJobs.push(postJobs[i]);
2706
- postJobs.length = 0;
2752
+ for (let i = 0; i < cbs.length; i++) activePostJobs.push(cbs[i]);
2707
2753
  return;
2708
2754
  }
2709
- activePostJobs = postJobs;
2710
- postJobs = [];
2755
+ activePostJobs = cbs;
2711
2756
  if (!!(process.env.NODE_ENV !== "production")) seen = seen || /* @__PURE__ */ new Map();
2712
2757
  try {
2713
2758
  while (postFlushIndex < activePostJobs.length) {
@@ -2729,17 +2774,28 @@ function flushPostFlushCbs(seen) {
2729
2774
  }
2730
2775
  let isFlushing = false;
2731
2776
  /**
2777
+ * Run a root render, then flush the jobs it is responsible for. A mount or
2778
+ * unmount (`minUid` given) only flushes the jobs of the components it created
2779
+ * and the post cbs it queued, so pre watchers triggered in setup run before
2780
+ * mounted (#5721) while the jobs of other components stay in the queue and
2781
+ * keep their order (#6728). A root update keeps flushing all pending pre jobs
2782
+ * and post cbs, as the jobs of the components it re-renders may predate it.
2783
+ *
2732
2784
  * @internal
2733
2785
  */
2734
- function flushOnAppMount(instance) {
2735
- if (!isFlushing) {
2736
- isFlushing = true;
2737
- try {
2738
- flushPreFlushCbs(instance);
2739
- flushPostFlushCbs();
2740
- } finally {
2741
- isFlushing = false;
2742
- }
2786
+ function flushOnAppMount(fn, minUid) {
2787
+ if (isFlushing) {
2788
+ fn();
2789
+ return;
2790
+ }
2791
+ const queued = minUid === void 0 ? void 0 : new Set(postJobs);
2792
+ fn();
2793
+ isFlushing = true;
2794
+ try {
2795
+ flushPreFlushCbs(void 0, minUid);
2796
+ flushPostFlushCbs(void 0, queued, minUid);
2797
+ } finally {
2798
+ isFlushing = false;
2743
2799
  }
2744
2800
  }
2745
2801
  function flushJobs(seen) {
@@ -3563,7 +3619,7 @@ var RenderWatcherEffect = class extends WatcherEffect {
3563
3619
  this.flags |= 128;
3564
3620
  job.flags |= 2;
3565
3621
  }
3566
- if (instance) job.i = instance;
3622
+ job.i = instance;
3567
3623
  this.job = job;
3568
3624
  }
3569
3625
  notify() {
@@ -3774,7 +3830,11 @@ const TeleportImpl = {
3774
3830
  hydrate: hydrateTeleport
3775
3831
  };
3776
3832
  function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, parentComponent, moveType = 2) {
3777
- if (moveType === 0) insert(vnode.targetAnchor, container, parentAnchor);
3833
+ if (moveType === 0) {
3834
+ if (vnode.targetStart) insert(vnode.targetStart, container, parentAnchor);
3835
+ insert(vnode.targetAnchor, container, parentAnchor);
3836
+ parentAnchor = vnode.targetAnchor;
3837
+ }
3778
3838
  const { el, anchor, shapeFlag, children, props } = vnode;
3779
3839
  const isReorder = moveType === 2;
3780
3840
  if (isReorder) insert(el, container, parentAnchor);
@@ -3895,6 +3955,10 @@ const BaseTransitionPropsValidators = {
3895
3955
  };
3896
3956
  function isEmptyTransitionChild(vnode, instance) {
3897
3957
  if (vnode.type === Comment) return true;
3958
+ if (vnode.type === Fragment) {
3959
+ const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
3960
+ return !child || isEmptyTransitionChild(child, instance);
3961
+ }
3898
3962
  if (vnode.type === VaporSlot || isVaporComponent(vnode.type)) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
3899
3963
  return !!vnode.component && isEmptyTransitionChild(vnode.component.subTree, instance);
3900
3964
  }
@@ -3957,7 +4021,14 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3957
4021
  },
3958
4022
  earlyRemove: () => {
3959
4023
  const leavingVNode = leavingVNodesCache[key];
3960
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) leavingVNode.el[leaveCbKey]();
4024
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {
4025
+ let leavingCb = leavingVNode.el[leaveCbKey];
4026
+ if (!leavingCb) {
4027
+ const leavingRoot = getTransitionRoot(leavingVNode);
4028
+ leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];
4029
+ }
4030
+ if (leavingCb) leavingCb();
4031
+ }
3961
4032
  },
3962
4033
  cloneHooks: (vnode) => {
3963
4034
  const hooks = resolveTransitionHooks(vnode, props, state, instance, postClone);
@@ -4103,14 +4174,21 @@ function forwardDelayedLeave(hooks, source) {
4103
4174
  }
4104
4175
  /**
4105
4176
  * Prepares an outgoing VNode when the incoming branch belongs to another
4106
- * renderer. Returns true when out-in must defer the incoming branch.
4177
+ * renderer. Returns true under out-in, where that branch is a comment
4178
+ * child's: no mode holds for it, the leave runs on its own and
4179
+ * `resumeAfterLeave` follows it.
4107
4180
  *
4108
4181
  * @internal
4109
4182
  */
4110
4183
  function prepareTransitionLeave(previous, enterHooks, props, state, instance, resumeAfterLeave) {
4111
4184
  const previousInner = getInnerChild$1(previous);
4112
4185
  if (!previousInner || isEmptyTransitionChild(previousInner, instance)) return false;
4113
- return applyTransitionModeSwitch(previousInner, prepareLeavingTransitionHooks(previousInner, props, state, instance), enterHooks ? () => enterHooks : void 0, props, state, resumeAfterLeave);
4186
+ const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
4187
+ if (props.mode === "out-in") {
4188
+ leavingHooks.afterLeave = resumeAfterLeave;
4189
+ return true;
4190
+ }
4191
+ return applyTransitionModeSwitch(previousInner, leavingHooks, enterHooks ? () => enterHooks : void 0, props, state, resumeAfterLeave);
4114
4192
  }
4115
4193
  function prepareLeavingTransitionHooks(previousInner, props, state, instance) {
4116
4194
  return setTransitionHooks(previousInner, resolveTransitionHooks(previousInner, props, state, instance));
@@ -4162,7 +4240,13 @@ function setTransitionHooks(vnode, hooks) {
4162
4240
  const contentHooks = vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4163
4241
  const fallbackHooks = vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
4164
4242
  return vnode.suspense && vnode.suspense.activeBranch === vnode.ssFallback ? fallbackHooks : contentHooks;
4165
- } else vnode.transition = hooks;
4243
+ } else {
4244
+ vnode.transition = hooks;
4245
+ if (vnode.type === Fragment && isArray(vnode.children)) {
4246
+ const child = filterSingleRoot(vnode.children, false);
4247
+ if (child) setTransitionHooks(child, hooks);
4248
+ }
4249
+ }
4166
4250
  return hooks;
4167
4251
  }
4168
4252
  function getTransitionRawChildren(children, keepComment = false, parentKey) {
@@ -4185,6 +4269,14 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
4185
4269
  function checkTransitionMode(mode) {
4186
4270
  if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") warn$1(`invalid <transition> mode: ${mode}`);
4187
4271
  }
4272
+ function getTransitionRoot(vnode) {
4273
+ if (vnode.component && !isVaporComponent(vnode.type)) return getTransitionRoot(vnode.component.subTree);
4274
+ if (vnode.type === Fragment) {
4275
+ const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
4276
+ return child ? getTransitionRoot(child) : void 0;
4277
+ }
4278
+ if (vnode.type !== Comment) return vnode;
4279
+ }
4188
4280
  //#endregion
4189
4281
  //#region packages/runtime-core/src/apiDefineComponent.ts
4190
4282
  /*@__NO_SIDE_EFFECTS__*/
@@ -4843,14 +4935,20 @@ const hydrateOnVisible = (opts) => (hydrate, forEach) => {
4843
4935
  break;
4844
4936
  }
4845
4937
  }, opts);
4846
- forEach((el) => {
4847
- if (!(el instanceof Element)) return;
4938
+ const observe = (el) => {
4848
4939
  if (elementIsVisibleInViewport(el)) {
4849
4940
  hydrate();
4850
4941
  ob.disconnect();
4851
4942
  return false;
4852
4943
  }
4944
+ if (getComputedStyle(el).display === "contents") {
4945
+ for (let i = 0; i < el.children.length; i++) if (observe(el.children[i]) === false) return false;
4946
+ }
4853
4947
  ob.observe(el);
4948
+ };
4949
+ forEach((el) => {
4950
+ if (!(el instanceof Element)) return;
4951
+ return observe(el);
4854
4952
  });
4855
4953
  return () => ob.disconnect();
4856
4954
  };
@@ -5112,7 +5210,10 @@ const KeepAliveImpl = {
5112
5210
  function pruneCacheEntry(key) {
5113
5211
  const cached = cache.get(key);
5114
5212
  if (cached && (!current || !isSameVNodeType(cached, current))) unmount(cached);
5115
- else if (current) resetShapeFlag(current);
5213
+ else if (current) {
5214
+ resetShapeFlag(current);
5215
+ if (cached) resetShapeFlag(cached);
5216
+ }
5116
5217
  cache.delete(key);
5117
5218
  keys.delete(key);
5118
5219
  }
@@ -5593,8 +5694,8 @@ function renderList(source, renderItem, cache, index) {
5593
5694
  ret = new Array(source.length);
5594
5695
  for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], i, void 0, cached && cached[i]);
5595
5696
  } else if (typeof source === "number") {
5596
- if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
5597
- warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5697
+ if (!Number.isInteger(source) || source < 0) {
5698
+ if (!!(process.env.NODE_ENV !== "production")) warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5598
5699
  ret = [];
5599
5700
  } else {
5600
5701
  ret = new Array(source);
@@ -5675,6 +5776,11 @@ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5675
5776
  owner: currentRenderingInstance
5676
5777
  }] : void 0
5677
5778
  };
5779
+ if (branchKey != null && props.key == null) {
5780
+ ret.vs.props = ret.props;
5781
+ ret.props = extend({}, ret.props, { key: branchKey });
5782
+ ret.key = branchKey;
5783
+ }
5678
5784
  if (!noSlotted && ret.scopeId) ret.slotScopeIds = [ret.scopeId + "-s"];
5679
5785
  return ret;
5680
5786
  }
@@ -5878,6 +5984,7 @@ function installCompatInstanceProperties(map) {
5878
5984
  const privateAPIs = {
5879
5985
  $vnode: (i) => i.vnode,
5880
5986
  _self: (i) => i.proxy,
5987
+ _setupProxy: (i) => i.setupState,
5881
5988
  _uid: (i) => i.uid,
5882
5989
  _data: (i) => i.data,
5883
5990
  _isMounted: (i) => i.isMounted,
@@ -6655,7 +6762,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6655
6762
  if (options.el) return vm.$mount(options.el);
6656
6763
  else return vm;
6657
6764
  }
6658
- Vue.version = `2.6.14-compat:3.6.0-rc.11`;
6765
+ Vue.version = `2.6.14-compat:3.6.0-rc.12`;
6659
6766
  Vue.config = singletonApp.config;
6660
6767
  Vue.use = (plugin, ...options) => {
6661
6768
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7483,7 +7590,7 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
7483
7590
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
7484
7591
  for (let i = 0; i < nextKeys.length; i++) {
7485
7592
  const key = nextKeys[i];
7486
- if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
7593
+ if (!hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
7487
7594
  }
7488
7595
  return false;
7489
7596
  }
@@ -8239,7 +8346,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8239
8346
  for (let i = 0; i < newChildren.length; i++) {
8240
8347
  const oldVNode = oldChildren[i];
8241
8348
  const newVNode = newChildren[i];
8242
- const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
8349
+ const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode);
8350
+ const container = oldEl && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldEl) : fallbackContainer;
8243
8351
  patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
8244
8352
  }
8245
8353
  };
@@ -8339,6 +8447,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8339
8447
  if (instance.asyncDep && !instance.asyncResolved) {
8340
8448
  if (!!(process.env.NODE_ENV !== "production")) pushWarningContext(n2);
8341
8449
  n2.el = n1.el;
8450
+ n2.placeholder = n1.placeholder;
8342
8451
  updateComponentPreRender(instance, n2, optimized);
8343
8452
  if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
8344
8453
  return;
@@ -8348,6 +8457,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8348
8457
  }
8349
8458
  } else {
8350
8459
  n2.el = n1.el;
8460
+ n2.placeholder = n1.placeholder;
8351
8461
  instance.vnode = n2;
8352
8462
  }
8353
8463
  };
@@ -8701,12 +8811,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8701
8811
  };
8702
8812
  const remove = (vnode) => {
8703
8813
  const { type, el, anchor, transition } = vnode;
8704
- if (type === Fragment) {
8705
- if (!!(process.env.NODE_ENV !== "production") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) vnode.children.forEach((child) => {
8706
- if (child.type === Comment) hostRemove(child.el);
8707
- else remove(child);
8708
- });
8709
- else removeFragment(el, anchor);
8814
+ const isFragment = type === Fragment;
8815
+ if (isFragment && !transition) {
8816
+ removeFragment(el, anchor);
8710
8817
  return;
8711
8818
  }
8712
8819
  if (type === Static) {
@@ -8714,8 +8821,21 @@ function baseCreateRenderer(options, createHydrationFns) {
8714
8821
  if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
8715
8822
  return;
8716
8823
  }
8717
- if (transition) performTransitionLeave(el, transition, () => hostRemove(el), !!(vnode.shapeFlag & 1));
8718
- else hostRemove(el);
8824
+ const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode;
8825
+ const performRemove = () => {
8826
+ if (isFragment) {
8827
+ if (hostParentNode(el)) removeFragment(el, anchor);
8828
+ } else hostRemove(el);
8829
+ };
8830
+ if (transition) {
8831
+ let leavingEl = leavingNode && leavingNode.el;
8832
+ let isElement = !!(leavingNode && leavingNode.shapeFlag & 1);
8833
+ if (isFragment && leavingNode && isVaporComponent(leavingNode.type)) {
8834
+ leavingEl = getVaporInterface(leavingNode.component, leavingNode).getTransitionElement(leavingNode);
8835
+ isElement = !!leavingEl;
8836
+ }
8837
+ performTransitionLeave(leavingEl || el, transition, performRemove, isElement);
8838
+ } else performRemove();
8719
8839
  };
8720
8840
  const removeFragment = (cur, end) => {
8721
8841
  let next;
@@ -8760,15 +8880,12 @@ function baseCreateRenderer(options, createHydrationFns) {
8760
8880
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
8761
8881
  };
8762
8882
  const render = (vnode, container, namespace) => {
8763
- let instance;
8764
- if (vnode == null) {
8765
- if (container._vnode) {
8766
- unmount(container._vnode, null, null, true);
8767
- instance = container._vnode.component;
8768
- }
8769
- } else patch(container._vnode || null, vnode, container, null, null, null, namespace);
8770
- container._vnode = vnode;
8771
- flushOnAppMount(instance);
8883
+ flushOnAppMount(() => {
8884
+ if (vnode == null) {
8885
+ if (container._vnode) unmount(container._vnode, null, null, true);
8886
+ } else patch(container._vnode || null, vnode, container, null, null, null, namespace);
8887
+ container._vnode = vnode;
8888
+ }, vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid());
8772
8889
  };
8773
8890
  const internals = {
8774
8891
  p: patch,
@@ -9163,13 +9280,12 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
9163
9280
  registerDep(instance, onResolve) {
9164
9281
  const isInPendingSuspense = !!suspense.pendingBranch;
9165
9282
  if (isInPendingSuspense) suspense.deps++;
9166
- const hydratedEl = instance.vnode && instance.vnode.el;
9167
9283
  instance.asyncDep.catch((err) => {
9168
9284
  handleError(err, instance, 0);
9169
9285
  }).then((asyncSetupResult) => {
9170
9286
  if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) return;
9171
9287
  setCurrentInstance(null, void 0);
9172
- if (hydratedEl && !instance.scope.active) {
9288
+ if (!instance.scope.active) {
9173
9289
  if (isInPendingSuspense && --suspense.deps === 0) suspense.resolve();
9174
9290
  return;
9175
9291
  }
@@ -9525,7 +9641,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
9525
9641
  ctx: vnode.ctx,
9526
9642
  ce: vnode.ce,
9527
9643
  vi: vnode.vi,
9528
- vs: cloneVaporSlotMeta(vnode),
9644
+ vs: cloneVaporSlotMeta(vnode, extraProps),
9529
9645
  vb: vnode.vb,
9530
9646
  ibu: vnode.ibu,
9531
9647
  iu: vnode.iu,
@@ -9535,13 +9651,22 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
9535
9651
  defineLegacyVNodeProperties(cloned);
9536
9652
  return cloned;
9537
9653
  }
9538
- function cloneVaporSlotMeta(vnode) {
9654
+ function cloneVaporSlotMeta(vnode, extraProps) {
9539
9655
  const vaporSlot = vnode.vs;
9540
9656
  if (!vaporSlot) return vaporSlot;
9541
9657
  const cloned = {
9542
9658
  slot: vaporSlot.slot,
9543
- outlets: vaporSlot.outlets
9659
+ outlets: vaporSlot.outlets,
9660
+ props: vaporSlot.props
9544
9661
  };
9662
+ if (vaporSlot.props && extraProps) {
9663
+ let extraSlotProps;
9664
+ for (const key in extraProps) if (key !== "key") {
9665
+ if (!extraSlotProps) extraSlotProps = {};
9666
+ extraSlotProps[key] = extraProps[key];
9667
+ }
9668
+ if (extraSlotProps) cloned.props = mergeProps(vaporSlot.props, extraSlotProps);
9669
+ }
9545
9670
  if (vnode.el) {
9546
9671
  cloned.state = vaporSlot.state;
9547
9672
  cloned.ref = vaporSlot.ref;
@@ -9733,6 +9858,9 @@ const useInstanceOption = (key, silent = false) => {
9733
9858
  //#region packages/runtime-core/src/component.ts
9734
9859
  const emptyAppContext = /*@__PURE__*/ createAppContext();
9735
9860
  let uid = 0;
9861
+ function getNextUid() {
9862
+ return uid;
9863
+ }
9736
9864
  /**
9737
9865
  * @internal for vapor
9738
9866
  */
@@ -10262,7 +10390,7 @@ function isMemoSame(cached, memo) {
10262
10390
  }
10263
10391
  //#endregion
10264
10392
  //#region packages/runtime-core/src/index.ts
10265
- const version = "3.6.0-rc.11";
10393
+ const version = "3.6.0-rc.12";
10266
10394
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
10267
10395
  /**
10268
10396
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10789,7 +10917,7 @@ function patchStyle(el, prev, next) {
10789
10917
  else el.removeAttribute("style");
10790
10918
  }
10791
10919
  if (vShowOriginalDisplay in el) {
10792
- el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
10920
+ if (!isCssString || prev !== next) el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
10793
10921
  if (el[vShowHidden]) style.display = "none";
10794
10922
  }
10795
10923
  }
@@ -11121,7 +11249,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
11121
11249
  this._resolveProps(def);
11122
11250
  if (this.shadowRoot) this._applyStyles(styles);
11123
11251
  else if (!!(process.env.NODE_ENV !== "production") && styles) warn("Custom element style injection is not supported when using shadowRoot: false");
11124
- this._mountComponent(def);
11252
+ if (this._connected) this._mountComponent(def);
11125
11253
  };
11126
11254
  const asyncDef = this._def.__asyncLoader;
11127
11255
  if (asyncDef) {
@@ -11445,6 +11573,7 @@ const positionMap = /* @__PURE__ */ new WeakMap();
11445
11573
  const newPositionMap = /* @__PURE__ */ new WeakMap();
11446
11574
  const moveCbKey = Symbol("_moveCb");
11447
11575
  const enterCbKey = Symbol("_enterCb");
11576
+ const pendingGroups = /* @__PURE__ */ new WeakMap();
11448
11577
  /**
11449
11578
  * Wrap logic that modifies TransitionGroup properties in a function
11450
11579
  * so that it can be annotated as pure
@@ -11465,15 +11594,24 @@ const TransitionGroup = /* @__PURE__ */ decorate({
11465
11594
  const state = useTransitionState();
11466
11595
  let prevChildren;
11467
11596
  let children;
11597
+ let origins;
11598
+ let moves;
11599
+ const willMove = () => {
11600
+ if (moves === void 0) moves = prevChildren.length > 0 && hasCSSTransform(prevChildren[0].el, instance.vnode.el, resolveMoveClass(props));
11601
+ return moves;
11602
+ };
11468
11603
  onUpdated(() => {
11469
- if (!prevChildren.length) return;
11470
- const moveClass = props.moveClass || `${props.name || "v"}-move`;
11471
- if (!hasCSSTransform(prevChildren[0].el, instance.vnode.el, moveClass)) {
11604
+ pendingGroups.delete(instance);
11605
+ if (!willMove()) {
11472
11606
  prevChildren = [];
11607
+ origins = void 0;
11473
11608
  return;
11474
11609
  }
11610
+ const moveClass = resolveMoveClass(props);
11475
11611
  prevChildren.forEach((vnode) => callPendingCbs(vnode.el));
11476
- prevChildren.forEach(recordPosition);
11612
+ const shift = origins && getOriginShift(origins, instance.vnode.el);
11613
+ origins = void 0;
11614
+ prevChildren.forEach((c) => recordPosition(c, shift));
11477
11615
  const movedChildren = prevChildren.filter(applyTranslation);
11478
11616
  forceReflow(instance.vnode.el);
11479
11617
  movedChildren.forEach((c) => {
@@ -11488,6 +11626,7 @@ const TransitionGroup = /* @__PURE__ */ decorate({
11488
11626
  let tag = rawProps.tag || Fragment;
11489
11627
  if (!rawProps.tag && compatUtils.checkCompatEnabled("TRANSITION_GROUP_ROOT", instance.parent)) tag = "span";
11490
11628
  prevChildren = [];
11629
+ moves = void 0;
11491
11630
  if (children) for (let i = 0; i < children.length; i++) {
11492
11631
  const child = children[i];
11493
11632
  if (child.el && child.el instanceof Element && !child.el[vShowHidden]) {
@@ -11502,6 +11641,14 @@ const TransitionGroup = /* @__PURE__ */ decorate({
11502
11641
  if (child.key != null) setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
11503
11642
  else if (!!(process.env.NODE_ENV !== "production") && child.type !== Text) warn(`<TransitionGroup> children must be keyed.`);
11504
11643
  }
11644
+ if (prevChildren.length) {
11645
+ const root = instance.vnode.el;
11646
+ origins = getOrigins(instance, root);
11647
+ pendingGroups.set(instance, {
11648
+ root,
11649
+ willMove
11650
+ });
11651
+ }
11505
11652
  return createVNode(tag, null, children);
11506
11653
  };
11507
11654
  }
@@ -11510,8 +11657,11 @@ function callPendingCbs(el) {
11510
11657
  if (el[moveCbKey]) el[moveCbKey]();
11511
11658
  if (el[enterCbKey]) el[enterCbKey]();
11512
11659
  }
11513
- function recordPosition(c) {
11514
- newPositionMap.set(c, getPosition(c.el));
11660
+ function resolveMoveClass(props) {
11661
+ return props.moveClass || `${props.name || "v"}-move`;
11662
+ }
11663
+ function recordPosition(c, shift) {
11664
+ newPositionMap.set(c, getPosition(c.el, shift));
11515
11665
  }
11516
11666
  function applyTranslation(c) {
11517
11667
  if (baseApplyTranslation(positionMap.get(c), newPositionMap.get(c), c.el)) return c;
@@ -11536,13 +11686,36 @@ function baseApplyTranslation(oldPos, newPos, el) {
11536
11686
  }
11537
11687
  return false;
11538
11688
  }
11539
- function getPosition(el) {
11689
+ function getPosition(el, shift) {
11540
11690
  const rect = el.getBoundingClientRect();
11541
11691
  return {
11542
- left: rect.left,
11543
- top: rect.top
11692
+ left: rect.left - (shift ? shift.left : 0),
11693
+ top: rect.top - (shift ? shift.top : 0)
11544
11694
  };
11545
11695
  }
11696
+ function getOrigins(instance, root) {
11697
+ let origins;
11698
+ for (let group = instance.parent; group; group = group.parent) {
11699
+ const pending = pendingGroups.get(group);
11700
+ if (pending) {
11701
+ const item = findItem(pending.root, root);
11702
+ if (item) (origins || (origins = [])).push(extend(getPosition(item), {
11703
+ item,
11704
+ willMove: pending.willMove
11705
+ }));
11706
+ }
11707
+ }
11708
+ return origins;
11709
+ }
11710
+ function findItem(root, node) {
11711
+ const container = root.nodeType === 1 ? root : root.parentNode;
11712
+ while (node && node.parentNode !== container) node = node.parentNode;
11713
+ if (node && node.nodeType === 1) return node;
11714
+ }
11715
+ function getOriginShift(origins, root) {
11716
+ const origin = origins.find((o) => o.willMove() && o.item.contains(root));
11717
+ return origin && getPosition(origin.item, origin);
11718
+ }
11546
11719
  function hasCSSTransform(el, root, moveClass) {
11547
11720
  const clone = el.cloneNode();
11548
11721
  const _vtc = el[vtcKey];
@@ -12023,6 +12196,10 @@ var src_exports = /* @__PURE__ */ __exportAll({
12023
12196
  getCurrentWatcher: () => getCurrentWatcher,
12024
12197
  getFunctionalFallthrough: () => getFunctionalFallthrough,
12025
12198
  getInheritedScopeIds: () => getInheritedScopeIds,
12199
+ getNextUid: () => getNextUid,
12200
+ getTransitionGroupOrigins: () => getOrigins,
12201
+ getTransitionGroupPosition: () => getPosition,
12202
+ getTransitionGroupShift: () => getOriginShift,
12026
12203
  getTransitionRawChildren: () => getTransitionRawChildren,
12027
12204
  guardReactiveProps: () => guardReactiveProps,
12028
12205
  h: () => h,
@@ -12103,6 +12280,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
12103
12280
  patchClass: () => patchClass,
12104
12281
  patchProp: () => patchProp,
12105
12282
  patchStyle: () => patchStyle,
12283
+ pendingTransitionGroups: () => pendingGroups,
12106
12284
  performAsyncHydrate: () => performAsyncHydrate,
12107
12285
  performTransitionEnter: () => performTransitionEnter,
12108
12286
  performTransitionLeave: () => performTransitionLeave,
@@ -13436,7 +13614,7 @@ const errorMessages = {
13436
13614
  [41]: `v-model is missing expression.`,
13437
13615
  [42]: `v-model value must be a valid JavaScript member expression.`,
13438
13616
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
13439
- [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,
13617
+ [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.\nFor props declared with defineModel(), assign the returned ref to a variable and use v-model on that variable.`,
13440
13618
  [45]: `v-model cannot be used on a const binding because it is not writable.`,
13441
13619
  [46]: `Error parsing JavaScript expression: `,
13442
13620
  [47]: `<KeepAlive> expects exactly one child component.`,
@@ -15269,7 +15447,11 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
15269
15447
  ]),
15270
15448
  createCompoundExpression([
15271
15449
  `if (_cached && _cached.el`,
15272
- ...keyExp ? [` && _cached.key === `, keyExp] : [],
15450
+ ...keyExp ? [
15451
+ ` && _cached.key === (`,
15452
+ keyExp,
15453
+ `)`
15454
+ ] : [],
15273
15455
  ` && ${context.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`
15274
15456
  ]),
15275
15457
  createCompoundExpression([`const _item = `, childBlock]),
@@ -16464,7 +16646,8 @@ const transformTransition = (node, context) => {
16464
16646
  function postTransformTransition(node, onError, hasMultipleChildren = defaultHasMultipleChildren) {
16465
16647
  return () => {
16466
16648
  if (!node.children.length) return;
16467
- if (hasMultipleChildren(node)) onError(createDOMCompilerError(63, {
16649
+ const multipleChildren = hasMultipleChildren(node);
16650
+ if (!!(process.env.NODE_ENV !== "production") && multipleChildren) onError(createDOMCompilerError(63, {
16468
16651
  start: node.children[0].loc.start,
16469
16652
  end: node.children[node.children.length - 1].loc.end,
16470
16653
  source: ""
@@ -16695,7 +16878,11 @@ const validateHtmlNesting = (node, context) => {
16695
16878
  };
16696
16879
  //#endregion
16697
16880
  //#region packages/compiler-dom/src/index.ts
16698
- const DOMNodeTransforms = [transformStyle, ...!!(process.env.NODE_ENV !== "production") ? [transformTransition, validateHtmlNesting] : []];
16881
+ const DOMNodeTransforms = [
16882
+ transformStyle,
16883
+ transformTransition,
16884
+ ...!!(process.env.NODE_ENV !== "production") ? [validateHtmlNesting] : []
16885
+ ];
16699
16886
  const DOMDirectiveTransforms = {
16700
16887
  cloak: noopDirectiveTransform,
16701
16888
  html: transformVHtml,
@@ -16758,4 +16945,4 @@ Vue.compile = compileToFunction;
16758
16945
  var esm_index_default = Vue;
16759
16946
  const configureCompat = Vue.configureCompat;
16760
16947
  //#endregion
16761
- 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, 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, defaultPropGetter, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, expose, filterModelListeners, filterSingleRoot, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isUnchangedResourceProp, 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, patchClass, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, 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 };
16948
+ 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, 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, defaultPropGetter, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, expose, filterModelListeners, filterSingleRoot, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getNextUid, getOrigins as getTransitionGroupOrigins, getPosition as getTransitionGroupPosition, getOriginShift as getTransitionGroupShift, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isUnchangedResourceProp, 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, patchClass, patchProp, patchStyle, pendingGroups as pendingTransitionGroups, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, 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 };