@vue/compat 3.6.0-alpha.7 → 3.6.0-beta.2

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.7
2
+ * @vue/compat v3.6.0-beta.2
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) {
@@ -2454,7 +2454,6 @@ var Vue = (function () {
2454
2454
  instance,
2455
2455
  11,
2456
2456
  [
2457
- // eslint-disable-next-line no-restricted-syntax
2458
2457
  msg + args.map((a) => {
2459
2458
  var _a, _b;
2460
2459
  return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
@@ -2834,10 +2833,10 @@ var Vue = (function () {
2834
2833
  }
2835
2834
  }
2836
2835
  let isFlushing = false;
2837
- function flushOnAppMount() {
2836
+ function flushOnAppMount(instance) {
2838
2837
  if (!isFlushing) {
2839
2838
  isFlushing = true;
2840
- flushPreFlushCbs();
2839
+ flushPreFlushCbs(instance);
2841
2840
  flushPostFlushCbs();
2842
2841
  isFlushing = false;
2843
2842
  }
@@ -3079,7 +3078,6 @@ var Vue = (function () {
3079
3078
  // (#4815)
3080
3079
  typeof window !== "undefined" && // some envs mock window but not fully
3081
3080
  window.HTMLElement && // also exclude jsdom
3082
- // eslint-disable-next-line no-restricted-syntax
3083
3081
  !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
3084
3082
  ) {
3085
3083
  const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
@@ -3571,65 +3569,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3571
3569
  return instance.proxy;
3572
3570
  }
3573
3571
 
3574
- const compatModelEventPrefix = `onModelCompat:`;
3575
- const warnedTypes = /* @__PURE__ */ new WeakSet();
3576
- function convertLegacyVModelProps(vnode) {
3577
- const { type, shapeFlag, props, dynamicProps } = vnode;
3578
- const comp = type;
3579
- if (shapeFlag & 6 && props && "modelValue" in props) {
3580
- if (!isCompatEnabled$1(
3581
- "COMPONENT_V_MODEL",
3582
- // this is a special case where we want to use the vnode component's
3583
- // compat config instead of the current rendering instance (which is the
3584
- // parent of the component that exposes v-model)
3585
- { type }
3586
- )) {
3587
- return;
3588
- }
3589
- if (!warnedTypes.has(comp)) {
3590
- pushWarningContext(vnode);
3591
- warnDeprecation$1("COMPONENT_V_MODEL", { type }, comp);
3592
- popWarningContext();
3593
- warnedTypes.add(comp);
3594
- }
3595
- const model = comp.model || {};
3596
- applyModelFromMixins(model, comp.mixins);
3597
- const { prop = "value", event = "input" } = model;
3598
- if (prop !== "modelValue") {
3599
- props[prop] = props.modelValue;
3600
- delete props.modelValue;
3601
- }
3602
- if (dynamicProps) {
3603
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
3604
- }
3605
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
3606
- delete props["onUpdate:modelValue"];
3607
- }
3608
- }
3609
- function applyModelFromMixins(model, mixins) {
3610
- if (mixins) {
3611
- mixins.forEach((m) => {
3612
- if (m.model) extend(model, m.model);
3613
- if (m.mixins) applyModelFromMixins(model, m.mixins);
3614
- });
3615
- }
3616
- }
3617
- function compatModelEmit(instance, event, args) {
3618
- if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
3619
- return;
3620
- }
3621
- const props = instance.vnode.props;
3622
- const modelHandler = props && props[compatModelEventPrefix + event];
3623
- if (modelHandler) {
3624
- callWithErrorHandling(
3625
- modelHandler,
3626
- instance,
3627
- 6,
3628
- args
3629
- );
3630
- }
3631
- }
3632
-
3633
3572
  let currentRenderingInstance = null;
3634
3573
  let currentScopeId = null;
3635
3574
  function setCurrentRenderingInstance(instance) {
@@ -3780,7 +3719,175 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3780
3719
  }
3781
3720
  }
3782
3721
 
3783
- const TeleportEndKey = Symbol("_vte");
3722
+ function provide(key, value) {
3723
+ {
3724
+ if (!currentInstance || currentInstance.isMounted && !isHmrUpdating) {
3725
+ warn$1(`provide() can only be used inside setup().`);
3726
+ }
3727
+ }
3728
+ if (currentInstance) {
3729
+ let provides = currentInstance.provides;
3730
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
3731
+ if (parentProvides === provides) {
3732
+ provides = currentInstance.provides = Object.create(parentProvides);
3733
+ }
3734
+ provides[key] = value;
3735
+ }
3736
+ }
3737
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3738
+ const instance = getCurrentGenericInstance();
3739
+ if (instance || currentApp) {
3740
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
3741
+ if (provides && key in provides) {
3742
+ return provides[key];
3743
+ } else if (arguments.length > 1) {
3744
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3745
+ } else {
3746
+ warn$1(`injection "${String(key)}" not found.`);
3747
+ }
3748
+ } else {
3749
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3750
+ }
3751
+ }
3752
+ function hasInjectionContext() {
3753
+ return !!(getCurrentGenericInstance() || currentApp);
3754
+ }
3755
+
3756
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
3757
+ const useSSRContext = () => {
3758
+ {
3759
+ warn$1(`useSSRContext() is not supported in the global build.`);
3760
+ }
3761
+ };
3762
+
3763
+ function watchEffect(effect, options) {
3764
+ return doWatch(effect, null, options);
3765
+ }
3766
+ function watchPostEffect(effect, options) {
3767
+ return doWatch(
3768
+ effect,
3769
+ null,
3770
+ extend({}, options, { flush: "post" })
3771
+ );
3772
+ }
3773
+ function watchSyncEffect(effect, options) {
3774
+ return doWatch(
3775
+ effect,
3776
+ null,
3777
+ extend({}, options, { flush: "sync" })
3778
+ );
3779
+ }
3780
+ function watch(source, cb, options) {
3781
+ if (!isFunction(cb)) {
3782
+ warn$1(
3783
+ `\`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.`
3784
+ );
3785
+ }
3786
+ return doWatch(source, cb, options);
3787
+ }
3788
+ class RenderWatcherEffect extends WatcherEffect {
3789
+ constructor(instance, source, cb, options, flush) {
3790
+ super(source, cb, options);
3791
+ this.flush = flush;
3792
+ const job = () => {
3793
+ if (this.dirty) {
3794
+ this.run();
3795
+ }
3796
+ };
3797
+ if (cb) {
3798
+ this.flags |= 128;
3799
+ job.flags |= 2;
3800
+ }
3801
+ if (instance) {
3802
+ job.i = instance;
3803
+ }
3804
+ this.job = job;
3805
+ }
3806
+ notify() {
3807
+ const flags = this.flags;
3808
+ if (!(flags & 256)) {
3809
+ const flush = this.flush;
3810
+ const job = this.job;
3811
+ if (flush === "post") {
3812
+ queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
3813
+ } else if (flush === "pre") {
3814
+ queueJob(job, job.i ? job.i.uid : void 0, true);
3815
+ } else {
3816
+ job();
3817
+ }
3818
+ }
3819
+ }
3820
+ }
3821
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3822
+ const { immediate, deep, flush = "pre", once } = options;
3823
+ if (!cb) {
3824
+ if (immediate !== void 0) {
3825
+ warn$1(
3826
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3827
+ );
3828
+ }
3829
+ if (deep !== void 0) {
3830
+ warn$1(
3831
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3832
+ );
3833
+ }
3834
+ if (once !== void 0) {
3835
+ warn$1(
3836
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3837
+ );
3838
+ }
3839
+ }
3840
+ const baseWatchOptions = extend({}, options);
3841
+ baseWatchOptions.onWarn = warn$1;
3842
+ const instance = currentInstance;
3843
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3844
+ const effect = new RenderWatcherEffect(
3845
+ instance,
3846
+ source,
3847
+ cb,
3848
+ baseWatchOptions,
3849
+ flush
3850
+ );
3851
+ if (cb) {
3852
+ effect.run(true);
3853
+ } else if (flush === "post") {
3854
+ queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
3855
+ } else {
3856
+ effect.run(true);
3857
+ }
3858
+ const stop = effect.stop.bind(effect);
3859
+ stop.pause = effect.pause.bind(effect);
3860
+ stop.resume = effect.resume.bind(effect);
3861
+ stop.stop = stop;
3862
+ return stop;
3863
+ }
3864
+ function instanceWatch(source, value, options) {
3865
+ const publicThis = this.proxy;
3866
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3867
+ let cb;
3868
+ if (isFunction(value)) {
3869
+ cb = value;
3870
+ } else {
3871
+ cb = value.handler;
3872
+ options = value;
3873
+ }
3874
+ const prev = setCurrentInstance(this);
3875
+ const res = doWatch(getter, cb.bind(publicThis), options);
3876
+ setCurrentInstance(...prev);
3877
+ return res;
3878
+ }
3879
+ function createPathGetter(ctx, path) {
3880
+ const segments = path.split(".");
3881
+ return () => {
3882
+ let cur = ctx;
3883
+ for (let i = 0; i < segments.length && cur; i++) {
3884
+ cur = cur[segments[i]];
3885
+ }
3886
+ return cur;
3887
+ };
3888
+ }
3889
+
3890
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3784
3891
  const isTeleport = (type) => type.__isTeleport;
3785
3892
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
3786
3893
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -4152,8 +4259,8 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4152
4259
  return targetAnchor;
4153
4260
  }
4154
4261
 
4155
- const leaveCbKey = Symbol("_leaveCb");
4156
- const enterCbKey$1 = Symbol("_enterCb");
4262
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
4263
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
4157
4264
  function useTransitionState() {
4158
4265
  const state = {
4159
4266
  isMounted: false,
@@ -5409,9 +5516,17 @@ Server rendered element contains fewer child nodes than client vdom.`
5409
5516
  }
5410
5517
  }
5411
5518
 
5412
- const requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));
5413
- const cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));
5519
+ let requestIdleCallback;
5520
+ let cancelIdleCallback;
5521
+ function ensureIdleCallbacks() {
5522
+ if (!requestIdleCallback) {
5523
+ const g = getGlobalThis();
5524
+ requestIdleCallback = g.requestIdleCallback || ((cb) => setTimeout(cb, 1));
5525
+ cancelIdleCallback = g.cancelIdleCallback || ((id) => clearTimeout(id));
5526
+ }
5527
+ }
5414
5528
  const hydrateOnIdle = (timeout = 1e4) => (hydrate) => {
5529
+ ensureIdleCallbacks();
5415
5530
  const id = requestIdleCallback(hydrate, { timeout });
5416
5531
  return () => cancelIdleCallback(id);
5417
5532
  };
@@ -5763,7 +5878,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5763
5878
  }
5764
5879
  function pruneCache(filter) {
5765
5880
  cache.forEach((vnode, key) => {
5766
- const name = getComponentName(vnode.type);
5881
+ const name = getComponentName(
5882
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
5883
+ );
5767
5884
  if (name && !filter(name)) {
5768
5885
  pruneCacheEntry(key);
5769
5886
  }
@@ -6105,7 +6222,7 @@ Server rendered element contains fewer child nodes than client vdom.`
6105
6222
  function resolveComponent(name, maybeSelfReference) {
6106
6223
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
6107
6224
  }
6108
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
6225
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
6109
6226
  function resolveDynamicComponent(component) {
6110
6227
  if (isString(component)) {
6111
6228
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -6547,14 +6664,14 @@ If this is a native custom element, make sure to exclude it from component resol
6547
6664
  }
6548
6665
  }
6549
6666
 
6550
- function toHandlers(obj, preserveCaseIfNecessary) {
6667
+ function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
6551
6668
  const ret = {};
6552
6669
  if (!isObject(obj)) {
6553
6670
  warn$1(`v-on with no argument expects an object value.`);
6554
6671
  return ret;
6555
6672
  }
6556
6673
  for (const key in obj) {
6557
- ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
6674
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
6558
6675
  }
6559
6676
  return ret;
6560
6677
  }
@@ -7692,7 +7809,7 @@ If this is a native custom element, make sure to exclude it from component resol
7692
7809
  return vm;
7693
7810
  }
7694
7811
  }
7695
- Vue.version = `2.6.14-compat:${"3.6.0-alpha.7"}`;
7812
+ Vue.version = `2.6.14-compat:${"3.6.0-beta.2"}`;
7696
7813
  Vue.config = singletonApp.config;
7697
7814
  Vue.use = (plugin, ...options) => {
7698
7815
  if (plugin && isFunction(plugin.install)) {
@@ -8256,172 +8373,70 @@ If you want to remount the same app, move your app creation logic into a factory
8256
8373
  }
8257
8374
  let currentApp = null;
8258
8375
 
8259
- function provide(key, value) {
8260
- {
8261
- if (!currentInstance || currentInstance.isMounted) {
8262
- warn$1(`provide() can only be used inside setup().`);
8263
- }
8264
- }
8265
- if (currentInstance) {
8266
- let provides = currentInstance.provides;
8267
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
8268
- if (parentProvides === provides) {
8269
- provides = currentInstance.provides = Object.create(parentProvides);
8270
- }
8271
- provides[key] = value;
8272
- }
8273
- }
8274
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
8275
- const instance = getCurrentGenericInstance();
8276
- if (instance || currentApp) {
8277
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
8278
- if (provides && key in provides) {
8279
- return provides[key];
8280
- } else if (arguments.length > 1) {
8281
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
8282
- } else {
8283
- warn$1(`injection "${String(key)}" not found.`);
8284
- }
8285
- } else {
8286
- warn$1(`inject() can only be used inside setup() or functional components.`);
8287
- }
8288
- }
8289
- function hasInjectionContext() {
8290
- return !!(getCurrentGenericInstance() || currentApp);
8291
- }
8292
-
8293
- const ssrContextKey = Symbol.for("v-scx");
8294
- const useSSRContext = () => {
8295
- {
8296
- warn$1(`useSSRContext() is not supported in the global build.`);
8297
- }
8298
- };
8299
-
8300
- function watchEffect(effect, options) {
8301
- return doWatch(effect, null, options);
8302
- }
8303
- function watchPostEffect(effect, options) {
8304
- return doWatch(
8305
- effect,
8306
- null,
8307
- extend({}, options, { flush: "post" })
8308
- );
8309
- }
8310
- function watchSyncEffect(effect, options) {
8311
- return doWatch(
8312
- effect,
8313
- null,
8314
- extend({}, options, { flush: "sync" })
8315
- );
8316
- }
8317
- function watch(source, cb, options) {
8318
- if (!isFunction(cb)) {
8319
- warn$1(
8320
- `\`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.`
8321
- );
8322
- }
8323
- return doWatch(source, cb, options);
8324
- }
8325
- class RenderWatcherEffect extends WatcherEffect {
8326
- constructor(instance, source, cb, options, flush) {
8327
- super(source, cb, options);
8328
- this.flush = flush;
8329
- const job = () => {
8330
- if (this.dirty) {
8331
- this.run();
8332
- }
8333
- };
8334
- if (cb) {
8335
- this.flags |= 128;
8336
- job.flags |= 2;
8337
- }
8338
- if (instance) {
8339
- job.i = instance;
8340
- }
8341
- this.job = job;
8342
- }
8343
- notify() {
8344
- const flags = this.flags;
8345
- if (!(flags & 256)) {
8346
- const flush = this.flush;
8347
- const job = this.job;
8348
- if (flush === "post") {
8349
- queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
8350
- } else if (flush === "pre") {
8351
- queueJob(job, job.i ? job.i.uid : void 0, true);
8352
- } else {
8353
- job();
8354
- }
8376
+ const compatModelEventPrefix = `onModelCompat:`;
8377
+ const warnedTypes = /* @__PURE__ */ new WeakSet();
8378
+ function convertLegacyVModelProps(vnode) {
8379
+ const { type, shapeFlag, props, dynamicProps } = vnode;
8380
+ const comp = type;
8381
+ if (shapeFlag & 6 && props && "modelValue" in props) {
8382
+ if (!isCompatEnabled$1(
8383
+ "COMPONENT_V_MODEL",
8384
+ // this is a special case where we want to use the vnode component's
8385
+ // compat config instead of the current rendering instance (which is the
8386
+ // parent of the component that exposes v-model)
8387
+ { type }
8388
+ )) {
8389
+ return;
8355
8390
  }
8356
- }
8357
- }
8358
- function doWatch(source, cb, options = EMPTY_OBJ) {
8359
- const { immediate, deep, flush = "pre", once } = options;
8360
- if (!cb) {
8361
- if (immediate !== void 0) {
8362
- warn$1(
8363
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
8391
+ if (!warnedTypes.has(comp)) {
8392
+ pushWarningContext(vnode);
8393
+ warnDeprecation$1(
8394
+ "COMPONENT_V_MODEL",
8395
+ {
8396
+ type,
8397
+ appContext: vnode.ctx && vnode.ctx.appContext || createAppContext()
8398
+ },
8399
+ comp
8364
8400
  );
8401
+ popWarningContext();
8402
+ warnedTypes.add(comp);
8365
8403
  }
8366
- if (deep !== void 0) {
8367
- warn$1(
8368
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
8369
- );
8404
+ const model = comp.model || {};
8405
+ applyModelFromMixins(model, comp.mixins);
8406
+ const { prop = "value", event = "input" } = model;
8407
+ if (prop !== "modelValue") {
8408
+ props[prop] = props.modelValue;
8409
+ delete props.modelValue;
8370
8410
  }
8371
- if (once !== void 0) {
8372
- warn$1(
8373
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
8374
- );
8411
+ if (dynamicProps) {
8412
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
8375
8413
  }
8414
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
8415
+ delete props["onUpdate:modelValue"];
8376
8416
  }
8377
- const baseWatchOptions = extend({}, options);
8378
- baseWatchOptions.onWarn = warn$1;
8379
- const instance = currentInstance;
8380
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
8381
- const effect = new RenderWatcherEffect(
8382
- instance,
8383
- source,
8384
- cb,
8385
- baseWatchOptions,
8386
- flush
8387
- );
8388
- if (cb) {
8389
- effect.run(true);
8390
- } else if (flush === "post") {
8391
- queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
8392
- } else {
8393
- effect.run(true);
8394
- }
8395
- const stop = effect.stop.bind(effect);
8396
- stop.pause = effect.pause.bind(effect);
8397
- stop.resume = effect.resume.bind(effect);
8398
- stop.stop = stop;
8399
- return stop;
8400
8417
  }
8401
- function instanceWatch(source, value, options) {
8402
- const publicThis = this.proxy;
8403
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
8404
- let cb;
8405
- if (isFunction(value)) {
8406
- cb = value;
8407
- } else {
8408
- cb = value.handler;
8409
- options = value;
8418
+ function applyModelFromMixins(model, mixins) {
8419
+ if (mixins) {
8420
+ mixins.forEach((m) => {
8421
+ if (m.model) extend(model, m.model);
8422
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
8423
+ });
8410
8424
  }
8411
- const prev = setCurrentInstance(this);
8412
- const res = doWatch(getter, cb.bind(publicThis), options);
8413
- setCurrentInstance(...prev);
8414
- return res;
8415
8425
  }
8416
- function createPathGetter(ctx, path) {
8417
- const segments = path.split(".");
8418
- return () => {
8419
- let cur = ctx;
8420
- for (let i = 0; i < segments.length && cur; i++) {
8421
- cur = cur[segments[i]];
8422
- }
8423
- return cur;
8424
- };
8426
+ function compatModelEmit(instance, event, args) {
8427
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL", instance)) {
8428
+ return;
8429
+ }
8430
+ const props = instance.vnode.props;
8431
+ const modelHandler = props && props[compatModelEventPrefix + event];
8432
+ if (modelHandler) {
8433
+ callWithErrorHandling(
8434
+ modelHandler,
8435
+ instance,
8436
+ 6,
8437
+ args
8438
+ );
8439
+ }
8425
8440
  }
8426
8441
 
8427
8442
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -9613,6 +9628,14 @@ If you want to remount the same app, move your app creation logic into a factory
9613
9628
  return supported;
9614
9629
  }
9615
9630
 
9631
+ const MoveType = {
9632
+ "ENTER": 0,
9633
+ "0": "ENTER",
9634
+ "LEAVE": 1,
9635
+ "1": "LEAVE",
9636
+ "REORDER": 2,
9637
+ "2": "REORDER"
9638
+ };
9616
9639
  const queuePostRenderEffect = queueEffectWithSuspense ;
9617
9640
  function createRenderer(options) {
9618
9641
  return baseCreateRenderer(options);
@@ -9761,7 +9784,15 @@ If you want to remount the same app, move your app creation logic into a factory
9761
9784
  } else {
9762
9785
  const el = n2.el = n1.el;
9763
9786
  if (n2.children !== n1.children) {
9764
- hostSetText(el, n2.children);
9787
+ if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9788
+ const childNodes = container.childNodes;
9789
+ const newChild = hostCreateText(n2.children);
9790
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9791
+ hostInsert(newChild, container, oldChild);
9792
+ hostRemove(oldChild);
9793
+ } else {
9794
+ hostSetText(el, n2.children);
9795
+ }
9765
9796
  }
9766
9797
  }
9767
9798
  };
@@ -10147,7 +10178,7 @@ If you want to remount the same app, move your app creation logic into a factory
10147
10178
  } else {
10148
10179
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
10149
10180
  // of renderSlot() with no valid children
10150
- n1.dynamicChildren) {
10181
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
10151
10182
  patchBlockChildren(
10152
10183
  n1.dynamicChildren,
10153
10184
  dynamicChildren,
@@ -10863,8 +10894,8 @@ If you want to remount the same app, move your app creation logic into a factory
10863
10894
  const nextChild = c2[nextIndex];
10864
10895
  const anchorVNode = c2[nextIndex + 1];
10865
10896
  const anchor = nextIndex + 1 < l2 ? (
10866
- // #13559, fallback to el placeholder for unresolved async component
10867
- anchorVNode.el || anchorVNode.placeholder
10897
+ // #13559, #14173 fallback to el placeholder for unresolved async component
10898
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
10868
10899
  ) : parentAnchor;
10869
10900
  if (newIndexToOldIndexMap[i] === 0) {
10870
10901
  patch(
@@ -11179,9 +11210,11 @@ If you want to remount the same app, move your app creation logic into a factory
11179
11210
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
11180
11211
  };
11181
11212
  const render = (vnode, container, namespace) => {
11213
+ let instance;
11182
11214
  if (vnode == null) {
11183
11215
  if (container._vnode) {
11184
11216
  unmount(container._vnode, null, null, true);
11217
+ instance = container._vnode.component;
11185
11218
  }
11186
11219
  } else {
11187
11220
  patch(
@@ -11195,7 +11228,7 @@ If you want to remount the same app, move your app creation logic into a factory
11195
11228
  );
11196
11229
  }
11197
11230
  container._vnode = vnode;
11198
- flushOnAppMount();
11231
+ flushOnAppMount(instance);
11199
11232
  };
11200
11233
  const internals = {
11201
11234
  p: patch,
@@ -11287,9 +11320,13 @@ If you want to remount the same app, move your app creation logic into a factory
11287
11320
  if (!shallow && c2.patchFlag !== -2)
11288
11321
  traverseStaticChildren(c1, c2);
11289
11322
  }
11290
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
11291
- c2.patchFlag !== -1) {
11292
- c2.el = c1.el;
11323
+ if (c2.type === Text) {
11324
+ if (c2.patchFlag !== -1) {
11325
+ c2.el = c1.el;
11326
+ } else {
11327
+ c2.__elIndex = i + // take fragment start anchor into account
11328
+ (n1.type === Fragment ? 1 : 0);
11329
+ }
11293
11330
  }
11294
11331
  if (c2.type === Comment && !c2.el) {
11295
11332
  c2.el = c1.el;
@@ -11325,16 +11362,24 @@ If you want to remount the same app, move your app creation logic into a factory
11325
11362
  insert();
11326
11363
  }
11327
11364
  }
11328
- function performTransitionLeave(el, transition, remove, isElement = true) {
11365
+ function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
11329
11366
  const performRemove = () => {
11330
11367
  remove();
11331
11368
  if (transition && !transition.persisted && transition.afterLeave) {
11332
11369
  transition.afterLeave();
11333
11370
  }
11334
11371
  };
11335
- if (isElement && transition && !transition.persisted) {
11372
+ if (force || isElement && transition && !transition.persisted) {
11336
11373
  const { leave, delayLeave } = transition;
11337
- const performLeave = () => leave(el, performRemove);
11374
+ const performLeave = () => {
11375
+ if (el._isLeaving && force) {
11376
+ el[leaveCbKey](
11377
+ true
11378
+ /* cancelled */
11379
+ );
11380
+ }
11381
+ leave(el, performRemove);
11382
+ };
11338
11383
  if (delayLeave) {
11339
11384
  delayLeave(el, performRemove, performLeave);
11340
11385
  } else {
@@ -11390,6 +11435,16 @@ app.use(vaporInteropPlugin)
11390
11435
  }
11391
11436
  return inheritedScopeIds;
11392
11437
  }
11438
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
11439
+ if (anchorVnode.placeholder) {
11440
+ return anchorVnode.placeholder;
11441
+ }
11442
+ const instance = anchorVnode.component;
11443
+ if (instance) {
11444
+ return resolveAsyncComponentPlaceholder(instance.subTree);
11445
+ }
11446
+ return null;
11447
+ }
11393
11448
 
11394
11449
  const isSuspense = (type) => type.__isSuspense;
11395
11450
  let suspenseId = 0;
@@ -11884,7 +11939,7 @@ app.use(vaporInteropPlugin)
11884
11939
  parentSuspense,
11885
11940
  parentComponent,
11886
11941
  node.parentNode,
11887
- // eslint-disable-next-line no-restricted-globals
11942
+ // oxlint-disable-next-line no-restricted-globals
11888
11943
  document.createElement("div"),
11889
11944
  null,
11890
11945
  namespace,
@@ -12029,11 +12084,11 @@ app.use(vaporInteropPlugin)
12029
12084
  return comp;
12030
12085
  }
12031
12086
 
12032
- const Fragment = Symbol.for("v-fgt");
12033
- const Text = Symbol.for("v-txt");
12034
- const Comment = Symbol.for("v-cmt");
12035
- const Static = Symbol.for("v-stc");
12036
- const VaporSlot = Symbol.for("v-vps");
12087
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
12088
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
12089
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
12090
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
12091
+ const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
12037
12092
  const blockStack = [];
12038
12093
  let currentBlock = null;
12039
12094
  function openBlock(disableTracking = false) {
@@ -12435,7 +12490,7 @@ Component that was made reactive: `,
12435
12490
  simpleSetCurrentInstance(instance);
12436
12491
  }
12437
12492
  };
12438
- const internalOptions = ["ce", "type"];
12493
+ const internalOptions = ["ce", "type", "uid"];
12439
12494
  const useInstanceOption = (key, silent = false) => {
12440
12495
  const instance = getCurrentGenericInstance();
12441
12496
  if (!instance) {
@@ -12455,7 +12510,7 @@ Component that was made reactive: `,
12455
12510
  return { hasInstance: true, value: instance[key] };
12456
12511
  };
12457
12512
 
12458
- const emptyAppContext = createAppContext();
12513
+ const emptyAppContext = /* @__PURE__ */ createAppContext();
12459
12514
  let uid = 0;
12460
12515
  function createComponentInstance(vnode, parent, suspense) {
12461
12516
  const type = vnode.type;
@@ -13097,7 +13152,7 @@ Component that was made reactive: `,
13097
13152
  return true;
13098
13153
  }
13099
13154
 
13100
- const version = "3.6.0-alpha.7";
13155
+ const version = "3.6.0-beta.2";
13101
13156
  const warn = warn$1 ;
13102
13157
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
13103
13158
  const devtools = devtools$1 ;
@@ -13197,7 +13252,7 @@ Component that was made reactive: `,
13197
13252
 
13198
13253
  const TRANSITION$1 = "transition";
13199
13254
  const ANIMATION = "animation";
13200
- const vtcKey = Symbol("_vtc");
13255
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
13201
13256
  const DOMTransitionPropsValidators = {
13202
13257
  name: String,
13203
13258
  type: String,
@@ -13527,8 +13582,8 @@ Component that was made reactive: `,
13527
13582
  }
13528
13583
  }
13529
13584
 
13530
- const vShowOriginalDisplay = Symbol("_vod");
13531
- const vShowHidden = Symbol("_vsh");
13585
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
13586
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
13532
13587
  const vShow = {
13533
13588
  // used for prop mismatch check during hydration
13534
13589
  name: "show",
@@ -13570,7 +13625,7 @@ Component that was made reactive: `,
13570
13625
  el[vShowHidden] = !value;
13571
13626
  }
13572
13627
 
13573
- const CSS_VAR_TEXT = Symbol("CSS_VAR_TEXT" );
13628
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol("CSS_VAR_TEXT" );
13574
13629
  function useCssVars(getter) {
13575
13630
  const instance = getCurrentInstance();
13576
13631
  const getVars = () => getter(instance.proxy);
@@ -13780,7 +13835,7 @@ Component that was made reactive: `,
13780
13835
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
13781
13836
  function compatCoerceAttr(el, key, value, instance = null) {
13782
13837
  if (isEnumeratedAttr(key)) {
13783
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
13838
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
13784
13839
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
13785
13840
  "ATTR_ENUMERATED_COERCION",
13786
13841
  instance,
@@ -13875,7 +13930,7 @@ Component that was made reactive: `,
13875
13930
  function removeEventListener(el, event, handler, options) {
13876
13931
  el.removeEventListener(event, handler, options);
13877
13932
  }
13878
- const veiKey = Symbol("_vei");
13933
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
13879
13934
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
13880
13935
  const invokers = el[veiKey] || (el[veiKey] = {});
13881
13936
  const existingInvoker = invokers[rawName];
@@ -14525,8 +14580,8 @@ Expected function or array of functions, received type ${typeof value}.`
14525
14580
 
14526
14581
  const positionMap = /* @__PURE__ */ new WeakMap();
14527
14582
  const newPositionMap = /* @__PURE__ */ new WeakMap();
14528
- const moveCbKey = Symbol("_moveCb");
14529
- const enterCbKey = Symbol("_enterCb");
14583
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
14584
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
14530
14585
  const decorate = (t) => {
14531
14586
  delete t.props.mode;
14532
14587
  {
@@ -14698,7 +14753,7 @@ Expected function or array of functions, received type ${typeof value}.`
14698
14753
  target.dispatchEvent(new Event("input"));
14699
14754
  }
14700
14755
  }
14701
- const assignKey = Symbol("_assign");
14756
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
14702
14757
  const vModelText = {
14703
14758
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
14704
14759
  el[assignKey] = getModelAssigner(vnode);
@@ -15193,6 +15248,7 @@ Expected function or array of functions, received type ${typeof value}.`
15193
15248
  ErrorTypeStrings: ErrorTypeStrings,
15194
15249
  Fragment: Fragment,
15195
15250
  KeepAlive: KeepAlive,
15251
+ MoveType: MoveType,
15196
15252
  ReactiveEffect: ReactiveEffect,
15197
15253
  Static: Static,
15198
15254
  Suspense: Suspense,
@@ -15390,81 +15446,81 @@ Make sure to use the production build (*.prod.js) when deploying for production.
15390
15446
  return Vue;
15391
15447
  }
15392
15448
 
15393
- const FRAGMENT = Symbol(`Fragment` );
15394
- const TELEPORT = Symbol(`Teleport` );
15395
- const SUSPENSE = Symbol(`Suspense` );
15396
- const KEEP_ALIVE = Symbol(`KeepAlive` );
15397
- const BASE_TRANSITION = Symbol(
15449
+ const FRAGMENT = /* @__PURE__ */ Symbol(`Fragment` );
15450
+ const TELEPORT = /* @__PURE__ */ Symbol(`Teleport` );
15451
+ const SUSPENSE = /* @__PURE__ */ Symbol(`Suspense` );
15452
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(`KeepAlive` );
15453
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
15398
15454
  `BaseTransition`
15399
15455
  );
15400
- const OPEN_BLOCK = Symbol(`openBlock` );
15401
- const CREATE_BLOCK = Symbol(`createBlock` );
15402
- const CREATE_ELEMENT_BLOCK = Symbol(
15456
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(`openBlock` );
15457
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(`createBlock` );
15458
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
15403
15459
  `createElementBlock`
15404
15460
  );
15405
- const CREATE_VNODE = Symbol(`createVNode` );
15406
- const CREATE_ELEMENT_VNODE = Symbol(
15461
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(`createVNode` );
15462
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
15407
15463
  `createElementVNode`
15408
15464
  );
15409
- const CREATE_COMMENT = Symbol(
15465
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
15410
15466
  `createCommentVNode`
15411
15467
  );
15412
- const CREATE_TEXT = Symbol(
15468
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
15413
15469
  `createTextVNode`
15414
15470
  );
15415
- const CREATE_STATIC = Symbol(
15471
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
15416
15472
  `createStaticVNode`
15417
15473
  );
15418
- const RESOLVE_COMPONENT = Symbol(
15474
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
15419
15475
  `resolveComponent`
15420
15476
  );
15421
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
15477
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
15422
15478
  `resolveDynamicComponent`
15423
15479
  );
15424
- const RESOLVE_DIRECTIVE = Symbol(
15480
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
15425
15481
  `resolveDirective`
15426
15482
  );
15427
- const RESOLVE_FILTER = Symbol(
15483
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
15428
15484
  `resolveFilter`
15429
15485
  );
15430
- const WITH_DIRECTIVES = Symbol(
15486
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
15431
15487
  `withDirectives`
15432
15488
  );
15433
- const RENDER_LIST = Symbol(`renderList` );
15434
- const RENDER_SLOT = Symbol(`renderSlot` );
15435
- const CREATE_SLOTS = Symbol(`createSlots` );
15436
- const TO_DISPLAY_STRING = Symbol(
15489
+ const RENDER_LIST = /* @__PURE__ */ Symbol(`renderList` );
15490
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(`renderSlot` );
15491
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(`createSlots` );
15492
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
15437
15493
  `toDisplayString`
15438
15494
  );
15439
- const MERGE_PROPS = Symbol(`mergeProps` );
15440
- const NORMALIZE_CLASS = Symbol(
15495
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(`mergeProps` );
15496
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
15441
15497
  `normalizeClass`
15442
15498
  );
15443
- const NORMALIZE_STYLE = Symbol(
15499
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
15444
15500
  `normalizeStyle`
15445
15501
  );
15446
- const NORMALIZE_PROPS = Symbol(
15502
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
15447
15503
  `normalizeProps`
15448
15504
  );
15449
- const GUARD_REACTIVE_PROPS = Symbol(
15505
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
15450
15506
  `guardReactiveProps`
15451
15507
  );
15452
- const TO_HANDLERS = Symbol(`toHandlers` );
15453
- const CAMELIZE = Symbol(`camelize` );
15454
- const CAPITALIZE = Symbol(`capitalize` );
15455
- const TO_HANDLER_KEY = Symbol(
15508
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(`toHandlers` );
15509
+ const CAMELIZE = /* @__PURE__ */ Symbol(`camelize` );
15510
+ const CAPITALIZE = /* @__PURE__ */ Symbol(`capitalize` );
15511
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
15456
15512
  `toHandlerKey`
15457
15513
  );
15458
- const SET_BLOCK_TRACKING = Symbol(
15514
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
15459
15515
  `setBlockTracking`
15460
15516
  );
15461
- const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
15462
- const POP_SCOPE_ID = Symbol(`popScopeId` );
15463
- const WITH_CTX = Symbol(`withCtx` );
15464
- const UNREF = Symbol(`unref` );
15465
- const IS_REF = Symbol(`isRef` );
15466
- const WITH_MEMO = Symbol(`withMemo` );
15467
- const IS_MEMO_SAME = Symbol(`isMemoSame` );
15517
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(`pushScopeId` );
15518
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(`popScopeId` );
15519
+ const WITH_CTX = /* @__PURE__ */ Symbol(`withCtx` );
15520
+ const UNREF = /* @__PURE__ */ Symbol(`unref` );
15521
+ const IS_REF = /* @__PURE__ */ Symbol(`isRef` );
15522
+ const WITH_MEMO = /* @__PURE__ */ Symbol(`withMemo` );
15523
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(`isMemoSame` );
15468
15524
  const helperNameMap = {
15469
15525
  [FRAGMENT]: `Fragment`,
15470
15526
  [TELEPORT]: `Teleport`,
@@ -15759,14 +15815,28 @@ Make sure to use the production build (*.prod.js) when deploying for production.
15759
15815
  getPos(index) {
15760
15816
  let line = 1;
15761
15817
  let column = index + 1;
15762
- for (let i = this.newlines.length - 1; i >= 0; i--) {
15763
- const newlineIndex = this.newlines[i];
15764
- if (index > newlineIndex) {
15765
- line = i + 2;
15766
- column = index - newlineIndex;
15767
- break;
15818
+ const length = this.newlines.length;
15819
+ let j = -1;
15820
+ if (length > 100) {
15821
+ let l = -1;
15822
+ let r = length;
15823
+ while (l + 1 < r) {
15824
+ const m = l + r >>> 1;
15825
+ this.newlines[m] < index ? l = m : r = m;
15826
+ }
15827
+ j = l;
15828
+ } else {
15829
+ for (let i = length - 1; i >= 0; i--) {
15830
+ if (index > this.newlines[i]) {
15831
+ j = i;
15832
+ break;
15833
+ }
15768
15834
  }
15769
15835
  }
15836
+ if (j >= 0) {
15837
+ line = j + 2;
15838
+ column = index - this.newlines[j];
15839
+ }
15770
15840
  return {
15771
15841
  column,
15772
15842
  line,
@@ -16581,7 +16651,7 @@ Make sure to use the production build (*.prod.js) when deploying for production.
16581
16651
  [32]: `v-for has invalid expression.`,
16582
16652
  [33]: `<template v-for> key should be placed on the <template> tag.`,
16583
16653
  [34]: `v-bind is missing expression.`,
16584
- [52]: `v-bind with same-name shorthand only allows static argument.`,
16654
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
16585
16655
  [35]: `v-on is missing expression.`,
16586
16656
  [36]: `Unexpected custom directive on <slot> outlet.`,
16587
16657
  [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.`,
@@ -16593,16 +16663,17 @@ Make sure to use the production build (*.prod.js) when deploying for production.
16593
16663
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
16594
16664
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
16595
16665
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
16596
- [45]: `Error parsing JavaScript expression: `,
16597
- [46]: `<KeepAlive> expects exactly one child component.`,
16598
- [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.`,
16666
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
16667
+ [46]: `Error parsing JavaScript expression: `,
16668
+ [47]: `<KeepAlive> expects exactly one child component.`,
16669
+ [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.`,
16599
16670
  // generic errors
16600
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16601
- [48]: `ES module mode is not supported in this build of compiler.`,
16602
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16603
- [50]: `"scopeId" option is only supported in module mode.`,
16671
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
16672
+ [49]: `ES module mode is not supported in this build of compiler.`,
16673
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
16674
+ [51]: `"scopeId" option is only supported in module mode.`,
16604
16675
  // just to fulfill types
16605
- [53]: ``
16676
+ [54]: ``
16606
16677
  };
16607
16678
 
16608
16679
  const isStaticExp = (p) => p.type === 4 && p.isStatic;
@@ -18792,7 +18863,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18792
18863
  }
18793
18864
  context.onError(
18794
18865
  createCompilerError(
18795
- 45,
18866
+ 46,
18796
18867
  node.loc,
18797
18868
  void 0,
18798
18869
  message
@@ -19558,7 +19629,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19558
19629
  patchFlag |= 1024;
19559
19630
  if (node.children.length > 1) {
19560
19631
  context.onError(
19561
- createCompilerError(46, {
19632
+ createCompilerError(47, {
19562
19633
  start: node.children[0].loc.start,
19563
19634
  end: node.children[node.children.length - 1].loc.end,
19564
19635
  source: ""
@@ -20145,7 +20216,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20145
20216
  if (arg.isStatic) {
20146
20217
  let rawName = arg.content;
20147
20218
  if (rawName.startsWith("vnode")) {
20148
- context.onError(createCompilerError(51, arg.loc));
20219
+ context.onError(createCompilerError(52, arg.loc));
20149
20220
  }
20150
20221
  if (rawName.startsWith("vue:")) {
20151
20222
  rawName = `vnode-${rawName.slice(4)}`;
@@ -20378,6 +20449,10 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20378
20449
  context.onError(createCompilerError(44, exp.loc));
20379
20450
  return createTransformProps();
20380
20451
  }
20452
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
20453
+ context.onError(createCompilerError(45, exp.loc));
20454
+ return createTransformProps();
20455
+ }
20381
20456
  if (!expString.trim() || !isMemberExpression(exp) && true) {
20382
20457
  context.onError(
20383
20458
  createCompilerError(42, exp.loc)
@@ -20606,7 +20681,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20606
20681
  if (arg.type !== 4 || !arg.isStatic) {
20607
20682
  context.onError(
20608
20683
  createCompilerError(
20609
- 52,
20684
+ 53,
20610
20685
  arg.loc
20611
20686
  )
20612
20687
  );
@@ -20650,17 +20725,17 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20650
20725
  const isModuleMode = options.mode === "module";
20651
20726
  {
20652
20727
  if (options.prefixIdentifiers === true) {
20653
- onError(createCompilerError(47));
20654
- } else if (isModuleMode) {
20655
20728
  onError(createCompilerError(48));
20729
+ } else if (isModuleMode) {
20730
+ onError(createCompilerError(49));
20656
20731
  }
20657
20732
  }
20658
20733
  const prefixIdentifiers = false;
20659
20734
  if (options.cacheHandlers) {
20660
- onError(createCompilerError(49));
20735
+ onError(createCompilerError(50));
20661
20736
  }
20662
20737
  if (options.scopeId && !isModuleMode) {
20663
- onError(createCompilerError(50));
20738
+ onError(createCompilerError(51));
20664
20739
  }
20665
20740
  const resolvedOptions = extend({}, options, {
20666
20741
  prefixIdentifiers
@@ -20688,26 +20763,26 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20688
20763
 
20689
20764
  const noopDirectiveTransform = () => ({ props: [] });
20690
20765
 
20691
- const V_MODEL_RADIO = Symbol(`vModelRadio` );
20692
- const V_MODEL_CHECKBOX = Symbol(
20766
+ const V_MODEL_RADIO = /* @__PURE__ */ Symbol(`vModelRadio` );
20767
+ const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol(
20693
20768
  `vModelCheckbox`
20694
20769
  );
20695
- const V_MODEL_TEXT = Symbol(`vModelText` );
20696
- const V_MODEL_SELECT = Symbol(
20770
+ const V_MODEL_TEXT = /* @__PURE__ */ Symbol(`vModelText` );
20771
+ const V_MODEL_SELECT = /* @__PURE__ */ Symbol(
20697
20772
  `vModelSelect`
20698
20773
  );
20699
- const V_MODEL_DYNAMIC = Symbol(
20774
+ const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol(
20700
20775
  `vModelDynamic`
20701
20776
  );
20702
- const V_ON_WITH_MODIFIERS = Symbol(
20777
+ const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol(
20703
20778
  `vOnModifiersGuard`
20704
20779
  );
20705
- const V_ON_WITH_KEYS = Symbol(
20780
+ const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol(
20706
20781
  `vOnKeysGuard`
20707
20782
  );
20708
- const V_SHOW = Symbol(`vShow` );
20709
- const TRANSITION = Symbol(`Transition` );
20710
- const TRANSITION_GROUP = Symbol(
20783
+ const V_SHOW = /* @__PURE__ */ Symbol(`vShow` );
20784
+ const TRANSITION = /* @__PURE__ */ Symbol(`Transition` );
20785
+ const TRANSITION_GROUP = /* @__PURE__ */ Symbol(
20711
20786
  `TransitionGroup`
20712
20787
  );
20713
20788
  registerRuntimeHelpers({
@@ -20818,31 +20893,31 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20818
20893
  );
20819
20894
  }
20820
20895
  const DOMErrorMessages = {
20821
- [53]: `v-html is missing expression.`,
20822
- [54]: `v-html will override element children.`,
20823
- [55]: `v-text is missing expression.`,
20824
- [56]: `v-text will override element children.`,
20825
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
20826
- [58]: `v-model argument is not supported on plain elements.`,
20827
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
20828
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
20829
- [61]: `v-show is missing expression.`,
20830
- [62]: `<Transition> expects exactly one child element or component.`,
20831
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
20896
+ [54]: `v-html is missing expression.`,
20897
+ [55]: `v-html will override element children.`,
20898
+ [56]: `v-text is missing expression.`,
20899
+ [57]: `v-text will override element children.`,
20900
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
20901
+ [59]: `v-model argument is not supported on plain elements.`,
20902
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
20903
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
20904
+ [62]: `v-show is missing expression.`,
20905
+ [63]: `<Transition> expects exactly one child element or component.`,
20906
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`,
20832
20907
  // just to fulfill types
20833
- [64]: ``
20908
+ [65]: ``
20834
20909
  };
20835
20910
 
20836
20911
  const transformVHtml = (dir, node, context) => {
20837
20912
  const { exp, loc } = dir;
20838
20913
  if (!exp) {
20839
20914
  context.onError(
20840
- createDOMCompilerError(53, loc)
20915
+ createDOMCompilerError(54, loc)
20841
20916
  );
20842
20917
  }
20843
20918
  if (node.children.length) {
20844
20919
  context.onError(
20845
- createDOMCompilerError(54, loc)
20920
+ createDOMCompilerError(55, loc)
20846
20921
  );
20847
20922
  node.children.length = 0;
20848
20923
  }
@@ -20860,12 +20935,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20860
20935
  const { exp, loc } = dir;
20861
20936
  if (!exp) {
20862
20937
  context.onError(
20863
- createDOMCompilerError(55, loc)
20938
+ createDOMCompilerError(56, loc)
20864
20939
  );
20865
20940
  }
20866
20941
  if (node.children.length) {
20867
20942
  context.onError(
20868
- createDOMCompilerError(56, loc)
20943
+ createDOMCompilerError(57, loc)
20869
20944
  );
20870
20945
  node.children.length = 0;
20871
20946
  }
@@ -20891,7 +20966,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20891
20966
  if (dir.arg) {
20892
20967
  context.onError(
20893
20968
  createDOMCompilerError(
20894
- 58,
20969
+ 59,
20895
20970
  dir.arg.loc
20896
20971
  )
20897
20972
  );
@@ -20901,7 +20976,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20901
20976
  if (value && isStaticArgOf(value.arg, "value")) {
20902
20977
  context.onError(
20903
20978
  createDOMCompilerError(
20904
- 60,
20979
+ 61,
20905
20980
  value.loc
20906
20981
  )
20907
20982
  );
@@ -20929,7 +21004,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20929
21004
  isInvalidType = true;
20930
21005
  context.onError(
20931
21006
  createDOMCompilerError(
20932
- 59,
21007
+ 60,
20933
21008
  dir.loc
20934
21009
  )
20935
21010
  );
@@ -20955,7 +21030,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20955
21030
  } else {
20956
21031
  context.onError(
20957
21032
  createDOMCompilerError(
20958
- 57,
21033
+ 58,
20959
21034
  dir.loc
20960
21035
  )
20961
21036
  );
@@ -21066,7 +21141,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21066
21141
  const { exp, loc } = dir;
21067
21142
  if (!exp) {
21068
21143
  context.onError(
21069
- createDOMCompilerError(61, loc)
21144
+ createDOMCompilerError(62, loc)
21070
21145
  );
21071
21146
  }
21072
21147
  return {
@@ -21090,7 +21165,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21090
21165
  }
21091
21166
  if (hasMultipleChildren(node)) {
21092
21167
  onError(
21093
- createDOMCompilerError(62, {
21168
+ createDOMCompilerError(63, {
21094
21169
  start: node.children[0].loc.start,
21095
21170
  end: node.children[node.children.length - 1].loc.end,
21096
21171
  source: ""
@@ -21125,7 +21200,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21125
21200
  if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
21126
21201
  context.onError(
21127
21202
  createDOMCompilerError(
21128
- 63,
21203
+ 64,
21129
21204
  node.loc
21130
21205
  )
21131
21206
  );