@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
  **/
@@ -7,7 +7,7 @@
7
7
 
8
8
  var parser = require('@babel/parser');
9
9
  var estreeWalker = require('estree-walker');
10
- var decode_js = require('entities/lib/decode.js');
10
+ var decode = require('entities/decode');
11
11
  var sourceMapJs = require('source-map-js');
12
12
 
13
13
  // @__NO_SIDE_EFFECTS__
@@ -718,13 +718,13 @@ class Dep {
718
718
  }
719
719
  }
720
720
  const targetMap = /* @__PURE__ */ new WeakMap();
721
- const ITERATE_KEY = Symbol(
721
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(
722
722
  ""
723
723
  );
724
- const MAP_KEY_ITERATE_KEY = Symbol(
724
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(
725
725
  ""
726
726
  );
727
- const ARRAY_ITERATE_KEY = Symbol(
727
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(
728
728
  ""
729
729
  );
730
730
  function track(target, type, key) {
@@ -1874,6 +1874,16 @@ class EffectScope {
1874
1874
  return;
1875
1875
  }
1876
1876
  this.flags = 1024;
1877
+ this.reset();
1878
+ const sub = this.subs;
1879
+ if (sub !== void 0) {
1880
+ unlink(sub);
1881
+ }
1882
+ }
1883
+ /**
1884
+ * @internal
1885
+ */
1886
+ reset() {
1877
1887
  let dep = this.deps;
1878
1888
  while (dep !== void 0) {
1879
1889
  const node = dep.dep;
@@ -1884,10 +1894,6 @@ class EffectScope {
1884
1894
  dep = unlink(dep, this);
1885
1895
  }
1886
1896
  }
1887
- const sub = this.subs;
1888
- if (sub !== void 0) {
1889
- unlink(sub);
1890
- }
1891
1897
  cleanup(this);
1892
1898
  }
1893
1899
  }
@@ -2558,10 +2564,10 @@ function flushPostFlushCbs(seen) {
2558
2564
  }
2559
2565
  }
2560
2566
  let isFlushing = false;
2561
- function flushOnAppMount() {
2567
+ function flushOnAppMount(instance) {
2562
2568
  if (!isFlushing) {
2563
2569
  isFlushing = true;
2564
- flushPreFlushCbs();
2570
+ flushPreFlushCbs(instance);
2565
2571
  flushPostFlushCbs();
2566
2572
  isFlushing = false;
2567
2573
  }
@@ -2765,58 +2771,6 @@ function emit$1(instance, event, args) {
2765
2771
  return instance.proxy;
2766
2772
  }
2767
2773
 
2768
- const compatModelEventPrefix = `onModelCompat:`;
2769
- function convertLegacyVModelProps(vnode) {
2770
- const { type, shapeFlag, props, dynamicProps } = vnode;
2771
- const comp = type;
2772
- if (shapeFlag & 6 && props && "modelValue" in props) {
2773
- if (!isCompatEnabled$1(
2774
- "COMPONENT_V_MODEL",
2775
- // this is a special case where we want to use the vnode component's
2776
- // compat config instead of the current rendering instance (which is the
2777
- // parent of the component that exposes v-model)
2778
- { type }
2779
- )) {
2780
- return;
2781
- }
2782
- const model = comp.model || {};
2783
- applyModelFromMixins(model, comp.mixins);
2784
- const { prop = "value", event = "input" } = model;
2785
- if (prop !== "modelValue") {
2786
- props[prop] = props.modelValue;
2787
- delete props.modelValue;
2788
- }
2789
- if (dynamicProps) {
2790
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
2791
- }
2792
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
2793
- delete props["onUpdate:modelValue"];
2794
- }
2795
- }
2796
- function applyModelFromMixins(model, mixins) {
2797
- if (mixins) {
2798
- mixins.forEach((m) => {
2799
- if (m.model) extend(model, m.model);
2800
- if (m.mixins) applyModelFromMixins(model, m.mixins);
2801
- });
2802
- }
2803
- }
2804
- function compatModelEmit(instance, event, args) {
2805
- if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
2806
- return;
2807
- }
2808
- const props = instance.vnode.props;
2809
- const modelHandler = props && props[compatModelEventPrefix + event];
2810
- if (modelHandler) {
2811
- callWithErrorHandling(
2812
- modelHandler,
2813
- instance,
2814
- 6,
2815
- args
2816
- );
2817
- }
2818
- }
2819
-
2820
2774
  let currentRenderingInstance = null;
2821
2775
  let currentScopeId = null;
2822
2776
  function setCurrentRenderingInstance(instance) {
@@ -2958,7 +2912,166 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
2958
2912
  }
2959
2913
  }
2960
2914
 
2961
- const TeleportEndKey = Symbol("_vte");
2915
+ function provide(key, value) {
2916
+ if (currentInstance) {
2917
+ let provides = currentInstance.provides;
2918
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
2919
+ if (parentProvides === provides) {
2920
+ provides = currentInstance.provides = Object.create(parentProvides);
2921
+ }
2922
+ provides[key] = value;
2923
+ }
2924
+ }
2925
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
2926
+ const instance = getCurrentGenericInstance();
2927
+ if (instance || currentApp) {
2928
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
2929
+ if (provides && key in provides) {
2930
+ return provides[key];
2931
+ } else if (arguments.length > 1) {
2932
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
2933
+ } else ;
2934
+ }
2935
+ }
2936
+ function hasInjectionContext() {
2937
+ return !!(getCurrentGenericInstance() || currentApp);
2938
+ }
2939
+
2940
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
2941
+ const useSSRContext = () => {
2942
+ {
2943
+ const ctx = inject(ssrContextKey);
2944
+ return ctx;
2945
+ }
2946
+ };
2947
+
2948
+ function watchEffect(effect, options) {
2949
+ return doWatch(effect, null, options);
2950
+ }
2951
+ function watchPostEffect(effect, options) {
2952
+ return doWatch(
2953
+ effect,
2954
+ null,
2955
+ { flush: "post" }
2956
+ );
2957
+ }
2958
+ function watchSyncEffect(effect, options) {
2959
+ return doWatch(
2960
+ effect,
2961
+ null,
2962
+ { flush: "sync" }
2963
+ );
2964
+ }
2965
+ function watch(source, cb, options) {
2966
+ return doWatch(source, cb, options);
2967
+ }
2968
+ class RenderWatcherEffect extends WatcherEffect {
2969
+ constructor(instance, source, cb, options, flush) {
2970
+ super(source, cb, options);
2971
+ this.flush = flush;
2972
+ const job = () => {
2973
+ if (this.dirty) {
2974
+ this.run();
2975
+ }
2976
+ };
2977
+ if (cb) {
2978
+ this.flags |= 128;
2979
+ job.flags |= 2;
2980
+ }
2981
+ if (instance) {
2982
+ job.i = instance;
2983
+ }
2984
+ this.job = job;
2985
+ }
2986
+ notify() {
2987
+ const flags = this.flags;
2988
+ if (!(flags & 256)) {
2989
+ const flush = this.flush;
2990
+ const job = this.job;
2991
+ if (flush === "post") {
2992
+ queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
2993
+ } else if (flush === "pre") {
2994
+ queueJob(job, job.i ? job.i.uid : void 0, true);
2995
+ } else {
2996
+ job();
2997
+ }
2998
+ }
2999
+ }
3000
+ }
3001
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3002
+ const { immediate, deep, flush = "pre", once } = options;
3003
+ const baseWatchOptions = extend({}, options);
3004
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
3005
+ let ssrCleanup;
3006
+ if (isInSSRComponentSetup) {
3007
+ if (flush === "sync") {
3008
+ const ctx = useSSRContext();
3009
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
3010
+ } else if (!runsImmediately) {
3011
+ const watchStopHandle = () => {
3012
+ };
3013
+ watchStopHandle.stop = NOOP;
3014
+ watchStopHandle.resume = NOOP;
3015
+ watchStopHandle.pause = NOOP;
3016
+ return watchStopHandle;
3017
+ }
3018
+ }
3019
+ const instance = currentInstance;
3020
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3021
+ const effect = new RenderWatcherEffect(
3022
+ instance,
3023
+ source,
3024
+ cb,
3025
+ baseWatchOptions,
3026
+ flush
3027
+ );
3028
+ if (cb) {
3029
+ effect.run(true);
3030
+ } else if (flush === "post") {
3031
+ queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
3032
+ } else {
3033
+ effect.run(true);
3034
+ }
3035
+ const stop = effect.stop.bind(effect);
3036
+ stop.pause = effect.pause.bind(effect);
3037
+ stop.resume = effect.resume.bind(effect);
3038
+ stop.stop = stop;
3039
+ if (isInSSRComponentSetup) {
3040
+ if (ssrCleanup) {
3041
+ ssrCleanup.push(stop);
3042
+ } else if (runsImmediately) {
3043
+ stop();
3044
+ }
3045
+ }
3046
+ return stop;
3047
+ }
3048
+ function instanceWatch(source, value, options) {
3049
+ const publicThis = this.proxy;
3050
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3051
+ let cb;
3052
+ if (isFunction(value)) {
3053
+ cb = value;
3054
+ } else {
3055
+ cb = value.handler;
3056
+ options = value;
3057
+ }
3058
+ const prev = setCurrentInstance(this);
3059
+ const res = doWatch(getter, cb.bind(publicThis), options);
3060
+ setCurrentInstance(...prev);
3061
+ return res;
3062
+ }
3063
+ function createPathGetter(ctx, path) {
3064
+ const segments = path.split(".");
3065
+ return () => {
3066
+ let cur = ctx;
3067
+ for (let i = 0; i < segments.length && cur; i++) {
3068
+ cur = cur[segments[i]];
3069
+ }
3070
+ return cur;
3071
+ };
3072
+ }
3073
+
3074
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
2962
3075
  const isTeleport = (type) => type.__isTeleport;
