@vue/compat 3.6.0-rc.1 → 3.6.0-rc.11

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,30 +1,30 @@
1
1
  //#region packages/shared/src/slotFlags.d.ts
2
2
  declare enum SlotFlags {
3
3
  /**
4
- * Stable slots that only reference slot props or context state. The slot
5
- * can fully capture its own dependencies so when passed down the parent won't
6
- * need to force the child to update.
7
- */
4
+ * Stable slots that only reference slot props or context state. The slot
5
+ * can fully capture its own dependencies so when passed down the parent won't
6
+ * need to force the child to update.
7
+ */
8
8
  STABLE = 1,
9
9
  /**
10
- * Slots that reference scope variables (v-for or an outer slot prop), or
11
- * has conditional structure (v-if, v-for). The parent will need to force
12
- * the child to update because the slot does not fully capture its dependencies.
13
- */
10
+ * Slots that reference scope variables (v-for or an outer slot prop), or
11
+ * has conditional structure (v-if, v-for). The parent will need to force
12
+ * the child to update because the slot does not fully capture its dependencies.
13
+ */
14
14
  DYNAMIC = 2,
15
15
  /**
16
- * `<slot/>` being forwarded into a child component. Whether the parent needs
17
- * to update the child is dependent on what kind of slots the parent itself
18
- * received. This has to be refined at runtime, when the child's vnode
19
- * is being created (in `normalizeChildren`)
20
- */
16
+ * `<slot/>` being forwarded into a child component. Whether the parent needs
17
+ * to update the child is dependent on what kind of slots the parent itself
18
+ * received. This has to be refined at runtime, when the child's vnode
19
+ * is being created (in `normalizeChildren`)
20
+ */
21
21
  FORWARDED = 3
22
22
  }
23
23
  //#endregion
24
24
  //#region packages/shared/src/typeUtils.d.ts
25
- type Prettify<T> = { [K in keyof T]: T[K] } & {};
25
+ type Prettify<T> = { [K in keyof T]: T[K]; } & {};
26
26
  type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
27
- type LooseRequired<T> = { [P in keyof (T & Required<T>)]: T[P] };
27
+ type LooseRequired<T> = { [P in keyof (T & Required<T>)]: T[P]; };
28
28
  type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
29
29
  //#endregion
30
30
  //#region packages/reactivity/src/constants.d.ts
@@ -56,25 +56,25 @@ declare class EffectScope implements ReactiveNode {
56
56
  subsTail: Link | undefined;
57
57
  flags: number;
58
58
  /**
59
- * @internal
60
- */
59
+ * @internal
60
+ */
61
61
  cleanups: (() => void)[];
62
62
  /**
63
- * @internal
64
- */
63
+ * @internal
64
+ */
65
65
  cleanupsLength: number;
66
66
  constructor(detached?: boolean);
67
67
  get active(): boolean;
68
68
  pause(): void;
69
69
  /**
70
- * Resumes the effect scope, including all child scopes and effects.
71
- */
70
+ * Resumes the effect scope, including all child scopes and effects.
71
+ */
72
72
  resume(): void;
73
73
  run<T>(fn: () => T): T | undefined;
74
74
  stop(): void;
75
75
  /**
76
- * @internal
77
- */
76
+ * @internal
77
+ */
78
78
  reset(): void;
79
79
  }
80
80
  //#endregion
@@ -133,12 +133,12 @@ declare class ReactiveEffect<T = any> implements ReactiveEffectOptions, Reactive
133
133
  subsTail: Link | undefined;
134
134
  flags: number;
135
135
  /**
136
- * @internal
137
- */
136
+ * @internal
137
+ */
138
138
  cleanups: (() => void)[];
139
139
  /**
140
- * @internal
141
- */
140
+ * @internal
141
+ */
142
142
  cleanupsLength: number;
143
143
  onTrack?: (event: DebuggerEvent) => void;
144
144
  onTrigger?: (event: DebuggerEvent) => void;
@@ -161,15 +161,15 @@ interface WritableComputedOptions<T, S = T> {
161
161
  set: ComputedSetter<S>;
162
162
  }
163
163
  /**
164
- * @private exported by @vue/reactivity for Vue core use, but not exported from
165
- * the main vue package
166
- */
164
+ * @private exported by @vue/reactivity for Vue core use, but not exported from
165
+ * the main vue package
166
+ */
167
167
  declare class ComputedRefImpl<T = any> implements ReactiveNode {
168
168
  fn: ComputedGetter<T>;
169
169
  private readonly setter;
170
170
  /**
171
- * @internal
172
- */
171
+ * @internal
172
+ */
173
173
  _value: T | undefined;
174
174
  subs: Link | undefined;
175
175
  subsTail: Link | undefined;
@@ -177,24 +177,24 @@ declare class ComputedRefImpl<T = any> implements ReactiveNode {
177
177
  depsTail: Link | undefined;
178
178
  flags: ReactiveFlags;
179
179
  /**
180
- * @internal
181
- */
180
+ * @internal
181
+ */
182
182
  readonly __v_isRef = true;
183
183
  /**
184
- * @internal
185
- */
184
+ * @internal
185
+ */
186
186
  readonly __v_isReadonly: boolean;
187
187
  get effect(): this;
188
188
  get dep(): ReactiveNode;
189
189
  /**
190
- * @internal
191
- * for backwards compat
192
- */
190
+ * @internal
191
+ * for backwards compat
192
+ */
193
193
  get _dirty(): boolean;
194
194
  /**
195
- * @internal
196
- * for backwards compat
197
- */
195
+ * @internal
196
+ * for backwards compat
197
+ */
198
198
  set _dirty(v: boolean);
199
199
  onTrack?: (event: DebuggerEvent) => void;
200
200
  onTrigger?: (event: DebuggerEvent) => void;
@@ -212,20 +212,20 @@ interface ReactiveMarker {
212
212
  }
213
213
  type Reactive<T> = UnwrapNestedRefs<T> & (T extends readonly any[] ? ReactiveMarker : {});
214
214
  /**
215
- * Returns a reactive proxy of the object.
216
- *
217
- * The reactive conversion is "deep": it affects all nested properties. A
218
- * reactive object also deeply unwraps any properties that are refs while
219
- * maintaining reactivity.
220
- *
221
- * @example
222
- * ```js
223
- * const obj = reactive({ count: 0 })
224
- * ```
225
- *
226
- * @param target - The source object.
227
- * @see {@link https://vuejs.org/api/reactivity-core.html#reactive}
228
- */
215
+ * Returns a reactive proxy of the object.
216
+ *
217
+ * The reactive conversion is "deep": it affects all nested properties. A
218
+ * reactive object also deeply unwraps any properties that are refs while
219
+ * maintaining reactivity.
220
+ *
221
+ * @example
222
+ * ```js
223
+ * const obj = reactive({ count: 0 })
224
+ * ```
225
+ *
226
+ * @param target - The source object.
227
+ * @see {@link https://vuejs.org/api/reactivity-core.html#reactive}
228
+ */
229
229
  declare function reactive<T extends object>(target: T): Reactive<T>;
230
230
  declare class ShallowReactiveBrandClass {
231
231
  private __shallowReactiveBrand?;
@@ -241,10 +241,10 @@ interface Ref<T = any, S = T> {
241
241
  get value(): T;
242
242
  set value(_: S);
243
243
  /**
244
- * Type differentiator only.
245
- * We need this to be in public d.ts but don't want it to show up in IDE
246
- * autocomplete, so we use a private Symbol instead.
247
- */
244
+ * Type differentiator only.
245
+ * We need this to be in public d.ts but don't want it to show up in IDE
246
+ * autocomplete, so we use a private Symbol instead.
247
+ */
248
248
  [RefSymbol]: true;
249
249
  }
250
250
  declare const ShallowRefMarker: unique symbol;
@@ -252,25 +252,25 @@ type ShallowRef<T = any, S = T> = Ref<T, S> & {
252
252
  [ShallowRefMarker]?: true;
253
253
  };
254
254
  /**
255
- * This is a special exported interface for other packages to declare
256
- * additional types that should bail out for ref unwrapping. For example
257
- * \@vue/runtime-dom can declare it like so in its d.ts:
258
- *
259
- * ``` ts
260
- * declare module '@vue/reactivity' {
261
- * export interface RefUnwrapBailTypes {
262
- * runtimeDOMBailTypes: Node | Window
263
- * }
264
- * }
265
- * ```
266
- */
255
+ * This is a special exported interface for other packages to declare
256
+ * additional types that should bail out for ref unwrapping. For example
257
+ * \@vue/runtime-dom can declare it like so in its d.ts:
258
+ *
259
+ * ``` ts
260
+ * declare module '@vue/reactivity' {
261
+ * export interface RefUnwrapBailTypes {
262
+ * runtimeDOMBailTypes: Node | Window
263
+ * }
264
+ * }
265
+ * ```
266
+ */
267
267
  interface RefUnwrapBailTypes {}
268
- type ShallowUnwrapRef<T> = T extends ShallowReactiveBrand ? T : { [K in keyof T]: DistributeRef<T[K]> };
268
+ type ShallowUnwrapRef<T> = T extends ShallowReactiveBrand ? T : { [K in keyof T]: DistributeRef<T[K]>; };
269
269
  type DistributeRef<T> = T extends Ref<infer V, unknown> ? V : T;
270
270
  type UnwrapRef<T> = T extends ShallowRef<infer V, unknown> ? V : T extends Ref<infer V, unknown> ? UnwrapRefSimple<V> : UnwrapRefSimple<T>;
271
271
  type UnwrapRefSimple<T> = T extends Builtin | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] | {
272
272
  [RawSymbol]?: true;
273
- } ? T : T extends ShallowReactiveBrand ? T : T extends Map<infer K, infer V> ? Map<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Map<any, any>>> : T extends WeakMap<infer K, infer V> ? WeakMap<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakMap<any, any>>> : T extends Set<infer V> ? Set<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Set<any>>> : T extends WeakSet<infer V> ? WeakSet<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakSet<any>>> : T extends ReadonlyArray<any> ? { [K in keyof T]: UnwrapRefSimple<T[K]> } : T extends object ? { [P in keyof T]: P extends symbol ? T[P] : UnwrapRef<T[P]> } : T;
273
+ } ? T : T extends ShallowReactiveBrand ? T : T extends Map<infer K, infer V> ? Map<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Map<any, any>>> : T extends WeakMap<infer K, infer V> ? WeakMap<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakMap<any, any>>> : T extends Set<infer V> ? Set<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Set<any>>> : T extends WeakSet<infer V> ? WeakSet<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakSet<any>>> : T extends ReadonlyArray<any> ? { [K in keyof T]: UnwrapRefSimple<T[K]>; } : T extends object ? { [P in keyof T]: P extends symbol ? T[P] : UnwrapRef<T[P]>; } : T;
274
274
  //#endregion
275
275
  //#region packages/reactivity/src/watch.d.ts
276
276
  type WatchCallback<V = any, OV = any> = (value: V, oldValue: OV, onCleanup: OnCleanup) => any;
@@ -287,24 +287,24 @@ declare const SlotSymbol: unique symbol;
287
287
  type SlotsType<T extends Record<string, any> = Record<string, any>> = {
288
288
  [SlotSymbol]?: T;
289
289
  };
290
- type UnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<Prettify<{ [K in keyof T]: NonNullable<T[K]> extends ((...args: any[]) => any) ? T[K] : Slot<T[K]> }>>;
290
+ type UnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<Prettify<{ [K in keyof T]: NonNullable<T[K]> extends ((...args: any[]) => any) ? T[K] : Slot<T[K]>; }>>;
291
291
  type RawSlots = {
292
292
  [name: string]: unknown;
293
293
  $stable?: boolean;
294
294
  /**
295
- * for tracking slot owner instance. This is attached during
296
- * normalizeChildren when the component vnode is created.
297
- * @internal
298
- */
295
+ * for tracking slot owner instance. This is attached during
296
+ * normalizeChildren when the component vnode is created.
297
+ * @internal
298
+ */
299
299
  _ctx?: ComponentInternalInstance | null;
300
300
  /**
301
- * indicates compiler generated slots
302
- * we use a reserved property instead of a vnode patchFlag because the slots
303
- * object may be directly passed down to a child component in a manual
304
- * render function, and the optimization hint need to be on the slot object
305
- * itself to be preserved.
306
- * @internal
307
- */
301
+ * indicates compiler generated slots
302
+ * we use a reserved property instead of a vnode patchFlag because the slots
303
+ * object may be directly passed down to a child component in a manual
304
+ * render function, and the optimization hint need to be on the slot object
305
+ * itself to be preserved.
306
+ * @internal
307
+ */
308
308
  _?: SlotFlags;
309
309
  };
310
310
  //#endregion
@@ -312,34 +312,39 @@ type RawSlots = {
312
312
  declare enum SchedulerJobFlags {
313
313
  QUEUED = 1,
314
314
  /**
315
- * Indicates whether the effect is allowed to recursively trigger itself
316
- * when managed by the scheduler.
317
- *
318
- * By default, a job cannot trigger itself because some built-in method calls,
319
- * e.g. Array.prototype.push actually performs reads as well (#1740) which
320
- * can lead to confusing infinite loops.
321
- * The allowed cases are component update functions and watch callbacks.
322
- * Component update functions may update child component props, which in turn
323
- * trigger flush: "pre" watch callbacks that mutates state that the parent
324
- * relies on (#1801). Watch callbacks doesn't track its dependencies so if it
325
- * triggers itself again, it's likely intentional and it is the user's
326
- * responsibility to perform recursive state mutation that eventually
327
- * stabilizes (#1727).
328
- */
315
+ * Indicates whether the effect is allowed to recursively trigger itself
316
+ * when managed by the scheduler.
317
+ *
318
+ * By default, a job cannot trigger itself because some built-in method calls,
319
+ * e.g. Array.prototype.push actually performs reads as well (#1740) which
320
+ * can lead to confusing infinite loops.
321
+ * The allowed cases are component update functions and watch callbacks.
322
+ * Component update functions may update child component props, which in turn
323
+ * trigger flush: "pre" watch callbacks that mutates state that the parent
324
+ * relies on (#1801). Watch callbacks doesn't track its dependencies so if it
325
+ * triggers itself again, it's likely intentional and it is the user's
326
+ * responsibility to perform recursive state mutation that eventually
327
+ * stabilizes (#1727).
328
+ */
329
329
  ALLOW_RECURSE = 2,
330
- DISPOSED = 4
330
+ DISPOSED = 4,
331
+ /**
332
+ * Requeue a Suspense effect if its pending branch is discarded.
333
+ * @internal
334
+ */
335
+ REQUEUE_ON_SUSPENSE_DISCARD = 8
331
336
  }
332
337
  interface SchedulerJob extends Function {
333
338
  order?: number;
334
339
  /**
335
- * flags can technically be undefined, but it can still be used in bitwise
336
- * operations just like 0.
337
- */
340
+ * flags can technically be undefined, but it can still be used in bitwise
341
+ * operations just like 0.
342
+ */
338
343
  flags?: SchedulerJobFlags;
339
344
  /**
340
- * Attached by renderer.ts when setting up a component's render effect
341
- * Used to obtain component information when reporting max recursive updates.
342
- */
345
+ * Attached by renderer.ts when setting up a component's render effect
346
+ * Used to obtain component information when reporting max recursive updates.
347
+ */
343
348
  i?: GenericComponentInstance;
344
349
  }
345
350
  declare function nextTick(): Promise<void>;
@@ -347,7 +352,7 @@ declare function nextTick<T, R>(this: T, fn: (this: T) => R | Promise<R>): Promi
347
352
  //#endregion
348
353
  //#region packages/runtime-core/src/componentProps.d.ts
349
354
  type ComponentPropsOptions<P = Data> = ComponentObjectPropsOptions<P> | string[];
350
- type ComponentObjectPropsOptions<P = Data> = { [K in keyof P]: Prop<P[K]> | null };
355
+ type ComponentObjectPropsOptions<P = Data> = { [K in keyof P]: Prop<P[K]> | null; };
351
356
  type Prop<T, D = T> = PropOptions<T, D> | PropType<T>;
352
357
  type DefaultFactory<T> = (props: Data) => T | null | undefined;
353
358
  interface PropOptions<T = any, D = T> {
@@ -356,12 +361,12 @@ interface PropOptions<T = any, D = T> {
356
361
  default?: D | DefaultFactory<D> | null | undefined | object;
357
362
  validator?(value: unknown, props: Data): boolean;
358
363
  /**
359
- * @internal
360
- */
364
+ * @internal
365
+ */
361
366
  skipCheck?: boolean;
362
367
  /**
363
- * @internal
364
- */
368
+ * @internal
369
+ */
365
370
  skipFactory?: boolean;
366
371
  }
367
372
  type PropType<T> = PropConstructor<T> | (PropConstructor<T> | null)[];
@@ -370,11 +375,11 @@ type PropConstructor<T = any> = {
370
375
  } | {
371
376
  (): T;
372
377
  } | PropMethod<T>;
373
- type PropMethod<T, TConstructor = any> = [T] extends [((...args: any) => any) | undefined] ? {
378
+ type PropMethod<T, TConstructor = any> = {
374
379
  new (): TConstructor;
375
380
  (): T;
376
381
  readonly prototype: TConstructor;
377
- } : never;
382
+ };
378
383
  type RequiredKeys<T> = { [K in keyof T]: T[K] extends {
379
384
  required: true;
380
385
  } | {
@@ -383,7 +388,7 @@ type RequiredKeys<T> = { [K in keyof T]: T[K] extends {
383
388
  type: BooleanConstructor;
384
389
  } ? T[K] extends {
385
390
  default: undefined | (() => undefined);
386
- } ? never : K : never }[keyof T];
391
+ } ? never : K : never; }[keyof T];
387
392
  type OptionalKeys<T> = Exclude<keyof T, RequiredKeys<T>>;
388
393
  type DefaultKeys<T> = { [K in keyof T]: T[K] extends {
389
394
  default: any;
@@ -392,7 +397,7 @@ type DefaultKeys<T> = { [K in keyof T]: T[K] extends {
392
397
  } ? T[K] extends {
393
398
  type: BooleanConstructor;
394
399
  required: true;
395
- } ? never : K : never }[keyof T];
400
+ } ? never : K : never; }[keyof T];
396
401
  type InferPropType<T, NullAsAny = true> = [T] extends [null] ? NullAsAny extends true ? any : null : [T] extends [{
397
402
  type: null | true;
398
403
  }] ? any : [T] extends [ObjectConstructor | {
@@ -403,32 +408,32 @@ type InferPropType<T, NullAsAny = true> = [T] extends [null] ? NullAsAny extends
403
408
  type: DateConstructor;
404
409
  }] ? Date : [T] extends [(infer U)[] | {
405
410
  type: (infer U)[];
406
- }] ? U extends DateConstructor ? Date | InferPropType<U, false> : InferPropType<U, false> : [T] extends [Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? IfAny<V, V, D> : V : V : T;
411
+ }] ? U extends DateConstructor ? Date | InferPropType<U, false> : InferPropType<U, false> : [T] extends [Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? IfAny<V, V, unknown extends D ? V : D> : V : V : T;
407
412
  /**
408
- * Extract prop types from a runtime props options object.
409
- * The extracted types are **internal** - i.e. the resolved props received by
410
- * the component.
411
- * - Boolean props are always present
412
- * - Props with default values are always present
413
- *
414
- * To extract accepted props from the parent, use {@link ExtractPublicPropTypes}.
415
- */
413
+ * Extract prop types from a runtime props options object.
414
+ * The extracted types are **internal** - i.e. the resolved props received by
415
+ * the component.
416
+ * - Boolean props are always present
417
+ * - Props with default values are always present
418
+ *
419
+ * To extract accepted props from the parent, use {@link ExtractPublicPropTypes}.
420
+ */
416
421
  type ExtractPropTypes<O> = { [K in keyof Pick<O, RequiredKeys<O>>]: O[K] extends {
417
422
  default: any;
418
- } ? Exclude<InferPropType<O[K]>, undefined> : InferPropType<O[K]> } & { [K in keyof Pick<O, OptionalKeys<O>>]?: InferPropType<O[K]> };
423
+ } ? Exclude<InferPropType<O[K]>, undefined> : InferPropType<O[K]>; } & { [K in keyof Pick<O, OptionalKeys<O>>]?: InferPropType<O[K]>; };
419
424
  declare enum BooleanFlags {
420
425
  shouldCast = 0,
421
426
  shouldCastTrue = 1
422
427
  }
423
- type ExtractDefaultPropTypes<O> = O extends object ? { [K in keyof Pick<O, DefaultKeys<O>>]: InferPropType<O[K]> } : {};
428
+ type ExtractDefaultPropTypes<O> = O extends object ? { [K in keyof Pick<O, DefaultKeys<O>>]: InferPropType<O[K]>; } : {};
424
429
  type NormalizedProp = PropOptions & {
425
430
  [BooleanFlags.shouldCast]?: boolean;
426
431
  [BooleanFlags.shouldCastTrue]?: boolean;
427
432
  };
428
433
  /**
429
- * normalized value is a tuple of the actual normalized options
430
- * and an array of prop keys that need value casting (booleans and defaults)
431
- */
434
+ * normalized value is a tuple of the actual normalized options
435
+ * and an array of prop keys that need value casting (booleans and defaults)
436
+ */
432
437
  type NormalizedProps = Record<string, NormalizedProp>;
433
438
  type NormalizedPropsOptions = [NormalizedProps, string[]] | [];
434
439
  //#endregion
@@ -438,9 +443,9 @@ type ComponentTypeEmits = ((...args: any[]) => any) | Record<string, any>;
438
443
  //#region packages/runtime-core/src/componentEmits.d.ts
439
444
  type ObjectEmitsOptions = Record<string, ((...args: any[]) => any) | null | any[]>;
440
445
  type EmitsOptions = ObjectEmitsOptions | string[];
441
- type EmitsToProps<T extends EmitsOptions | ComponentTypeEmits> = T extends string[] ? { [K in `on${Capitalize<T[number]>}`]?: (...args: any[]) => any } : T extends ObjectEmitsOptions ? { [K in string & keyof T as `on${Capitalize<K>}`]?: (...args: T[K] extends ((...args: infer P) => any) ? P : T[K] extends null ? any[] : T[K] extends any[] ? T[K] : never) => any } : {};
442
- type ShortEmitsToObject<E> = E extends Record<string, any[]> ? { [K in keyof E]: (...args: E[K]) => any } : E;
443
- type EmitFn<Options = ObjectEmitsOptions, Event extends keyof Options = keyof Options> = Options extends Array<infer V> ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{ [key in Event]: Options[key] extends ((...args: infer Args) => any) ? (event: key, ...args: Args) => void : Options[key] extends any[] ? (event: key, ...args: Options[key]) => void : (event: key, ...args: any[]) => void }[Event]>;
446
+ type EmitsToProps<T extends EmitsOptions | ComponentTypeEmits> = T extends string[] ? { [K in `on${Capitalize<T[number]>}`]?: (...args: any[]) => any; } : T extends ObjectEmitsOptions ? { [K in string & keyof T as `on${Capitalize<K>}`]?: (...args: T[K] extends ((...args: infer P) => any) ? P : T[K] extends null ? any[] : T[K] extends any[] ? T[K] : never) => any; } : {};
447
+ type ShortEmitsToObject<E> = E extends Record<string, any[]> ? { [K in keyof E]: (...args: E[K]) => any; } : E;
448
+ type EmitFn<Options = ObjectEmitsOptions, Event extends keyof Options = keyof Options> = Options extends Array<infer V> ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{ [key in Event]: Options[key] extends ((...args: infer Args) => any) ? (event: key, ...args: Args) => void : Options[key] extends any[] ? (event: key, ...args: Options[key]) => void : (event: key, ...args: any[]) => void; }[Event]>;
444
449
  //#endregion
445
450
  //#region packages/runtime-core/src/directives.d.ts
446
451
  interface DirectiveBinding<Value = any, Modifiers extends string = string, Arg = any> {
@@ -455,10 +460,10 @@ type DirectiveHook<HostElement = any, Prev = VNode<any, HostElement> | null, Val
455
460
  type SSRDirectiveHook<Value = any, Modifiers extends string = string, Arg = any> = (binding: DirectiveBinding<Value, Modifiers, Arg>, vnode: VNode) => Data | undefined;
456
461
  interface ObjectDirective<HostElement = any, Value = any, Modifiers extends string = string, Arg = any> {
457
462
  /**
458
- * @internal without this, ts-expect-error in directives.test-d.ts somehow
459
- * fails when running tsc, but passes in IDE and when testing against built
460
- * dts. Could be a TS bug.
461
- */
463
+ * @internal without this, ts-expect-error in directives.test-d.ts somehow
464
+ * fails when running tsc, but passes in IDE and when testing against built
465
+ * dts. Could be a TS bug.
466
+ */
462
467
  __mod?: Modifiers;
463
468
  created?: DirectiveHook<HostElement, null, Value, Modifiers, Arg>;
464
469
  beforeMount?: DirectiveHook<HostElement, null, Value, Modifiers, Arg>;
@@ -476,30 +481,30 @@ type DirectiveModifiers<K extends string = string> = Partial<Record<K, boolean>>
476
481
  //#endregion
477
482
  //#region packages/runtime-core/src/componentPublicInstance.d.ts
478
483
  /**
479
- * Custom properties added to component instances in any way and can be accessed through `this`
480
- *
481
- * @example
482
- * Here is an example of adding a property `$router` to every component instance:
483
- * ```ts
484
- * import { createApp } from 'vue'
485
- * import { Router, createRouter } from 'vue-router'
486
- *
487
- * declare module 'vue' {
488
- * interface ComponentCustomProperties {
489
- * $router: Router
490
- * }
491
- * }
492
- *
493
- * // effectively adding the router to every component instance
494
- * const app = createApp({})
495
- * const router = createRouter()
496
- * app.config.globalProperties.$router = router
497
- *
498
- * const vm = app.mount('#app')
499
- * // we can access the router from the instance
500
- * vm.$router.push('/')
501
- * ```
502
- */
484
+ * Custom properties added to component instances in any way and can be accessed through `this`
485
+ *
486
+ * @example
487
+ * Here is an example of adding a property `$router` to every component instance:
488
+ * ```ts
489
+ * import { createApp } from 'vue'
490
+ * import { Router, createRouter } from 'vue-router'
491
+ *
492
+ * declare module 'vue' {
493
+ * interface ComponentCustomProperties {
494
+ * $router: Router
495
+ * }
496
+ * }
497
+ *
498
+ * // effectively adding the router to every component instance
499
+ * const app = createApp({})
500
+ * const router = createRouter()
501
+ * app.config.globalProperties.$router = router
502
+ *
503
+ * const vm = app.mount('#app')
504
+ * // we can access the router from the instance
505
+ * vm.$router.push('/')
506
+ * ```
507
+ */
503
508
  interface ComponentCustomProperties {}
504
509
  type IsDefaultMixinComponent<T> = T extends ComponentOptionsMixin ? ComponentOptionsMixin extends T ? true : false : false;
505
510
  type MixinToOptionTypes<T> = T extends ComponentOptionsBase<infer P, infer B, infer D, infer C, infer M, infer Mixin, infer Extends, any, any, infer Defaults, any, any, any, any, any, any, any> ? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> & IntersectionMixin<Mixin> & IntersectionMixin<Extends> : never;
@@ -516,12 +521,12 @@ type ComponentPublicInstanceConstructor<T extends ComponentPublicInstance<Props,
516
521
  new (...args: any[]): T;
517
522
  };
518
523
  /**
519
- * This is the same as `CreateComponentPublicInstance` but adds local components,
520
- * global directives, exposed, and provide inference.
521
- * It changes the arguments order so that we don't need to repeat mixin
522
- * inference everywhere internally, but it has to be a new type to avoid
523
- * breaking types that relies on previous arguments order (#10842)
524
- */
524
+ * This is the same as `CreateComponentPublicInstance` but adds local components,
525
+ * global directives, exposed, and provide inference.
526
+ * It changes the arguments order so that we don't need to repeat mixin
527
+ * inference everywhere internally, but it has to be a new type to avoid
528
+ * breaking types that relies on previous arguments order (#10842)
529
+ */
525
530
  type CreateComponentPublicInstanceWithMixins<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, TypeRefs extends Data = {}, TypeEl = any, Provide extends ComponentProvideOptions = ComponentProvideOptions, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, "P"> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, "B"> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, "D"> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, "C"> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, "M"> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, "Defaults"> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S, LC, Directives, Exposed, Provide>, I, S, Exposed, TypeRefs, TypeEl>;
526
531
  type ExposedKeys<T, Exposed extends string & keyof T> = "" extends Exposed ? T : Pick<T, Exposed>;
527
532
  type ComponentPublicInstance<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = {}, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, Exposed extends string = "", TypeRefs extends Data = {}, TypeEl = any> = {
@@ -566,15 +571,15 @@ interface SuspenseProps {
566
571
  onPending?: () => void;
567
572
  onFallback?: () => void;
568
573
  /**
569
- * Switch to fallback content if it takes longer than `timeout` milliseconds to render the new default content.
570
- * A `timeout` value of `0` will cause the fallback content to be displayed immediately when default content is replaced.
571
- */
574
+ * Switch to fallback content if it takes longer than `timeout` milliseconds to render the new default content.
575
+ * A `timeout` value of `0` will cause the fallback content to be displayed immediately when default content is replaced.
576
+ */
572
577
  timeout?: string | number;
573
578
  /**
574
- * Allow suspense to be captured by parent suspense
575
- *
576
- * @default false
577
- */
579
+ * Allow suspense to be captured by parent suspense
580
+ *
581
+ * @default false
582
+ */
578
583
  suspensible?: boolean;
579
584
  }
580
585
  declare const SuspenseImpl: {
@@ -769,23 +774,39 @@ declare function configureCompat(config: CompatConfig): void;
769
774
  //#endregion
770
775
  //#region packages/runtime-core/src/componentOptions.d.ts
771
776
  /**
772
- * Interface for declaring custom options.
773
- *
774
- * @example
775
- * ```ts
776
- * declare module 'vue' {
777
- * interface ComponentCustomOptions {
778
- * beforeRouteUpdate?(
779
- * to: Route,
780
- * from: Route,
781
- * next: () => void
782
- * ): void
783
- * }
784
- * }
785
- * ```
786
- */
777
+ * Interface for declaring custom options.
778
+ *
779
+ * @example
780
+ * ```ts
781
+ * declare module 'vue' {
782
+ * interface ComponentCustomOptions {
783
+ * beforeRouteUpdate?(
784
+ * to: Route,
785
+ * from: Route,
786
+ * next: () => void
787
+ * ): void
788
+ * }
789
+ * }
790
+ * ```
791
+ */
787
792
  interface ComponentCustomOptions {}
788
- type RenderFunction = () => VNodeChild;
793
+ /**
794
+ * Registry for additional render result types.
795
+ *
796
+ * @example
797
+ * ```ts
798
+ * import type { VaporRenderResult } from 'vue'
799
+ *
800
+ * declare module 'vue' {
801
+ * interface RenderResultExtensions {
802
+ * vapor: VaporRenderResult
803
+ * }
804
+ * }
805
+ * ```
806
+ */
807
+ interface RenderResultExtensions {}
808
+ type RenderResult = VNodeChild | RenderResultExtensions[keyof RenderResultExtensions] | RenderResult[];
809
+ type RenderFunction = () => RenderResult;
789
810
  interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, E extends EmitsOptions, EE extends string = string, Defaults = {}, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions> extends LegacyOptions<Props, D, C, M, Mixin, Extends, I, II, Provide>, ComponentInternalOptions, AsyncComponentInternalOptions, ComponentCustomOptions {
790
811
  setup?: (this: void, props: LooseRequired<Props & Prettify<UnwrapMixinsType<IntersectionMixin<Mixin> & IntersectionMixin<Extends>, "P">>>, ctx: SetupContext<E, S>) => Promise<RawBindings> | RawBindings | RenderFunction | void;
791
812
  name?: string;
@@ -800,16 +821,16 @@ interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions,
800
821
  serverPrefetch?(): void | Promise<any>;
801
822
  compilerOptions?: RuntimeCompilerOptions;
802
823
  /**
803
- * SSR only. This is produced by compiler-ssr and attached in compiler-sfc
804
- * not user facing, so the typing is lax and for test only.
805
- * @internal
806
- */
824
+ * SSR only. This is produced by compiler-ssr and attached in compiler-sfc
825
+ * not user facing, so the typing is lax and for test only.
826
+ * @internal
827
+ */
807
828
  ssrRender?: (ctx: any, push: (item: any) => void, parentInstance: ComponentInternalInstance, attrs: Data | undefined, $props: ComponentInternalInstance["props"], $setup: ComponentInternalInstance["setupState"], $data: ComponentInternalInstance["data"], $options: ComponentInternalInstance["ctx"]) => void;
808
829
  /**
809
- * Only generated by compiler-sfc to mark a ssr render function inlined and
810
- * returned from setup()
811
- * @internal
812
- */
830
+ * Only generated by compiler-sfc to mark a ssr render function inlined and
831
+ * returned from setup()
832
+ * @internal
833
+ */
813
834
  __ssrInlineRender?: boolean;
814
835
  call?: (this: unknown, ...args: unknown[]) => never;
815
836
  __isFragment?: never;
@@ -818,8 +839,8 @@ interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions,
818
839
  __defaults?: Defaults;
819
840
  }
820
841
  /**
821
- * Subset of compiler options that makes sense for the runtime.
822
- */
842
+ * Subset of compiler options that makes sense for the runtime.
843
+ */
823
844
  interface RuntimeCompilerOptions {
824
845
  isCustomElement?: (tag: string) => boolean;
825
846
  whitespace?: "preserve" | "condense";
@@ -834,7 +855,7 @@ interface MethodOptions {
834
855
  }
835
856
  type ExtractComputedReturns<T extends any> = { [key in keyof T]: T[key] extends {
836
857
  get: (...args: any[]) => infer TReturn;
837
- } ? TReturn : T[key] extends ((...args: any[]) => infer TReturn) ? TReturn : never };
858
+ } ? TReturn : T[key] extends ((...args: any[]) => infer TReturn) ? TReturn : never; };
838
859
  type ObjectWatchOptionItem = {
839
860
  handler: WatchCallback | string;
840
861
  } & WatchOptions;
@@ -848,7 +869,7 @@ type ObjectInjectOptions = Record<string | symbol, string | symbol | {
848
869
  from?: string | symbol;
849
870
  default?: unknown;
850
871
  }>;
851
- type InjectToObject<T extends ComponentInjectOptions> = T extends string[] ? { [K in T[number]]?: unknown } : T extends ObjectInjectOptions ? { [K in keyof T]?: unknown } : never;
872
+ type InjectToObject<T extends ComponentInjectOptions> = T extends string[] ? { [K in T[number]]?: unknown; } : T extends ObjectInjectOptions ? { [K in keyof T]?: unknown; } : never;
852
873
  interface LegacyOptions<Props, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, I extends ComponentInjectOptions, II extends string, Provide extends ComponentProvideOptions = ComponentProvideOptions> {
853
874
  compatConfig?: CompatConfig;
854
875
  [key: string]: any;
@@ -879,18 +900,18 @@ interface LegacyOptions<Props, D, C extends ComputedOptions, M extends MethodOpt
879
900
  renderTriggered?: DebuggerHook;
880
901
  errorCaptured?: ErrorCapturedHook;
881
902
  /**
882
- * runtime compile only
883
- * @deprecated use `compilerOptions.delimiters` instead.
884
- */
903
+ * runtime compile only
904
+ * @deprecated use `compilerOptions.delimiters` instead.
905
+ */
885
906
  delimiters?: [string, string];
886
907
  /**
887
- * #3468
888
- *
889
- * type-only, used to assist Mixin's type inference,
890
- * TypeScript will try to simplify the inferred `Mixin` type,
891
- * with the `__differentiator`, TypeScript won't be able to combine different mixins,
892
- * because the `__differentiator` will be different
893
- */
908
+ * #3468
909
+ *
910
+ * type-only, used to assist Mixin's type inference,
911
+ * TypeScript will try to simplify the inferred `Mixin` type,
912
+ * with the `__differentiator`, TypeScript won't be able to combine different mixins,
913
+ * because the `__differentiator` will be different
914
+ */
894
915
  __differentiator?: keyof D | keyof C | keyof M;
895
916
  }
896
917
  type MergedHook<T = () => void> = T | T[];
@@ -903,9 +924,11 @@ type MergedComponentOptionsOverride = {
903
924
  beforeUpdate?: MergedHook;
904
925
  updated?: MergedHook;
905
926
  activated?: MergedHook;
906
- deactivated?: MergedHook; /** @deprecated use `beforeUnmount` instead */
927
+ deactivated?: MergedHook;
928
+ /** @deprecated use `beforeUnmount` instead */
907
929
  beforeDestroy?: MergedHook;
908
- beforeUnmount?: MergedHook; /** @deprecated use `unmounted` instead */
930
+ beforeUnmount?: MergedHook;
931
+ /** @deprecated use `unmounted` instead */
909
932
  destroyed?: MergedHook;
910
933
  unmounted?: MergedHook;
911
934
  renderTracked?: MergedHook<DebuggerHook>;
@@ -948,11 +971,11 @@ interface App<HostElement = any> {
948
971
  onUnmount(cb: () => void): void;
949
972
  provide<T, K = InjectionKey<T> | string | number>(key: K, value: K extends InjectionKey<infer V> ? V : T): this;
950
973
  /**
951
- * Runs a function with the app as active instance. This allows using of `inject()` within the function to get access
952
- * to variables provided via `app.provide()`.
953
- *
954
- * @param fn - function to run with the app as active instance
955
- */
974
+ * Runs a function with the app as active instance. This allows using of `inject()` within the function to get access
975
+ * to variables provided via `app.provide()`.
976
+ *
977
+ * @param fn - function to run with the app as active instance
978
+ */
956
979
  runWithContext<T>(fn: () => T): T;
957
980
  _uid: number;
958
981
  _component: GenericComponent;
@@ -961,40 +984,40 @@ interface App<HostElement = any> {
961
984
  _context: AppContext;
962
985
  _instance: GenericComponentInstance | null;
963
986
  /**
964
- * @internal custom element vnode
965
- */
987
+ * @internal custom element vnode
988
+ */
966
989
  _ceVNode?: VNode;
967
990
  /**
968
- * @internal vapor custom element instance
969
- */
991
+ * @internal vapor custom element instance
992
+ */
970
993
  _ceComponent?: GenericComponentInstance | null;
971
994
  /**
972
- * v2 compat only
973
- */
995
+ * v2 compat only
996
+ */
974
997
  filter?(name: string): Function | undefined;
975
998
  filter?(name: string, filter: Function): this;
976
999
  /**
977
- * @internal v3 compat only
978
- */
1000
+ * @internal v3 compat only
1001
+ */
979
1002
  _createRoot?(options: ComponentOptions): ComponentPublicInstance;
980
1003
  }
981
1004
  type OptionMergeFunction = (to: unknown, from: unknown) => any;
982
1005
  /**
983
- * Shared app config between vdom and vapor
984
- */
1006
+ * Shared app config between vdom and vapor
1007
+ */
985
1008
  interface GenericAppConfig {
986
1009
  performance?: boolean;
987
1010
  errorHandler?: (err: unknown, instance: ComponentPublicInstance | null, info: string) => void;
988
1011
  warnHandler?: (msg: string, instance: ComponentPublicInstance | null, trace: string) => void;
989
1012
  /**
990
- * Whether to throw unhandled errors in production.
991
- * Default is `false` to avoid crashing on any error (and only logs it)
992
- * But in some cases, e.g. SSR, throwing might be more desirable.
993
- */
1013
+ * Whether to throw unhandled errors in production.
1014
+ * Default is `false` to avoid crashing on any error (and only logs it)
1015
+ * But in some cases, e.g. SSR, throwing might be more desirable.
1016
+ */
994
1017
  throwUnhandledErrorInProduction?: boolean;
995
1018
  /**
996
- * Prefix for all useId() calls within this app
997
- */
1019
+ * Prefix for all useId() calls within this app
1020
+ */
998
1021
  idPrefix?: string;
999
1022
  }
1000
1023
  interface AppConfig extends GenericAppConfig {
@@ -1002,37 +1025,67 @@ interface AppConfig extends GenericAppConfig {
1002
1025
  optionMergeStrategies: Record<string, OptionMergeFunction>;
1003
1026
  globalProperties: ComponentCustomProperties & Record<string, any>;
1004
1027
  /**
1005
- * Options to pass to `@vue/compiler-dom`.
1006
- * Only supported in runtime compiler build.
1007
- */
1028
+ * Options to pass to `@vue/compiler-dom`.
1029
+ * Only supported in runtime compiler build.
1030
+ */
1008
1031
  compilerOptions: RuntimeCompilerOptions;
1009
1032
  /**
1010
- * @deprecated use config.compilerOptions.isCustomElement
1011
- */
1033
+ * @deprecated use config.compilerOptions.isCustomElement
1034
+ */
1012
1035
  isCustomElement?: (tag: string) => boolean;
1013
1036
  }
1014
1037
  /**
1015
- * The vapor in vdom implementation is in runtime-vapor/src/vdomInterop.ts
1016
- */
1017
- interface VaporInteropInterface {
1018
- mount(vnode: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, onBeforeMount?: () => void, onVnodeBeforeMount?: () => void): GenericComponentInstance;
1019
- update(n1: VNode, n2: VNode, shouldUpdate: boolean, onBeforeUpdate?: () => void, onVnodeBeforeUpdate?: () => void): void;
1020
- unmount(vnode: VNode, doRemove?: boolean): void;
1021
- move(vnode: VNode, container: any, anchor: any, moveType: MoveType): void;
1022
- slot(n1: VNode | null, n2: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): void;
1023
- hydrate(vnode: VNode, node: any, container: any, anchor: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, onBeforeMount?: () => void, onVnodeBeforeMount?: () => void): Node;
1024
- hydrateSlot(vnode: VNode, node: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): Node;
1025
- activate(vnode: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance): void;
1026
- deactivate(vnode: VNode, container: any): void;
1038
+ * The vapor in vdom implementation is in runtime-vapor/src/vdomInterop.ts
1039
+ */
1040
+ interface VaporInVdomInterface {
1041
+ mount(vnode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): GenericComponentInstance;
1042
+ update(n1: VNode, n2: VNode, shouldUpdate: boolean): void;
1043
+ unmount(vnode: VNode, doRemove: boolean | undefined, parentSuspense: SuspenseBoundary | null): void;
1044
+ move(vnode: VNode, container: RendererElement, anchor: RendererNode | null, moveType: MoveType, parentSuspense: SuspenseBoundary | null): void;
1045
+ slot(n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null): void;
1046
+ hydrate(vnode: VNode, node: Node, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): Node | null;
1047
+ hydrateSlot(vnode: VNode, node: Node, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null): Node | null;
1048
+ activate(vnode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance, parentSuspense: SuspenseBoundary | null): void;
1049
+ deactivate(vnode: VNode, container: RendererElement, parentSuspense: SuspenseBoundary | null): void;
1027
1050
  setTransitionHooks(component: ComponentInternalInstance, transition: TransitionHooks): void;
1028
- vdomMount: (component: ConcreteComponent, parentComponent: any, props?: any, slots?: any, once?: boolean) => any;
1029
- vdomUnmount: UnmountComponentFn;
1030
- vdomSlot: (slots: any, name: string | (() => string), props: Record<string, any>, parentComponent: any, fallback?: any, once?: boolean, slotRoot?: boolean) => any;
1031
- vdomMountVNode: (vnode: VNode, parentComponent: any) => any;
1051
+ /**
1052
+ * Whether a mounted vapor component or slot vnode renders an element a
1053
+ * Transition can leave.
1054
+ */
1055
+ hasTransitionChild(vnode: VNode): boolean;
1056
+ applyCssVars(vnode: VNode, vars: Record<string, string>): void;
1057
+ /**
1058
+ * Hands the fallback of a vdom outlet over to the vapor slot its content
1059
+ * consists of, if it is that one slot.
1060
+ */
1061
+ attachSlotOutlet(content: VNodeArrayChildren, fallback: () => VNodeArrayChildren, owner: ComponentInternalInstance | null): boolean;
1062
+ /**
1063
+ * Hydrates an outlet marked `vo` whose fallback the server rendered in place
1064
+ * of the whole content (`<!--(-->`).
1065
+ */
1066
+ hydrateSlotOutlet(outlet: VNode, open: Comment, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null): Node | null;
1067
+ }
1068
+ /**
1069
+ * Options for rendering a VDOM slot inside vapor. `flags` carries the
1070
+ * outlet's VaporSlotFlags describing its position in the fallback chain;
1071
+ * see renderVDOMSlot.
1072
+ */
1073
+ interface VdomSlotOptions {
1074
+ fallback?: (...args: any[]) => any;
1075
+ flags?: number;
1076
+ adoptAnchor?: Node;
1077
+ }
1078
+ /**
1079
+ * The vdom in vapor implementation is in runtime-vapor/src/vdomInterop.ts
1080
+ */
1081
+ interface VdomInVaporInterface {
1082
+ mount: (component: ConcreteComponent, parentComponent: any, props?: any, slots?: any, once?: boolean, inputScope?: EffectScope) => any;
1083
+ slot: (slots: any, name: string | (() => string), props: Record<string, any>, parentComponent: any, options?: VdomSlotOptions) => any;
1084
+ mountVNode: (vnode: VNode, parentComponent: any, isSingleRoot?: boolean, rawProps?: any, once?: boolean) => any;
1032
1085
  }
1033
1086
  /**
1034
- * Minimal app context shared between vdom and vapor
1035
- */
1087
+ * Minimal app context shared between vdom and vapor
1088
+ */
1036
1089
  interface GenericAppContext {
1037
1090
  app: App;
1038
1091
  config: GenericAppConfig;
@@ -1040,14 +1093,18 @@ interface GenericAppContext {
1040
1093
  components?: Record<string, Component>;
1041
1094
  directives?: Record<string, Directive>;
1042
1095
  /**
1043
- * HMR only
1044
- * @internal
1045
- */
1096
+ * HMR only
1097
+ * @internal
1098
+ */
1046
1099
  reload?: () => void;
1047
1100
  /**
1048
- * @internal vapor interop only
1049
- */
1050
- vapor?: VaporInteropInterface;
1101
+ * @internal vapor interop only
1102
+ */
1103
+ vapor?: VaporInVdomInterface;
1104
+ /**
1105
+ * @internal vdom interop only
1106
+ */
1107
+ vdom?: VdomInVaporInterface;
1051
1108
  }
1052
1109
  interface AppContext extends GenericAppContext {
1053
1110
  config: AppConfig;
@@ -1055,26 +1112,26 @@ interface AppContext extends GenericAppContext {
1055
1112
  directives: Record<string, Directive>;
1056
1113
  mixins: ComponentOptions[];
1057
1114
  /**
1058
- * Cache for merged/normalized component options
1059
- * Each app instance has its own cache because app-level global mixins and
1060
- * optionMergeStrategies can affect merge behavior.
1061
- * @internal
1062
- */
1115
+ * Cache for merged/normalized component options
1116
+ * Each app instance has its own cache because app-level global mixins and
1117
+ * optionMergeStrategies can affect merge behavior.
1118
+ * @internal
1119
+ */
1063
1120
  optionsCache: WeakMap<ComponentOptions, MergedComponentOptions>;
1064
1121
  /**
1065
- * Cache for normalized props options
1066
- * @internal
1067
- */
1122
+ * Cache for normalized props options
1123
+ * @internal
1124
+ */
1068
1125
  propsCache: WeakMap<ConcreteComponent, NormalizedPropsOptions>;
1069
1126
  /**
1070
- * Cache for normalized emits options
1071
- * @internal
1072
- */
1127
+ * Cache for normalized emits options
1128
+ * @internal
1129
+ */
1073
1130
  emitsCache: WeakMap<ConcreteComponent, ObjectEmitsOptions | null>;
1074
1131
  /**
1075
- * v2 compat only
1076
- * @internal
1077
- */
1132
+ * v2 compat only
1133
+ * @internal
1134
+ */
1078
1135
  filters?: Record<string, Function>;
1079
1136
  }
1080
1137
  type PluginInstallFunction<Options = any[]> = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any;
@@ -1082,7 +1139,7 @@ type ObjectPlugin<Options = any[]> = {
1082
1139
  install: PluginInstallFunction<Options>;
1083
1140
  };
1084
1141
  type FunctionPlugin<Options = any[]> = PluginInstallFunction<Options> & Partial<ObjectPlugin<Options>>;
1085
- type Plugin<Options = any[], P extends unknown[] = (Options extends unknown[] ? Options : [Options])> = FunctionPlugin<P> | ObjectPlugin<P>;
1142
+ type Plugin<Options = any[], P extends unknown[] = Options extends unknown[] ? Options : [Options]> = FunctionPlugin<P> | ObjectPlugin<P>;
1086
1143
  //#endregion
1087
1144
  //#region packages/runtime-core/src/components/Teleport.d.ts
1088
1145
  type TeleportVNode = VNode<RendererNode, RendererElement, TeleportProps>;
@@ -1095,12 +1152,7 @@ declare const TeleportImpl: {
1095
1152
  name: string;
1096
1153
  __isTeleport: boolean;
1097
1154
  process(n1: TeleportVNode | null, n2: TeleportVNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, internals: RendererInternals): void;
1098
- remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, {
1099
- um: unmount,
1100
- o: {
1101
- remove: hostRemove
1102
- }
1103
- }: RendererInternals, doRemove: boolean): void;
1155
+ remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: boolean): void;
1104
1156
  move: typeof moveTeleport;
1105
1157
  hydrate: typeof hydrateTeleport;
1106
1158
  };
@@ -1109,21 +1161,8 @@ declare enum TeleportMoveTypes {
1109
1161
  TOGGLE = 1,
1110
1162
  REORDER = 2
1111
1163
  }
1112
- declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, {
1113
- o: {
1114
- insert
1115
- },
1116
- m: move
1117
- }: RendererInternals, parentComponent: ComponentInternalInstance | null, moveType?: TeleportMoveTypes): void;
1118
- declare function hydrateTeleport(node: Node, vnode: TeleportVNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean, {
1119
- o: {
1120
- nextSibling,
1121
- parentNode,
1122
- querySelector,
1123
- insert,
1124
- createText
1125
- }
1126
- }: RendererInternals<Node, Element>, hydrateChildren: (node: Node | null, vnode: VNode, container: Element, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
1164
+ declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, { o: { insert }, m: move }: RendererInternals, parentComponent: ComponentInternalInstance | null, moveType?: TeleportMoveTypes): void;
1165
+ declare function hydrateTeleport(node: Node, vnode: TeleportVNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean, { o: { nextSibling, parentNode, querySelector, insert, createText } }: RendererInternals<Node, Element>, hydrateChildren: (node: Node | null, vnode: VNode, container: Element, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
1127
1166
  declare const Teleport: {
1128
1167
  __isTeleport: true;
1129
1168
  new (): {
@@ -1142,27 +1181,27 @@ declare const Fragment: {
1142
1181
  };
1143
1182
  };
1144
1183
  declare const Text: unique symbol;
1145
- declare const Comment: unique symbol;
1184
+ declare const Comment$1: unique symbol;
1146
1185
  declare const Static: unique symbol;
1147
1186
  declare const VaporSlot: unique symbol;
1148
- type VNodeTypes = string | VNode | Component | typeof Text | typeof Static | typeof Comment | typeof Fragment | typeof Teleport | typeof TeleportImpl | typeof Suspense | typeof SuspenseImpl | typeof VaporSlot;
1187
+ type VNodeTypes = string | VNode | Component | typeof Text | typeof Static | typeof Comment$1 | typeof Fragment | typeof Teleport | typeof TeleportImpl | typeof Suspense | typeof SuspenseImpl | typeof VaporSlot;
1149
1188
  type VNodeRef = string | Ref | ((ref: Element | ComponentPublicInstance | null, refs: Record<string, any>) => void);
1150
1189
  type VNodeNormalizedRefAtom = {
1151
1190
  /**
1152
- * component instance
1153
- */
1191
+ * component instance
1192
+ */
1154
1193
  i: ComponentInternalInstance;
1155
1194
  /**
1156
- * Actual ref
1157
- */
1195
+ * Actual ref
1196
+ */
1158
1197
  r: VNodeRef;
1159
1198
  /**
1160
- * setup ref key
1161
- */
1199
+ * setup ref key
1200
+ */
1162
1201
  k?: string;
1163
1202
  /**
1164
- * refInFor marker
1165
- */
1203
+ * refInFor marker
1204
+ */
1166
1205
  f?: boolean;
1167
1206
  };
1168
1207
  type VNodeNormalizedRef = VNodeNormalizedRefAtom | VNodeNormalizedRefAtom[];
@@ -1184,34 +1223,52 @@ type VNodeChildAtom = VNode | string | number | boolean | null | undefined | voi
1184
1223
  type VNodeArrayChildren = Array<VNodeArrayChildren | VNodeChildAtom>;
1185
1224
  type VNodeChild = VNodeChildAtom | VNodeArrayChildren;
1186
1225
  type VNodeNormalizedChildren = string | VNodeArrayChildren | RawSlots | null;
1226
+ /**
1227
+ * A vdom outlet rendering a vapor slot, recorded on the slot's vnode: the
1228
+ * outlet that produced the vnode first, then every enclosing outlet whose
1229
+ * content is only that slot. Interop resolves their fallbacks in turn once
1230
+ * the slot renders empty. Internal to vapor interop.
1231
+ */
1232
+ interface VdomSlotOutlet {
1233
+ fallback: () => VNodeArrayChildren;
1234
+ owner: ComponentInternalInstance | null;
1235
+ innerIds?: number;
1236
+ }
1187
1237
  interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraProps = {
1188
1238
  [key: string]: any;
1189
1239
  }> {
1190
1240
  /**
1191
- * @internal
1192
- */
1241
+ * @internal
1242
+ */
1193
1243
  __v_isVNode: true;
1194
1244
  /**
1195
- * @internal
1196
- */
1245
+ * @internal
1246
+ */
1197
1247
  [ReactiveFlags$1.SKIP]: true;
1198
1248
  type: VNodeTypes;
1199
1249
  props: (VNodeProps & ExtraProps) | null;
1200
1250
  key: PropertyKey | null;
1201
1251
  ref: VNodeNormalizedRef | null;
1202
1252
  /**
1203
- * SFC only. This is assigned on vnode creation using currentScopeId
1204
- * which is set alongside currentRenderingInstance.
1205
- */
1253
+ * SFC only. This is assigned on vnode creation using currentScopeId
1254
+ * which is set alongside currentRenderingInstance.
1255
+ */
1206
1256
  scopeId: string | null;
1207
1257
  /**
1208
- * SFC only. This is assigned to:
1209
- * - Slot fragment vnodes with :slotted SFC styles.
1210
- * - Component vnodes (during patch/hydration) so that its root node can
1211
- * inherit the component's slotScopeIds
1212
- * @internal
1213
- */
1258
+ * SFC only. This is assigned to:
1259
+ * - Slot fragment vnodes with :slotted SFC styles.
1260
+ * - Component vnodes (during patch/hydration) so that its root node can
1261
+ * inherit the component's slotScopeIds
1262
+ * @internal
1263
+ */
1214
1264
  slotScopeIds: string[] | null;
1265
+ /**
1266
+ * Root-only scope ids published by the vapor interop onto vnodes serving
1267
+ * as a vapor component's effective root; consumed by getInheritedScopeIds
1268
+ * where the effective-root chain tops out (before insertion).
1269
+ * @internal
1270
+ */
1271
+ vaporScopeIds?: string[];
1215
1272
  children: VNodeNormalizedChildren;
1216
1273
  component: ComponentInternalInstance | null;
1217
1274
  dirs: DirectiveBinding[] | null;
@@ -1223,115 +1280,132 @@ interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraPro
1223
1280
  targetStart: HostNode | null;
1224
1281
  targetAnchor: HostNode | null;
1225
1282
  /**
1226
- * number of elements contained in a static vnode
1227
- * @internal
1228
- */
1283
+ * number of elements contained in a static vnode
1284
+ * @internal
1285
+ */
1229
1286
  staticCount: number;
1230
1287
  suspense: SuspenseBoundary | null;
1231
1288
  /**
1232
- * @internal
1233
- */
1289
+ * @internal
1290
+ */
1234
1291
  ssContent: VNode | null;
1235
1292
  /**
1236
- * @internal
1237
- */
1293
+ * @internal
1294
+ */
1238
1295
  ssFallback: VNode | null;
1239
1296
  shapeFlag: number;
1240
1297
  patchFlag: number;
1241
1298
  /**
1242
- * @internal
1243
- */
1299
+ * @internal
1300
+ */
1244
1301
  dynamicProps: string[] | null;
1245
1302
  /**
1246
- * @internal
1247
- */
1303
+ * @internal
1304
+ */
1248
1305
  dynamicChildren: (VNode[] & {
1249
1306
  hasOnce?: boolean;
1250
1307
  }) | null;
1251
1308
  appContext: AppContext | null;
1252
1309
  /**
1253
- * @internal lexical scope owner instance
1254
- */
1310
+ * @internal lexical scope owner instance
1311
+ */
1255
1312
  ctx: ComponentInternalInstance | null;
1256
1313
  /**
1257
- * @internal attached by v-memo
1258
- */
1314
+ * @internal attached by v-memo
1315
+ */
1259
1316
  memo?: any[];
1260
1317
  /**
1261
- * @internal index for cleaning v-memo cache
1262
- */
1318
+ * @internal index for cleaning v-memo cache
1319
+ */
1263
1320
  cacheIndex?: number;
1264
1321
  /**
1265
- * @internal __COMPAT__ only
1266
- */
1322
+ * @internal __COMPAT__ only
1323
+ */
1267
1324
  isCompatRoot?: true;
1268
1325
  /**
1269
- * @internal custom element interception hook
1270
- */
1326
+ * @internal custom element interception hook
1327
+ */
1271
1328
  ce?: (instance: ComponentInternalInstance) => void;
1272
1329
  /**
1273
- * @internal VDOM in Vapor interop hook
1274
- */
1330
+ * @internal VDOM in Vapor interop hook
1331
+ */
1275
1332
  vi?: (instance: ComponentInternalInstance) => void;
1276
1333
  /**
1277
- * @internal Vapor slot in VDOM metadata
1278
- */
1334
+ * @internal Vapor slot in VDOM metadata
1335
+ */
1279
1336
  vs?: {
1280
1337
  slot: (props: any) => any;
1281
- fallback: (() => VNodeArrayChildren) | undefined;
1282
- outletFallback?: (() => VNodeArrayChildren) | undefined;
1338
+ outlets?: readonly VdomSlotOutlet[];
1283
1339
  state?: unknown;
1284
1340
  ref?: ShallowRef<any>;
1285
1341
  scope?: EffectScope;
1286
1342
  };
1287
1343
  /**
1288
- * @internal Vapor slot Block
1289
- */
1344
+ * @internal Vapor slot Block
1345
+ */
1290
1346
  vb?: any;
1347
+ /**
1348
+ * @internal vapor interop only — the fragment of a vdom slot outlet whose
1349
+ * fallback a forwarded vapor slot resolves
1350
+ */
1351
+ vo?: boolean;
1352
+ /**
1353
+ * @internal vapor interop only — internal before-update notification, fired
1354
+ * before this vnode is patched (alongside onVnodeBeforeUpdate). Single-owner:
1355
+ * the interop layer assigns (never appends) so re-tracking replaces the
1356
+ * previous callback.
1357
+ */
1358
+ ibu?: () => void;
1359
+ /**
1360
+ * @internal vapor interop only — internal updated notification, fired after
1361
+ * this vnode is patched (alongside onVnodeUpdated) so the interop layer can
1362
+ * refresh its snapshot of the DOM range. Single-owner; see `ibu`.
1363
+ */
1364
+ iu?: () => void;
1291
1365
  }
1292
1366
  //#endregion
1293
1367
  //#region packages/runtime-core/src/component.d.ts
1294
1368
  type Data = Record<string, unknown>;
1295
1369
  /**
1296
- * For extending allowed non-declared attrs on components in TSX
1297
- */
1370
+ * For extending allowed non-declared attrs on components in TSX
1371
+ */
1298
1372
  interface AllowedAttrs {}
1299
1373
  type Attrs = Data & AllowedAttrs;
1300
1374
  /**
1301
- * For extending allowed non-declared props on components in TSX
1302
- */
1375
+ * For extending allowed non-declared props on components in TSX
1376
+ */
1303
1377
  interface ComponentCustomProps {}
1304
1378
  /**
1305
- * For globally defined Directives
1306
- * Here is an example of adding a directive `VTooltip` as global directive:
1307
- *
1308
- * @example
1309
- * ```ts
1310
- * import VTooltip from 'v-tooltip'
1311
- *
1312
- * declare module '@vue/runtime-core' {
1313
- * interface GlobalDirectives {
1314
- * VTooltip
1315
- * }
1316
- * }
1317
- * ```
1318
- */
1379
+ * For globally defined Directives
1380
+ * Here is an example of adding a directive `VTooltip` as global directive:
1381
+ *
1382
+ * @example
1383
+ * ```ts
1384
+ * import VTooltip from 'v-tooltip'
1385
+ *
1386
+ * declare module '@vue/runtime-core' {
1387
+ * interface GlobalDirectives {
1388
+ * VTooltip
1389
+ * }
1390
+ * }
1391
+ * ```
1392
+ */
1319
1393
  interface GlobalDirectives {}
1320
1394
  /**
1321
- * For globally defined Components
1322
- * Here is an example of adding a component `RouterView` as global component:
1323
- *
1324
- * @example
1325
- * ```ts
1326
- * import { RouterView } from 'vue-router'
1327
- *
1328
- * declare module '@vue/runtime-core' {
1329
- * interface GlobalComponents {
1330
- * RouterView
1331
- * }
1332
- * }
1333
- * ```
1334
- */
1395
+ * For globally defined Components
1396
+ * Here is an example of adding a component `RouterView` as global component:
1397
+ *
1398
+ * @example
1399
+ * ```ts
1400
+ * import { RouterView } from 'vue-router'
1401
+ *
1402
+ * declare module '@vue/runtime-core' {
1403
+ * interface GlobalComponents {
1404
+ * RouterView
1405
+ * }
1406
+ * }
1407
+ * ```
1408
+ */
1335
1409
  interface GlobalComponents {
1336
1410
  Teleport: DefineComponent<TeleportProps>;
1337
1411
  Suspense: DefineComponent<SuspenseProps>;
@@ -1339,65 +1413,65 @@ interface GlobalComponents {
1339
1413
  BaseTransition: DefineComponent<BaseTransitionProps>;
1340
1414
  }
1341
1415
  /**
1342
- * Default allowed non-declared props on component in TSX
1343
- */
1416
+ * Default allowed non-declared props on component in TSX
1417
+ */
1344
1418
  interface AllowedComponentProps {
1345
1419
  class?: unknown;
1346
1420
  style?: unknown;
1347
1421
  }
1348
1422
  interface ComponentInternalOptions {
1349
1423
  /**
1350
- * indicates vapor component
1351
- */
1424
+ * indicates vapor component
1425
+ */
1352
1426
  __vapor?: boolean;
1353
1427
  /**
1354
- * whether this vapor component has multiple root nodes
1355
- */
1428
+ * whether this vapor component has multiple root nodes
1429
+ */
1356
1430
  __multiRoot?: boolean;
1357
1431
  /**
1358
- * indicates keep-alive component
1359
- */
1432
+ * indicates keep-alive component
1433
+ */
1360
1434
  __isKeepAlive?: boolean;
1361
1435
  /**
1362
- * @internal
1363
- */
1436
+ * @internal
1437
+ */
1364
1438
  __scopeId?: string;
1365
1439
  /**
1366
- * @internal
1367
- */
1440
+ * @internal
1441
+ */
1368
1442
  __cssModules?: Data;
1369
1443
  /**
1370
- * @internal
1371
- */
1444
+ * @internal
1445
+ */
1372
1446
  __hmrId?: string;
1373
1447
  /**
1374
- * Compat build only, for bailing out of certain compatibility behavior
1375
- */
1448
+ * Compat build only, for bailing out of certain compatibility behavior
1449
+ */
1376
1450
  __isBuiltIn?: boolean;
1377
1451
  /**
1378
- * This one should be exposed so that devtools can make use of it
1379
- */
1452
+ * This one should be exposed so that devtools can make use of it
1453
+ */
1380
1454
  __file?: string;
1381
1455
  /**
1382
- * name inferred from filename
1383
- */
1456
+ * name inferred from filename
1457
+ */
1384
1458
  __name?: string;
1385
1459
  }
1386
1460
  interface AsyncComponentInternalOptions<R = ConcreteComponent, I = ComponentInternalInstance> {
1387
1461
  /**
1388
- * marker for AsyncComponentWrapper
1389
- * @internal
1390
- */
1462
+ * marker for AsyncComponentWrapper
1463
+ * @internal
1464
+ */
1391
1465
  __asyncLoader?: () => Promise<R>;
1392
1466
  /**
1393
- * the inner component resolved by the AsyncComponentWrapper
1394
- * @internal
1395
- */
1467
+ * the inner component resolved by the AsyncComponentWrapper
1468
+ * @internal
1469
+ */
1396
1470
  __asyncResolved?: R;
1397
1471
  /**
1398
- * Exposed for lazy hydration
1399
- * @internal
1400
- */
1472
+ * Exposed for lazy hydration
1473
+ * @internal
1474
+ */
1401
1475
  __asyncHydrate?: (el: Element, instance: I, hydrate: () => void) => void;
1402
1476
  }
1403
1477
  interface FunctionalComponent<P = {}, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any, EE extends EmitsOptions = ShortEmitsToObject<E>> extends ComponentInternalOptions {
@@ -1410,24 +1484,24 @@ interface FunctionalComponent<P = {}, E extends EmitsOptions | Record<string, an
1410
1484
  compatConfig?: CompatConfig;
1411
1485
  }
1412
1486
  /**
1413
- * Type used where a function accepts both vdom and vapor components.
1414
- */
1487
+ * Type used where a function accepts both vdom and vapor components.
1488
+ */
1415
1489
  type GenericComponent = ({
1416
1490
  name?: string;
1417
1491
  } | ((() => any) & {
1418
1492
  displayName?: string;
1419
1493
  })) & ComponentInternalOptions;
1420
1494
  /**
1421
- * Concrete component type matches its actual value: it's either an options
1422
- * object, or a function. Use this where the code expects to work with actual
1423
- * values, e.g. checking if its a function or not. This is mostly for internal
1424
- * implementation code.
1425
- */
1495
+ * Concrete component type matches its actual value: it's either an options
1496
+ * object, or a function. Use this where the code expects to work with actual
1497
+ * values, e.g. checking if its a function or not. This is mostly for internal
1498
+ * implementation code.
1499
+ */
1426
1500
  type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any> = ComponentOptions<Props, RawBindings, D, C, M> | FunctionalComponent<Props, E, S>;
1427
1501
  /**
1428
- * A type used in public APIs where a component type is expected.
1429
- * The constructor type is an artificial type returned by defineComponent().
1430
- */
1502
+ * A type used in public APIs where a component type is expected.
1503
+ * The constructor type is an artificial type returned by defineComponent().
1504
+ */
1431
1505
  type Component<PropsOrInstance = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any> = ConcreteComponent<PropsOrInstance, RawBindings, D, C, M, E, S> | ComponentPublicInstanceConstructor<PropsOrInstance>;
1432
1506
  type LifecycleHook<TFn = Function> = (TFn & SchedulerJob)[] | null;
1433
1507
  type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ? {
@@ -1437,8 +1511,8 @@ type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ?
1437
1511
  expose: <Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed) => void;
1438
1512
  } : never;
1439
1513
  /**
1440
- * @internal
1441
- */
1514
+ * @internal
1515
+ */
1442
1516
  type InternalRenderFunction = {
1443
1517
  (ctx: ComponentPublicInstance, cache: ComponentInternalInstance["renderCache"], $props: ComponentInternalInstance["props"], $setup: ComponentInternalInstance["setupState"], $data: ComponentInternalInstance["data"], $options: ComponentInternalInstance["ctx"]): VNodeChild;
1444
1518
  _rc?: boolean;
@@ -1446,10 +1520,10 @@ type InternalRenderFunction = {
1446
1520
  _compatWrapped?: boolean;
1447
1521
  };
1448
1522
  /**
1449
- * Base component instance interface that is shared between vdom mode and vapor
1450
- * mode, so that we can have a mixed instance tree and reuse core logic that
1451
- * operate on both.
1452
- */
1523
+ * Base component instance interface that is shared between vdom mode and vapor
1524
+ * mode, so that we can have a mixed instance tree and reuse core logic that
1525
+ * operate on both.
1526
+ */
1453
1527
  interface GenericComponentInstance {
1454
1528
  vapor?: boolean;
1455
1529
  uid: number;
@@ -1458,202 +1532,197 @@ interface GenericComponentInstance {
1458
1532
  parent: GenericComponentInstance | null;
1459
1533
  appContext: GenericAppContext;
1460
1534
  /**
1461
- * Object containing values this component provides for its descendants
1462
- * @internal
1463
- */
1535
+ * Object containing values this component provides for its descendants
1536
+ * @internal
1537
+ */
1464
1538
  provides: Data;
1465
1539
  /**
1466
- * Tracking reactive effects (e.g. watchers) associated with this component
1467
- * so that they can be automatically stopped on component unmount
1468
- * @internal
1469
- */
1540
+ * Tracking reactive effects (e.g. watchers) associated with this component
1541
+ * so that they can be automatically stopped on component unmount
1542
+ * @internal
1543
+ */
1470
1544
  scope: EffectScope;
1471
1545
  /**
1472
- * render function will have different types between vdom and vapor
1473
- */
1546
+ * render function will have different types between vdom and vapor
1547
+ */
1474
1548
  render?: Function | null;
1475
1549
  /**
1476
- * SSR render function
1477
- * (they are the same between vdom and vapor components.)
1478
- * @internal
1479
- */
1550
+ * SSR render function
1551
+ * (they are the same between vdom and vapor components.)
1552
+ * @internal
1553
+ */
1480
1554
  ssrRender?: Function | null;
1481
1555
  props: Data;
1482
1556
  attrs: Data;
1483
1557
  refs: Data;
1484
1558
  emit: EmitFn;
1485
1559
  /**
1486
- * used for keeping track of .once event handlers on components
1487
- * @internal
1488
- */
1560
+ * used for keeping track of .once event handlers on components
1561
+ * @internal
1562
+ */
1489
1563
  emitted: Record<string, boolean> | null;
1490
1564
  /**
1491
- * used for caching the value returned from props default factory functions to
1492
- * avoid unnecessary watcher trigger
1493
- * @internal
1494
- */
1565
+ * used for caching the value returned from props default factory functions to
1566
+ * avoid unnecessary watcher trigger
1567
+ * @internal
1568
+ */
1495
1569
  propsDefaults: Data | null;
1496
1570
  /**
1497
- * used for getting the keys of a component's raw props, vapor only
1498
- * @internal
1499
- */
1571
+ * used for getting the keys of a component's raw props, vapor only
1572
+ * @internal
1573
+ */
1500
1574
  rawKeys?: () => string[];
1501
1575
  exposed: Record<string, any> | null;
1502
1576
  exposeProxy: Record<string, any> | null;
1503
1577
  /**
1504
- * setup related
1505
- * @internal
1506
- */
1578
+ * setup related
1579
+ * @internal
1580
+ */
1507
1581
  setupState?: Data;
1508
1582
  /**
1509
- * devtools access to additional info
1510
- * @internal
1511
- */
1583
+ * devtools access to additional info
1584
+ * @internal
1585
+ */
1512
1586
  devtoolsRawSetupState?: any;
1513
1587
  isMounted: boolean;
1514
1588
  isUnmounted: boolean;
1515
1589
  isDeactivated: boolean;
1516
1590
  /**
1517
- * for tracking useId()
1518
- * first element is the current boundary prefix
1519
- * second number is the index of the useId call within that boundary
1520
- * @internal
1521
- */
1591
+ * for tracking useId()
1592
+ * first element is the current boundary prefix
1593
+ * second number is the index of the useId call within that boundary
1594
+ * @internal
1595
+ */
1522
1596
  ids: [string, number, number];
1523
1597
  /**
1524
- * resolved props options
1525
- * @internal
1526
- */
1598
+ * resolved props options
1599
+ * @internal
1600
+ */
1527
1601
  propsOptions?: NormalizedPropsOptions;
1528
1602
  /**
1529
- * resolved emits options
1530
- * @internal
1531
- */
1603
+ * resolved emits options
1604
+ * @internal
1605
+ */
1532
1606
  emitsOptions?: ObjectEmitsOptions | null;
1533
1607
  /**
1534
- * Public instance proxy, vdom only
1535
- */
1608
+ * Public instance proxy, vdom only
1609
+ */
1536
1610
  proxy?: any;
1537
1611
  /**
1538
- * suspense related
1539
- * @internal
1540
- */
1612
+ * suspense related
1613
+ * @internal
1614
+ */
1541
1615
  suspense: SuspenseBoundary | null;
1542
1616
  /**
1543
- * suspense pending batch id
1544
- * @internal
1545
- */
1617
+ * suspense pending batch id
1618
+ * @internal
1619
+ */
1546
1620
  suspenseId: number;
1547
1621
  /**
1548
- * @internal
1549
- */
1622
+ * @internal
1623
+ */
1550
1624
  asyncDep: Promise<any> | null;
1551
1625
  /**
1552
- * @internal
1553
- */
1626
+ * @internal
1627
+ */
1554
1628
  asyncResolved: boolean;
1555
1629
  /**
1556
- * restore renderer-specific async context after `withAsyncContext()`
1557
- * @internal
1558
- */
1559
- restoreAsyncContext?: () => void | (() => void);
1560
- /**
1561
- * `updateTeleportCssVars`
1562
- * For updating css vars on contained teleports
1563
- * @internal
1564
- */
1630
+ * `updateTeleportCssVars`
1631
+ * For updating css vars on contained teleports
1632
+ * @internal
1633
+ */
1565
1634
  ut?: (vars?: Record<string, string>) => void;
1566
1635
  /**
1567
- * dev only. For style v-bind hydration mismatch checks
1568
- * @internal
1569
- */
1636
+ * dev only. For style v-bind hydration mismatch checks
1637
+ * @internal
1638
+ */
1570
1639
  getCssVars?: () => Record<string, string>;
1571
1640
  /**
1572
- * @internal
1573
- */
1641
+ * @internal
1642
+ */
1574
1643
  [LifecycleHooks.BEFORE_CREATE]?: LifecycleHook;
1575
1644
  /**
1576
- * @internal
1577
- */
1645
+ * @internal
1646
+ */
1578
1647
  [LifecycleHooks.CREATED]?: LifecycleHook;
1579
1648
  /**
1580
- * @internal
1581
- */
1649
+ * @internal
1650
+ */
1582
1651
  [LifecycleHooks.BEFORE_MOUNT]?: LifecycleHook;
1583
1652
  /**
1584
- * @internal
1585
- */
1653
+ * @internal
1654
+ */
1586
1655
  [LifecycleHooks.MOUNTED]?: LifecycleHook;
1587
1656
  /**
1588
- * @internal
1589
- */
1657
+ * @internal
1658
+ */
1590
1659
  [LifecycleHooks.BEFORE_UPDATE]?: LifecycleHook;
1591
1660
  /**
1592
- * @internal
1593
- */
1661
+ * @internal
1662
+ */
1594
1663
  [LifecycleHooks.UPDATED]?: LifecycleHook;
1595
1664
  /**
1596
- * @internal
1597
- */
1665
+ * @internal
1666
+ */
1598
1667
  [LifecycleHooks.BEFORE_UNMOUNT]?: LifecycleHook;
1599
1668
  /**
1600
- * @internal
1601
- */
1669
+ * @internal
1670
+ */
1602
1671
  [LifecycleHooks.UNMOUNTED]?: LifecycleHook;
1603
1672
  /**
1604
- * @internal
1605
- */
1673
+ * @internal
1674
+ */
1606
1675
  [LifecycleHooks.RENDER_TRACKED]?: LifecycleHook;
1607
1676
  /**
1608
- * @internal
1609
- */
1677
+ * @internal
1678
+ */
1610
1679
  [LifecycleHooks.RENDER_TRIGGERED]?: LifecycleHook;
1611
1680
  /**
1612
- * @internal
1613
- */
1681
+ * @internal
1682
+ */
1614
1683
  [LifecycleHooks.ACTIVATED]?: LifecycleHook;
1615
1684
  /**
1616
- * @internal
1617
- */
1685
+ * @internal
1686
+ */
1618
1687
  [LifecycleHooks.DEACTIVATED]?: LifecycleHook;
1619
1688
  /**
1620
- * @internal
1621
- */
1689
+ * @internal
1690
+ */
1622
1691
  [LifecycleHooks.ERROR_CAPTURED]?: LifecycleHook;
1623
1692
  /**
1624
- * @internal
1625
- */
1693
+ * @internal
1694
+ */
1626
1695
  [LifecycleHooks.SERVER_PREFETCH]?: LifecycleHook<() => Promise<unknown>>;
1627
1696
  /**
1628
- * @internal vapor only
1629
- */
1697
+ * @internal vapor only
1698
+ */
1630
1699
  hmrRerender?: () => void;
1631
1700
  /**
1632
- * @internal vapor only
1633
- */
1701
+ * @internal vapor only
1702
+ */
1634
1703
  hmrReload?: (newComp: any) => void;
1635
1704
  vnode?: VNode;
1636
1705
  subTree?: VNode;
1637
1706
  /**
1638
- * Custom Element instance (if component is created by defineCustomElement)
1639
- * @internal
1640
- */
1707
+ * Custom Element instance (if component is created by defineCustomElement)
1708
+ * @internal
1709
+ */
1641
1710
  ce?: ComponentCustomElementInterface;
1642
1711
  /**
1643
- * is custom element? (kept only for compatibility)
1644
- * @internal
1645
- */
1712
+ * is custom element? (kept only for compatibility)
1713
+ * @internal
1714
+ */
1646
1715
  isCE?: boolean;
1647
1716
  /**
1648
- * custom element specific HMR method
1649
- * @internal
1650
- */
1717
+ * custom element specific HMR method
1718
+ * @internal
1719
+ */
1651
1720
  ceReload?: (newStyles?: string[]) => void;
1652
1721
  }
1653
1722
  /**
1654
- * We expose a subset of properties on the internal instance as they are
1655
- * useful for advanced external libraries and tools.
1656
- */
1723
+ * We expose a subset of properties on the internal instance as they are
1724
+ * useful for advanced external libraries and tools.
1725
+ */
1657
1726
  interface ComponentInternalInstance extends GenericComponentInstance {
1658
1727
  vapor?: never;
1659
1728
  uid: number;
@@ -1662,84 +1731,84 @@ interface ComponentInternalInstance extends GenericComponentInstance {
1662
1731
  root: GenericComponentInstance;
1663
1732
  appContext: AppContext;
1664
1733
  /**
1665
- * Vnode representing this component in its parent's vdom tree
1666
- */
1734
+ * Vnode representing this component in its parent's vdom tree
1735
+ */
1667
1736
  vnode: VNode;
1668
1737
  /**
1669
- * The pending new vnode from parent updates
1670
- * @internal
1671
- */
1738
+ * The pending new vnode from parent updates
1739
+ * @internal
1740
+ */
1672
1741
  next: VNode | null;
1673
1742
  /**
1674
- * Root vnode of this component's own vdom tree
1675
- */
1743
+ * Root vnode of this component's own vdom tree
1744
+ */
1676
1745
  subTree: VNode;
1677
1746
  /**
1678
- * Render effect instance
1679
- */
1747
+ * Render effect instance
1748
+ */
1680
1749
  effect: ReactiveEffect;
1681
1750
  /**
1682
- * Force update render effect
1683
- */
1751
+ * Force update render effect
1752
+ */
1684
1753
  update: () => void;
1685
1754
  /**
1686
- * Render effect job to be passed to scheduler (checks if dirty)
1687
- */
1755
+ * Render effect job to be passed to scheduler (checks if dirty)
1756
+ */
1688
1757
  job: SchedulerJob;
1689
1758
  /**
1690
- * The render function that returns vdom tree.
1691
- * @internal
1692
- */
1759
+ * The render function that returns vdom tree.
1760
+ * @internal
1761
+ */
1693
1762
  render: InternalRenderFunction | null;
1694
1763
  /**
1695
- * cache for proxy access type to avoid hasOwnProperty calls
1696
- * @internal
1697
- */
1764
+ * cache for proxy access type to avoid hasOwnProperty calls
1765
+ * @internal
1766
+ */
1698
1767
  accessCache: Data | null;
1699
1768
  /**
1700
- * cache for render function values that rely on _ctx but won't need updates
1701
- * after initialized (e.g. inline handlers)
1702
- * @internal
1703
- */
1769
+ * cache for render function values that rely on _ctx but won't need updates
1770
+ * after initialized (e.g. inline handlers)
1771
+ * @internal
1772
+ */
1704
1773
  renderCache: (Function | VNode | undefined)[];
1705
1774
  /**
1706
- * Resolved component registry, only for components with mixins or extends
1707
- * @internal
1708
- */
1775
+ * Resolved component registry, only for components with mixins or extends
1776
+ * @internal
1777
+ */
1709
1778
  components: Record<string, ConcreteComponent> | null;
1710
1779
  /**
1711
- * Resolved directive registry, only for components with mixins or extends
1712
- * @internal
1713
- */
1780
+ * Resolved directive registry, only for components with mixins or extends
1781
+ * @internal
1782
+ */
1714
1783
  directives: Record<string, Directive> | null;
1715
1784
  /**
1716
- * Resolved filters registry, v2 compat only
1717
- * @internal
1718
- */
1785
+ * Resolved filters registry, v2 compat only
1786
+ * @internal
1787
+ */
1719
1788
  filters?: Record<string, Function>;
1720
1789
  /**
1721
- * resolved props options
1722
- * @internal
1723
- */
1790
+ * resolved props options
1791
+ * @internal
1792
+ */
1724
1793
  propsOptions: NormalizedPropsOptions;
1725
1794
  /**
1726
- * resolved emits options
1727
- * @internal
1728
- */
1795
+ * resolved emits options
1796
+ * @internal
1797
+ */
1729
1798
  emitsOptions: ObjectEmitsOptions | null;
1730
1799
  /**
1731
- * resolved inheritAttrs options
1732
- * @internal
1733
- */
1800
+ * resolved inheritAttrs options
1801
+ * @internal
1802
+ */
1734
1803
  inheritAttrs?: boolean;
1735
1804
  /**
1736
- * setup related
1737
- * @internal
1738
- */
1805
+ * setup related
1806
+ * @internal
1807
+ */
1739
1808
  setupState: Data;
1740
1809
  /**
1741
- * @internal
1742
- */
1810
+ * @internal
1811
+ */
1743
1812
  setupContext?: SetupContext | null;
1744
1813
  proxy: ComponentPublicInstance | null;
1745
1814
  data: Data;
@@ -1747,79 +1816,79 @@ interface ComponentInternalInstance extends GenericComponentInstance {
1747
1816
  slots: InternalSlots;
1748
1817
  exposeProxy: Record<string, any> | null;
1749
1818
  /**
1750
- * alternative proxy used only for runtime-compiled render functions using
1751
- * `with` block
1752
- * @internal
1753
- */
1819
+ * alternative proxy used only for runtime-compiled render functions using
1820
+ * `with` block
1821
+ * @internal
1822
+ */
1754
1823
  withProxy: ComponentPublicInstance | null;
1755
1824
  /**
1756
- * This is the target for the public instance proxy. It also holds properties
1757
- * injected by user options (computed, methods etc.) and user-attached
1758
- * custom properties (via `this.x = ...`)
1759
- * @internal
1760
- */
1825
+ * This is the target for the public instance proxy. It also holds properties
1826
+ * injected by user options (computed, methods etc.) and user-attached
1827
+ * custom properties (via `this.x = ...`)
1828
+ * @internal
1829
+ */
1761
1830
  ctx: Data;
1762
1831
  /**
1763
- * suspense pending batch id
1764
- * @internal
1765
- */
1832
+ * suspense pending batch id
1833
+ * @internal
1834
+ */
1766
1835
  suspenseId: number;
1767
1836
  /**
1768
- * @internal
1769
- */
1837
+ * @internal
1838
+ */
1770
1839
  asyncDep: Promise<any> | null;
1771
1840
  /**
1772
- * @internal
1773
- */
1841
+ * @internal
1842
+ */
1774
1843
  asyncResolved: boolean;
1775
1844
  /**
1776
- * For caching bound $forceUpdate on public proxy access
1777
- * @internal
1778
- */
1845
+ * For caching bound $forceUpdate on public proxy access
1846
+ * @internal
1847
+ */
1779
1848
  f?: () => void;
1780
1849
  /**
1781
- * For caching bound $nextTick on public proxy access
1782
- * @internal
1783
- */
1850
+ * For caching bound $nextTick on public proxy access
1851
+ * @internal
1852
+ */
1784
1853
  n?: () => Promise<void>;
1785
1854
  /**
1786
- * v2 compat only, for caching mutated $options
1787
- * @internal
1788
- */
1855
+ * v2 compat only, for caching mutated $options
1856
+ * @internal
1857
+ */
1789
1858
  resolvedOptions?: MergedComponentOptions;
1790
1859
  }
1791
1860
  interface ComponentCustomElementInterface {
1792
1861
  /**
1793
- * @internal
1794
- */
1862
+ * @internal
1863
+ */
1795
1864
  _isVueCE: boolean;
1796
1865
  /**
1797
- * @internal
1798
- */
1866
+ * @internal
1867
+ */
1799
1868
  _injectChildStyle(type: ConcreteComponent, parent?: ConcreteComponent): void;
1800
1869
  /**
1801
- * @internal
1802
- */
1870
+ * @internal
1871
+ */
1803
1872
  _removeChildStyle(type: ConcreteComponent): void;
1804
1873
  /**
1805
- * @internal
1806
- */
1874
+ * @internal
1875
+ */
1807
1876
  _setProp(key: string, val: any, shouldReflect?: boolean, shouldUpdate?: boolean): void;
1808
1877
  /**
1809
- * @internal
1810
- */
1878
+ * @internal
1879
+ */
1811
1880
  _beginPatch(): void;
1812
1881
  /**
1813
- * @internal
1814
- */
1882
+ * @internal
1883
+ */
1815
1884
  _endPatch(): void;
1816
1885
  /**
1817
- * @internal attached by the nested Teleport when shadowRoot is false.
1818
- */
1886
+ * @internal attached by the nested Teleport when shadowRoot is false.
1887
+ */
1819
1888
  _teleportTargets?: Set<RendererElement>;
1820
1889
  /**
1821
- * @internal check if shadow root is enabled
1822
- */
1890
+ * @internal check if shadow root is enabled
1891
+ */
1823
1892
  _hasShadowRoot(): boolean;
1824
1893
  }
1825
1894
  //#endregion
@@ -1836,28 +1905,28 @@ interface WatchOptions<Immediate = boolean> extends WatchEffectOptions {
1836
1905
  //#region packages/runtime-core/src/compat/globalConfig.d.ts
1837
1906
  type LegacyConfig = {
1838
1907
  /**
1839
- * @deprecated `config.silent` option has been removed
1840
- */
1908
+ * @deprecated `config.silent` option has been removed
1909
+ */
1841
1910
  silent?: boolean;
1842
1911
  /**
1843
- * @deprecated use __VUE_PROD_DEVTOOLS__ compile-time feature flag instead
1844
- * https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags
1845
- */
1912
+ * @deprecated use __VUE_PROD_DEVTOOLS__ compile-time feature flag instead
1913
+ * https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags
1914
+ */
1846
1915
  devtools?: boolean;
1847
1916
  /**
1848
- * @deprecated use `config.isCustomElement` instead
1849
- * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
1850
- */
1917
+ * @deprecated use `config.isCustomElement` instead
1918
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
1919
+ */
1851
1920
  ignoredElements?: (string | RegExp)[];
1852
1921
  /**
1853
- * @deprecated
1854
- * https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
1855
- */
1922
+ * @deprecated
1923
+ * https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
1924
+ */
1856
1925
  keyCodes?: Record<string, number | number[]>;
1857
1926
  /**
1858
- * @deprecated
1859
- * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
1860
- */
1927
+ * @deprecated
1928
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
1929
+ */
1861
1930
  productionTip?: boolean;
1862
1931
  };
1863
1932
  //#endregion
@@ -1878,10 +1947,10 @@ interface LegacyPublicProperties {
1878
1947
  //#endregion
1879
1948
  //#region packages/runtime-core/src/compat/global.d.ts
1880
1949
  /**
1881
- * @deprecated the default `Vue` export has been removed in Vue 3. The type for
1882
- * the default export is provided only for migration purposes. Please use
1883
- * named imports instead - e.g. `import { createApp } from 'vue'`.
1884
- */
1950
+ * @deprecated the default `Vue` export has been removed in Vue 3. The type for
1951
+ * the default export is provided only for migration purposes. Please use
1952
+ * named imports instead - e.g. `import { createApp } from 'vue'`.
1953
+ */
1885
1954
  type CompatVue = Pick<App, "version" | "component" | "directive"> & {
1886
1955
  configureCompat: typeof configureCompat;
1887
1956
  new (options?: ComponentOptions): LegacyPublicInstance;
@@ -1897,40 +1966,40 @@ type CompatVue = Pick<App, "version" | "component" | "directive"> & {
1897
1966
  directive<T = any, V = any>(name: string, directive: Directive<T, V>): CompatVue;
1898
1967
  compile(template: string): RenderFunction;
1899
1968
  /**
1900
- * @deprecated Vue 3 no longer supports extending constructors.
1901
- */
1969
+ * @deprecated Vue 3 no longer supports extending constructors.
1970
+ */
1902
1971
  extend: (options?: ComponentOptions) => CompatVue;
1903
1972
  /**
1904
- * @deprecated Vue 3 no longer needs set() for adding new properties.
1905
- */
1973
+ * @deprecated Vue 3 no longer needs set() for adding new properties.
1974
+ */
1906
1975
  set(target: any, key: PropertyKey, value: any): void;
1907
1976
  /**
1908
- * @deprecated Vue 3 no longer needs delete() for property deletions.
1909
- */
1977
+ * @deprecated Vue 3 no longer needs delete() for property deletions.
1978
+ */
1910
1979
  delete(target: any, key: PropertyKey): void;
1911
1980
  /**
1912
- * @deprecated use `reactive` instead.
1913
- */
1981
+ * @deprecated use `reactive` instead.
1982
+ */
1914
1983
  observable: typeof reactive;
1915
1984
  /**
1916
- * @deprecated filters have been removed from Vue 3.
1917
- */
1985
+ * @deprecated filters have been removed from Vue 3.
1986
+ */
1918
1987
  filter(name: string, arg?: any): null;
1919
1988
  /**
1920
- * @internal
1921
- */
1989
+ * @internal
1990
+ */
1922
1991
  cid: number;
1923
1992
  /**
1924
- * @internal
1925
- */
1993
+ * @internal
1994
+ */
1926
1995
  options: ComponentOptions;
1927
1996
  /**
1928
- * @internal
1929
- */
1997
+ * @internal
1998
+ */
1930
1999
  util: any;
1931
2000
  /**
1932
- * @internal
1933
- */
2001
+ * @internal
2002
+ */
1934
2003
  super: CompatVue;
1935
2004
  };
1936
2005
  //#endregion
@@ -1989,21 +2058,17 @@ type SystemModifiers = (typeof systemModifiers)[number];
1989
2058
  type CompatModifiers = keyof typeof keyNames;
1990
2059
  type VOnModifiers = SystemModifiers | ModifierGuards | CompatModifiers;
1991
2060
  type ModifierGuards = "shift" | "ctrl" | "alt" | "meta" | "left" | "right" | "stop" | "prevent" | "self" | "middle" | "exact";
1992
- /**
1993
- * @private
1994
- */
1995
2061
  declare const keyNames: Record<"esc" | "space" | "up" | "left" | "right" | "down" | "delete", string>;
1996
- /**
1997
- * @private
1998
- */
1999
2062
  type VOnDirective = Directive<any, any, VOnModifiers>;
2000
2063
  //#endregion
2001
2064
  //#region packages/runtime-dom/src/directives/vModel.d.ts
2002
2065
  type AssignerFn = (value: any) => void;
2003
2066
  declare const assignKey: unique symbol;
2067
+ declare const initialValueKey: unique symbol;
2004
2068
  type ModelDirective<T, Modifiers extends string = string> = ObjectDirective<T & {
2005
2069
  [assignKey]: AssignerFn;
2006
- _assigning?: boolean;
2070
+ [initialValueKey]?: string;
2071
+ _pendingValue?: [multiple: boolean, value: any];
2007
2072
  }, any, Modifiers>;
2008
2073
  declare const vModelText: ModelDirective<HTMLInputElement | HTMLTextAreaElement, "trim" | "number" | "lazy">;
2009
2074
  declare const vModelCheckbox: ModelDirective<HTMLInputElement>;
@@ -22186,13 +22251,13 @@ declare namespace DataType {
22186
22251
  //#region packages/runtime-dom/src/jsx.d.ts
22187
22252
  interface CSSProperties extends Properties<string | number>, PropertiesHyphen<string | number> {
22188
22253
  /**
22189
- * The index signature was removed to enable closed typing for style
22190
- * using CSSType. You're able to use type assertion or module augmentation
22191
- * to add properties or an index signature of your own.
22192
- *
22193
- * For examples and more information, visit:
22194
- * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
22195
- */
22254
+ * The index signature was removed to enable closed typing for style
22255
+ * using CSSType. You're able to use type assertion or module augmentation
22256
+ * to add properties or an index signature of your own.
22257
+ *
22258
+ * For examples and more information, visit:
22259
+ * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
22260
+ */
22196
22261
  [v: `--${string}`]: string | number | undefined;
22197
22262
  }
22198
22263
  type StyleValue = false | null | undefined | string | CSSProperties | Array<StyleValue>;
@@ -22200,10 +22265,10 @@ type ClassValue = false | null | undefined | string | Record<string, any> | Arra
22200
22265
  //#endregion
22201
22266
  //#region packages/runtime-dom/src/index.d.ts
22202
22267
  /**
22203
- * This is a stub implementation to prevent the need to use dom types.
22204
- *
22205
- * To enable proper types, add `"dom"` to `"lib"` in your `tsconfig.json`.
22206
- */
22268
+ * This is a stub implementation to prevent the need to use dom types.
22269
+ *
22270
+ * To enable proper types, add `"dom"` to `"lib"` in your `tsconfig.json`.
22271
+ */
22207
22272
  type DomType<T> = typeof globalThis extends {
22208
22273
  window: unknown;
22209
22274
  } ? T : never;