@vue/compat 3.5.0-beta.1 → 3.5.0-beta.3

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.5.0-beta.1
2
+ * @vue/compat v3.5.0-beta.3
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -532,11 +532,11 @@ class ReactiveEffect {
532
532
  }
533
533
  }
534
534
  pause() {
535
- this.flags |= 128;
535
+ this.flags |= 64;
536
536
  }
537
537
  resume() {
538
- if (this.flags & 128) {
539
- this.flags &= ~128;
538
+ if (this.flags & 64) {
539
+ this.flags &= ~64;
540
540
  if (pausedQueueEffects.has(this)) {
541
541
  pausedQueueEffects.delete(this);
542
542
  this.trigger();
@@ -550,9 +550,6 @@ class ReactiveEffect {
550
550
  if (this.flags & 2 && !(this.flags & 32)) {
551
551
  return;
552
552
  }
553
- if (this.flags & 64) {
554
- return this.trigger();
555
- }
556
553
  if (!(this.flags & 8)) {
557
554
  this.flags |= 8;
558
555
  this.nextEffect = batchedEffect;
@@ -596,7 +593,7 @@ class ReactiveEffect {
596
593
  }
597
594
  }
598
595
  trigger() {
599
- if (this.flags & 128) {
596
+ if (this.flags & 64) {
600
597
  pausedQueueEffects.add(this);
601
598
  } else if (this.scheduler) {
602
599
  this.scheduler();
@@ -626,6 +623,7 @@ function endBatch() {
626
623
  batchDepth--;
627
624
  return;
628
625
  }
626
+ batchDepth--;
629
627
  let error;
630
628
  while (batchedEffect) {
631
629
  let e = batchedEffect;
@@ -644,7 +642,6 @@ function endBatch() {
644
642
  e = next;
645
643
  }
646
644
  }
647
- batchDepth--;
648
645
  if (error) throw error;
649
646
  }
650
647
  function prepareDeps(sub) {
@@ -1051,26 +1048,26 @@ const arrayInstrumentations = {
1051
1048
  });
1052
1049
  },
1053
1050
  every(fn, thisArg) {
1054
- return apply(this, "every", fn, thisArg);
1051
+ return apply(this, "every", fn, thisArg, void 0, arguments);
1055
1052
  },
1056
1053
  filter(fn, thisArg) {
1057
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive));
1054
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
1058
1055
  },
1059
1056
  find(fn, thisArg) {
1060
- return apply(this, "find", fn, thisArg, toReactive);
1057
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
1061
1058
  },
1062
1059
  findIndex(fn, thisArg) {
1063
- return apply(this, "findIndex", fn, thisArg);
1060
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
1064
1061
  },
1065
1062
  findLast(fn, thisArg) {
1066
- return apply(this, "findLast", fn, thisArg, toReactive);
1063
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
1067
1064
  },
1068
1065
  findLastIndex(fn, thisArg) {
1069
- return apply(this, "findLastIndex", fn, thisArg);
1066
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
1070
1067
  },
1071
1068
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
1072
1069
  forEach(fn, thisArg) {
1073
- return apply(this, "forEach", fn, thisArg);
1070
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
1074
1071
  },
1075
1072
  includes(...args) {
1076
1073
  return searchProxy(this, "includes", args);
@@ -1086,7 +1083,7 @@ const arrayInstrumentations = {
1086
1083
  return searchProxy(this, "lastIndexOf", args);
1087
1084
  },
1088
1085
  map(fn, thisArg) {
1089
- return apply(this, "map", fn, thisArg);
1086
+ return apply(this, "map", fn, thisArg, void 0, arguments);
1090
1087
  },
1091
1088
  pop() {
1092
1089
  return noTracking(this, "pop");
@@ -1105,7 +1102,7 @@ const arrayInstrumentations = {
1105
1102
  },
1106
1103
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
1107
1104
  some(fn, thisArg) {
1108
- return apply(this, "some", fn, thisArg);
1105
+ return apply(this, "some", fn, thisArg, void 0, arguments);
1109
1106
  },
1110
1107
  splice(...args) {
1111
1108
  return noTracking(this, "splice", args);
@@ -1141,12 +1138,17 @@ function iterator(self, method, wrapValue) {
1141
1138
  }
1142
1139
  return iter;
1143
1140
  }
1144
- function apply(self, method, fn, thisArg, wrappedRetFn) {
1141
+ const arrayProto = Array.prototype;
1142
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1145
1143
  const arr = shallowReadArray(self);
1146
- let needsWrap = false;
1144
+ const needsWrap = arr !== self && !isShallow(self);
1145
+ const methodFn = arr[method];
1146
+ if (methodFn !== arrayProto[method]) {
1147
+ const result2 = methodFn.apply(arr, args);
1148
+ return needsWrap ? toReactive(result2) : result2;
1149
+ }
1147
1150
  let wrappedFn = fn;
1148
1151
  if (arr !== self) {
1149
- needsWrap = !isShallow(self);
1150
1152
  if (needsWrap) {
1151
1153
  wrappedFn = function(item, index) {
1152
1154
  return fn.call(this, toReactive(item), index, self);
@@ -1157,7 +1159,7 @@ function apply(self, method, fn, thisArg, wrappedRetFn) {
1157
1159
  };
1158
1160
  }
1159
1161
  }
1160
- const result = arr[method](wrappedFn, thisArg);
1162
+ const result = methodFn.call(arr, wrappedFn, thisArg);
1161
1163
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
1162
1164
  }
1163
1165
  function reduce(self, method, fn, args) {
@@ -2014,6 +2016,220 @@ const TriggerOpTypes = {
2014
2016
  "CLEAR": "clear"
2015
2017
  };
2016
2018
 
2019
+ const INITIAL_WATCHER_VALUE = {};
2020
+ const cleanupMap = /* @__PURE__ */ new WeakMap();
2021
+ let activeWatcher = void 0;
2022
+ function getCurrentWatcher() {
2023
+ return activeWatcher;
2024
+ }
2025
+ function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {
2026
+ if (owner) {
2027
+ let cleanups = cleanupMap.get(owner);
2028
+ if (!cleanups) cleanupMap.set(owner, cleanups = []);
2029
+ cleanups.push(cleanupFn);
2030
+ } else if (!!(process.env.NODE_ENV !== "production") && !failSilently) {
2031
+ warn$2(
2032
+ `onWatcherCleanup() was called when there was no active watcher to associate with.`
2033
+ );
2034
+ }
2035
+ }
2036
+ function watch$1(source, cb, options = EMPTY_OBJ) {
2037
+ const { immediate, deep, once, scheduler, augmentJob, call } = options;
2038
+ const warnInvalidSource = (s) => {
2039
+ (options.onWarn || warn$2)(
2040
+ `Invalid watch source: `,
2041
+ s,
2042
+ `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
2043
+ );
2044
+ };
2045
+ const reactiveGetter = (source2) => {
2046
+ if (deep) return source2;
2047
+ if (isShallow(source2) || deep === false || deep === 0)
2048
+ return traverse(source2, 1);
2049
+ return traverse(source2);
2050
+ };
2051
+ let effect;
2052
+ let getter;
2053
+ let cleanup;
2054
+ let boundCleanup;
2055
+ let forceTrigger = false;
2056
+ let isMultiSource = false;
2057
+ if (isRef(source)) {
2058
+ getter = () => source.value;
2059
+ forceTrigger = isShallow(source);
2060
+ } else if (isReactive(source)) {
2061
+ getter = () => reactiveGetter(source);
2062
+ forceTrigger = true;
2063
+ } else if (isArray(source)) {
2064
+ isMultiSource = true;
2065
+ forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
2066
+ getter = () => source.map((s) => {
2067
+ if (isRef(s)) {
2068
+ return s.value;
2069
+ } else if (isReactive(s)) {
2070
+ return reactiveGetter(s);
2071
+ } else if (isFunction(s)) {
2072
+ return call ? call(s, 2) : s();
2073
+ } else {
2074
+ !!(process.env.NODE_ENV !== "production") && warnInvalidSource(s);
2075
+ }
2076
+ });
2077
+ } else if (isFunction(source)) {
2078
+ if (cb) {
2079
+ getter = call ? () => call(source, 2) : source;
2080
+ } else {
2081
+ getter = () => {
2082
+ if (cleanup) {
2083
+ pauseTracking();
2084
+ try {
2085
+ cleanup();
2086
+ } finally {
2087
+ resetTracking();
2088
+ }
2089
+ }
2090
+ const currentEffect = activeWatcher;
2091
+ activeWatcher = effect;
2092
+ try {
2093
+ return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);
2094
+ } finally {
2095
+ activeWatcher = currentEffect;
2096
+ }
2097
+ };
2098
+ }
2099
+ } else {
2100
+ getter = NOOP;
2101
+ !!(process.env.NODE_ENV !== "production") && warnInvalidSource(source);
2102
+ }
2103
+ if (cb && deep) {
2104
+ const baseGetter = getter;
2105
+ const depth = deep === true ? Infinity : deep;
2106
+ getter = () => traverse(baseGetter(), depth);
2107
+ }
2108
+ if (once) {
2109
+ if (cb) {
2110
+ const _cb = cb;
2111
+ cb = (...args) => {
2112
+ _cb(...args);
2113
+ effect.stop();
2114
+ };
2115
+ } else {
2116
+ const _getter = getter;
2117
+ getter = () => {
2118
+ _getter();
2119
+ effect.stop();
2120
+ };
2121
+ }
2122
+ }
2123
+ let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
2124
+ const job = (immediateFirstRun) => {
2125
+ if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {
2126
+ return;
2127
+ }
2128
+ if (cb) {
2129
+ const newValue = effect.run();
2130
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2131
+ if (cleanup) {
2132
+ cleanup();
2133
+ }
2134
+ const currentWatcher = activeWatcher;
2135
+ activeWatcher = effect;
2136
+ try {
2137
+ const args = [
2138
+ newValue,
2139
+ // pass undefined as the old value when it's changed for the first time
2140
+ oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
2141
+ boundCleanup
2142
+ ];
2143
+ call ? call(cb, 3, args) : (
2144
+ // @ts-expect-error
2145
+ cb(...args)
2146
+ );
2147
+ oldValue = newValue;
2148
+ } finally {
2149
+ activeWatcher = currentWatcher;
2150
+ }
2151
+ }
2152
+ } else {
2153
+ effect.run();
2154
+ }
2155
+ };
2156
+ if (augmentJob) {
2157
+ augmentJob(job);
2158
+ }
2159
+ effect = new ReactiveEffect(getter);
2160
+ effect.scheduler = scheduler ? () => scheduler(job, false) : job;
2161
+ boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);
2162
+ cleanup = effect.onStop = () => {
2163
+ const cleanups = cleanupMap.get(effect);
2164
+ if (cleanups) {
2165
+ if (call) {
2166
+ call(cleanups, 4);
2167
+ } else {
2168
+ for (const cleanup2 of cleanups) cleanup2();
2169
+ }
2170
+ cleanupMap.delete(effect);
2171
+ }
2172
+ };
2173
+ if (!!(process.env.NODE_ENV !== "production")) {
2174
+ effect.onTrack = options.onTrack;
2175
+ effect.onTrigger = options.onTrigger;
2176
+ }
2177
+ if (cb) {
2178
+ if (immediate) {
2179
+ job(true);
2180
+ } else {
2181
+ oldValue = effect.run();
2182
+ }
2183
+ } else if (scheduler) {
2184
+ scheduler(job.bind(null, true), true);
2185
+ } else {
2186
+ effect.run();
2187
+ }
2188
+ const scope = getCurrentScope();
2189
+ const watchHandle = () => {
2190
+ effect.stop();
2191
+ if (scope) {
2192
+ remove(scope.effects, effect);
2193
+ }
2194
+ };
2195
+ watchHandle.pause = effect.pause.bind(effect);
2196
+ watchHandle.resume = effect.resume.bind(effect);
2197
+ watchHandle.stop = watchHandle;
2198
+ return watchHandle;
2199
+ }
2200
+ function traverse(value, depth = Infinity, seen) {
2201
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2202
+ return value;
2203
+ }
2204
+ seen = seen || /* @__PURE__ */ new Set();
2205
+ if (seen.has(value)) {
2206
+ return value;
2207
+ }
2208
+ seen.add(value);
2209
+ depth--;
2210
+ if (isRef(value)) {
2211
+ traverse(value.value, depth, seen);
2212
+ } else if (isArray(value)) {
2213
+ for (let i = 0; i < value.length; i++) {
2214
+ traverse(value[i], depth, seen);
2215
+ }
2216
+ } else if (isSet(value) || isMap(value)) {
2217
+ value.forEach((v) => {
2218
+ traverse(v, depth, seen);
2219
+ });
2220
+ } else if (isPlainObject(value)) {
2221
+ for (const key in value) {
2222
+ traverse(value[key], depth, seen);
2223
+ }
2224
+ for (const key of Object.getOwnPropertySymbols(value)) {
2225
+ if (Object.prototype.propertyIsEnumerable.call(value, key)) {
2226
+ traverse(value[key], depth, seen);
2227
+ }
2228
+ }
2229
+ }
2230
+ return value;
2231
+ }
2232
+
2017
2233
  const stack$1 = [];
2018
2234
  function pushWarningContext(vnode) {
2019
2235
  stack$1.push(vnode);
@@ -2142,12 +2358,6 @@ const ErrorCodes = {
2142
2358
  "0": "SETUP_FUNCTION",
2143
2359
  "RENDER_FUNCTION": 1,
2144
2360
  "1": "RENDER_FUNCTION",
2145
- "WATCH_GETTER": 2,
2146
- "2": "WATCH_GETTER",
2147
- "WATCH_CALLBACK": 3,
2148
- "3": "WATCH_CALLBACK",
2149
- "WATCH_CLEANUP": 4,
2150
- "4": "WATCH_CLEANUP",
2151
2361
  "NATIVE_EVENT_HANDLER": 5,
2152
2362
  "5": "NATIVE_EVENT_HANDLER",
2153
2363
  "COMPONENT_EVENT_HANDLER": 6,
@@ -2303,7 +2513,7 @@ function nextTick(fn) {
2303
2513
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
2304
2514
  }
2305
2515
  function findInsertionIndex(id) {
2306
- let start = flushIndex + 1;
2516
+ let start = isFlushing ? flushIndex + 1 : 0;
2307
2517
  let end = queue.length;
2308
2518
  while (start < end) {
2309
2519
  const middle = start + end >>> 1;
@@ -2319,15 +2529,13 @@ function findInsertionIndex(id) {
2319
2529
  }
2320
2530
  function queueJob(job) {
2321
2531
  if (!(job.flags & 1)) {
2322
- if (job.id == null) {
2323
- queue.push(job);
2324
- } else if (
2325
- // fast path when the job id is larger than the tail
2326
- !(job.flags & 2) && job.id >= (queue[queue.length - 1] && queue[queue.length - 1].id || 0)
2327
- ) {
2532
+ const jobId = getId(job);
2533
+ const lastJob = queue[queue.length - 1];
2534
+ if (!lastJob || // fast path when the job id is larger than the tail
2535
+ !(job.flags & 2) && jobId >= getId(lastJob)) {
2328
2536
  queue.push(job);
2329
2537
  } else {
2330
- queue.splice(findInsertionIndex(job.id), 0, job);
2538
+ queue.splice(findInsertionIndex(jobId), 0, job);
2331
2539
  }
2332
2540
  if (!(job.flags & 4)) {
2333
2541
  job.flags |= 1;
@@ -2341,12 +2549,6 @@ function queueFlush() {
2341
2549
  currentFlushPromise = resolvedPromise.then(flushJobs);
2342
2550
  }
2343
2551
  }
2344
- function invalidateJob(job) {
2345
- const i = queue.indexOf(job);
2346
- if (i > flushIndex) {
2347
- queue.splice(i, 1);
2348
- }
2349
- }
2350
2552
  function queuePostFlushCb(cb) {
2351
2553
  if (!isArray(cb)) {
2352
2554
  if (activePostFlushCbs && cb.id === -1) {
@@ -2408,24 +2610,13 @@ function flushPostFlushCbs(seen) {
2408
2610
  postFlushIndex = 0;
2409
2611
  }
2410
2612
  }
2411
- const getId = (job) => job.id == null ? Infinity : job.id;
2412
- const comparator = (a, b) => {
2413
- const diff = getId(a) - getId(b);
2414
- if (diff === 0) {
2415
- const isAPre = a.flags & 2;
2416
- const isBPre = b.flags & 2;
2417
- if (isAPre && !isBPre) return -1;
2418
- if (isBPre && !isAPre) return 1;
2419
- }
2420
- return diff;
2421
- };
2613
+ const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2422
2614
  function flushJobs(seen) {
2423
2615
  isFlushPending = false;
2424
2616
  isFlushing = true;
2425
2617
  if (!!(process.env.NODE_ENV !== "production")) {
2426
2618
  seen = seen || /* @__PURE__ */ new Map();
2427
2619
  }
2428
- queue.sort(comparator);
2429
2620
  const check = !!(process.env.NODE_ENV !== "production") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;
2430
2621
  try {
2431
2622
  for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
@@ -3069,7 +3260,7 @@ function on(instance, event, fn) {
3069
3260
  function once(instance, event, fn) {
3070
3261
  const wrapped = (...args) => {
3071
3262
  off(instance, event, wrapped);
3072
- fn.call(instance.proxy, ...args);
3263
+ fn.apply(instance.proxy, args);
3073
3264
  };
3074
3265
  wrapped.fn = fn;
3075
3266
  on(instance, event, wrapped);
@@ -4108,6 +4299,7 @@ const logMismatchError = () => {
4108
4299
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
4109
4300
  const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
4110
4301
  const getContainerType = (container) => {
4302
+ if (container.nodeType !== 1) return void 0;
4111
4303
  if (isSVGContainer(container)) return "svg";
4112
4304
  if (isMathMLContainer(container)) return "mathml";
4113
4305
  return void 0;
@@ -5047,7 +5239,7 @@ const KeepAliveImpl = {
5047
5239
  function pruneCache(filter) {
5048
5240
  cache.forEach((vnode, key) => {
5049
5241
  const name = getComponentName(vnode.type);
5050
- if (name && (!filter || !filter(name))) {
5242
+ if (name && !filter(name)) {
5051
5243
  pruneCacheEntry(key);
5052
5244
  }
5053
5245
  });
@@ -5169,6 +5361,7 @@ function matches(pattern, name) {
5169
5361
  } else if (isString(pattern)) {
5170
5362
  return pattern.split(",").includes(name);
5171
5363
  } else if (isRegExp(pattern)) {
5364
+ pattern.lastIndex = 0;
5172
5365
  return pattern.test(name);
5173
5366
  }
5174
5367
  return false;
@@ -6615,23 +6808,43 @@ function callHook$1(hook, instance, type) {
6615
6808
  );
6616
6809
  }
6617
6810
  function createWatcher(raw, ctx, publicThis, key) {
6618
- const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
6811
+ let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
6812
+ const options = {};
6813
+ {
6814
+ const instance = currentInstance && getCurrentScope() === currentInstance.scope ? currentInstance : null;
6815
+ const newValue = getter();
6816
+ if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) {
6817
+ options.deep = true;
6818
+ }
6819
+ const baseGetter = getter;
6820
+ getter = () => {
6821
+ const val = baseGetter();
6822
+ if (isArray(val) && checkCompatEnabled$1("WATCH_ARRAY", instance)) {
6823
+ traverse(val);
6824
+ }
6825
+ return val;
6826
+ };
6827
+ }
6619
6828
  if (isString(raw)) {
6620
6829
  const handler = ctx[raw];
6621
6830
  if (isFunction(handler)) {
6622
- watch(getter, handler);
6831
+ {
6832
+ watch(getter, handler, options);
6833
+ }
6623
6834
  } else if (!!(process.env.NODE_ENV !== "production")) {
6624
6835
  warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6625
6836
  }
6626
6837
  } else if (isFunction(raw)) {
6627
- watch(getter, raw.bind(publicThis));
6838
+ {
6839
+ watch(getter, raw.bind(publicThis), options);
6840
+ }
6628
6841
  } else if (isObject(raw)) {
6629
6842
  if (isArray(raw)) {
6630
6843
  raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6631
6844
  } else {
6632
6845
  const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6633
6846
  if (isFunction(handler)) {
6634
- watch(getter, handler, raw);
6847
+ watch(getter, handler, extend(raw, options) );
6635
6848
  } else if (!!(process.env.NODE_ENV !== "production")) {
6636
6849
  warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6637
6850
  }
@@ -6855,7 +7068,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6855
7068
  return vm;
6856
7069
  }
6857
7070
  }
6858
- Vue.version = `2.6.14-compat:${"3.5.0-beta.1"}`;
7071
+ Vue.version = `2.6.14-compat:${"3.5.0-beta.3"}`;
6859
7072
  Vue.config = singletonApp.config;
6860
7073
  Vue.use = (plugin, ...options) => {
6861
7074
  if (plugin && isFunction(plugin.install)) {
@@ -7187,7 +7400,7 @@ function defineReactive(obj, key, val) {
7187
7400
  if (isArray(val)) {
7188
7401
  methodsToPatch.forEach((m) => {
7189
7402
  val[m] = (...args) => {
7190
- Array.prototype[m].call(reactiveVal, ...args);
7403
+ Array.prototype[m].apply(reactiveVal, args);
7191
7404
  };
7192
7405
  });
7193
7406
  } else {
@@ -8411,7 +8624,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8411
8624
  if (!!(process.env.NODE_ENV !== "production") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
8412
8625
  subTree = filterSingleRoot(subTree.children) || subTree;
8413
8626
  }
8414
- if (vnode === subTree) {
8627
+ if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {
8415
8628
  const parentVNode = parentComponent.vnode;
8416
8629
  setScopeId(
8417
8630
  el,
@@ -8752,7 +8965,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8752
8965
  return;
8753
8966
  } else {
8754
8967
  instance.next = n2;
8755
- invalidateJob(instance.update);
8756
8968
  instance.update();
8757
8969
  }
8758
8970
  } else {
@@ -9676,7 +9888,6 @@ function watchSyncEffect(effect, options) {
9676
9888
  !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
9677
9889
  );
9678
9890
  }
9679
- const INITIAL_WATCHER_VALUE = {};
9680
9891
  function watch(source, cb, options) {
9681
9892
  if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
9682
9893
  warn$1(
@@ -9685,21 +9896,8 @@ function watch(source, cb, options) {
9685
9896
  }
9686
9897
  return doWatch(source, cb, options);
9687
9898
  }
9688
- function doWatch(source, cb, {
9689
- immediate,
9690
- deep,
9691
- flush,
9692
- once,
9693
- onTrack,
9694
- onTrigger
9695
- } = EMPTY_OBJ) {
9696
- if (cb && once) {
9697
- const _cb = cb;
9698
- cb = (...args) => {
9699
- _cb(...args);
9700
- watchHandle();
9701
- };
9702
- }
9899
+ function doWatch(source, cb, options = EMPTY_OBJ) {
9900
+ const { immediate, deep, flush, once } = options;
9703
9901
  if (!!(process.env.NODE_ENV !== "production") && !cb) {
9704
9902
  if (immediate !== void 0) {
9705
9903
  warn$1(
@@ -9717,174 +9915,53 @@ function doWatch(source, cb, {
9717
9915
  );
9718
9916
  }
9719
9917
  }
9720
- const warnInvalidSource = (s) => {
9721
- warn$1(
9722
- `Invalid watch source: `,
9723
- s,
9724
- `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
9725
- );
9726
- };
9727
- const instance = currentInstance;
9728
- const reactiveGetter = (source2) => {
9729
- if (deep) return source2;
9730
- if (isShallow(source2) || deep === false || deep === 0)
9731
- return traverse(source2, 1);
9732
- return traverse(source2);
9733
- };
9734
- let getter;
9735
- let forceTrigger = false;
9736
- let isMultiSource = false;
9737
- if (isRef(source)) {
9738
- getter = () => source.value;
9739
- forceTrigger = isShallow(source);
9740
- } else if (isReactive(source)) {
9741
- getter = () => reactiveGetter(source);
9742
- forceTrigger = true;
9743
- } else if (isArray(source)) {
9744
- isMultiSource = true;
9745
- forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
9746
- getter = () => source.map((s) => {
9747
- if (isRef(s)) {
9748
- return s.value;
9749
- } else if (isReactive(s)) {
9750
- return reactiveGetter(s);
9751
- } else if (isFunction(s)) {
9752
- return callWithErrorHandling(s, instance, 2);
9753
- } else {
9754
- !!(process.env.NODE_ENV !== "production") && warnInvalidSource(s);
9755
- }
9756
- });
9757
- } else if (isFunction(source)) {
9758
- if (cb) {
9759
- getter = () => callWithErrorHandling(source, instance, 2);
9760
- } else {
9761
- getter = () => {
9762
- if (cleanup) {
9763
- cleanup();
9764
- }
9765
- return callWithAsyncErrorHandling(
9766
- source,
9767
- instance,
9768
- 3,
9769
- [onCleanup]
9770
- );
9771
- };
9772
- }
9773
- } else {
9774
- getter = NOOP;
9775
- !!(process.env.NODE_ENV !== "production") && warnInvalidSource(source);
9776
- }
9777
- if (cb && !deep) {
9778
- const baseGetter = getter;
9779
- getter = () => {
9780
- const val = baseGetter();
9781
- if (isArray(val) && checkCompatEnabled$1("WATCH_ARRAY", instance)) {
9782
- traverse(val);
9783
- }
9784
- return val;
9785
- };
9786
- }
9787
- if (cb && deep) {
9788
- const baseGetter = getter;
9789
- const depth = deep === true ? Infinity : deep;
9790
- getter = () => traverse(baseGetter(), depth);
9791
- }
9792
- let cleanup;
9793
- let onCleanup = (fn) => {
9794
- cleanup = effect.onStop = () => {
9795
- callWithErrorHandling(fn, instance, 4);
9796
- cleanup = effect.onStop = void 0;
9797
- };
9798
- };
9918
+ const baseWatchOptions = extend({}, options);
9919
+ if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
9799
9920
  let ssrCleanup;
9800
9921
  if (isInSSRComponentSetup) {
9801
- onCleanup = NOOP;
9802
- if (!cb) {
9803
- getter();
9804
- } else if (immediate) {
9805
- callWithAsyncErrorHandling(cb, instance, 3, [
9806
- getter(),
9807
- isMultiSource ? [] : void 0,
9808
- onCleanup
9809
- ]);
9810
- }
9811
9922
  if (flush === "sync") {
9812
9923
  const ctx = useSSRContext();
9813
9924
  ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
9925
+ } else if (!cb || immediate) {
9926
+ baseWatchOptions.once = true;
9814
9927
  } else {
9815
- const watchHandle2 = () => {
9928
+ return {
9929
+ stop: NOOP,
9930
+ resume: NOOP,
9931
+ pause: NOOP
9816
9932
  };
9817
- watchHandle2.stop = NOOP;
9818
- watchHandle2.resume = NOOP;
9819
- watchHandle2.pause = NOOP;
9820
- return watchHandle2;
9821
9933
  }
9822
9934
  }
9823
- let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
9824
- const job = (immediateFirstRun) => {
9825
- if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {
9826
- return;
9827
- }
9828
- if (cb) {
9829
- const newValue = effect.run();
9830
- if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) {
9831
- if (cleanup) {
9832
- cleanup();
9833
- }
9834
- callWithAsyncErrorHandling(cb, instance, 3, [
9835
- newValue,
9836
- // pass undefined as the old value when it's changed for the first time
9837
- oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
9838
- onCleanup
9839
- ]);
9840
- oldValue = newValue;
9935
+ const instance = currentInstance;
9936
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
9937
+ let isPre = false;
9938
+ if (flush === "post") {
9939
+ baseWatchOptions.scheduler = (job) => {
9940
+ queuePostRenderEffect(job, instance && instance.suspense);
9941
+ };
9942
+ } else if (flush !== "sync") {
9943
+ isPre = true;
9944
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
9945
+ if (isFirstRun) {
9946
+ job();
9947
+ } else {
9948
+ queueJob(job);
9841
9949
  }
9842
- } else {
9843
- effect.run();
9844
- }
9845
- };
9846
- if (cb) job.flags |= 4;
9847
- const effect = new ReactiveEffect(getter);
9848
- let scheduler;
9849
- if (flush === "sync") {
9850
- effect.flags |= 64;
9851
- scheduler = job;
9852
- } else if (flush === "post") {
9853
- scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
9854
- } else {
9855
- job.flags |= 2;
9856
- if (instance) job.id = instance.uid;
9857
- scheduler = () => queueJob(job);
9950
+ };
9858
9951
  }
9859
- effect.scheduler = scheduler;
9860
- const scope = getCurrentScope();
9861
- const watchHandle = () => {
9862
- effect.stop();
9863
- if (scope) {
9864
- remove(scope.effects, effect);
9952
+ baseWatchOptions.augmentJob = (job) => {
9953
+ if (cb) {
9954
+ job.flags |= 4;
9865
9955
  }
9866
- };
9867
- watchHandle.pause = effect.pause.bind(effect);
9868
- watchHandle.resume = effect.resume.bind(effect);
9869
- watchHandle.stop = watchHandle;
9870
- if (!!(process.env.NODE_ENV !== "production")) {
9871
- effect.onTrack = onTrack;
9872
- effect.onTrigger = onTrigger;
9873
- }
9874
- if (cb) {
9875
- if (immediate) {
9876
- job(true);
9877
- } else {
9878
- oldValue = effect.run();
9956
+ if (isPre) {
9957
+ job.flags |= 2;
9958
+ if (instance) {
9959
+ job.id = instance.uid;
9960
+ job.i = instance;
9961
+ }
9879
9962
  }
9880
- } else if (flush === "post") {
9881
- queuePostRenderEffect(
9882
- effect.run.bind(effect),
9883
- instance && instance.suspense
9884
- );
9885
- } else {
9886
- effect.run();
9887
- }
9963
+ };
9964
+ const watchHandle = watch$1(source, cb, baseWatchOptions);
9888
9965
  if (ssrCleanup) ssrCleanup.push(watchHandle);
9889
9966
  return watchHandle;
9890
9967
  }
@@ -9913,38 +9990,6 @@ function createPathGetter(ctx, path) {
9913
9990
  return cur;
9914
9991
  };
9915
9992
  }
9916
- function traverse(value, depth = Infinity, seen) {
9917
- if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
9918
- return value;
9919
- }
9920
- seen = seen || /* @__PURE__ */ new Set();
9921
- if (seen.has(value)) {
9922
- return value;
9923
- }
9924
- seen.add(value);
9925
- depth--;
9926
- if (isRef(value)) {
9927
- traverse(value.value, depth, seen);
9928
- } else if (isArray(value)) {
9929
- for (let i = 0; i < value.length; i++) {
9930
- traverse(value[i], depth, seen);
9931
- }
9932
- } else if (isSet(value) || isMap(value)) {
9933
- value.forEach((v) => {
9934
- traverse(v, depth, seen);
9935
- });
9936
- } else if (isPlainObject(value)) {
9937
- for (const key in value) {
9938
- traverse(value[key], depth, seen);
9939
- }
9940
- for (const key of Object.getOwnPropertySymbols(value)) {
9941
- if (Object.prototype.propertyIsEnumerable.call(value, key)) {
9942
- traverse(value[key], depth, seen);
9943
- }
9944
- }
9945
- }
9946
- return value;
9947
- }
9948
9993
 
9949
9994
  function useModel(props, name, options = EMPTY_OBJ) {
9950
9995
  const i = getCurrentInstance();
@@ -12213,7 +12258,7 @@ function isMemoSame(cached, memo) {
12213
12258
  return true;
12214
12259
  }
12215
12260
 
12216
- const version = "3.5.0-beta.1";
12261
+ const version = "3.5.0-beta.3";
12217
12262
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12218
12263
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12219
12264
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13170,7 +13215,6 @@ class VueElement extends BaseClass {
13170
13215
  this._ob = null;
13171
13216
  if (this.shadowRoot && _createApp !== createApp) {
13172
13217
  this._root = this.shadowRoot;
13173
- this._mount(_def);
13174
13218
  } else {
13175
13219
  if (!!(process.env.NODE_ENV !== "production") && this.shadowRoot) {
13176
13220
  warn(
@@ -13183,9 +13227,9 @@ class VueElement extends BaseClass {
13183
13227
  } else {
13184
13228
  this._root = this;
13185
13229
  }
13186
- if (!this._def.__asyncLoader) {
13187
- this._resolveProps(this._def);
13188
- }
13230
+ }
13231
+ if (!this._def.__asyncLoader) {
13232
+ this._resolveProps(this._def);
13189
13233
  }
13190
13234
  }
13191
13235
  connectedCallback() {
@@ -13385,6 +13429,7 @@ class VueElement extends BaseClass {
13385
13429
  vnode.ce = (instance) => {
13386
13430
  this._instance = instance;
13387
13431
  instance.ce = this;
13432
+ instance.isCE = true;
13388
13433
  if (!!(process.env.NODE_ENV !== "production")) {
13389
13434
  instance.ceReload = (newStyles) => {
13390
13435
  if (this._styles) {
@@ -14255,6 +14300,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
14255
14300
  effectScope: effectScope,
14256
14301
  getCurrentInstance: getCurrentInstance,
14257
14302
  getCurrentScope: getCurrentScope,
14303
+ getCurrentWatcher: getCurrentWatcher,
14258
14304
  getTransitionRawChildren: getTransitionRawChildren,
14259
14305
  guardReactiveProps: guardReactiveProps,
14260
14306
  h: h,
@@ -14297,6 +14343,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
14297
14343
  onServerPrefetch: onServerPrefetch,
14298
14344
  onUnmounted: onUnmounted,
14299
14345
  onUpdated: onUpdated,
14346
+ onWatcherCleanup: onWatcherCleanup,
14300
14347
  openBlock: openBlock,
14301
14348
  popScopeId: popScopeId,
14302
14349
  provide: provide,
@@ -15629,8 +15676,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
15629
15676
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
15630
15677
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
15631
15678
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
15632
- const isMemberExpressionBrowser = (path) => {
15633
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
15679
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
15680
+ const isMemberExpressionBrowser = (exp) => {
15681
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
15634
15682
  let state = 0 /* inMemberExp */;
15635
15683
  let stateStack = [];
15636
15684
  let currentOpenBracketCount = 0;
@@ -15692,6 +15740,9 @@ const isMemberExpressionBrowser = (path) => {
15692
15740
  return !currentOpenBracketCount && !currentOpenParensCount;
15693
15741
  };
15694
15742
  const isMemberExpression = isMemberExpressionBrowser ;
15743
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
15744
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
15745
+ const isFnExpression = isFnExpressionBrowser ;
15695
15746
  function assert(condition, msg) {
15696
15747
  if (!condition) {
15697
15748
  throw new Error(msg || `unexpected compiler condition`);
@@ -16138,7 +16189,9 @@ const tokenizer = new Tokenizer(stack, {
16138
16189
  case 17:
16139
16190
  case 18:
16140
16191
  case 19:
16192
+ // "
16141
16193
  case 20:
16194
+ // '
16142
16195
  case 21:
16143
16196
  emitError(9, end);
16144
16197
  break;
@@ -17121,6 +17174,7 @@ function traverseNode(node, context) {
17121
17174
  context.helper(TO_DISPLAY_STRING);
17122
17175
  }
17123
17176
  break;
17177
+ // for container types, further traverse downwards
17124
17178
  case 9:
17125
17179
  for (let i2 = 0; i2 < node.branches.length; i2++) {
17126
17180
  traverseNode(node.branches[i2], context);
@@ -17473,6 +17527,7 @@ function genNode(node, context) {
17473
17527
  case 21:
17474
17528
  genNodeList(node.body, context, true, false);
17475
17529
  break;
17530
+ // SSR only types
17476
17531
  case 22:
17477
17532
  break;
17478
17533
  case 23:
@@ -17483,6 +17538,7 @@ function genNode(node, context) {
17483
17538
  break;
17484
17539
  case 26:
17485
17540
  break;
17541
+ /* istanbul ignore next */
17486
17542
  case 10:
17487
17543
  break;
17488
17544
  default:
@@ -19189,7 +19245,6 @@ function processSlotOutlet(node, context) {
19189
19245
  };
19190
19246
  }
19191
19247
 
19192
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
19193
19248
  const transformOn$1 = (dir, node, context, augmentor) => {
19194
19249
  const { loc, modifiers, arg } = dir;
19195
19250
  if (!dir.exp && !modifiers.length) {
@@ -19233,8 +19288,8 @@ const transformOn$1 = (dir, node, context, augmentor) => {
19233
19288
  }
19234
19289
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
19235
19290
  if (exp) {
19236
- const isMemberExp = isMemberExpression(exp.content);
19237
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
19291
+ const isMemberExp = isMemberExpression(exp);
19292
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp));
19238
19293
  const hasMultipleStatements = exp.content.includes(`;`);
19239
19294
  if (!!(process.env.NODE_ENV !== "production") && true) {
19240
19295
  validateBrowserExpression(
@@ -19382,7 +19437,7 @@ const transformModel$1 = (dir, node, context) => {
19382
19437
  return createTransformProps();
19383
19438
  }
19384
19439
  const maybeRef = false;
19385
- if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
19440
+ if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
19386
19441
  context.onError(
19387
19442
  createCompilerError(42, exp.loc)
19388
19443
  );
@@ -19493,27 +19548,35 @@ function parseFilter(node, context) {
19493
19548
  case 34:
19494
19549
  inDouble = true;
19495
19550
  break;
19551
+ // "
19496
19552
  case 39:
19497
19553
  inSingle = true;
19498
19554
  break;
19555
+ // '
19499
19556
  case 96:
19500
19557
  inTemplateString = true;
19501
19558
  break;
19559
+ // `
19502
19560
  case 40:
19503
19561
  paren++;
19504
19562
  break;
19563
+ // (
19505
19564
  case 41:
19506
19565
  paren--;
19507
19566
  break;
19567
+ // )
19508
19568
  case 91:
19509
19569
  square++;
19510
19570
  break;
19571
+ // [
19511
19572
  case 93:
19512
19573
  square--;
19513
19574
  break;
19575
+ // ]
19514
19576
  case 123:
19515
19577
  curly++;
19516
19578
  break;
19579
+ // {
19517
19580
  case 125:
19518
19581
  curly--;
19519
19582
  break;
@@ -20364,4 +20427,4 @@ Vue.compile = compileToFunction;
20364
20427
 
20365
20428
  const configureCompat = Vue.configureCompat;
20366
20429
 
20367
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
20430
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };