@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
  **/
@@ -827,13 +827,13 @@ var Vue = (function () {
827
827
  }
828
828
  }
829
829
  const targetMap = /* @__PURE__ */ new WeakMap();
830
- const ITERATE_KEY = Symbol(
830
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(
831
831
  "Object iterate"
832
832
  );
833
- const MAP_KEY_ITERATE_KEY = Symbol(
833
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(
834
834
  "Map keys iterate"
835
835
  );
836
- const ARRAY_ITERATE_KEY = Symbol(
836
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(
837
837
  "Array iterate"
838
838
  );
839
839
  function track(target, type, key) {
@@ -2073,6 +2073,16 @@ var Vue = (function () {
2073
2073
  return;
2074
2074
  }
2075
2075
  this.flags = 1024;
2076
+ this.reset();
2077
+ const sub = this.subs;
2078
+ if (sub !== void 0) {
2079
+ unlink(sub);
2080
+ }
2081
+ }
2082
+ /**
2083
+ * @internal
2084
+ */
2085
+ reset() {
2076
2086
  let dep = this.deps;
2077
2087
  while (dep !== void 0) {
2078
2088
  const node = dep.dep;
@@ -2083,10 +2093,6 @@ var Vue = (function () {
2083
2093
  dep = unlink(dep, this);
2084
2094
  }
2085
2095
  }
2086
- const sub = this.subs;
2087
- if (sub !== void 0) {
2088
- unlink(sub);
2089
- }
2090
2096
  cleanup(this);
2091
2097
  }
2092
2098
  }
@@ -2828,10 +2834,10 @@ var Vue = (function () {
2828
2834
  }
2829
2835
  }
2830
2836
  let isFlushing = false;
2831
- function flushOnAppMount() {
2837
+ function flushOnAppMount(instance) {
2832
2838
  if (!isFlushing) {
2833
2839
  isFlushing = true;
2834
- flushPreFlushCbs();
2840
+ flushPreFlushCbs(instance);
2835
2841
  flushPostFlushCbs();
2836
2842
  isFlushing = false;
2837
2843
  }
@@ -2898,6 +2904,7 @@ var Vue = (function () {
2898
2904
 
2899
2905
  let isHmrUpdating = false;
2900
2906
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2907
+ const hmrDirtyComponentsMode = /* @__PURE__ */ new Map();
2901
2908
  {
2902
2909
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
2903
2910
  createRecord: tryWrap(createRecord),
@@ -2961,9 +2968,10 @@ var Vue = (function () {
2961
2968
  const record = map.get(id);
2962
2969
  if (!record) return;
2963
2970
  newComp = normalizeClassComponent(newComp);
2971
+ const isVapor = record.initialDef.__vapor;
2964
2972
  updateComponentDef(record.initialDef, newComp);
2965
2973
  const instances = [...record.instances];
2966
- if (newComp.__vapor && !instances.some((i) => i.ceReload)) {
2974
+ if (isVapor && newComp.__vapor && !instances.some((i) => i.ceReload)) {
2967
2975
  for (const instance of instances) {
2968
2976
  if (instance.root && instance.root.ce && instance !== instance.root) {
2969
2977
  instance.root.ce._removeChildStyle(instance.type);
@@ -2983,6 +2991,7 @@ var Vue = (function () {
2983
2991
  hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());
2984
2992
  }
2985
2993
  dirtyInstances.add(instance);
2994
+ hmrDirtyComponentsMode.set(oldComp, !!isVapor);
2986
2995
  instance.appContext.propsCache.delete(instance.type);
2987
2996
  instance.appContext.emitsCache.delete(instance.type);
2988
2997
  instance.appContext.optionsCache.delete(instance.type);
@@ -3023,6 +3032,7 @@ var Vue = (function () {
3023
3032
  }
3024
3033
  queuePostFlushCb(() => {
3025
3034
  hmrDirtyComponents.clear();
3035
+ hmrDirtyComponentsMode.clear();
3026
3036
  });
3027
3037
  }
3028
3038
  function updateComponentDef(oldComp, newComp) {
@@ -3561,65 +3571,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3561
3571
  return instance.proxy;
3562
3572
  }
3563
3573
 
3564
- const compatModelEventPrefix = `onModelCompat:`;
3565
- const warnedTypes = /* @__PURE__ */ new WeakSet();
3566
- function convertLegacyVModelProps(vnode) {
3567
- const { type, shapeFlag, props, dynamicProps } = vnode;
3568
- const comp = type;
3569
- if (shapeFlag & 6 && props && "modelValue" in props) {
3570
- if (!isCompatEnabled$1(
3571
- "COMPONENT_V_MODEL",
3572
- // this is a special case where we want to use the vnode component's
3573
- // compat config instead of the current rendering instance (which is the
3574
- // parent of the component that exposes v-model)
3575
- { type }
3576
- )) {
3577
- return;
3578
- }
3579
- if (!warnedTypes.has(comp)) {
3580
- pushWarningContext(vnode);
3581
- warnDeprecation$1("COMPONENT_V_MODEL", { type }, comp);
3582
- popWarningContext();
3583
- warnedTypes.add(comp);
3584
- }
3585
- const model = comp.model || {};
3586
- applyModelFromMixins(model, comp.mixins);
3587
- const { prop = "value", event = "input" } = model;
3588
- if (prop !== "modelValue") {
3589
- props[prop] = props.modelValue;
3590
- delete props.modelValue;
3591
- }
3592
- if (dynamicProps) {
3593
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
3594
- }
3595
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
3596
- delete props["onUpdate:modelValue"];
3597
- }
3598
- }
3599
- function applyModelFromMixins(model, mixins) {
3600
- if (mixins) {
3601
- mixins.forEach((m) => {
3602
- if (m.model) extend(model, m.model);
3603
- if (m.mixins) applyModelFromMixins(model, m.mixins);
3604
- });
3605
- }
3606
- }
3607
- function compatModelEmit(instance, event, args) {
3608
- if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
3609
- return;
3610
- }
3611
- const props = instance.vnode.props;
3612
- const modelHandler = props && props[compatModelEventPrefix + event];
3613
- if (modelHandler) {
3614
- callWithErrorHandling(
3615
- modelHandler,
3616
- instance,
3617
- 6,
3618
- args
3619
- );
3620
- }
3621
- }
3622
-
3623
3574
  let currentRenderingInstance = null;
3624
3575
  let currentScopeId = null;
3625
3576
  function setCurrentRenderingInstance(instance) {
@@ -3770,7 +3721,175 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3770
3721
  }
3771
3722
  }
3772
3723
 
3773
- const TeleportEndKey = Symbol("_vte");
3724
+ function provide(key, value) {
3725
+ {
3726
+ if (!currentInstance || currentInstance.isMounted && !isHmrUpdating) {
3727
+ warn$1(`provide() can only be used inside setup().`);
3728
+ }
3729
+ }
3730
+ if (currentInstance) {
3731
+ let provides = currentInstance.provides;
3732
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
3733
+ if (parentProvides === provides) {
3734
+ provides = currentInstance.provides = Object.create(parentProvides);
3735
+ }
3736
+ provides[key] = value;
3737
+ }
3738
+ }
3739
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3740
+ const instance = getCurrentGenericInstance();
3741
+ if (instance || currentApp) {
3742
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
3743
+ if (provides && key in provides) {
3744
+ return provides[key];
3745
+ } else if (arguments.length > 1) {
3746
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3747
+ } else {
3748
+ warn$1(`injection "${String(key)}" not found.`);
3749
+ }
3750
+ } else {
3751
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3752
+ }
3753
+ }
3754
+ function hasInjectionContext() {
3755
+ return !!(getCurrentGenericInstance() || currentApp);
3756
+ }
3757
+
3758
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
3759
+ const useSSRContext = () => {
3760
+ {
3761
+ warn$1(`useSSRContext() is not supported in the global build.`);
3762
+ }
3763
+ };
3764
+
3765
+ function watchEffect(effect, options) {
3766
+ return doWatch(effect, null, options);
3767
+ }
3768
+ function watchPostEffect(effect, options) {
3769
+ return doWatch(
3770
+ effect,
3771
+ null,
3772
+ extend({}, options, { flush: "post" })
3773
+ );
3774
+ }
3775
+ function watchSyncEffect(effect, options) {
3776
+ return doWatch(
3777
+ effect,
3778
+ null,
3779
+ extend({}, options, { flush: "sync" })
3780
+ );
3781
+ }
3782
+ function watch(source, cb, options) {
3783
+ if (!isFunction(cb)) {
3784
+ warn$1(
3785
+ `\`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.`
3786
+ );
3787
+ }
3788
+ return doWatch(source, cb, options);
3789
+ }
3790
+ class RenderWatcherEffect extends WatcherEffect {
3791
+ constructor(instance, source, cb, options, flush) {
3792
+ super(source, cb, options);
3793
+ this.flush = flush;
3794
+ const job = () => {
3795
+ if (this.dirty) {
3796
+ this.run();
3797
+ }
3798
+ };
3799
+ if (cb) {
3800
+ this.flags |= 128;
3801
+ job.flags |= 2;
3802
+ }
3803
+ if (instance) {
3804
+ job.i = instance;
3805
+ }
3806
+ this.job = job;
3807
+ }
3808
+ notify() {
3809
+ const flags = this.flags;
3810
+ if (!(flags & 256)) {
3811
+ const flush = this.flush;
3812
+ const job = this.job;
3813
+ if (flush === "post") {
3814
+ queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
3815
+ } else if (flush === "pre") {
3816
+ queueJob(job, job.i ? job.i.uid : void 0, true);
3817
+ } else {
3818
+ job();
3819
+ }
3820
+ }
3821
+ }
3822
+ }
3823
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3824
+ const { immediate, deep, flush = "pre", once } = options;
3825
+ if (!cb) {
3826
+ if (immediate !== void 0) {
3827
+ warn$1(
3828
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3829
+ );
3830
+ }
3831
+ if (deep !== void 0) {
3832
+ warn$1(
3833
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3834
+ );
3835
+ }
3836
+ if (once !== void 0) {
3837
+ warn$1(
3838
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3839
+ );
3840
+ }
3841
+ }
3842
+ const baseWatchOptions = extend({}, options);
3843
+ baseWatchOptions.onWarn = warn$1;
3844
+ const instance = currentInstance;
3845
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3846
+ const effect = new RenderWatcherEffect(
3847
+ instance,
3848
+ source,
3849
+ cb,
3850
+ baseWatchOptions,
3851
+ flush
3852
+ );
3853
+ if (cb) {
3854
+ effect.run(true);
3855
+ } else if (flush === "post") {
3856
+ queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
3857
+ } else {
3858
+ effect.run(true);
3859
+ }
3860
+ const stop = effect.stop.bind(effect);
3861
+ stop.pause = effect.pause.bind(effect);
3862
+ stop.resume = effect.resume.bind(effect);
3863
+ stop.stop = stop;
3864
+ return stop;
3865
+ }
3866
+ function instanceWatch(source, value, options) {
3867
+ const publicThis = this.proxy;
3868
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3869
+ let cb;
3870
+ if (isFunction(value)) {
3871
+ cb = value;
3872
+ } else {
3873
+ cb = value.handler;
3874
+ options = value;
3875
+ }
3876
+ const prev = setCurrentInstance(this);
3877
+ const res = doWatch(getter, cb.bind(publicThis), options);
3878
+ setCurrentInstance(...prev);
3879
+ return res;
3880
+ }
3881
+ function createPathGetter(ctx, path) {
3882
+ const segments = path.split(".");
3883
+ return () => {
3884
+ let cur = ctx;
3885
+ for (let i = 0; i < segments.length && cur; i++) {
3886
+ cur = cur[segments[i]];
3887
+ }
3888
+ return cur;
3889
+ };
3890
+ }
3891
+
3892
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3774
3893
  const isTeleport = (type) => type.__isTeleport;
3775
3894
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
3776
3895
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -4142,8 +4261,8 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4142
4261
  return targetAnchor;
4143
4262
  }
4144
4263
 
4145
- const leaveCbKey = Symbol("_leaveCb");
4146
- const enterCbKey$1 = Symbol("_enterCb");
4264
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
4265
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
4147
4266
  function useTransitionState() {
4148
4267
  const state = {
4149
4268
  isMounted: false,
@@ -4181,7 +4300,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4181
4300
  onAppearCancelled: TransitionHookValidator
4182
4301
  };
4183
4302
  const recursiveGetSubtree = (instance) => {
4184
- const subTree = instance.type.__vapor ? instance.block : instance.subTree;
4303
+ const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
4185
4304
  return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
4186
4305
  };
4187
4306
  const BaseTransitionImpl = {
@@ -4491,7 +4610,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4491
4610
  }
4492
4611
  function setTransitionHooks(vnode, hooks) {
4493
4612
  if (vnode.shapeFlag & 6 && vnode.component) {
4494
- if (vnode.type.__vapor) {
4613
+ if (isVaporComponent(vnode.type)) {
4495
4614
  getVaporInterface(vnode.component, vnode).setTransitionHooks(
4496
4615
  vnode.component,
4497
4616
  hooks
@@ -5753,7 +5872,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5753
5872
  }
5754
5873
  function pruneCache(filter) {
5755
5874
  cache.forEach((vnode, key) => {
5756
- const name = getComponentName(vnode.type);
5875
+ const name = getComponentName(
5876
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
5877
+ );
5757
5878
  if (name && !filter(name)) {
5758
5879
  pruneCacheEntry(key);
5759
5880
  }
@@ -6095,7 +6216,7 @@ Server rendered element contains fewer child nodes than client vdom.`
6095
6216
  function resolveComponent(name, maybeSelfReference) {
6096
6217
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
6097
6218
  }
6098
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
6219
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
6099
6220
  function resolveDynamicComponent(component) {
6100
6221
  if (isString(component)) {
6101
6222
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -6537,14 +6658,14 @@ If this is a native custom element, make sure to exclude it from component resol
6537
6658
  }
6538
6659
  }
6539
6660
 
6540
- function toHandlers(obj, preserveCaseIfNecessary) {
6661
+ function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
6541
6662
  const ret = {};
6542
6663
  if (!isObject(obj)) {
6543
6664
  warn$1(`v-on with no argument expects an object value.`);
6544
6665
  return ret;
6545
6666
  }
6546
6667
  for (const key in obj) {
6547
- ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
6668
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
6548
6669
  }
6549
6670
  return ret;
6550
6671
  }
@@ -7682,7 +7803,7 @@ If this is a native custom element, make sure to exclude it from component resol
7682
7803
  return vm;
7683
7804
  }
7684
7805
  }
7685
- Vue.version = `2.6.14-compat:${"3.6.0-alpha.6"}`;
7806
+ Vue.version = `2.6.14-compat:${"3.6.0-beta.1"}`;
7686
7807
  Vue.config = singletonApp.config;
7687
7808
  Vue.use = (plugin, ...options) => {
7688
7809
  if (plugin && isFunction(plugin.install)) {
@@ -8246,172 +8367,70 @@ If you want to remount the same app, move your app creation logic into a factory
8246
8367
  }
8247
8368
  let currentApp = null;
8248
8369
 
8249
- function provide(key, value) {
8250
- {
8251
- if (!currentInstance || currentInstance.isMounted) {
8252
- warn$1(`provide() can only be used inside setup().`);
8253
- }
8254
- }
8255
- if (currentInstance) {
8256
- let provides = currentInstance.provides;
8257
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
8258
- if (parentProvides === provides) {
8259
- provides = currentInstance.provides = Object.create(parentProvides);
8260
- }
8261
- provides[key] = value;
8262
- }
8263
- }
8264
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
8265
- const instance = getCurrentGenericInstance();
8266
- if (instance || currentApp) {
8267
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
8268
- if (provides && key in provides) {
8269
- return provides[key];
8270
- } else if (arguments.length > 1) {
8271
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
8272
- } else {
8273
- warn$1(`injection "${String(key)}" not found.`);
8274
- }
8275
- } else {
8276
- warn$1(`inject() can only be used inside setup() or functional components.`);
8277
- }
8278
- }
8279
- function hasInjectionContext() {
8280
- return !!(getCurrentGenericInstance() || currentApp);
8281
- }
8282
-
8283
- const ssrContextKey = Symbol.for("v-scx");
8284
- const useSSRContext = () => {
8285
- {
8286
- warn$1(`useSSRContext() is not supported in the global build.`);
8287
- }
8288
- };
8289
-
8290
- function watchEffect(effect, options) {
8291
- return doWatch(effect, null, options);
8292
- }
8293
- function watchPostEffect(effect, options) {
8294
- return doWatch(
8295
- effect,
8296
- null,
8297
- extend({}, options, { flush: "post" })
8298
- );
8299
- }
8300
- function watchSyncEffect(effect, options) {
8301
- return doWatch(
8302
- effect,
8303
- null,
8304
- extend({}, options, { flush: "sync" })
8305
- );
8306
- }
8307
- function watch(source, cb, options) {
8308
- if (!isFunction(cb)) {
8309
- warn$1(
8310
- `\`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.`
8311
- );
8312
- }
8313
- return doWatch(source, cb, options);
8314
- }
8315
- class RenderWatcherEffect extends WatcherEffect {
8316
- constructor(instance, source, cb, options, flush) {
8317
- super(source, cb, options);
8318
- this.flush = flush;
8319
- const job = () => {
8320
- if (this.dirty) {
8321
- this.run();
8322
- }
8323
- };
8324
- if (cb) {
8325
- this.flags |= 128;
8326
- job.flags |= 2;
8327
- }
8328
- if (instance) {
8329
- job.i = instance;
8330
- }
8331
- this.job = job;
8332
- }
8333
- notify() {
8334
- const flags = this.flags;
8335
- if (!(flags & 256)) {
8336
- const flush = this.flush;
8337
- const job = this.job;
8338
- if (flush === "post") {
8339
- queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
8340
- } else if (flush === "pre") {
8341
- queueJob(job, job.i ? job.i.uid : void 0, true);
8342
- } else {
8343
- job();
8344
- }
8370
+ const compatModelEventPrefix = `onModelCompat:`;
8371
+ const warnedTypes = /* @__PURE__ */ new WeakSet();
8372
+ function convertLegacyVModelProps(vnode) {
8373
+ const { type, shapeFlag, props, dynamicProps } = vnode;
8374
+ const comp = type;
8375
+ if (shapeFlag & 6 && props && "modelValue" in props) {
8376
+ if (!isCompatEnabled$1(
8377
+ "COMPONENT_V_MODEL",
8378
+ // this is a special case where we want to use the vnode component's
8379
+ // compat config instead of the current rendering instance (which is the
8380
+ // parent of the component that exposes v-model)
8381
+ { type }
8382
+ )) {
8383
+ return;
8345
8384
  }
8346
- }
8347
- }
8348
- function doWatch(source, cb, options = EMPTY_OBJ) {
8349
- const { immediate, deep, flush = "pre", once } = options;
8350
- if (!cb) {
8351
- if (immediate !== void 0) {
8352
- warn$1(
8353
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
8385
+ if (!warnedTypes.has(comp)) {
8386
+ pushWarningContext(vnode);
8387
+ warnDeprecation$1(
8388
+ "COMPONENT_V_MODEL",
8389
+ {
8390
+ type,
8391
+ appContext: vnode.ctx && vnode.ctx.appContext || createAppContext()
8392
+ },
8393
+ comp
8354
8394
  );
8395
+ popWarningContext();
8396
+ warnedTypes.add(comp);
8355
8397
  }
8356
- if (deep !== void 0) {
8357
- warn$1(
8358
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
8359
- );
8398
+ const model = comp.model || {};
8399
+ applyModelFromMixins(model, comp.mixins);
8400
+ const { prop = "value", event = "input" } = model;
8401
+ if (prop !== "modelValue") {
8402
+ props[prop] = props.modelValue;
8403
+ delete props.modelValue;
8360
8404
  }
8361
- if (once !== void 0) {
8362
- warn$1(
8363
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
8364
- );
8405
+ if (dynamicProps) {
8406
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
8365
8407
  }
8408
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
8409
+ delete props["onUpdate:modelValue"];
8366
8410
  }
8367
- const baseWatchOptions = extend({}, options);
8368
- baseWatchOptions.onWarn = warn$1;
8369
- const instance = currentInstance;
8370
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
8371
- const effect = new RenderWatcherEffect(
8372
- instance,
8373
- source,
8374
- cb,
8375
- baseWatchOptions,
8376
- flush
8377
- );
8378
- if (cb) {
8379
- effect.run(true);
8380
- } else if (flush === "post") {
8381
- queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
8382
- } else {
8383
- effect.run(true);
8384
- }
8385
- const stop = effect.stop.bind(effect);
8386
- stop.pause = effect.pause.bind(effect);
8387
- stop.resume = effect.resume.bind(effect);
8388
- stop.stop = stop;
8389
- return stop;
8390
8411
  }
8391
- function instanceWatch(source, value, options) {
8392
- const publicThis = this.proxy;
8393
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
8394
- let cb;
8395
- if (isFunction(value)) {
8396
- cb = value;
8397
- } else {
8398
- cb = value.handler;
8399
- options = value;
8412
+ function applyModelFromMixins(model, mixins) {
8413
+ if (mixins) {
8414
+ mixins.forEach((m) => {
8415
+ if (m.model) extend(model, m.model);
8416
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
8417
+ });
8400
8418
  }
8401
- const prev = setCurrentInstance(this);
8402
- const res = doWatch(getter, cb.bind(publicThis), options);
8403
- setCurrentInstance(...prev);
8404
- return res;
8405
8419
  }
8406
- function createPathGetter(ctx, path) {
8407
- const segments = path.split(".");
8408
- return () => {
8409
- let cur = ctx;
8410
- for (let i = 0; i < segments.length && cur; i++) {
8411
- cur = cur[segments[i]];
8412
- }
8413
- return cur;
8414
- };
8420
+ function compatModelEmit(instance, event, args) {
8421
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
8422
+ return;
8423
+ }
8424
+ const props = instance.vnode.props;
8425
+ const modelHandler = props && props[compatModelEventPrefix + event];
8426
+ if (modelHandler) {
8427
+ callWithErrorHandling(
8428
+ modelHandler,
8429
+ instance,
8430
+ 6,
8431
+ args
8432
+ );
8433
+ }
8415
8434
  }
8416
8435
 
8417
8436
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -9603,6 +9622,14 @@ If you want to remount the same app, move your app creation logic into a factory
9603
9622
  return supported;
9604
9623
  }
9605
9624
 
9625
+ const MoveType = {
9626
+ "ENTER": 0,
9627
+ "0": "ENTER",
9628
+ "LEAVE": 1,
9629
+ "1": "LEAVE",
9630
+ "REORDER": 2,
9631
+ "2": "REORDER"
9632
+ };
9606
9633
  const queuePostRenderEffect = queueEffectWithSuspense ;
9607
9634
  function createRenderer(options) {
9608
9635
  return baseCreateRenderer(options);
@@ -9672,7 +9699,13 @@ If you want to remount the same app, move your app creation logic into a factory
9672
9699
  );
9673
9700
  break;
9674
9701
  case VaporSlot:
9675
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor);
9702
+ getVaporInterface(parentComponent, n2).slot(
9703
+ n1,
9704
+ n2,
9705
+ container,
9706
+ anchor,
9707
+ parentComponent
9708
+ );
9676
9709
  break;
9677
9710
  default:
9678
9711
  if (shapeFlag & 1) {
@@ -9745,7 +9778,15 @@ If you want to remount the same app, move your app creation logic into a factory
9745
9778
  } else {
9746
9779
  const el = n2.el = n1.el;
9747
9780
  if (n2.children !== n1.children) {
9748
- hostSetText(el, n2.children);
9781
+ if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9782
+ const childNodes = container.childNodes;
9783
+ const newChild = hostCreateText(n2.children);
9784
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9785
+ hostInsert(newChild, container, oldChild);
9786
+ hostRemove(oldChild);
9787
+ } else {
9788
+ hostSetText(el, n2.children);
9789
+ }
9749
9790
  }
9750
9791
  }
9751
9792
  };
@@ -10131,7 +10172,7 @@ If you want to remount the same app, move your app creation logic into a factory
10131
10172
  } else {
10132
10173
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
10133
10174
  // of renderSlot() with no valid children
10134
- n1.dynamicChildren) {
10175
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
10135
10176
  patchBlockChildren(
10136
10177
  n1.dynamicChildren,
10137
10178
  dynamicChildren,
@@ -10847,8 +10888,8 @@ If you want to remount the same app, move your app creation logic into a factory
10847
10888
  const nextChild = c2[nextIndex];
10848
10889
  const anchorVNode = c2[nextIndex + 1];
10849
10890
  const anchor = nextIndex + 1 < l2 ? (
10850
- // #13559, fallback to el placeholder for unresolved async component
10851
- anchorVNode.el || anchorVNode.placeholder
10891
+ // #13559, #14173 fallback to el placeholder for unresolved async component
10892
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
10852
10893
  ) : parentAnchor;
10853
10894
  if (newIndexToOldIndexMap[i] === 0) {
10854
10895
  patch(
@@ -10881,7 +10922,7 @@ If you want to remount the same app, move your app creation logic into a factory
10881
10922
  const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
10882
10923
  const { el, type, transition, children, shapeFlag } = vnode;
10883
10924
  if (shapeFlag & 6) {
10884
- if (type.__vapor) {
10925
+ if (isVaporComponent(type)) {
10885
10926
  getVaporInterface(parentComponent, vnode).move(vnode, container, anchor);
10886
10927
  } else {
10887
10928
  move(
@@ -10991,7 +11032,7 @@ If you want to remount the same app, move your app creation logic into a factory
10991
11032
  parentComponent.renderCache[cacheIndex] = void 0;
10992
11033
  }
10993
11034
  if (shapeFlag & 256) {
10994
- if (vnode.type.__vapor) {
11035
+ if (isVaporComponent(vnode.type)) {
10995
11036
  getVaporInterface(parentComponent, vnode).deactivate(
10996
11037
  vnode,
10997
11038
  parentComponent.ctx.getStorageContainer()
@@ -11008,7 +11049,7 @@ If you want to remount the same app, move your app creation logic into a factory
11008
11049
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
11009
11050
  }
11010
11051
  if (shapeFlag & 6) {
11011
- if (type.__vapor) {
11052
+ if (isVaporComponent(type)) {
11012
11053
  getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
11013
11054
  return;
11014
11055
  } else {
@@ -11150,7 +11191,7 @@ If you want to remount the same app, move your app creation logic into a factory
11150
11191
  };
11151
11192
  const getNextHostNode = (vnode) => {
11152
11193
  if (vnode.shapeFlag & 6) {
11153
- if (vnode.type.__vapor) {
11194
+ if (isVaporComponent(vnode.type)) {
11154
11195
  return hostNextSibling(vnode.anchor);
11155
11196
  }
11156
11197
  return getNextHostNode(vnode.component.subTree);
@@ -11163,9 +11204,11 @@ If you want to remount the same app, move your app creation logic into a factory
11163
11204
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
11164
11205
  };
11165
11206
  const render = (vnode, container, namespace) => {
11207
+ let instance;
11166
11208
  if (vnode == null) {
11167
11209
  if (container._vnode) {
11168
11210
  unmount(container._vnode, null, null, true);
11211
+ instance = container._vnode.component;
11169
11212
  }
11170
11213
  } else {
11171
11214
  patch(
@@ -11179,7 +11222,7 @@ If you want to remount the same app, move your app creation logic into a factory
11179
11222
  );
11180
11223
  }
11181
11224
  container._vnode = vnode;
11182
- flushOnAppMount();
11225
+ flushOnAppMount(instance);
11183
11226
  };
11184
11227
  const internals = {
11185
11228
  p: patch,
@@ -11271,9 +11314,13 @@ If you want to remount the same app, move your app creation logic into a factory
11271
11314
  if (!shallow && c2.patchFlag !== -2)
11272
11315
  traverseStaticChildren(c1, c2);
11273
11316
  }
11274
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
11275
- c2.patchFlag !== -1) {
11276
- c2.el = c1.el;
11317
+ if (c2.type === Text) {
11318
+ if (c2.patchFlag !== -1) {
11319
+ c2.el = c1.el;
11320
+ } else {
11321
+ c2.__elIndex = i + // take fragment start anchor into account
11322
+ (n1.type === Fragment ? 1 : 0);
11323
+ }
11277
11324
  }
11278
11325
  if (c2.type === Comment && !c2.el) {
11279
11326
  c2.el = c1.el;
@@ -11309,16 +11356,24 @@ If you want to remount the same app, move your app creation logic into a factory
11309
11356
  insert();
11310
11357
  }
11311
11358
  }
11312
- function performTransitionLeave(el, transition, remove, isElement = true) {
11359
+ function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
11313
11360
  const performRemove = () => {
11314
11361
  remove();
11315
11362
  if (transition && !transition.persisted && transition.afterLeave) {
11316
11363
  transition.afterLeave();
11317
11364
  }
11318
11365
  };
11319
- if (isElement && transition && !transition.persisted) {
11366
+ if (force || isElement && transition && !transition.persisted) {
11320
11367
  const { leave, delayLeave } = transition;
11321
- const performLeave = () => leave(el, performRemove);
11368
+ const performLeave = () => {
11369
+ if (el._isLeaving && force) {
11370
+ el[leaveCbKey](
11371
+ true
11372
+ /* cancelled */
11373
+ );
11374
+ }
11375
+ leave(el, performRemove);
11376
+ };
11322
11377
  if (delayLeave) {
11323
11378
  delayLeave(el, performRemove, performLeave);
11324
11379
  } else {
@@ -11342,6 +11397,12 @@ app.use(vaporInteropPlugin)
11342
11397
  }
11343
11398
  return res;
11344
11399
  }
11400
+ function isVaporComponent(type) {
11401
+ if (isHmrUpdating && hmrDirtyComponentsMode.has(type)) {
11402
+ return hmrDirtyComponentsMode.get(type);
11403
+ }
11404
+ return type.__vapor;
11405
+ }
11345
11406
  function getInheritedScopeIds(vnode, parentComponent) {
11346
11407
  const inheritedScopeIds = [];
11347
11408
  let currentParent = parentComponent;
@@ -11368,6 +11429,16 @@ app.use(vaporInteropPlugin)
11368
11429
  }
11369
11430
  return inheritedScopeIds;
11370
11431
  }
11432
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
11433
+ if (anchorVnode.placeholder) {
11434
+ return anchorVnode.placeholder;
11435
+ }
11436
+ const instance = anchorVnode.component;
11437
+ if (instance) {
11438
+ return resolveAsyncComponentPlaceholder(instance.subTree);
11439
+ }
11440
+ return null;
11441
+ }
11371
11442
 
11372
11443
  const isSuspense = (type) => type.__isSuspense;
11373
11444
  let suspenseId = 0;
@@ -12007,11 +12078,11 @@ app.use(vaporInteropPlugin)
12007
12078
  return comp;
12008
12079
  }
12009
12080
 
12010
- const Fragment = Symbol.for("v-fgt");
12011
- const Text = Symbol.for("v-txt");
12012
- const Comment = Symbol.for("v-cmt");
12013
- const Static = Symbol.for("v-stc");
12014
- const VaporSlot = Symbol.for("v-vps");
12081
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
12082
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
12083
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
12084
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
12085
+ const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
12015
12086
  const blockStack = [];
12016
12087
  let currentBlock = null;
12017
12088
  function openBlock(disableTracking = false) {
@@ -13075,7 +13146,7 @@ Component that was made reactive: `,
13075
13146
  return true;
13076
13147
  }
13077
13148
 
13078
- const version = "3.6.0-alpha.6";
13149
+ const version = "3.6.0-beta.1";
13079
13150
  const warn = warn$1 ;
13080
13151
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
13081
13152
  const devtools = devtools$1 ;
@@ -13175,7 +13246,7 @@ Component that was made reactive: `,
13175
13246
 
13176
13247
  const TRANSITION$1 = "transition";
13177
13248
  const ANIMATION = "animation";
13178
- const vtcKey = Symbol("_vtc");
13249
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
13179
13250
  const DOMTransitionPropsValidators = {
13180
13251
  name: String,
13181
13252
  type: String,
@@ -13505,8 +13576,8 @@ Component that was made reactive: `,
13505
13576
  }
13506
13577
  }
13507
13578
 
13508
- const vShowOriginalDisplay = Symbol("_vod");
13509
- const vShowHidden = Symbol("_vsh");
13579
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
13580
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
13510
13581
  const vShow = {
13511
13582
  // used for prop mismatch check during hydration
13512
13583
  name: "show",
@@ -13548,7 +13619,7 @@ Component that was made reactive: `,
13548
13619
  el[vShowHidden] = !value;
13549
13620
  }
13550
13621
 
13551
- const CSS_VAR_TEXT = Symbol("CSS_VAR_TEXT" );
13622
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol("CSS_VAR_TEXT" );
13552
13623
  function useCssVars(getter) {
13553
13624
  const instance = getCurrentInstance();
13554
13625
  const getVars = () => getter(instance.proxy);
@@ -13758,7 +13829,7 @@ Component that was made reactive: `,
13758
13829
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
13759
13830
  function compatCoerceAttr(el, key, value, instance = null) {
13760
13831
  if (isEnumeratedAttr(key)) {
13761
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
13832
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
13762
13833
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
13763
13834
  "ATTR_ENUMERATED_COERCION",
13764
13835
  instance,
@@ -13853,7 +13924,7 @@ Component that was made reactive: `,
13853
13924
  function removeEventListener(el, event, handler, options) {
13854
13925
  el.removeEventListener(event, handler, options);
13855
13926
  }
13856
- const veiKey = Symbol("_vei");
13927
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
13857
13928
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
13858
13929
  const invokers = el[veiKey] || (el[veiKey] = {});
13859
13930
  const existingInvoker = invokers[rawName];
@@ -14503,8 +14574,8 @@ Expected function or array of functions, received type ${typeof value}.`
14503
14574
 
14504
14575
  const positionMap = /* @__PURE__ */ new WeakMap();
14505
14576
  const newPositionMap = /* @__PURE__ */ new WeakMap();
14506
- const moveCbKey = Symbol("_moveCb");
14507
- const enterCbKey = Symbol("_enterCb");
14577
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
14578
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
14508
14579
  const decorate = (t) => {
14509
14580
  delete t.props.mode;
14510
14581
  {
@@ -14676,7 +14747,7 @@ Expected function or array of functions, received type ${typeof value}.`
14676
14747
  target.dispatchEvent(new Event("input"));
14677
14748
  }
14678
14749
  }
14679
- const assignKey = Symbol("_assign");
14750
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
14680
14751
  const vModelText = {
14681
14752
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
14682
14753
  el[assignKey] = getModelAssigner(vnode);
@@ -15171,6 +15242,7 @@ Expected function or array of functions, received type ${typeof value}.`
15171
15242
  ErrorTypeStrings: ErrorTypeStrings,
15172
15243
  Fragment: Fragment,
15173
15244
  KeepAlive: KeepAlive,
15245
+ MoveType: MoveType,
15174
15246
  ReactiveEffect: ReactiveEffect,
15175
15247
  Static: Static,
15176
15248
  Suspense: Suspense,
@@ -15368,81 +15440,81 @@ Make sure to use the production build (*.prod.js) when deploying for production.
15368
15440
  return Vue;
15369
15441
  }
15370
15442
 
15371
- const FRAGMENT = Symbol(`Fragment` );
15372
- const TELEPORT = Symbol(`Teleport` );
15373
- const SUSPENSE = Symbol(`Suspense` );
15374
- const KEEP_ALIVE = Symbol(`KeepAlive` );
15375
- const BASE_TRANSITION = Symbol(
15443
+ const FRAGMENT = /* @__PURE__ */ Symbol(`Fragment` );
15444
+ const TELEPORT = /* @__PURE__ */ Symbol(`Teleport` );
15445
+ const SUSPENSE = /* @__PURE__ */ Symbol(`Suspense` );
15446
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(`KeepAlive` );
15447
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
15376
15448
  `BaseTransition`
15377
15449
  );
15378
- const OPEN_BLOCK = Symbol(`openBlock` );
15379
- const CREATE_BLOCK = Symbol(`createBlock` );
15380
- const CREATE_ELEMENT_BLOCK = Symbol(
15450
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(`openBlock` );
15451
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(`createBlock` );
15452
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
15381
15453
  `createElementBlock`
15382
15454
  );
15383
- const CREATE_VNODE = Symbol(`createVNode` );
15384
- const CREATE_ELEMENT_VNODE = Symbol(
15455
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(`createVNode` );
15456
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
15385
15457
  `createElementVNode`
15386
15458
  );
15387
- const CREATE_COMMENT = Symbol(
15459
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
15388
15460
  `createCommentVNode`
15389
15461
  );
15390
- const CREATE_TEXT = Symbol(
15462
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
15391
15463
  `createTextVNode`
15392
15464
  );
15393
- const CREATE_STATIC = Symbol(
15465
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
15394
15466
  `createStaticVNode`
15395
15467
  );
15396
- const RESOLVE_COMPONENT = Symbol(
15468
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
15397
15469
  `resolveComponent`
15398
15470
  );
15399
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
15471
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
15400
15472
  `resolveDynamicComponent`
15401
15473
  );
15402
- const RESOLVE_DIRECTIVE = Symbol(
15474
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
15403
15475
  `resolveDirective`
15404
15476
  );
15405
- const RESOLVE_FILTER = Symbol(
15477
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
15406
15478
  `resolveFilter`
15407
15479
  );
15408
- const WITH_DIRECTIVES = Symbol(
15480
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
15409
15481
  `withDirectives`
15410
15482
  );
15411
- const RENDER_LIST = Symbol(`renderList` );
15412
- const RENDER_SLOT = Symbol(`renderSlot` );
15413
- const CREATE_SLOTS = Symbol(`createSlots` );
15414
- const TO_DISPLAY_STRING = Symbol(
15483
+ const RENDER_LIST = /* @__PURE__ */ Symbol(`renderList` );
15484
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(`renderSlot` );
15485
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(`createSlots` );
15486
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
15415
15487
  `toDisplayString`
15416
15488
  );
15417
- const MERGE_PROPS = Symbol(`mergeProps` );
15418
- const NORMALIZE_CLASS = Symbol(
15489
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(`mergeProps` );
15490
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
15419
15491
  `normalizeClass`
15420
15492
  );
15421
- const NORMALIZE_STYLE = Symbol(
15493
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
15422
15494
  `normalizeStyle`
15423
15495
  );
15424
- const NORMALIZE_PROPS = Symbol(
15496
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
15425
15497
  `normalizeProps`
15426
15498
  );
15427
- const GUARD_REACTIVE_PROPS = Symbol(
15499
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
15428
15500
  `guardReactiveProps`
15429
15501
  );
15430
- const TO_HANDLERS = Symbol(`toHandlers` );
15431
- const CAMELIZE = Symbol(`camelize` );
15432
- const CAPITALIZE = Symbol(`capitalize` );
15433
- const TO_HANDLER_KEY = Symbol(
15502
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(`toHandlers` );
15503
+ const CAMELIZE = /* @__PURE__ */ Symbol(`camelize` );
15504
+ const CAPITALIZE = /* @__PURE__ */ Symbol(`capitalize` );
15505
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
15434
15506
  `toHandlerKey`
15435
15507
  );
15436
- const SET_BLOCK_TRACKING = Symbol(
15508
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
15437
15509
  `setBlockTracking`
15438
15510
  );
15439
- const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
15440
- const POP_SCOPE_ID = Symbol(`popScopeId` );
15441
- const WITH_CTX = Symbol(`withCtx` );
15442
- const UNREF = Symbol(`unref` );
15443
- const IS_REF = Symbol(`isRef` );
15444
- const WITH_MEMO = Symbol(`withMemo` );
15445
- const IS_MEMO_SAME = Symbol(`isMemoSame` );
15511
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(`pushScopeId` );
15512
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(`popScopeId` );
15513
+ const WITH_CTX = /* @__PURE__ */ Symbol(`withCtx` );
15514
+ const UNREF = /* @__PURE__ */ Symbol(`unref` );
15515
+ const IS_REF = /* @__PURE__ */ Symbol(`isRef` );
15516
+ const WITH_MEMO = /* @__PURE__ */ Symbol(`withMemo` );
15517
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(`isMemoSame` );
15446
15518
  const helperNameMap = {
15447
15519
  [FRAGMENT]: `Fragment`,
15448
15520
  [TELEPORT]: `Teleport`,
@@ -15737,14 +15809,28 @@ Make sure to use the production build (*.prod.js) when deploying for production.
15737
15809
  getPos(index) {
15738
15810
  let line = 1;
15739
15811
  let column = index + 1;
15740
- for (let i = this.newlines.length - 1; i >= 0; i--) {
15741
- const newlineIndex = this.newlines[i];
15742
- if (index > newlineIndex) {
15743
- line = i + 2;
15744
- column = index - newlineIndex;
15745
- break;
15812
+ const length = this.newlines.length;
15813
+ let j = -1;
15814
+ if (length > 100) {
15815
+ let l = -1;
15816
+ let r = length;
15817
+ while (l + 1 < r) {
15818
+ const m = l + r >>> 1;
15819
+ this.newlines[m] < index ? l = m : r = m;
15820
+ }
15821
+ j = l;
15822
+ } else {
15823
+ for (let i = length - 1; i >= 0; i--) {
15824
+ if (index > this.newlines[i]) {
15825
+ j = i;
15826
+ break;
15827
+ }
15746
15828
  }
15747
15829
  }
15830
+ if (j >= 0) {
15831
+ line = j + 2;
15832
+ column = index - this.newlines[j];
15833
+ }
15748
15834
  return {
15749
15835
  column,
15750
15836
  line,
@@ -16559,7 +16645,7 @@ Make sure to use the production build (*.prod.js) when deploying for production.
16559
16645
  [32]: `v-for has invalid expression.`,
16560
16646
  [33]: `<template v-for> key should be placed on the <template> tag.`,
16561
16647
  [34]: `v-bind is missing expression.`,
16562
- [52]: `v-bind with same-name shorthand only allows static argument.`,
16648
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
16563
16649
  [35]: `v-on is missing expression.`,
16564
16650
  [36]: `Unexpected custom directive on <slot> outlet.`,
16565
16651
  [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.`,
@@ -16571,16 +16657,17 @@ Make sure to use the production build (*.prod.js) when deploying for production.
16571
16657
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
16572
16658
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
16573
16659
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
16574
- [45]: `Error parsing JavaScript expression: `,
16575
- [46]: `<KeepAlive> expects exactly one child component.`,
16576
- [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.`,
16660
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
16661
+ [46]: `Error parsing JavaScript expression: `,
16662
+ [47]: `<KeepAlive> expects exactly one child component.`,
16663
+ [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.`,
16577
16664
  // generic errors
16578
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16579
- [48]: `ES module mode is not supported in this build of compiler.`,
16580
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16581
- [50]: `"scopeId" option is only supported in module mode.`,
16665
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16666
+ [49]: `ES module mode is not supported in this build of compiler.`,
16667
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16668
+ [51]: `"scopeId" option is only supported in module mode.`,
16582
16669
  // just to fulfill types
16583
- [53]: ``
16670
+ [54]: ``
16584
16671
  };
16585
16672
 
16586
16673
  const isStaticExp = (p) => p.type === 4 && p.isStatic;
@@ -18770,7 +18857,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18770
18857
  }
18771
18858
  context.onError(
18772
18859
  createCompilerError(
18773
- 45,
18860
+ 46,
18774
18861
  node.loc,
18775
18862
  void 0,
18776
18863
  message
@@ -19536,7 +19623,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19536
19623
  patchFlag |= 1024;
19537
19624
  if (node.children.length > 1) {
19538
19625
  context.onError(
19539
- createCompilerError(46, {
19626
+ createCompilerError(47, {
19540
19627
  start: node.children[0].loc.start,
19541
19628
  end: node.children[node.children.length - 1].loc.end,
19542
19629
  source: ""
@@ -20123,7 +20210,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20123
20210
  if (arg.isStatic) {
20124
20211
  let rawName = arg.content;
20125
20212
  if (rawName.startsWith("vnode")) {
20126
- context.onError(createCompilerError(51, arg.loc));
20213
+ context.onError(createCompilerError(52, arg.loc));
20127
20214
  }
20128
20215
  if (rawName.startsWith("vue:")) {
20129
20216
  rawName = `vnode-${rawName.slice(4)}`;
@@ -20356,6 +20443,10 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20356
20443
  context.onError(createCompilerError(44, exp.loc));
20357
20444
  return createTransformProps();
20358
20445
  }
20446
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
20447
+ context.onError(createCompilerError(45, exp.loc));
20448
+ return createTransformProps();
20449
+ }
20359
20450
  if (!expString.trim() || !isMemberExpression(exp) && true) {
20360
20451
  context.onError(
20361
20452
  createCompilerError(42, exp.loc)
@@ -20584,7 +20675,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20584
20675
  if (arg.type !== 4 || !arg.isStatic) {
20585
20676
  context.onError(
20586
20677
  createCompilerError(
20587
- 52,
20678
+ 53,
20588
20679
  arg.loc
20589
20680
  )
20590
20681
  );
@@ -20628,17 +20719,17 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20628
20719
  const isModuleMode = options.mode === "module";
20629
20720
  {
20630
20721
  if (options.prefixIdentifiers === true) {
20631
- onError(createCompilerError(47));
20632
- } else if (isModuleMode) {
20633
20722
  onError(createCompilerError(48));
20723
+ } else if (isModuleMode) {
20724
+ onError(createCompilerError(49));
20634
20725
  }
20635
20726
  }
20636
20727
  const prefixIdentifiers = false;
20637
20728
  if (options.cacheHandlers) {
20638
- onError(createCompilerError(49));
20729
+ onError(createCompilerError(50));
20639
20730
  }
20640
20731
  if (options.scopeId && !isModuleMode) {
20641
- onError(createCompilerError(50));
20732
+ onError(createCompilerError(51));
20642
20733
  }
20643
20734
  const resolvedOptions = extend({}, options, {
20644
20735
  prefixIdentifiers
@@ -20666,26 +20757,26 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20666
20757
 
20667
20758
  const noopDirectiveTransform = () => ({ props: [] });
20668
20759
 
20669
- const V_MODEL_RADIO = Symbol(`vModelRadio` );
20670
- const V_MODEL_CHECKBOX = Symbol(
20760
+ const V_MODEL_RADIO = /* @__PURE__ */ Symbol(`vModelRadio` );
20761
+ const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol(
20671
20762
  `vModelCheckbox`
20672
20763
  );
20673
- const V_MODEL_TEXT = Symbol(`vModelText` );
20674
- const V_MODEL_SELECT = Symbol(
20764
+ const V_MODEL_TEXT = /* @__PURE__ */ Symbol(`vModelText` );
20765
+ const V_MODEL_SELECT = /* @__PURE__ */ Symbol(
20675
20766
  `vModelSelect`
20676
20767
  );
20677
- const V_MODEL_DYNAMIC = Symbol(
20768
+ const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol(
20678
20769
  `vModelDynamic`
20679
20770
  );
20680
- const V_ON_WITH_MODIFIERS = Symbol(
20771
+ const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol(
20681
20772
  `vOnModifiersGuard`
20682
20773
  );
20683
- const V_ON_WITH_KEYS = Symbol(
20774
+ const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol(
20684
20775
  `vOnKeysGuard`
20685
20776
  );
20686
- const V_SHOW = Symbol(`vShow` );
20687
- const TRANSITION = Symbol(`Transition` );
20688
- const TRANSITION_GROUP = Symbol(
20777
+ const V_SHOW = /* @__PURE__ */ Symbol(`vShow` );
20778
+ const TRANSITION = /* @__PURE__ */ Symbol(`Transition` );
20779
+ const TRANSITION_GROUP = /* @__PURE__ */ Symbol(
20689
20780
  `TransitionGroup`
20690
20781
  );
20691
20782
  registerRuntimeHelpers({
@@ -20796,31 +20887,31 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20796
20887
  );
20797
20888
  }
20798
20889
  const DOMErrorMessages = {
20799
- [53]: `v-html is missing expression.`,
20800
- [54]: `v-html will override element children.`,
20801
- [55]: `v-text is missing expression.`,
20802
- [56]: `v-text will override element children.`,
20803
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
20804
- [58]: `v-model argument is not supported on plain elements.`,
20805
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
20806
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
20807
- [61]: `v-show is missing expression.`,
20808
- [62]: `<Transition> expects exactly one child element or component.`,
20809
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
20890
+ [54]: `v-html is missing expression.`,
20891
+ [55]: `v-html will override element children.`,
20892
+ [56]: `v-text is missing expression.`,
20893
+ [57]: `v-text will override element children.`,
20894
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
20895
+ [59]: `v-model argument is not supported on plain elements.`,
20896
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
20897
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
20898
+ [62]: `v-show is missing expression.`,
20899
+ [63]: `<Transition> expects exactly one child element or component.`,
20900
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
20810
20901
  // just to fulfill types
20811
- [64]: ``
20902
+ [65]: ``
20812
20903
  };
20813
20904
 
20814
20905
  const transformVHtml = (dir, node, context) => {
20815
20906
  const { exp, loc } = dir;
20816
20907
  if (!exp) {
20817
20908
  context.onError(
20818
- createDOMCompilerError(53, loc)
20909
+ createDOMCompilerError(54, loc)
20819
20910
  );
20820
20911
  }
20821
20912
  if (node.children.length) {
20822
20913
  context.onError(
20823
- createDOMCompilerError(54, loc)
20914
+ createDOMCompilerError(55, loc)
20824
20915
  );
20825
20916
  node.children.length = 0;
20826
20917
  }
@@ -20838,12 +20929,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20838
20929
  const { exp, loc } = dir;
20839
20930
  if (!exp) {
20840
20931
  context.onError(
20841
- createDOMCompilerError(55, loc)
20932
+ createDOMCompilerError(56, loc)
20842
20933
  );
20843
20934
  }
20844
20935
  if (node.children.length) {
20845
20936
  context.onError(
20846
- createDOMCompilerError(56, loc)
20937
+ createDOMCompilerError(57, loc)
20847
20938
  );
20848
20939
  node.children.length = 0;
20849
20940
  }
@@ -20869,7 +20960,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20869
20960
  if (dir.arg) {
20870
20961
  context.onError(
20871
20962
  createDOMCompilerError(
20872
- 58,
20963
+ 59,
20873
20964
  dir.arg.loc
20874
20965
  )
20875
20966
  );
@@ -20879,7 +20970,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20879
20970
  if (value && isStaticArgOf(value.arg, "value")) {
20880
20971
  context.onError(
20881
20972
  createDOMCompilerError(
20882
- 60,
20973
+ 61,
20883
20974
  value.loc
20884
20975
  )
20885
20976
  );
@@ -20907,7 +20998,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20907
20998
  isInvalidType = true;
20908
20999
  context.onError(
20909
21000
  createDOMCompilerError(
20910
- 59,
21001
+ 60,
20911
21002
  dir.loc
20912
21003
  )
20913
21004
  );
@@ -20933,7 +21024,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20933
21024
  } else {
20934
21025
  context.onError(
20935
21026
  createDOMCompilerError(
20936
- 57,
21027
+ 58,
20937
21028
  dir.loc
20938
21029
  )
20939
21030
  );
@@ -21044,7 +21135,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21044
21135
  const { exp, loc } = dir;
21045
21136
  if (!exp) {
21046
21137
  context.onError(
21047
- createDOMCompilerError(61, loc)
21138
+ createDOMCompilerError(62, loc)
21048
21139
  );
21049
21140
  }
21050
21141
  return {
@@ -21068,7 +21159,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21068
21159
  }
21069
21160
  if (hasMultipleChildren(node)) {
21070
21161
  onError(
21071
- createDOMCompilerError(62, {
21162
+ createDOMCompilerError(63, {
21072
21163
  start: node.children[0].loc.start,
21073
21164
  end: node.children[node.children.length - 1].loc.end,
21074
21165
  source: ""
@@ -21103,7 +21194,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21103
21194
  if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
21104
21195
  context.onError(
21105
21196
  createDOMCompilerError(
21106
- 63,
21197
+ 64,
21107
21198
  node.loc
21108
21199
  )
21109
21200
  );