2963
3076
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
2964
3077
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -3303,8 +3416,8 @@ function prepareAnchor(target, vnode, createText, insert) {
3303
3416
  return targetAnchor;
3304
3417
  }
3305
3418
 
3306
- const leaveCbKey = Symbol("_leaveCb");
3307
- const enterCbKey$1 = Symbol("_enterCb");
3419
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
3420
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
3308
3421
  function useTransitionState() {
3309
3422
  const state = {
3310
3423
  isMounted: false,
@@ -3342,7 +3455,7 @@ const BaseTransitionPropsValidators = {
3342
3455
  onAppearCancelled: TransitionHookValidator
3343
3456
  };
3344
3457
  const recursiveGetSubtree = (instance) => {
3345
- const subTree = instance.type.__vapor ? instance.block : instance.subTree;
3458
+ const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
3346
3459
  return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
3347
3460
  };
3348
3461
  const BaseTransitionImpl = {
@@ -3644,7 +3757,7 @@ function getInnerChild$1(vnode) {
3644
3757
  }
3645
3758
  function setTransitionHooks(vnode, hooks) {
3646
3759
  if (vnode.shapeFlag & 6 && vnode.component) {
3647
- if (vnode.type.__vapor) {
3760
+ if (isVaporComponent(vnode.type)) {
3648
3761
  getVaporInterface(vnode.component, vnode).setTransitionHooks(
3649
3762
  vnode.component,
3650
3763
  hooks
@@ -4665,7 +4778,9 @@ const KeepAliveImpl = {
4665
4778
  }
4666
4779
  function pruneCache(filter) {
4667
4780
  cache.forEach((vnode, key) => {
4668
- const name = getComponentName(vnode.type);
4781
+ const name = getComponentName(
4782
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
4783
+ );
4669
4784
  if (name && !filter(name)) {
4670
4785
  pruneCacheEntry(key);
4671
4786
  }
@@ -4990,7 +5105,7 @@ const FILTERS = "filters";
4990
5105
  function resolveComponent(name, maybeSelfReference) {
4991
5106
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
4992
5107
  }
4993
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
5108
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
4994
5109
  function resolveDynamicComponent(component) {
4995
5110
  if (isString(component)) {
4996
5111
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -5414,10 +5529,10 @@ function ensureVaporSlotFallback(vnodes, fallback) {
5414
5529
  }
5415
5530
  }
5416
5531
 
5417
- function toHandlers(obj, preserveCaseIfNecessary) {
5532
+ function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
5418
5533
  const ret = {};
5419
5534
  for (const key in obj) {
5420
- ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
5535
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
5421
5536
  }
5422
5537
  return ret;
5423
5538
  }
@@ -6309,7 +6424,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6309
6424
  return vm;
6310
6425
  }
6311
6426
  }
6312
- Vue.version = `2.6.14-compat:${"3.6.0-alpha.6"}`;
6427
+ Vue.version = `2.6.14-compat:${"3.6.0-beta.1"}`;
6313
6428
  Vue.config = singletonApp.config;
6314
6429
  Vue.use = (plugin, ...options) => {
6315
6430
  if (plugin && isFunction(plugin.install)) {
@@ -6770,163 +6885,56 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
6770
6885
  }
6771
6886
  let currentApp = null;
6772
6887
 
6773
- function provide(key, value) {
6774
- if (currentInstance) {
6775
- let provides = currentInstance.provides;
6776
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
6777
- if (parentProvides === provides) {
6778
- provides = currentInstance.provides = Object.create(parentProvides);
6779
- }
6780
- provides[key] = value;
6781
- }
6782
- }
6783
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
6784
- const instance = getCurrentGenericInstance();
6785
- if (instance || currentApp) {
6786
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
6787
- if (provides && key in provides) {
6788
- return provides[key];
6789
- } else if (arguments.length > 1) {
6790
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
6791
- } else ;
6792
- }
6793
- }
6794
- function hasInjectionContext() {
6795
- return !!(getCurrentGenericInstance() || currentApp);
6796
- }
6797
-
6798
- const ssrContextKey = Symbol.for("v-scx");
6799
- const useSSRContext = () => {
6800
- {
6801
- const ctx = inject(ssrContextKey);
6802
- return ctx;
6803
- }
6804
- };
6805
-
6806
- function watchEffect(effect, options) {
6807
- return doWatch(effect, null, options);
6808
- }
6809
- function watchPostEffect(effect, options) {
6810
- return doWatch(
6811
- effect,
6812
- null,
6813
- { flush: "post" }
6814
- );
6815
- }
6816
- function watchSyncEffect(effect, options) {
6817
- return doWatch(
6818
- effect,
6819
- null,
6820
- { flush: "sync" }
6821
- );
6822
- }
6823
- function watch(source, cb, options) {
6824
- return doWatch(source, cb, options);
6825
- }
6826
- class RenderWatcherEffect extends WatcherEffect {
6827
- constructor(instance, source, cb, options, flush) {
6828
- super(source, cb, options);
6829
- this.flush = flush;
6830
- const job = () => {
6831
- if (this.dirty) {
6832
- this.run();
6833
- }
6834
- };
6835
- if (cb) {
6836
- this.flags |= 128;
6837
- job.flags |= 2;
6888
+ const compatModelEventPrefix = `onModelCompat:`;
6889
+ function convertLegacyVModelProps(vnode) {
6890
+ const { type, shapeFlag, props, dynamicProps } = vnode;
6891
+ const comp = type;
6892
+ if (shapeFlag & 6 && props && "modelValue" in props) {
6893
+ if (!isCompatEnabled$1(
6894
+ "COMPONENT_V_MODEL",
6895
+ // this is a special case where we want to use the vnode component's
6896
+ // compat config instead of the current rendering instance (which is the
6897
+ // parent of the component that exposes v-model)
6898
+ { type }
6899
+ )) {
6900
+ return;
6838
6901
  }
6839
- if (instance) {
6840
- job.i = instance;
6902
+ const model = comp.model || {};
6903
+ applyModelFromMixins(model, comp.mixins);
6904
+ const { prop = "value", event = "input" } = model;
6905
+ if (prop !== "modelValue") {
6906
+ props[prop] = props.modelValue;
6907
+ delete props.modelValue;
6841
6908
  }
6842
- this.job = job;
6843
- }
6844
- notify() {
6845
- const flags = this.flags;
6846
- if (!(flags & 256)) {
6847
- const flush = this.flush;
6848
- const job = this.job;
6849
- if (flush === "post") {
6850
- queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
6851
- } else if (flush === "pre") {
6852
- queueJob(job, job.i ? job.i.uid : void 0, true);
6853
- } else {
6854
- job();
6855
- }
6909
+ if (dynamicProps) {
6910
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
6856
6911
  }
6912
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
6913
+ delete props["onUpdate:modelValue"];
6857
6914
  }
6858
6915
  }
6859
- function doWatch(source, cb, options = EMPTY_OBJ) {
6860
- const { immediate, deep, flush = "pre", once } = options;
6861
- const baseWatchOptions = extend({}, options);
6862
- const runsImmediately = cb && immediate || !cb && flush !== "post";
6863
- let ssrCleanup;
6864
- if (isInSSRComponentSetup) {
6865
- if (flush === "sync") {
6866
- const ctx = useSSRContext();
6867
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
6868
- } else if (!runsImmediately) {
6869
- const watchStopHandle = () => {
6870
- };
6871
- watchStopHandle.stop = NOOP;
6872
- watchStopHandle.resume = NOOP;
6873
- watchStopHandle.pause = NOOP;
6874
- return watchStopHandle;
6875
- }
6876
- }
6877
- const instance = currentInstance;
6878
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
6879
- const effect = new RenderWatcherEffect(
6880
- instance,
6881
- source,
6882
- cb,
6883
- baseWatchOptions,
6884
- flush
6885
- );
6886
- if (cb) {
6887
- effect.run(true);
6888
- } else if (flush === "post") {
6889
- queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
6890
- } else {
6891
- effect.run(true);
6892
- }
6893
- const stop = effect.stop.bind(effect);
6894
- stop.pause = effect.pause.bind(effect);
6895
- stop.resume = effect.resume.bind(effect);
6896
- stop.stop = stop;
6897
- if (isInSSRComponentSetup) {
6898
- if (ssrCleanup) {
6899
- ssrCleanup.push(stop);
6900
- } else if (runsImmediately) {
6901
- stop();
6902
- }
6916
+ function applyModelFromMixins(model, mixins) {
6917
+ if (mixins) {
6918
+ mixins.forEach((m) => {
6919
+ if (m.model) extend(model, m.model);
6920
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
6921
+ });
6903
6922
  }
6904
- return stop;
6905
6923
  }
6906
- function instanceWatch(source, value, options) {
6907
- const publicThis = this.proxy;
6908
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
6909
- let cb;
6910
- if (isFunction(value)) {
6911
- cb = value;
6912
- } else {
6913
- cb = value.handler;
6914
- options = value;
6924
+ function compatModelEmit(instance, event, args) {
6925
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
6926
+ return;
6927
+ }
6928
+ const props = instance.vnode.props;
6929
+ const modelHandler = props && props[compatModelEventPrefix + event];
6930
+ if (modelHandler) {
6931
+ callWithErrorHandling(
6932
+ modelHandler,
6933
+ instance,
6934
+ 6,
6935
+ args
6936
+ );
6915
6937
  }
6916
- const prev = setCurrentInstance(this);
6917
- const res = doWatch(getter, cb.bind(publicThis), options);
6918
- setCurrentInstance(...prev);
6919
- return res;
6920
- }
6921
- function createPathGetter(ctx, path) {
6922
- const segments = path.split(".");
6923
- return () => {
6924
- let cur = ctx;
6925
- for (let i = 0; i < segments.length && cur; i++) {
6926
- cur = cur[segments[i]];
6927
- }
6928
- return cur;
6929
- };
6930
6938
  }
6931
6939
 
6932
6940
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -7789,6 +7797,14 @@ const updateSlots = (instance, children, optimized) => {
7789
7797
  }
7790
7798
  };
7791
7799
 
7800
+ const MoveType = {
7801
+ "ENTER": 0,
7802
+ "0": "ENTER",
7803
+ "LEAVE": 1,
7804
+ "1": "LEAVE",
7805
+ "REORDER": 2,
7806
+ "2": "REORDER"
7807
+ };
7792
7808
  const queuePostRenderEffect = queueEffectWithSuspense ;
7793
7809
  function createRenderer(options) {
7794
7810
  return baseCreateRenderer(options);
@@ -7853,7 +7869,13 @@ function baseCreateRenderer(options, createHydrationFns) {
7853
7869
  );
7854
7870
  break;
7855
7871
  case VaporSlot:
7856
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor);
7872
+ getVaporInterface(parentComponent, n2).slot(
7873
+ n1,
7874
+ n2,
7875
+ container,
7876
+ anchor,
7877
+ parentComponent
7878
+ );
7857
7879
  break;
7858
7880
  default:
7859
7881
  if (shapeFlag & 1) {
@@ -7924,7 +7946,9 @@ function baseCreateRenderer(options, createHydrationFns) {
7924
7946
  } else {
7925
7947
  const el = n2.el = n1.el;
7926
7948
  if (n2.children !== n1.children) {
7927
- hostSetText(el, n2.children);
7949
+ {
7950
+ hostSetText(el, n2.children);
7951
+ }
7928
7952
  }
7929
7953
  }
7930
7954
  };
@@ -8272,7 +8296,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8272
8296
  } else {
8273
8297
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
8274
8298
  // of renderSlot() with no valid children
8275
- n1.dynamicChildren) {
8299
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
8276
8300
  patchBlockChildren(
8277
8301
  n1.dynamicChildren,
8278
8302
  dynamicChildren,
@@ -8910,8 +8934,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8910
8934
  const nextChild = c2[nextIndex];
8911
8935
  const anchorVNode = c2[nextIndex + 1];
8912
8936
  const anchor = nextIndex + 1 < l2 ? (
8913
- // #13559, fallback to el placeholder for unresolved async component
8914
- anchorVNode.el || anchorVNode.placeholder
8937
+ // #13559, #14173 fallback to el placeholder for unresolved async component
8938
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
8915
8939
  ) : parentAnchor;
8916
8940
  if (newIndexToOldIndexMap[i] === 0) {
8917
8941
  patch(
@@ -8944,7 +8968,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8944
8968
  const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
8945
8969
  const { el, type, transition, children, shapeFlag } = vnode;
8946
8970
  if (shapeFlag & 6) {
8947
- if (type.__vapor) {
8971
+ if (isVaporComponent(type)) {
8948
8972
  getVaporInterface(parentComponent, vnode).move(vnode, container, anchor);
8949
8973
  } else {
8950
8974
  move(
@@ -9054,7 +9078,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9054
9078
  parentComponent.renderCache[cacheIndex] = void 0;
9055
9079
  }
9056
9080
  if (shapeFlag & 256) {
9057
- if (vnode.type.__vapor) {
9081
+ if (isVaporComponent(vnode.type)) {
9058
9082
  getVaporInterface(parentComponent, vnode).deactivate(
9059
9083
  vnode,
9060
9084
  parentComponent.ctx.getStorageContainer()
@@ -9071,7 +9095,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9071
9095
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
9072
9096
  }
9073
9097
  if (shapeFlag & 6) {
9074
- if (type.__vapor) {
9098
+ if (isVaporComponent(type)) {
9075
9099
  getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
9076
9100
  return;
9077
9101
  } else {
@@ -9199,7 +9223,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9199
9223
  };
9200
9224
  const getNextHostNode = (vnode) => {
9201
9225
  if (vnode.shapeFlag & 6) {
9202
- if (vnode.type.__vapor) {
9226
+ if (isVaporComponent(vnode.type)) {
9203
9227
  return hostNextSibling(vnode.anchor);
9204
9228
  }
9205
9229
  return getNextHostNode(vnode.component.subTree);
@@ -9212,9 +9236,11 @@ function baseCreateRenderer(options, createHydrationFns) {
9212
9236
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
9213
9237
  };
9214
9238
  const render = (vnode, container, namespace) => {
9239
+ let instance;
9215
9240
  if (vnode == null) {
9216
9241
  if (container._vnode) {
9217
9242
  unmount(container._vnode, null, null, true);
9243
+ instance = container._vnode.component;
9218
9244
  }
9219
9245
  } else {
9220
9246
  patch(
@@ -9228,7 +9254,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9228
9254
  );
9229
9255
  }
9230
9256
  container._vnode = vnode;
9231
- flushOnAppMount();
9257
+ flushOnAppMount(instance);
9232
9258
  };
9233
9259
  const internals = {
9234
9260
  p: patch,
@@ -9313,9 +9339,13 @@ function traverseStaticChildren(n1, n2, shallow = false) {
9313
9339
  if (!shallow && c2.patchFlag !== -2)
9314
9340
  traverseStaticChildren(c1, c2);
9315
9341
  }
9316
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
9317
- c2.patchFlag !== -1) {
9318
- c2.el = c1.el;
9342
+ if (c2.type === Text) {
9343
+ if (c2.patchFlag !== -1) {
9344
+ c2.el = c1.el;
9345
+ } else {
9346
+ c2.__elIndex = i + // take fragment start anchor into account
9347
+ (n1.type === Fragment ? 1 : 0);
9348
+ }
9319
9349
  }
9320
9350
  if (c2.type === Comment && !c2.el) {
9321
9351
  c2.el = c1.el;
@@ -9348,16 +9378,24 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
9348
9378
  insert();
9349
9379
  }
9350
9380
  }
9351
- function performTransitionLeave(el, transition, remove, isElement = true) {
9381
+ function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
9352
9382
  const performRemove = () => {
9353
9383
  remove();
9354
9384
  if (transition && !transition.persisted && transition.afterLeave) {
9355
9385
  transition.afterLeave();
9356
9386
  }
9357
9387
  };
9358
- if (isElement && transition && !transition.persisted) {
9388
+ if (force || isElement && transition && !transition.persisted) {
9359
9389
  const { leave, delayLeave } = transition;
9360
- const performLeave = () => leave(el, performRemove);
9390
+ const performLeave = () => {
9391
+ if (el._isLeaving && force) {
9392
+ el[leaveCbKey](
9393
+ true
9394
+ /* cancelled */
9395
+ );
9396
+ }
9397
+ leave(el, performRemove);
9398
+ };
9361
9399
  if (delayLeave) {
9362
9400
  delayLeave(el, performRemove, performLeave);
9363
9401
  } else {
@@ -9372,6 +9410,9 @@ function getVaporInterface(instance, vnode) {
9372
9410
  const res = ctx && ctx.vapor;
9373
9411
  return res;
9374
9412
  }
9413
+ function isVaporComponent(type) {
9414
+ return type.__vapor;
9415
+ }
9375
9416
  function getInheritedScopeIds(vnode, parentComponent) {
9376
9417
  const inheritedScopeIds = [];
9377
9418
  let currentParent = parentComponent;
@@ -9395,6 +9436,16 @@ function getInheritedScopeIds(vnode, parentComponent) {
9395
9436
  }
9396
9437
  return inheritedScopeIds;
9397
9438
  }
9439
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
9440
+ if (anchorVnode.placeholder) {
9441
+ return anchorVnode.placeholder;
9442
+ }
9443
+ const instance = anchorVnode.component;
9444
+ if (instance) {
9445
+ return resolveAsyncComponentPlaceholder(instance.subTree);
9446
+ }
9447
+ return null;
9448
+ }
9398
9449
 
9399
9450
  const isSuspense = (type) => type.__isSuspense;
9400
9451
  let suspenseId = 0;
@@ -10009,11 +10060,11 @@ function convertLegacyComponent(comp, instance) {
10009
10060
  return comp;
10010
10061
  }
10011
10062
 
10012
- const Fragment = Symbol.for("v-fgt");
10013
- const Text = Symbol.for("v-txt");
10014
- const Comment = Symbol.for("v-cmt");
10015
- const Static = Symbol.for("v-stc");
10016
- const VaporSlot = Symbol.for("v-vps");
10063
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
10064
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
10065
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
10066
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
10067
+ const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
10017
10068
  const blockStack = [];
10018
10069
  let currentBlock = null;
10019
10070
  function openBlock(disableTracking = false) {
@@ -10756,7 +10807,7 @@ function isMemoSame(cached, memo) {
10756
10807
  return true;
10757
10808
  }
10758
10809
 
10759
- const version = "3.6.0-alpha.6";
10810
+ const version = "3.6.0-beta.1";
10760
10811
  const warn$1 = NOOP;
10761
10812
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10762
10813
  const devtools = void 0;
@@ -10867,7 +10918,7 @@ const nodeOps = {
10867
10918
 
10868
10919
  const TRANSITION$1 = "transition";
10869
10920
  const ANIMATION = "animation";
10870
- const vtcKey = Symbol("_vtc");
10921
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
10871
10922
  const DOMTransitionPropsValidators = {
10872
10923
  name: String,
10873
10924
  type: String,
@@ -11194,8 +11245,8 @@ function patchClass(el, value, isSVG) {
11194
11245
  }
11195
11246
  }
11196
11247
 
11197
- const vShowOriginalDisplay = Symbol("_vod");
11198
- const vShowHidden = Symbol("_vsh");
11248
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
11249
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
11199
11250
  const vShow = {
11200
11251
  // used for prop mismatch check during hydration
11201
11252
  name: "show",
@@ -11244,7 +11295,7 @@ function initVShowForSSR() {
11244
11295
  };
11245
11296
  }
11246
11297
 
11247
- const CSS_VAR_TEXT = Symbol("");
11298
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol("");
11248
11299
  function useCssVars(getter) {
11249
11300
  return;
11250
11301
  }
@@ -11366,7 +11417,7 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
11366
11417
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
11367
11418
  function compatCoerceAttr(el, key, value, instance = null) {
11368
11419
  if (isEnumeratedAttr(key)) {
11369
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
11420
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
11370
11421
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
11371
11422
  "ATTR_ENUMERATED_COERCION",
11372
11423
  instance,
@@ -11450,7 +11501,7 @@ function addEventListener(el, event, handler, options) {
11450
11501
  function removeEventListener(el, event, handler, options) {
11451
11502
  el.removeEventListener(event, handler, options);
11452
11503
  }
11453
- const veiKey = Symbol("_vei");
11504
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
11454
11505
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
11455
11506
  const invokers = el[veiKey] || (el[veiKey] = {});
11456
11507
  const existingInvoker = invokers[rawName];
@@ -12037,8 +12088,8 @@ function useCssModule(name = "$style") {
12037
12088
 
12038
12089
  const positionMap = /* @__PURE__ */ new WeakMap();
12039
12090
  const newPositionMap = /* @__PURE__ */ new WeakMap();
12040
- const moveCbKey = Symbol("_moveCb");
12041
- const enterCbKey = Symbol("_enterCb");
12091
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
12092
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
12042
12093
  const decorate = (t) => {
12043
12094
  delete t.props.mode;
12044
12095
  {
@@ -12208,7 +12259,7 @@ function onCompositionEnd(e) {
12208
12259
  target.dispatchEvent(new Event("input"));
12209
12260
  }
12210
12261
  }
12211
- const assignKey = Symbol("_assign");
12262
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
12212
12263
  const vModelText = {
12213
12264
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
12214
12265
  el[assignKey] = getModelAssigner(vnode);
@@ -12670,6 +12721,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
12670
12721
  ErrorTypeStrings: ErrorTypeStrings,
12671
12722
  Fragment: Fragment,
12672
12723
  KeepAlive: KeepAlive,
12724
+ MoveType: MoveType,
12673
12725
  ReactiveEffect: ReactiveEffect,
12674
12726
  Static: Static,
12675
12727
  Suspense: Suspense,
@@ -12852,81 +12904,81 @@ function createCompatVue() {
12852
12904
  return Vue;
12853
12905
  }
12854
12906
 
12855
- const FRAGMENT = Symbol(``);
12856
- const TELEPORT = Symbol(``);
12857
- const SUSPENSE = Symbol(``);
12858
- const KEEP_ALIVE = Symbol(``);
12859
- const BASE_TRANSITION = Symbol(
12907
+ const FRAGMENT = /* @__PURE__ */ Symbol(``);
12908
+ const TELEPORT = /* @__PURE__ */ Symbol(``);
12909
+ const SUSPENSE = /* @__PURE__ */ Symbol(``);
12910
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(``);
12911
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
12860
12912
  ``
12861
12913
  );
12862
- const OPEN_BLOCK = Symbol(``);
12863
- const CREATE_BLOCK = Symbol(``);
12864
- const CREATE_ELEMENT_BLOCK = Symbol(
12914
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(``);
12915
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(``);
12916
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
12865
12917
  ``
12866
12918
  );
12867
- const CREATE_VNODE = Symbol(``);
12868
- const CREATE_ELEMENT_VNODE = Symbol(
12919
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(``);
12920
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
12869
12921
  ``
12870
12922
  );
12871
- const CREATE_COMMENT = Symbol(
12923
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
12872
12924
  ``
12873
12925
  );
12874
- const CREATE_TEXT = Symbol(
12926
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
12875
12927
  ``
12876
12928
  );
12877
- const CREATE_STATIC = Symbol(
12929
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
12878
12930
  ``
12879
12931
  );
12880
- const RESOLVE_COMPONENT = Symbol(
12932
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
12881
12933
  ``
12882
12934
  );
12883
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
12935
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
12884
12936
  ``
12885
12937
  );
12886
- const RESOLVE_DIRECTIVE = Symbol(
12938
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
12887
12939
  ``
12888
12940
  );
12889
- const RESOLVE_FILTER = Symbol(
12941
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
12890
12942
  ``
12891
12943
  );
12892
- const WITH_DIRECTIVES = Symbol(
12944
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
12893
12945
  ``
12894
12946
  );
12895
- const RENDER_LIST = Symbol(``);
12896
- const RENDER_SLOT = Symbol(``);
12897
- const CREATE_SLOTS = Symbol(``);
12898
- const TO_DISPLAY_STRING = Symbol(
12947
+ const RENDER_LIST = /* @__PURE__ */ Symbol(``);
12948
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(``);
12949
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(``);
12950
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
12899
12951
  ``
12900
12952
  );
12901
- const MERGE_PROPS = Symbol(``);
12902
- const NORMALIZE_CLASS = Symbol(
12953
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(``);
12954
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
12903
12955
  ``
12904
12956
  );
12905
- const NORMALIZE_STYLE = Symbol(
12957
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
12906
12958
  ``
12907
12959
  );
12908
- const NORMALIZE_PROPS = Symbol(
12960
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
12909
12961
  ``
12910
12962
  );
12911
- const GUARD_REACTIVE_PROPS = Symbol(
12963
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
12912
12964
  ``
12913
12965
  );
12914
- const TO_HANDLERS = Symbol(``);
12915
- const CAMELIZE = Symbol(``);
12916
- const CAPITALIZE = Symbol(``);
12917
- const TO_HANDLER_KEY = Symbol(
12966
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(``);
12967
+ const CAMELIZE = /* @__PURE__ */ Symbol(``);
12968
+ const CAPITALIZE = /* @__PURE__ */ Symbol(``);
12969
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
12918
12970
  ``
12919
12971
  );
12920
- const SET_BLOCK_TRACKING = Symbol(
12972
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
12921
12973
  ``
12922
12974
  );
12923
- const PUSH_SCOPE_ID = Symbol(``);
12924
- const POP_SCOPE_ID = Symbol(``);
12925
- const WITH_CTX = Symbol(``);
12926
- const UNREF = Symbol(``);
12927
- const IS_REF = Symbol(``);
12928
- const WITH_MEMO = Symbol(``);
12929
- const IS_MEMO_SAME = Symbol(``);
12975
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(``);
12976
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(``);
12977
+ const WITH_CTX = /* @__PURE__ */ Symbol(``);
12978
+ const UNREF = /* @__PURE__ */ Symbol(``);
12979
+ const IS_REF = /* @__PURE__ */ Symbol(``);
12980
+ const WITH_MEMO = /* @__PURE__ */ Symbol(``);
12981
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(``);
12930
12982
  const helperNameMap = {
12931
12983
  [FRAGMENT]: `Fragment`,
12932
12984
  [TELEPORT]: `Teleport`,
@@ -13196,8 +13248,8 @@ class Tokenizer {
13196
13248
  this.currentSequence = void 0;
13197
13249
  this.sequenceIndex = 0;
13198
13250
  {
13199
- this.entityDecoder = new decode_js.EntityDecoder(
13200
- decode_js.htmlDecodeTree,
13251
+ this.entityDecoder = new decode.EntityDecoder(
13252
+ decode.htmlDecodeTree,
13201
13253
  (cp, consumed) => this.emitCodePoint(cp, consumed)
13202
13254
  );
13203
13255
  }
@@ -13227,14 +13279,28 @@ class Tokenizer {
13227
13279
  getPos(index) {
13228
13280
  let line = 1;
13229
13281
  let column = index + 1;
13230
- for (let i = this.newlines.length - 1; i >= 0; i--) {
13231
- const newlineIndex = this.newlines[i];
13232
- if (index > newlineIndex) {
13233
- line = i + 2;
13234
- column = index - newlineIndex;
13235
- break;
13282
+ const length = this.newlines.length;
13283
+ let j = -1;
13284
+ if (length > 100) {
13285
+ let l = -1;
13286
+ let r = length;
13287
+ while (l + 1 < r) {
13288
+ const m = l + r >>> 1;
13289
+ this.newlines[m] < index ? l = m : r = m;
13290
+ }
13291
+ j = l;
13292
+ } else {
13293
+ for (let i = length - 1; i >= 0; i--) {
13294
+ if (index > this.newlines[i]) {
13295
+ j = i;
13296
+ break;
13297
+ }
13236
13298
  }
13237
13299
  }
13300
+ if (j >= 0) {
13301
+ line = j + 2;
13302
+ column = index - this.newlines[j];
13303
+ }
13238
13304
  return {
13239
13305
  column,
13240
13306
  line,
@@ -13747,7 +13813,7 @@ class Tokenizer {
13747
13813
  this.state = 33;
13748
13814
  this.entityStart = this.index;
13749
13815
  this.entityDecoder.startEntity(
13750
- this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute
13816
+ this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute
13751
13817
  );
13752
13818
  }
13753
13819
  }
@@ -13966,7 +14032,7 @@ class Tokenizer {
13966
14032
  this.sectionStart = this.entityStart + consumed;
13967
14033
  this.index = this.sectionStart - 1;
13968
14034
  this.cbs.onattribentity(
13969
- decode_js.fromCodePoint(cp),
14035
+ decode.fromCodePoint(cp),
13970
14036
  this.entityStart,
13971
14037
  this.sectionStart
13972
14038
  );
@@ -13977,7 +14043,7 @@ class Tokenizer {
13977
14043
  this.sectionStart = this.entityStart + consumed;
13978
14044
  this.index = this.sectionStart - 1;
13979
14045
  this.cbs.ontextentity(
13980
- decode_js.fromCodePoint(cp),
14046
+ decode.fromCodePoint(cp),
13981
14047
  this.entityStart,
13982
14048
  this.sectionStart
13983
14049
  );
@@ -14055,7 +14121,7 @@ const errorMessages = {
14055
14121
  [32]: `v-for has invalid expression.`,
14056
14122
  [33]: `<template v-for> key should be placed on the <template> tag.`,
14057
14123
  [34]: `v-bind is missing expression.`,
14058
- [52]: `v-bind with same-name shorthand only allows static argument.`,
14124
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
14059
14125
  [35]: `v-on is missing expression.`,
14060
14126
  [36]: `Unexpected custom directive on <slot> outlet.`,
14061
14127
  [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.`,
@@ -14067,16 +14133,17 @@ const errorMessages = {
14067
14133
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
14068
14134
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
14069
14135
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
14070
- [45]: `Error parsing JavaScript expression: `,
14071
- [46]: `<KeepAlive> expects exactly one child component.`,
14072
- [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.`,
14136
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
14137
+ [46]: `Error parsing JavaScript expression: `,
14138
+ [47]: `<KeepAlive> expects exactly one child component.`,
14139
+ [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.`,
14073
14140
  // generic errors
14074
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
14075
- [48]: `ES module mode is not supported in this build of compiler.`,
14076
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
14077
- [50]: `"scopeId" option is only supported in module mode.`,
14141
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
14142
+ [49]: `ES module mode is not supported in this build of compiler.`,
14143
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
14144
+ [51]: `"scopeId" option is only supported in module mode.`,
14078
14145
  // just to fulfill types
14079
- [53]: ``
14146
+ [54]: ``
14080
14147
  };
14081
14148
 
14082
14149
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
@@ -14795,7 +14862,7 @@ const tokenizer = new Tokenizer(stack, {
14795
14862
  let exp = getSlice(innerStart, innerEnd);
14796
14863
  if (exp.includes("&")) {
14797
14864
  {
14798
- exp = decode_js.decodeHTML(exp);
14865
+ exp = decode.decodeHTML(exp);
14799
14866
  }
14800
14867
  }
14801
14868
  addNode({
@@ -15426,7 +15493,7 @@ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0
15426
15493
  }
15427
15494
  } catch (e) {
15428
15495
  exp.ast = false;
15429
- emitError(45, loc.start.offset, e.message);
15496
+ emitError(46, loc.start.offset, e.message);
15430
15497
  }
15431
15498
  }
15432
15499
  return exp;
@@ -16961,7 +17028,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
16961
17028
  } catch (e) {
16962
17029
  context.onError(
16963
17030
  createCompilerError(
16964
- 45,
17031
+ 46,
16965
17032
  node.loc,
16966
17033
  void 0,
16967
17034
  e.message
@@ -18726,6 +18793,10 @@ const transformModel$1 = (dir, node, context) => {
18726
18793
  context.onError(createCompilerError(44, exp.loc));
18727
18794
  return createTransformProps();
18728
18795
  }
18796
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
18797
+ context.onError(createCompilerError(45, exp.loc));
18798
+ return createTransformProps();
18799
+ }
18729
18800
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
18730
18801
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
18731
18802
  context.onError(
@@ -18974,7 +19045,7 @@ const transformVBindShorthand = (node, context) => {
18974
19045
  if (arg.type !== 4 || !arg.isStatic) {
18975
19046
  context.onError(
18976
19047
  createCompilerError(
18977
- 52,
19048
+ 53,
18978
19049
  arg.loc
18979
19050
  )
18980
19051
  );
@@ -19022,10 +19093,10 @@ function baseCompile(source, options = {}) {
19022
19093
  const isModuleMode = options.mode === "module";
19023
19094
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
19024
19095
  if (!prefixIdentifiers && options.cacheHandlers) {
19025
- onError(createCompilerError(49));
19096
+ onError(createCompilerError(50));
19026
19097
  }
19027
19098
  if (options.scopeId && !isModuleMode) {
19028
- onError(createCompilerError(50));
19099
+ onError(createCompilerError(51));
19029
19100
  }
19030
19101
  const resolvedOptions = extend({}, options, {
19031
19102
  prefixIdentifiers
@@ -19059,26 +19130,26 @@ function baseCompile(source, options = {}) {
19059
19130
 
19060
19131
  const noopDirectiveTransform = () => ({ props: [] });
19061
19132
 
19062
- const V_MODEL_RADIO = Symbol(``);
19063
- const V_MODEL_CHECKBOX = Symbol(
19133
+ const V_MODEL_RADIO = /* @__PURE__ */ Symbol(``);
19134
+ const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol(
19064
19135
  ``
19065
19136
  );
19066
- const V_MODEL_TEXT = Symbol(``);
19067
- const V_MODEL_SELECT = Symbol(
19137
+ const V_MODEL_TEXT = /* @__PURE__ */ Symbol(``);
19138
+ const V_MODEL_SELECT = /* @__PURE__ */ Symbol(
19068
19139
  ``
19069
19140
  );
19070
- const V_MODEL_DYNAMIC = Symbol(
19141
+ const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol(
19071
19142
  ``
19072
19143
  );
19073
- const V_ON_WITH_MODIFIERS = Symbol(
19144
+ const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol(
19074
19145
  ``
19075
19146
  );
19076
- const V_ON_WITH_KEYS = Symbol(
19147
+ const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol(
19077
19148
  ``
19078
19149
  );
19079
- const V_SHOW = Symbol(``);
19080
- const TRANSITION = Symbol(``);
19081
- const TRANSITION_GROUP = Symbol(
19150
+ const V_SHOW = /* @__PURE__ */ Symbol(``);
19151
+ const TRANSITION = /* @__PURE__ */ Symbol(``);
19152
+ const TRANSITION_GROUP = /* @__PURE__ */ Symbol(
19082
19153
  ``
19083
19154
  );
19084
19155
  registerRuntimeHelpers({
@@ -19175,31 +19246,31 @@ function createDOMCompilerError(code, loc) {
19175
19246
  );
19176
19247
  }
19177
19248
  const DOMErrorMessages = {
19178
- [53]: `v-html is missing expression.`,
19179
- [54]: `v-html will override element children.`,
19180
- [55]: `v-text is missing expression.`,
19181
- [56]: `v-text will override element children.`,
19182
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
19183
- [58]: `v-model argument is not supported on plain elements.`,
19184
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
19185
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
19186
- [61]: `v-show is missing expression.`,
19187
- [62]: `<Transition> expects exactly one child element or component.`,
19188
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
19249
+ [54]: `v-html is missing expression.`,
19250
+ [55]: `v-html will override element children.`,
19251
+ [56]: `v-text is missing expression.`,
19252
+ [57]: `v-text will override element children.`,
19253
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
19254
+ [59]: `v-model argument is not supported on plain elements.`,
19255
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
19256
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
19257
+ [62]: `v-show is missing expression.`,
19258
+ [63]: `<Transition> expects exactly one child element or component.`,
19259
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
19189
19260
  // just to fulfill types
19190
- [64]: ``
19261
+ [65]: ``
19191
19262
  };
19192
19263
 
19193
19264
  const transformVHtml = (dir, node, context) => {
19194
19265
  const { exp, loc } = dir;
19195
19266
  if (!exp) {
19196
19267
  context.onError(
19197
- createDOMCompilerError(53, loc)
19268
+ createDOMCompilerError(54, loc)
19198
19269
  );
19199
19270
  }
19200
19271
  if (node.children.length) {
19201
19272
  context.onError(
19202
- createDOMCompilerError(54, loc)
19273
+ createDOMCompilerError(55, loc)
19203
19274
  );
19204
19275
  node.children.length = 0;
19205
19276
  }
@@ -19217,12 +19288,12 @@ const transformVText = (dir, node, context) => {
19217
19288
  const { exp, loc } = dir;
19218
19289
  if (!exp) {
19219
19290
  context.onError(
19220
- createDOMCompilerError(55, loc)
19291
+ createDOMCompilerError(56, loc)
19221
19292
  );
19222
19293
  }
19223
19294
  if (node.children.length) {
19224
19295
  context.onError(
19225
- createDOMCompilerError(56, loc)
19296
+ createDOMCompilerError(57, loc)
19226
19297
  );
19227
19298
  node.children.length = 0;
19228
19299
  }
@@ -19248,7 +19319,7 @@ const transformModel = (dir, node, context) => {
19248
19319
  if (dir.arg) {
19249
19320
  context.onError(
19250
19321
  createDOMCompilerError(
19251
- 58,
19322
+ 59,
19252
19323
  dir.arg.loc
19253
19324
  )
19254
19325
  );
@@ -19275,7 +19346,7 @@ const transformModel = (dir, node, context) => {
19275
19346
  isInvalidType = true;
19276
19347
  context.onError(
19277
19348
  createDOMCompilerError(
19278
- 59,
19349
+ 60,
19279
19350
  dir.loc
19280
19351
  )
19281
19352
  );
@@ -19294,7 +19365,7 @@ const transformModel = (dir, node, context) => {
19294
19365
  } else {
19295
19366
  context.onError(
19296
19367
  createDOMCompilerError(
19297
- 57,
19368
+ 58,
19298
19369
  dir.loc
19299
19370
  )
19300
19371
  );
@@ -19403,7 +19474,7 @@ const transformShow = (dir, node, context) => {
19403
19474
  const { exp, loc } = dir;
19404
19475
  if (!exp) {
19405
19476
  context.onError(
19406
- createDOMCompilerError(61, loc)
19477
+ createDOMCompilerError(62, loc)
19407
19478
  );
19408
19479
  }
19409
19480
  return {