@vue/compat 3.6.0-alpha.6 → 3.6.0-beta.1

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-alpha.6
2
+ * @vue/compat v3.6.0-beta.1
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -824,13 +824,13 @@ class Dep {
824
824
  }
825
825
  }
826
826
  const targetMap = /* @__PURE__ */ new WeakMap();
827
- const ITERATE_KEY = Symbol(
827
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(
828
828
  "Object iterate"
829
829
  );
830
- const MAP_KEY_ITERATE_KEY = Symbol(
830
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(
831
831
  "Map keys iterate"
832
832
  );
833
- const ARRAY_ITERATE_KEY = Symbol(
833
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(
834
834
  "Array iterate"
835
835
  );
836
836
  function track(target, type, key) {
@@ -2070,6 +2070,16 @@ class EffectScope {
2070
2070
  return;
2071
2071
  }
2072
2072
  this.flags = 1024;
2073
+ this.reset();
2074
+ const sub = this.subs;
2075
+ if (sub !== void 0) {
2076
+ unlink(sub);
2077
+ }
2078
+ }
2079
+ /**
2080
+ * @internal
2081
+ */
2082
+ reset() {
2073
2083
  let dep = this.deps;
2074
2084
  while (dep !== void 0) {
2075
2085
  const node = dep.dep;
@@ -2080,10 +2090,6 @@ class EffectScope {
2080
2090
  dep = unlink(dep, this);
2081
2091
  }
2082
2092
  }
2083
- const sub = this.subs;
2084
- if (sub !== void 0) {
2085
- unlink(sub);
2086
- }
2087
2093
  cleanup(this);
2088
2094
  }
2089
2095
  }
@@ -2825,10 +2831,10 @@ function flushPostFlushCbs(seen) {
2825
2831
  }
2826
2832
  }
2827
2833
  let isFlushing = false;
2828
- function flushOnAppMount() {
2834
+ function flushOnAppMount(instance) {
2829
2835
  if (!isFlushing) {
2830
2836
  isFlushing = true;
2831
- flushPreFlushCbs();
2837
+ flushPreFlushCbs(instance);
2832
2838
  flushPostFlushCbs();
2833
2839
  isFlushing = false;
2834
2840
  }
@@ -2895,6 +2901,7 @@ function checkRecursiveUpdates(seen, fn) {
2895
2901
 
2896
2902
  let isHmrUpdating = false;
2897
2903
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2904
+ const hmrDirtyComponentsMode = /* @__PURE__ */ new Map();
2898
2905
  {
2899
2906
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
2900
2907
  createRecord: tryWrap(createRecord),
@@ -2958,9 +2965,10 @@ function reload(id, newComp) {
2958
2965
  const record = map.get(id);
2959
2966
  if (!record) return;
2960
2967
  newComp = normalizeClassComponent(newComp);
2968
+ const isVapor = record.initialDef.__vapor;
2961
2969
  updateComponentDef(record.initialDef, newComp);
2962
2970
  const instances = [...record.instances];
2963
- if (newComp.__vapor && !instances.some((i) => i.ceReload)) {
2971
+ if (isVapor && newComp.__vapor && !instances.some((i) => i.ceReload)) {
2964
2972
  for (const instance of instances) {
2965
2973
  if (instance.root && instance.root.ce && instance !== instance.root) {
2966
2974
  instance.root.ce._removeChildStyle(instance.type);
@@ -2980,6 +2988,7 @@ function reload(id, newComp) {
2980
2988
  hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());
2981
2989
  }
2982
2990
  dirtyInstances.add(instance);
2991
+ hmrDirtyComponentsMode.set(oldComp, !!isVapor);
2983
2992
  instance.appContext.propsCache.delete(instance.type);
2984
2993
  instance.appContext.emitsCache.delete(instance.type);
2985
2994
  instance.appContext.optionsCache.delete(instance.type);
@@ -3020,6 +3029,7 @@ function reload(id, newComp) {
3020
3029
  }
3021
3030
  queuePostFlushCb(() => {
3022
3031
  hmrDirtyComponents.clear();
3032
+ hmrDirtyComponentsMode.clear();
3023
3033
  });
3024
3034
  }
3025
3035
  function updateComponentDef(oldComp, newComp) {
@@ -3558,65 +3568,6 @@ function emit$1(instance, event, args) {
3558
3568
  return instance.proxy;
3559
3569
  }
3560
3570
 
3561
- const compatModelEventPrefix = `onModelCompat:`;
3562
- const warnedTypes = /* @__PURE__ */ new WeakSet();
3563
- function convertLegacyVModelProps(vnode) {
3564
- const { type, shapeFlag, props, dynamicProps } = vnode;
3565
- const comp = type;
3566
- if (shapeFlag & 6 && props && "modelValue" in props) {
3567
- if (!isCompatEnabled$1(
3568
- "COMPONENT_V_MODEL",
3569
- // this is a special case where we want to use the vnode component's
3570
- // compat config instead of the current rendering instance (which is the
3571
- // parent of the component that exposes v-model)
3572
- { type }
3573
- )) {
3574
- return;
3575
- }
3576
- if (!warnedTypes.has(comp)) {
3577
- pushWarningContext(vnode);
3578
- warnDeprecation$1("COMPONENT_V_MODEL", { type }, comp);
3579
- popWarningContext();
3580
- warnedTypes.add(comp);
3581
- }
3582
- const model = comp.model || {};
3583
- applyModelFromMixins(model, comp.mixins);
3584
- const { prop = "value", event = "input" } = model;
3585
- if (prop !== "modelValue") {
3586
- props[prop] = props.modelValue;
3587
- delete props.modelValue;
3588
- }
3589
- if (dynamicProps) {
3590
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
3591
- }
3592
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
3593
- delete props["onUpdate:modelValue"];
3594
- }
3595
- }
3596
- function applyModelFromMixins(model, mixins) {
3597
- if (mixins) {
3598
- mixins.forEach((m) => {
3599
- if (m.model) extend(model, m.model);
3600
- if (m.mixins) applyModelFromMixins(model, m.mixins);
3601
- });
3602
- }
3603
- }
3604
- function compatModelEmit(instance, event, args) {
3605
- if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
3606
- return;
3607
- }
3608
- const props = instance.vnode.props;
3609
- const modelHandler = props && props[compatModelEventPrefix + event];
3610
- if (modelHandler) {
3611
- callWithErrorHandling(
3612
- modelHandler,
3613
- instance,
3614
- 6,
3615
- args
3616
- );
3617
- }
3618
- }
3619
-
3620
3571
  let currentRenderingInstance = null;
3621
3572
  let currentScopeId = null;
3622
3573
  function setCurrentRenderingInstance(instance) {
@@ -3767,7 +3718,203 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
3767
3718
  }
3768
3719
  }
3769
3720
 
3770
- const TeleportEndKey = Symbol("_vte");
3721
+ function provide(key, value) {
3722
+ {
3723
+ if (!currentInstance || currentInstance.isMounted && !isHmrUpdating) {
3724
+ warn$1(`provide() can only be used inside setup().`);
3725
+ }
3726
+ }
3727
+ if (currentInstance) {
3728
+ let provides = currentInstance.provides;
3729
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
3730
+ if (parentProvides === provides) {
3731
+ provides = currentInstance.provides = Object.create(parentProvides);
3732
+ }
3733
+ provides[key] = value;
3734
+ }
3735
+ }
3736
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3737
+ const instance = getCurrentGenericInstance();
3738
+ if (instance || currentApp) {
3739
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
3740
+ if (provides && key in provides) {
3741
+ return provides[key];
3742
+ } else if (arguments.length > 1) {
3743
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3744
+ } else {
3745
+ warn$1(`injection "${String(key)}" not found.`);
3746
+ }
3747
+ } else {
3748
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3749
+ }
3750
+ }
3751
+ function hasInjectionContext() {
3752
+ return !!(getCurrentGenericInstance() || currentApp);
3753
+ }
3754
+
3755
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
3756
+ const useSSRContext = () => {
3757
+ {
3758
+ const ctx = inject(ssrContextKey);
3759
+ if (!ctx) {
3760
+ warn$1(
3761
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
3762
+ );
3763
+ }
3764
+ return ctx;
3765
+ }
3766
+ };
3767
+
3768
+ function watchEffect(effect, options) {
3769
+ return doWatch(effect, null, options);
3770
+ }
3771
+ function watchPostEffect(effect, options) {
3772
+ return doWatch(
3773
+ effect,
3774
+ null,
3775
+ extend({}, options, { flush: "post" })
3776
+ );
3777
+ }
3778
+ function watchSyncEffect(effect, options) {
3779
+ return doWatch(
3780
+ effect,
3781
+ null,
3782
+ extend({}, options, { flush: "sync" })
3783
+ );
3784
+ }
3785
+ function watch(source, cb, options) {
3786
+ if (!isFunction(cb)) {
3787
+ warn$1(
3788
+ `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
3789
+ );
3790
+ }
3791
+ return doWatch(source, cb, options);
3792
+ }
3793
+ class RenderWatcherEffect extends WatcherEffect {
3794
+ constructor(instance, source, cb, options, flush) {
3795
+ super(source, cb, options);
3796
+ this.flush = flush;
3797
+ const job = () => {
3798
+ if (this.dirty) {
3799
+ this.run();
3800
+ }
3801
+ };
3802
+ if (cb) {
3803
+ this.flags |= 128;
3804
+ job.flags |= 2;
3805
+ }
3806
+ if (instance) {
3807
+ job.i = instance;
3808
+ }
3809
+ this.job = job;
3810
+ }
3811
+ notify() {
3812
+ const flags = this.flags;
3813
+ if (!(flags & 256)) {
3814
+ const flush = this.flush;
3815
+ const job = this.job;
3816
+ if (flush === "post") {
3817
+ queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
3818
+ } else if (flush === "pre") {
3819
+ queueJob(job, job.i ? job.i.uid : void 0, true);
3820
+ } else {
3821
+ job();
3822
+ }
3823
+ }
3824
+ }
3825
+ }
3826
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3827
+ const { immediate, deep, flush = "pre", once } = options;
3828
+ if (!cb) {
3829
+ if (immediate !== void 0) {
3830
+ warn$1(
3831
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3832
+ );
3833
+ }
3834
+ if (deep !== void 0) {
3835
+ warn$1(
3836
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3837
+ );
3838
+ }
3839
+ if (once !== void 0) {
3840
+ warn$1(
3841
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3842
+ );
3843
+ }
3844
+ }
3845
+ const baseWatchOptions = extend({}, options);
3846
+ baseWatchOptions.onWarn = warn$1;
3847
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
3848
+ let ssrCleanup;
3849
+ if (isInSSRComponentSetup) {
3850
+ if (flush === "sync") {
3851
+ const ctx = useSSRContext();
3852
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
3853
+ } else if (!runsImmediately) {
3854
+ const watchStopHandle = () => {
3855
+ };
3856
+ watchStopHandle.stop = NOOP;
3857
+ watchStopHandle.resume = NOOP;
3858
+ watchStopHandle.pause = NOOP;
3859
+ return watchStopHandle;
3860
+ }
3861
+ }
3862
+ const instance = currentInstance;
3863
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3864
+ const effect = new RenderWatcherEffect(
3865
+ instance,
3866
+ source,
3867
+ cb,
3868
+ baseWatchOptions,
3869
+ flush
3870
+ );
3871
+ if (cb) {
3872
+ effect.run(true);
3873
+ } else if (flush === "post") {
3874
+ queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
3875
+ } else {
3876
+ effect.run(true);
3877
+ }
3878
+ const stop = effect.stop.bind(effect);
3879
+ stop.pause = effect.pause.bind(effect);
3880
+ stop.resume = effect.resume.bind(effect);
3881
+ stop.stop = stop;
3882
+ if (isInSSRComponentSetup) {
3883
+ if (ssrCleanup) {
3884
+ ssrCleanup.push(stop);
3885
+ } else if (runsImmediately) {
3886
+ stop();
3887
+ }
3888
+ }
3889
+ return stop;
3890
+ }
3891
+ function instanceWatch(source, value, options) {
3892
+ const publicThis = this.proxy;
3893
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3894
+ let cb;
3895
+ if (isFunction(value)) {
3896
+ cb = value;
3897
+ } else {
3898
+ cb = value.handler;
3899
+ options = value;
3900
+ }
3901
+ const prev = setCurrentInstance(this);
3902
+ const res = doWatch(getter, cb.bind(publicThis), options);
3903
+ setCurrentInstance(...prev);
3904
+ return res;
3905
+ }
3906
+ function createPathGetter(ctx, path) {
3907
+ const segments = path.split(".");
3908
+ return () => {
3909
+ let cur = ctx;
3910
+ for (let i = 0; i < segments.length && cur; i++) {
3911
+ cur = cur[segments[i]];
3912
+ }
3913
+ return cur;
3914
+ };
3915
+ }
3916
+
3917
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3771
3918
  const isTeleport = (type) => type.__isTeleport;
3772
3919
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
3773
3920
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -4139,8 +4286,8 @@ function prepareAnchor(target, vnode, createText, insert) {
4139
4286
  return targetAnchor;
4140
4287
  }
4141
4288
 
4142
- const leaveCbKey = Symbol("_leaveCb");
4143
- const enterCbKey$1 = Symbol("_enterCb");
4289
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
4290
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
4144
4291
  function useTransitionState() {
4145
4292
  const state = {
4146
4293
  isMounted: false,
@@ -4178,7 +4325,7 @@ const BaseTransitionPropsValidators = {
4178
4325
  onAppearCancelled: TransitionHookValidator
4179
4326
  };
4180
4327
  const recursiveGetSubtree = (instance) => {
4181
- const subTree = instance.type.__vapor ? instance.block : instance.subTree;
4328
+ const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
4182
4329
  return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
4183
4330
  };
4184
4331
  const BaseTransitionImpl = {
@@ -4488,7 +4635,7 @@ function getInnerChild$1(vnode) {
4488
4635
  }
4489
4636
  function setTransitionHooks(vnode, hooks) {
4490
4637
  if (vnode.shapeFlag & 6 && vnode.component) {
4491
- if (vnode.type.__vapor) {
4638
+ if (isVaporComponent(vnode.type)) {
4492
4639
  getVaporInterface(vnode.component, vnode).setTransitionHooks(
4493
4640
  vnode.component,
4494
4641
  hooks
@@ -5756,7 +5903,9 @@ const KeepAliveImpl = {
5756
5903
  }
5757
5904
  function pruneCache(filter) {
5758
5905
  cache.forEach((vnode, key) => {
5759
- const name = getComponentName(vnode.type);
5906
+ const name = getComponentName(
5907
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
5908
+ );
5760
5909
  if (name && !filter(name)) {
5761
5910
  pruneCacheEntry(key);
5762
5911
  }
@@ -6098,7 +6247,7 @@ const FILTERS = "filters";
6098
6247
  function resolveComponent(name, maybeSelfReference) {
6099
6248
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
6100
6249
  }
6101
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
6250
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
6102
6251
  function resolveDynamicComponent(component) {
6103
6252
  if (isString(component)) {
6104
6253
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -6540,14 +6689,14 @@ function ensureVaporSlotFallback(vnodes, fallback) {
6540
6689
  }
6541
6690
  }
6542
6691
 
6543
- function toHandlers(obj, preserveCaseIfNecessary) {
6692
+ function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
6544
6693
  const ret = {};
6545
6694
  if (!isObject(obj)) {
6546
6695
  warn$1(`v-on with no argument expects an object value.`);
6547
6696
  return ret;
6548
6697
  }
6549
6698
  for (const key in obj) {
6550
- ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
6699
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
6551
6700
  }
6552
6701
  return ret;
6553
6702
  }
@@ -7688,7 +7837,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7688
7837
  return vm;
7689
7838
  }
7690
7839
  }
7691
- Vue.version = `2.6.14-compat:${"3.6.0-alpha.6"}`;
7840
+ Vue.version = `2.6.14-compat:${"3.6.0-beta.1"}`;
7692
7841
  Vue.config = singletonApp.config;
7693
7842
  Vue.use = (plugin, ...options) => {
7694
7843
  if (plugin && isFunction(plugin.install)) {
@@ -8190,262 +8339,132 @@ If you want to remount the same app, move your app creation logic into a factory
8190
8339
  }
8191
8340
  },
8192
8341
  onUnmount(cleanupFn) {
8193
- if (typeof cleanupFn !== "function") {
8194
- warn$1(
8195
- `Expected function as first argument to app.onUnmount(), but got ${typeof cleanupFn}`
8196
- );
8197
- }
8198
- pluginCleanupFns.push(cleanupFn);
8199
- },
8200
- unmount() {
8201
- if (isMounted) {
8202
- callWithAsyncErrorHandling(
8203
- pluginCleanupFns,
8204
- app._instance,
8205
- 16
8206
- );
8207
- unmount(app);
8208
- {
8209
- app._instance = null;
8210
- devtoolsUnmountApp(app);
8211
- }
8212
- delete app._container.__vue_app__;
8213
- } else {
8214
- warn$1(`Cannot unmount an app that is not mounted.`);
8215
- }
8216
- },
8217
- provide(key, value) {
8218
- if (key in context.provides) {
8219
- if (hasOwn(context.provides, key)) {
8220
- warn$1(
8221
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
8222
- );
8223
- } else {
8224
- warn$1(
8225
- `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
8226
- );
8227
- }
8228
- }
8229
- context.provides[key] = value;
8230
- return app;
8231
- },
8232
- runWithContext(fn) {
8233
- const lastApp = currentApp;
8234
- currentApp = app;
8235
- try {
8236
- return fn();
8237
- } finally {
8238
- currentApp = lastApp;
8239
- }
8240
- }
8241
- };
8242
- {
8243
- installAppCompatProperties(
8244
- app,
8245
- context,
8246
- // vapor doesn't have compat mode so this is always passed
8247
- render
8248
- );
8249
- }
8250
- return app;
8251
- };
8252
- }
8253
- let currentApp = null;
8254
-
8255
- function provide(key, value) {
8256
- {
8257
- if (!currentInstance || currentInstance.isMounted) {
8258
- warn$1(`provide() can only be used inside setup().`);
8259
- }
8260
- }
8261
- if (currentInstance) {
8262
- let provides = currentInstance.provides;
8263
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
8264
- if (parentProvides === provides) {
8265
- provides = currentInstance.provides = Object.create(parentProvides);
8266
- }
8267
- provides[key] = value;
8268
- }
8269
- }
8270
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
8271
- const instance = getCurrentGenericInstance();
8272
- if (instance || currentApp) {
8273
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
8274
- if (provides && key in provides) {
8275
- return provides[key];
8276
- } else if (arguments.length > 1) {
8277
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
8278
- } else {
8279
- warn$1(`injection "${String(key)}" not found.`);
8280
- }
8281
- } else {
8282
- warn$1(`inject() can only be used inside setup() or functional components.`);
8283
- }
8284
- }
8285
- function hasInjectionContext() {
8286
- return !!(getCurrentGenericInstance() || currentApp);
8287
- }
8288
-
8289
- const ssrContextKey = Symbol.for("v-scx");
8290
- const useSSRContext = () => {
8291
- {
8292
- const ctx = inject(ssrContextKey);
8293
- if (!ctx) {
8294
- warn$1(
8295
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
8296
- );
8297
- }
8298
- return ctx;
8299
- }
8300
- };
8301
-
8302
- function watchEffect(effect, options) {
8303
- return doWatch(effect, null, options);
8304
- }
8305
- function watchPostEffect(effect, options) {
8306
- return doWatch(
8307
- effect,
8308
- null,
8309
- extend({}, options, { flush: "post" })
8310
- );
8311
- }
8312
- function watchSyncEffect(effect, options) {
8313
- return doWatch(
8314
- effect,
8315
- null,
8316
- extend({}, options, { flush: "sync" })
8317
- );
8318
- }
8319
- function watch(source, cb, options) {
8320
- if (!isFunction(cb)) {
8321
- warn$1(
8322
- `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
8323
- );
8324
- }
8325
- return doWatch(source, cb, options);
8326
- }
8327
- class RenderWatcherEffect extends WatcherEffect {
8328
- constructor(instance, source, cb, options, flush) {
8329
- super(source, cb, options);
8330
- this.flush = flush;
8331
- const job = () => {
8332
- if (this.dirty) {
8333
- this.run();
8342
+ if (typeof cleanupFn !== "function") {
8343
+ warn$1(
8344
+ `Expected function as first argument to app.onUnmount(), but got ${typeof cleanupFn}`
8345
+ );
8346
+ }
8347
+ pluginCleanupFns.push(cleanupFn);
8348
+ },
8349
+ unmount() {
8350
+ if (isMounted) {
8351
+ callWithAsyncErrorHandling(
8352
+ pluginCleanupFns,
8353
+ app._instance,
8354
+ 16
8355
+ );
8356
+ unmount(app);
8357
+ {
8358
+ app._instance = null;
8359
+ devtoolsUnmountApp(app);
8360
+ }
8361
+ delete app._container.__vue_app__;
8362
+ } else {
8363
+ warn$1(`Cannot unmount an app that is not mounted.`);
8364
+ }
8365
+ },
8366
+ provide(key, value) {
8367
+ if (key in context.provides) {
8368
+ if (hasOwn(context.provides, key)) {
8369
+ warn$1(
8370
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
8371
+ );
8372
+ } else {
8373
+ warn$1(
8374
+ `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
8375
+ );
8376
+ }
8377
+ }
8378
+ context.provides[key] = value;
8379
+ return app;
8380
+ },
8381
+ runWithContext(fn) {
8382
+ const lastApp = currentApp;
8383
+ currentApp = app;
8384
+ try {
8385
+ return fn();
8386
+ } finally {
8387
+ currentApp = lastApp;
8388
+ }
8334
8389
  }
8335
8390
  };
8336
- if (cb) {
8337
- this.flags |= 128;
8338
- job.flags |= 2;
8339
- }
8340
- if (instance) {
8341
- job.i = instance;
8342
- }
8343
- this.job = job;
8344
- }
8345
- notify() {
8346
- const flags = this.flags;
8347
- if (!(flags & 256)) {
8348
- const flush = this.flush;
8349
- const job = this.job;
8350
- if (flush === "post") {
8351
- queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
8352
- } else if (flush === "pre") {
8353
- queueJob(job, job.i ? job.i.uid : void 0, true);
8354
- } else {
8355
- job();
8356
- }
8357
- }
8358
- }
8359
- }
8360
- function doWatch(source, cb, options = EMPTY_OBJ) {
8361
- const { immediate, deep, flush = "pre", once } = options;
8362
- if (!cb) {
8363
- if (immediate !== void 0) {
8364
- warn$1(
8365
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
8391
+ {
8392
+ installAppCompatProperties(
8393
+ app,
8394
+ context,
8395
+ // vapor doesn't have compat mode so this is always passed
8396
+ render
8366
8397
  );
8367
8398
  }
8368
- if (deep !== void 0) {
8369
- warn$1(
8370
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
8371
- );
8399
+ return app;
8400
+ };
8401
+ }
8402
+ let currentApp = null;
8403
+
8404
+ const compatModelEventPrefix = `onModelCompat:`;
8405
+ const warnedTypes = /* @__PURE__ */ new WeakSet();
8406
+ function convertLegacyVModelProps(vnode) {
8407
+ const { type, shapeFlag, props, dynamicProps } = vnode;
8408
+ const comp = type;
8409
+ if (shapeFlag & 6 && props && "modelValue" in props) {
8410
+ if (!isCompatEnabled$1(
8411
+ "COMPONENT_V_MODEL",
8412
+ // this is a special case where we want to use the vnode component's
8413
+ // compat config instead of the current rendering instance (which is the
8414
+ // parent of the component that exposes v-model)
8415
+ { type }
8416
+ )) {
8417
+ return;
8372
8418
  }
8373
- if (once !== void 0) {
8374
- warn$1(
8375
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
8419
+ if (!warnedTypes.has(comp)) {
8420
+ pushWarningContext(vnode);
8421
+ warnDeprecation$1(
8422
+ "COMPONENT_V_MODEL",
8423
+ {
8424
+ type,
8425
+ appContext: vnode.ctx && vnode.ctx.appContext || createAppContext()
8426
+ },
8427
+ comp
8376
8428
  );
8429
+ popWarningContext();
8430
+ warnedTypes.add(comp);
8377
8431
  }
8378
- }
8379
- const baseWatchOptions = extend({}, options);
8380
- baseWatchOptions.onWarn = warn$1;
8381
- const runsImmediately = cb && immediate || !cb && flush !== "post";
8382
- let ssrCleanup;
8383
- if (isInSSRComponentSetup) {
8384
- if (flush === "sync") {
8385
- const ctx = useSSRContext();
8386
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
8387
- } else if (!runsImmediately) {
8388
- const watchStopHandle = () => {
8389
- };
8390
- watchStopHandle.stop = NOOP;
8391
- watchStopHandle.resume = NOOP;
8392
- watchStopHandle.pause = NOOP;
8393
- return watchStopHandle;
8432
+ const model = comp.model || {};
8433
+ applyModelFromMixins(model, comp.mixins);
8434
+ const { prop = "value", event = "input" } = model;
8435
+ if (prop !== "modelValue") {
8436
+ props[prop] = props.modelValue;
8437
+ delete props.modelValue;
8394
8438
  }
8395
- }
8396
- const instance = currentInstance;
8397
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
8398
- const effect = new RenderWatcherEffect(
8399
- instance,
8400
- source,
8401
- cb,
8402
- baseWatchOptions,
8403
- flush
8404
- );
8405
- if (cb) {
8406
- effect.run(true);
8407
- } else if (flush === "post") {
8408
- queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
8409
- } else {
8410
- effect.run(true);
8411
- }
8412
- const stop = effect.stop.bind(effect);
8413
- stop.pause = effect.pause.bind(effect);
8414
- stop.resume = effect.resume.bind(effect);
8415
- stop.stop = stop;
8416
- if (isInSSRComponentSetup) {
8417
- if (ssrCleanup) {
8418
- ssrCleanup.push(stop);
8419
- } else if (runsImmediately) {
8420
- stop();
8439
+ if (dynamicProps) {
8440
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
8421
8441
  }
8442
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
8443
+ delete props["onUpdate:modelValue"];
8422
8444
  }
8423
- return stop;
8424
8445
  }
8425
- function instanceWatch(source, value, options) {
8426
- const publicThis = this.proxy;
8427
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
8428
- let cb;
8429
- if (isFunction(value)) {
8430
- cb = value;
8431
- } else {
8432
- cb = value.handler;
8433
- options = value;
8446
+ function applyModelFromMixins(model, mixins) {
8447
+ if (mixins) {
8448
+ mixins.forEach((m) => {
8449
+ if (m.model) extend(model, m.model);
8450
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
8451
+ });
8434
8452
  }
8435
- const prev = setCurrentInstance(this);
8436
- const res = doWatch(getter, cb.bind(publicThis), options);
8437
- setCurrentInstance(...prev);
8438
- return res;
8439
8453
  }
8440
- function createPathGetter(ctx, path) {
8441
- const segments = path.split(".");
8442
- return () => {
8443
- let cur = ctx;
8444
- for (let i = 0; i < segments.length && cur; i++) {
8445
- cur = cur[segments[i]];
8446
- }
8447
- return cur;
8448
- };
8454
+ function compatModelEmit(instance, event, args) {
8455
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
8456
+ return;
8457
+ }
8458
+ const props = instance.vnode.props;
8459
+ const modelHandler = props && props[compatModelEventPrefix + event];
8460
+ if (modelHandler) {
8461
+ callWithErrorHandling(
8462
+ modelHandler,
8463
+ instance,
8464
+ 6,
8465
+ args
8466
+ );
8467
+ }
8449
8468
  }
8450
8469
 
8451
8470
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -9637,6 +9656,14 @@ function isSupported() {
9637
9656
  return supported;
9638
9657
  }
9639
9658
 
9659
+ const MoveType = {
9660
+ "ENTER": 0,
9661
+ "0": "ENTER",
9662
+ "LEAVE": 1,
9663
+ "1": "LEAVE",
9664
+ "REORDER": 2,
9665
+ "2": "REORDER"
9666
+ };
9640
9667
  const queuePostRenderEffect = queueEffectWithSuspense ;
9641
9668
  function createRenderer(options) {
9642
9669
  return baseCreateRenderer(options);
@@ -9706,7 +9733,13 @@ function baseCreateRenderer(options, createHydrationFns) {
9706
9733
  );
9707
9734
  break;
9708
9735
  case VaporSlot:
9709
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor);
9736
+ getVaporInterface(parentComponent, n2).slot(
9737
+ n1,
9738
+ n2,
9739
+ container,
9740
+ anchor,
9741
+ parentComponent
9742
+ );
9710
9743
  break;
9711
9744
  default:
9712
9745
  if (shapeFlag & 1) {
@@ -9779,7 +9812,15 @@ function baseCreateRenderer(options, createHydrationFns) {
9779
9812
  } else {
9780
9813
  const el = n2.el = n1.el;
9781
9814
  if (n2.children !== n1.children) {
9782
- hostSetText(el, n2.children);
9815
+ if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9816
+ const childNodes = container.childNodes;
9817
+ const newChild = hostCreateText(n2.children);
9818
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9819
+ hostInsert(newChild, container, oldChild);
9820
+ hostRemove(oldChild);
9821
+ } else {
9822
+ hostSetText(el, n2.children);
9823
+ }
9783
9824
  }
9784
9825
  }
9785
9826
  };
@@ -10165,7 +10206,7 @@ function baseCreateRenderer(options, createHydrationFns) {
10165
10206
  } else {
10166
10207
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
10167
10208
  // of renderSlot() with no valid children
10168
- n1.dynamicChildren) {
10209
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
10169
10210
  patchBlockChildren(
10170
10211
  n1.dynamicChildren,
10171
10212
  dynamicChildren,
@@ -10881,8 +10922,8 @@ function baseCreateRenderer(options, createHydrationFns) {
10881
10922
  const nextChild = c2[nextIndex];
10882
10923
  const anchorVNode = c2[nextIndex + 1];
10883
10924
  const anchor = nextIndex + 1 < l2 ? (
10884
- // #13559, fallback to el placeholder for unresolved async component
10885
- anchorVNode.el || anchorVNode.placeholder
10925
+ // #13559, #14173 fallback to el placeholder for unresolved async component
10926
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
10886
10927
  ) : parentAnchor;
10887
10928
  if (newIndexToOldIndexMap[i] === 0) {
10888
10929
  patch(
@@ -10915,7 +10956,7 @@ function baseCreateRenderer(options, createHydrationFns) {
10915
10956
  const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
10916
10957
  const { el, type, transition, children, shapeFlag } = vnode;
10917
10958
  if (shapeFlag & 6) {
10918
- if (type.__vapor) {
10959
+ if (isVaporComponent(type)) {
10919
10960
  getVaporInterface(parentComponent, vnode).move(vnode, container, anchor);
10920
10961
  } else {
10921
10962
  move(
@@ -11025,7 +11066,7 @@ function baseCreateRenderer(options, createHydrationFns) {
11025
11066
  parentComponent.renderCache[cacheIndex] = void 0;
11026
11067
  }
11027
11068
  if (shapeFlag & 256) {
11028
- if (vnode.type.__vapor) {
11069
+ if (isVaporComponent(vnode.type)) {
11029
11070
  getVaporInterface(parentComponent, vnode).deactivate(
11030
11071
  vnode,
11031
11072
  parentComponent.ctx.getStorageContainer()
@@ -11042,7 +11083,7 @@ function baseCreateRenderer(options, createHydrationFns) {
11042
11083
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
11043
11084
  }
11044
11085
  if (shapeFlag & 6) {
11045
- if (type.__vapor) {
11086
+ if (isVaporComponent(type)) {
11046
11087
  getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
11047
11088
  return;
11048
11089
  } else {
@@ -11184,7 +11225,7 @@ function baseCreateRenderer(options, createHydrationFns) {
11184
11225
  };
11185
11226
  const getNextHostNode = (vnode) => {
11186
11227
  if (vnode.shapeFlag & 6) {
11187
- if (vnode.type.__vapor) {
11228
+ if (isVaporComponent(vnode.type)) {
11188
11229
  return hostNextSibling(vnode.anchor);
11189
11230
  }
11190
11231
  return getNextHostNode(vnode.component.subTree);
@@ -11197,9 +11238,11 @@ function baseCreateRenderer(options, createHydrationFns) {
11197
11238
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
11198
11239
  };
11199
11240
  const render = (vnode, container, namespace) => {
11241
+ let instance;
11200
11242
  if (vnode == null) {
11201
11243
  if (container._vnode) {
11202
11244
  unmount(container._vnode, null, null, true);
11245
+ instance = container._vnode.component;
11203
11246
  }
11204
11247
  } else {
11205
11248
  patch(
@@ -11213,7 +11256,7 @@ function baseCreateRenderer(options, createHydrationFns) {
11213
11256
  );
11214
11257
  }
11215
11258
  container._vnode = vnode;
11216
- flushOnAppMount();
11259
+ flushOnAppMount(instance);
11217
11260
  };
11218
11261
  const internals = {
11219
11262
  p: patch,
@@ -11305,9 +11348,13 @@ function traverseStaticChildren(n1, n2, shallow = false) {
11305
11348
  if (!shallow && c2.patchFlag !== -2)
11306
11349
  traverseStaticChildren(c1, c2);
11307
11350
  }
11308
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
11309
- c2.patchFlag !== -1) {
11310
- c2.el = c1.el;
11351
+ if (c2.type === Text) {
11352
+ if (c2.patchFlag !== -1) {
11353
+ c2.el = c1.el;
11354
+ } else {
11355
+ c2.__elIndex = i + // take fragment start anchor into account
11356
+ (n1.type === Fragment ? 1 : 0);
11357
+ }
11311
11358
  }
11312
11359
  if (c2.type === Comment && !c2.el) {
11313
11360
  c2.el = c1.el;
@@ -11343,16 +11390,24 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
11343
11390
  insert();
11344
11391
  }
11345
11392
  }
11346
- function performTransitionLeave(el, transition, remove, isElement = true) {
11393
+ function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
11347
11394
  const performRemove = () => {
11348
11395
  remove();
11349
11396
  if (transition && !transition.persisted && transition.afterLeave) {
11350
11397
  transition.afterLeave();
11351
11398
  }
11352
11399
  };
11353
- if (isElement && transition && !transition.persisted) {
11400
+ if (force || isElement && transition && !transition.persisted) {
11354
11401
  const { leave, delayLeave } = transition;
11355
- const performLeave = () => leave(el, performRemove);
11402
+ const performLeave = () => {
11403
+ if (el._isLeaving && force) {
11404
+ el[leaveCbKey](
11405
+ true
11406
+ /* cancelled */
11407
+ );
11408
+ }
11409
+ leave(el, performRemove);
11410
+ };
11356
11411
  if (delayLeave) {
11357
11412
  delayLeave(el, performRemove, performLeave);
11358
11413
  } else {
@@ -11376,6 +11431,12 @@ app.use(vaporInteropPlugin)
11376
11431
  }
11377
11432
  return res;
11378
11433
  }
11434
+ function isVaporComponent(type) {
11435
+ if (isHmrUpdating && hmrDirtyComponentsMode.has(type)) {
11436
+ return hmrDirtyComponentsMode.get(type);
11437
+ }
11438
+ return type.__vapor;
11439
+ }
11379
11440
  function getInheritedScopeIds(vnode, parentComponent) {
11380
11441
  const inheritedScopeIds = [];
11381
11442
  let currentParent = parentComponent;
@@ -11402,6 +11463,16 @@ function getInheritedScopeIds(vnode, parentComponent) {
11402
11463
  }
11403
11464
  return inheritedScopeIds;
11404
11465
  }
11466
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
11467
+ if (anchorVnode.placeholder) {
11468
+ return anchorVnode.placeholder;
11469
+ }
11470
+ const instance = anchorVnode.component;
11471
+ if (instance) {
11472
+ return resolveAsyncComponentPlaceholder(instance.subTree);
11473
+ }
11474
+ return null;
11475
+ }
11405
11476
 
11406
11477
  const isSuspense = (type) => type.__isSuspense;
11407
11478
  let suspenseId = 0;
@@ -12041,11 +12112,11 @@ function convertLegacyComponent(comp, instance) {
12041
12112
  return comp;
12042
12113
  }
12043
12114
 
12044
- const Fragment = Symbol.for("v-fgt");
12045
- const Text = Symbol.for("v-txt");
12046
- const Comment = Symbol.for("v-cmt");
12047
- const Static = Symbol.for("v-stc");
12048
- const VaporSlot = Symbol.for("v-vps");
12115
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
12116
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
12117
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
12118
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
12119
+ const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
12049
12120
  const blockStack = [];
12050
12121
  let currentBlock = null;
12051
12122
  function openBlock(disableTracking = false) {
@@ -13123,7 +13194,7 @@ function isMemoSame(cached, memo) {
13123
13194
  return true;
13124
13195
  }
13125
13196
 
13126
- const version = "3.6.0-alpha.6";
13197
+ const version = "3.6.0-beta.1";
13127
13198
  const warn = warn$1 ;
13128
13199
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
13129
13200
  const devtools = devtools$1 ;
@@ -13235,7 +13306,7 @@ const nodeOps = {
13235
13306
 
13236
13307
  const TRANSITION$1 = "transition";
13237
13308
  const ANIMATION = "animation";
13238
- const vtcKey = Symbol("_vtc");
13309
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
13239
13310
  const DOMTransitionPropsValidators = {
13240
13311
  name: String,
13241
13312
  type: String,
@@ -13565,8 +13636,8 @@ function patchClass(el, value, isSVG) {
13565
13636
  }
13566
13637
  }
13567
13638
 
13568
- const vShowOriginalDisplay = Symbol("_vod");
13569
- const vShowHidden = Symbol("_vsh");
13639
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
13640
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
13570
13641
  const vShow = {
13571
13642
  // used for prop mismatch check during hydration
13572
13643
  name: "show",
@@ -13615,7 +13686,7 @@ function initVShowForSSR() {
13615
13686
  };
13616
13687
  }
13617
13688
 
13618
- const CSS_VAR_TEXT = Symbol("CSS_VAR_TEXT" );
13689
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol("CSS_VAR_TEXT" );
13619
13690
  function useCssVars(getter) {
13620
13691
  const instance = getCurrentInstance();
13621
13692
  const getVars = () => getter(instance.proxy);
@@ -13825,7 +13896,7 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
13825
13896
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
13826
13897
  function compatCoerceAttr(el, key, value, instance = null) {
13827
13898
  if (isEnumeratedAttr(key)) {
13828
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
13899
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
13829
13900
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
13830
13901
  "ATTR_ENUMERATED_COERCION",
13831
13902
  instance,
@@ -13920,7 +13991,7 @@ function addEventListener(el, event, handler, options) {
13920
13991
  function removeEventListener(el, event, handler, options) {
13921
13992
  el.removeEventListener(event, handler, options);
13922
13993
  }
13923
- const veiKey = Symbol("_vei");
13994
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
13924
13995
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
13925
13996
  const invokers = el[veiKey] || (el[veiKey] = {});
13926
13997
  const existingInvoker = invokers[rawName];
@@ -14582,8 +14653,8 @@ function useCssModule(name = "$style") {
14582
14653
 
14583
14654
  const positionMap = /* @__PURE__ */ new WeakMap();
14584
14655
  const newPositionMap = /* @__PURE__ */ new WeakMap();
14585
- const moveCbKey = Symbol("_moveCb");
14586
- const enterCbKey = Symbol("_enterCb");
14656
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
14657
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
14587
14658
  const decorate = (t) => {
14588
14659
  delete t.props.mode;
14589
14660
  {
@@ -14755,7 +14826,7 @@ function onCompositionEnd(e) {
14755
14826
  target.dispatchEvent(new Event("input"));
14756
14827
  }
14757
14828
  }
14758
- const assignKey = Symbol("_assign");
14829
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
14759
14830
  const vModelText = {
14760
14831
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
14761
14832
  el[assignKey] = getModelAssigner(vnode);
@@ -15291,6 +15362,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15291
15362
  ErrorTypeStrings: ErrorTypeStrings,
15292
15363
  Fragment: Fragment,
15293
15364
  KeepAlive: KeepAlive,
15365
+ MoveType: MoveType,
15294
15366
  ReactiveEffect: ReactiveEffect,
15295
15367
  Static: Static,
15296
15368
  Suspense: Suspense,
@@ -15488,81 +15560,81 @@ function createCompatVue() {
15488
15560
  return Vue;
15489
15561
  }
15490
15562
 
15491
- const FRAGMENT = Symbol(`Fragment` );
15492
- const TELEPORT = Symbol(`Teleport` );
15493
- const SUSPENSE = Symbol(`Suspense` );
15494
- const KEEP_ALIVE = Symbol(`KeepAlive` );
15495
- const BASE_TRANSITION = Symbol(
15563
+ const FRAGMENT = /* @__PURE__ */ Symbol(`Fragment` );
15564
+ const TELEPORT = /* @__PURE__ */ Symbol(`Teleport` );
15565
+ const SUSPENSE = /* @__PURE__ */ Symbol(`Suspense` );
15566
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(`KeepAlive` );
15567
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
15496
15568
  `BaseTransition`
15497
15569
  );
15498
- const OPEN_BLOCK = Symbol(`openBlock` );
15499
- const CREATE_BLOCK = Symbol(`createBlock` );
15500
- const CREATE_ELEMENT_BLOCK = Symbol(
15570
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(`openBlock` );
15571
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(`createBlock` );
15572
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
15501
15573
  `createElementBlock`
15502
15574
  );
15503
- const CREATE_VNODE = Symbol(`createVNode` );
15504
- const CREATE_ELEMENT_VNODE = Symbol(
15575
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(`createVNode` );
15576
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
15505
15577
  `createElementVNode`
15506
15578
  );
15507
- const CREATE_COMMENT = Symbol(
15579
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
15508
15580
  `createCommentVNode`
15509
15581
  );
15510
- const CREATE_TEXT = Symbol(
15582
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
15511
15583
  `createTextVNode`
15512
15584
  );
15513
- const CREATE_STATIC = Symbol(
15585
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
15514
15586
  `createStaticVNode`
15515
15587
  );
15516
- const RESOLVE_COMPONENT = Symbol(
15588
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
15517
15589
  `resolveComponent`
15518
15590
  );
15519
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
15591
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
15520
15592
  `resolveDynamicComponent`
15521
15593
  );
15522
- const RESOLVE_DIRECTIVE = Symbol(
15594
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
15523
15595
  `resolveDirective`
15524
15596
  );
15525
- const RESOLVE_FILTER = Symbol(
15597
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
15526
15598
  `resolveFilter`
15527
15599
  );
15528
- const WITH_DIRECTIVES = Symbol(
15600
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
15529
15601
  `withDirectives`
15530
15602
  );
15531
- const RENDER_LIST = Symbol(`renderList` );
15532
- const RENDER_SLOT = Symbol(`renderSlot` );
15533
- const CREATE_SLOTS = Symbol(`createSlots` );
15534
- const TO_DISPLAY_STRING = Symbol(
15603
+ const RENDER_LIST = /* @__PURE__ */ Symbol(`renderList` );
15604
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(`renderSlot` );
15605
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(`createSlots` );
15606
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
15535
15607
  `toDisplayString`
15536
15608
  );
15537
- const MERGE_PROPS = Symbol(`mergeProps` );
15538
- const NORMALIZE_CLASS = Symbol(
15609
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(`mergeProps` );
15610
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
15539
15611
  `normalizeClass`
15540
15612
  );
15541
- const NORMALIZE_STYLE = Symbol(
15613
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
15542
15614
  `normalizeStyle`
15543
15615
  );
15544
- const NORMALIZE_PROPS = Symbol(
15616
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
15545
15617
  `normalizeProps`
15546
15618
  );
15547
- const GUARD_REACTIVE_PROPS = Symbol(
15619
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
15548
15620
  `guardReactiveProps`
15549
15621
  );
15550
- const TO_HANDLERS = Symbol(`toHandlers` );
15551
- const CAMELIZE = Symbol(`camelize` );
15552
- const CAPITALIZE = Symbol(`capitalize` );
15553
- const TO_HANDLER_KEY = Symbol(
15622
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(`toHandlers` );
15623
+ const CAMELIZE = /* @__PURE__ */ Symbol(`camelize` );
15624
+ const CAPITALIZE = /* @__PURE__ */ Symbol(`capitalize` );
15625
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
15554
15626
  `toHandlerKey`
15555
15627
  );
15556
- const SET_BLOCK_TRACKING = Symbol(
15628
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
15557
15629
  `setBlockTracking`
15558
15630
  );
15559
- const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
15560
- const POP_SCOPE_ID = Symbol(`popScopeId` );
15561
- const WITH_CTX = Symbol(`withCtx` );
15562
- const UNREF = Symbol(`unref` );
15563
- const IS_REF = Symbol(`isRef` );
15564
- const WITH_MEMO = Symbol(`withMemo` );
15565
- const IS_MEMO_SAME = Symbol(`isMemoSame` );
15631
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(`pushScopeId` );
15632
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(`popScopeId` );
15633
+ const WITH_CTX = /* @__PURE__ */ Symbol(`withCtx` );
15634
+ const UNREF = /* @__PURE__ */ Symbol(`unref` );
15635
+ const IS_REF = /* @__PURE__ */ Symbol(`isRef` );
15636
+ const WITH_MEMO = /* @__PURE__ */ Symbol(`withMemo` );
15637
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(`isMemoSame` );
15566
15638
  const helperNameMap = {
15567
15639
  [FRAGMENT]: `Fragment`,
15568
15640
  [TELEPORT]: `Teleport`,
@@ -15857,14 +15929,28 @@ class Tokenizer {
15857
15929
  getPos(index) {
15858
15930
  let line = 1;
15859
15931
  let column = index + 1;
15860
- for (let i = this.newlines.length - 1; i >= 0; i--) {
15861
- const newlineIndex = this.newlines[i];
15862
- if (index > newlineIndex) {
15863
- line = i + 2;
15864
- column = index - newlineIndex;
15865
- break;
15932
+ const length = this.newlines.length;
15933
+ let j = -1;
15934
+ if (length > 100) {
15935
+ let l = -1;
15936
+ let r = length;
15937
+ while (l + 1 < r) {
15938
+ const m = l + r >>> 1;
15939
+ this.newlines[m] < index ? l = m : r = m;
15940
+ }
15941
+ j = l;
15942
+ } else {
15943
+ for (let i = length - 1; i >= 0; i--) {
15944
+ if (index > this.newlines[i]) {
15945
+ j = i;
15946
+ break;
15947
+ }
15866
15948
  }
15867
15949
  }
15950
+ if (j >= 0) {
15951
+ line = j + 2;
15952
+ column = index - this.newlines[j];
15953
+ }
15868
15954
  return {
15869
15955
  column,
15870
15956
  line,
@@ -16679,7 +16765,7 @@ const errorMessages = {
16679
16765
  [32]: `v-for has invalid expression.`,
16680
16766
  [33]: `<template v-for> key should be placed on the <template> tag.`,
16681
16767
  [34]: `v-bind is missing expression.`,
16682
- [52]: `v-bind with same-name shorthand only allows static argument.`,
16768
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
16683
16769
  [35]: `v-on is missing expression.`,
16684
16770
  [36]: `Unexpected custom directive on <slot> outlet.`,
16685
16771
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -16691,16 +16777,17 @@ const errorMessages = {
16691
16777
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
16692
16778
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
16693
16779
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
16694
- [45]: `Error parsing JavaScript expression: `,
16695
- [46]: `<KeepAlive> expects exactly one child component.`,
16696
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
16780
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
16781
+ [46]: `Error parsing JavaScript expression: `,
16782
+ [47]: `<KeepAlive> expects exactly one child component.`,
16783
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
16697
16784
  // generic errors
16698
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16699
- [48]: `ES module mode is not supported in this build of compiler.`,
16700
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16701
- [50]: `"scopeId" option is only supported in module mode.`,
16785
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16786
+ [49]: `ES module mode is not supported in this build of compiler.`,
16787
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16788
+ [51]: `"scopeId" option is only supported in module mode.`,
16702
16789
  // just to fulfill types
16703
- [53]: ``
16790
+ [54]: ``
16704
16791
  };
16705
16792
 
16706
16793
  const isStaticExp = (p) => p.type === 4 && p.isStatic;
@@ -18890,7 +18977,7 @@ function validateBrowserExpression(node, context, asParams = false, asRawStateme
18890
18977
  }
18891
18978
  context.onError(
18892
18979
  createCompilerError(
18893
- 45,
18980
+ 46,
18894
18981
  node.loc,
18895
18982
  void 0,
18896
18983
  message
@@ -19656,7 +19743,7 @@ const transformElement = (node, context) => {
19656
19743
  patchFlag |= 1024;
19657
19744
  if (node.children.length > 1) {
19658
19745
  context.onError(
19659
- createCompilerError(46, {
19746
+ createCompilerError(47, {
19660
19747
  start: node.children[0].loc.start,
19661
19748
  end: node.children[node.children.length - 1].loc.end,
19662
19749
  source: ""
@@ -20243,7 +20330,7 @@ const transformOn$1 = (dir, node, context, augmentor) => {
20243
20330
  if (arg.isStatic) {
20244
20331
  let rawName = arg.content;
20245
20332
  if (rawName.startsWith("vnode")) {
20246
- context.onError(createCompilerError(51, arg.loc));
20333
+ context.onError(createCompilerError(52, arg.loc));
20247
20334
  }
20248
20335
  if (rawName.startsWith("vue:")) {
20249
20336
  rawName = `vnode-${rawName.slice(4)}`;
@@ -20476,6 +20563,10 @@ const transformModel$1 = (dir, node, context) => {
20476
20563
  context.onError(createCompilerError(44, exp.loc));
20477
20564
  return createTransformProps();
20478
20565
  }
20566
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
20567
+ context.onError(createCompilerError(45, exp.loc));
20568
+ return createTransformProps();
20569
+ }
20479
20570
  if (!expString.trim() || !isMemberExpression(exp) && true) {
20480
20571
  context.onError(
20481
20572
  createCompilerError(42, exp.loc)
@@ -20704,7 +20795,7 @@ const transformVBindShorthand = (node, context) => {
20704
20795
  if (arg.type !== 4 || !arg.isStatic) {
20705
20796
  context.onError(
20706
20797
  createCompilerError(
20707
- 52,
20798
+ 53,
20708
20799
  arg.loc
20709
20800
  )
20710
20801
  );
@@ -20748,17 +20839,17 @@ function baseCompile(source, options = {}) {
20748
20839
  const isModuleMode = options.mode === "module";
20749
20840
  {
20750
20841
  if (options.prefixIdentifiers === true) {
20751
- onError(createCompilerError(47));
20752
- } else if (isModuleMode) {
20753
20842
  onError(createCompilerError(48));
20843
+ } else if (isModuleMode) {
20844
+ onError(createCompilerError(49));
20754
20845
  }
20755
20846
  }
20756
20847
  const prefixIdentifiers = false;
20757
20848
  if (options.cacheHandlers) {
20758
- onError(createCompilerError(49));
20849
+ onError(createCompilerError(50));
20759
20850
  }
20760
20851
  if (options.scopeId && !isModuleMode) {
20761
- onError(createCompilerError(50));
20852
+ onError(createCompilerError(51));
20762
20853
  }
20763
20854
  const resolvedOptions = extend({}, options, {
20764
20855
  prefixIdentifiers
@@ -20786,26 +20877,26 @@ function baseCompile(source, options = {}) {
20786
20877
 
20787
20878
  const noopDirectiveTransform = () => ({ props: [] });
20788
20879
 
20789
- const V_MODEL_RADIO = Symbol(`vModelRadio` );
20790
- const V_MODEL_CHECKBOX = Symbol(
20880
+ const V_MODEL_RADIO = /* @__PURE__ */ Symbol(`vModelRadio` );
20881
+ const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol(
20791
20882
  `vModelCheckbox`
20792
20883
  );
20793
- const V_MODEL_TEXT = Symbol(`vModelText` );
20794
- const V_MODEL_SELECT = Symbol(
20884
+ const V_MODEL_TEXT = /* @__PURE__ */ Symbol(`vModelText` );
20885
+ const V_MODEL_SELECT = /* @__PURE__ */ Symbol(
20795
20886
  `vModelSelect`
20796
20887
  );
20797
- const V_MODEL_DYNAMIC = Symbol(
20888
+ const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol(
20798
20889
  `vModelDynamic`
20799
20890
  );
20800
- const V_ON_WITH_MODIFIERS = Symbol(
20891
+ const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol(
20801
20892
  `vOnModifiersGuard`
20802
20893
  );
20803
- const V_ON_WITH_KEYS = Symbol(
20894
+ const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol(
20804
20895
  `vOnKeysGuard`
20805
20896
  );
20806
- const V_SHOW = Symbol(`vShow` );
20807
- const TRANSITION = Symbol(`Transition` );
20808
- const TRANSITION_GROUP = Symbol(
20897
+ const V_SHOW = /* @__PURE__ */ Symbol(`vShow` );
20898
+ const TRANSITION = /* @__PURE__ */ Symbol(`Transition` );
20899
+ const TRANSITION_GROUP = /* @__PURE__ */ Symbol(
20809
20900
  `TransitionGroup`
20810
20901
  );
20811
20902
  registerRuntimeHelpers({
@@ -20916,31 +21007,31 @@ function createDOMCompilerError(code, loc) {
20916
21007
  );
20917
21008
  }
20918
21009
  const DOMErrorMessages = {
20919
- [53]: `v-html is missing expression.`,
20920
- [54]: `v-html will override element children.`,
20921
- [55]: `v-text is missing expression.`,
20922
- [56]: `v-text will override element children.`,
20923
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
20924
- [58]: `v-model argument is not supported on plain elements.`,
20925
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
20926
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
20927
- [61]: `v-show is missing expression.`,
20928
- [62]: `<Transition> expects exactly one child element or component.`,
20929
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
21010
+ [54]: `v-html is missing expression.`,
21011
+ [55]: `v-html will override element children.`,
21012
+ [56]: `v-text is missing expression.`,
21013
+ [57]: `v-text will override element children.`,
21014
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
21015
+ [59]: `v-model argument is not supported on plain elements.`,
21016
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
21017
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
21018
+ [62]: `v-show is missing expression.`,
21019
+ [63]: `<Transition> expects exactly one child element or component.`,
21020
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
20930
21021
  // just to fulfill types
20931
- [64]: ``
21022
+ [65]: ``
20932
21023
  };
20933
21024
 
20934
21025
  const transformVHtml = (dir, node, context) => {
20935
21026
  const { exp, loc } = dir;
20936
21027
  if (!exp) {
20937
21028
  context.onError(
20938
- createDOMCompilerError(53, loc)
21029
+ createDOMCompilerError(54, loc)
20939
21030
  );
20940
21031
  }
20941
21032
  if (node.children.length) {
20942
21033
  context.onError(
20943
- createDOMCompilerError(54, loc)
21034
+ createDOMCompilerError(55, loc)
20944
21035
  );
20945
21036
  node.children.length = 0;
20946
21037
  }
@@ -20958,12 +21049,12 @@ const transformVText = (dir, node, context) => {
20958
21049
  const { exp, loc } = dir;
20959
21050
  if (!exp) {
20960
21051
  context.onError(
20961
- createDOMCompilerError(55, loc)
21052
+ createDOMCompilerError(56, loc)
20962
21053
  );
20963
21054
  }
20964
21055
  if (node.children.length) {
20965
21056
  context.onError(
20966
- createDOMCompilerError(56, loc)
21057
+ createDOMCompilerError(57, loc)
20967
21058
  );
20968
21059
  node.children.length = 0;
20969
21060
  }
@@ -20989,7 +21080,7 @@ const transformModel = (dir, node, context) => {
20989
21080
  if (dir.arg) {
20990
21081
  context.onError(
20991
21082
  createDOMCompilerError(
20992
- 58,
21083
+ 59,
20993
21084
  dir.arg.loc
20994
21085
  )
20995
21086
  );
@@ -20999,7 +21090,7 @@ const transformModel = (dir, node, context) => {
20999
21090
  if (value && isStaticArgOf(value.arg, "value")) {
21000
21091
  context.onError(
21001
21092
  createDOMCompilerError(
21002
- 60,
21093
+ 61,
21003
21094
  value.loc
21004
21095
  )
21005
21096
  );
@@ -21027,7 +21118,7 @@ const transformModel = (dir, node, context) => {
21027
21118
  isInvalidType = true;
21028
21119
  context.onError(
21029
21120
  createDOMCompilerError(
21030
- 59,
21121
+ 60,
21031
21122
  dir.loc
21032
21123
  )
21033
21124
  );
@@ -21053,7 +21144,7 @@ const transformModel = (dir, node, context) => {
21053
21144
  } else {
21054
21145
  context.onError(
21055
21146
  createDOMCompilerError(
21056
- 57,
21147
+ 58,
21057
21148
  dir.loc
21058
21149
  )
21059
21150
  );
@@ -21164,7 +21255,7 @@ const transformShow = (dir, node, context) => {
21164
21255
  const { exp, loc } = dir;
21165
21256
  if (!exp) {
21166
21257
  context.onError(
21167
- createDOMCompilerError(61, loc)
21258
+ createDOMCompilerError(62, loc)
21168
21259
  );
21169
21260
  }
21170
21261
  return {
@@ -21188,7 +21279,7 @@ function postTransformTransition(node, onError, hasMultipleChildren = defaultHas
21188
21279
  }
21189
21280
  if (hasMultipleChildren(node)) {
21190
21281
  onError(
21191
- createDOMCompilerError(62, {
21282
+ createDOMCompilerError(63, {
21192
21283
  start: node.children[0].loc.start,
21193
21284
  end: node.children[node.children.length - 1].loc.end,
21194
21285
  source: ""
@@ -21223,7 +21314,7 @@ const ignoreSideEffectTags = (node, context) => {
21223
21314
  if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
21224
21315
  context.onError(
21225
21316
  createDOMCompilerError(
21226
- 63,
21317
+ 64,
21227
21318
  node.loc
21228
21319
  )
21229
21320
  );
@@ -21499,4 +21590,4 @@ Vue.compile = compileToFunction;
21499
21590
 
21500
21591
  const configureCompat = Vue.configureCompat;
21501
21592
 
21502
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, VueElementBase, 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, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, 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, useInstanceOption, 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 };
21593
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MoveType, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, VueElementBase, 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, nodeOps, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, 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, useInstanceOption, 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 };