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

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,62 @@ 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
+ applyCssVars(vnode: VNode, vars: Record<string, string>): void;
1052
+ /**
1053
+ * Hands the fallback of a vdom outlet over to the vapor slot its content
1054
+ * consists of, if it is that one slot.
1055
+ */
1056
+ attachSlotOutlet(content: VNodeArrayChildren, fallback: () => VNodeArrayChildren, owner: ComponentInternalInstance | null): boolean;
1057
+ /**
1058
+ * Hydrates an outlet marked `vo` whose fallback the server rendered in place
1059
+ * of the whole content (`<!--(-->`).
1060
+ */
1061
+ hydrateSlotOutlet(outlet: VNode, open: Comment, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null): Node | null;
1032
1062
  }
1033
1063
  /**
1034
- * Minimal app context shared between vdom and vapor
1035
- */
1064
+ * Options for rendering a VDOM slot inside vapor. `flags` carries the
1065
+ * outlet's VaporSlotFlags describing its position in the fallback chain;
1066
+ * see renderVDOMSlot.
1067
+ */
1068
+ interface VdomSlotOptions {
1069
+ fallback?: (...args: any[]) => any;
1070
+ flags?: number;
1071
+ adoptAnchor?: Node;
1072
+ }
1073
+ /**
1074
+ * The vdom in vapor implementation is in runtime-vapor/src/vdomInterop.ts
1075
+ */
1076
+ interface VdomInVaporInterface {
1077
+ mount: (component: ConcreteComponent, parentComponent: any, props?: any, slots?: any, once?: boolean, inputScope?: EffectScope) => any;
1078
+ slot: (slots: any, name: string | (() => string), props: Record<string, any>, parentComponent: any, options?: VdomSlotOptions) => any;
1079
+ mountVNode: (vnode: VNode, parentComponent: any, isSingleRoot?: boolean, rawProps?: any, once?: boolean) => any;
1080
+ }
1081
+ /**
1082
+ * Minimal app context shared between vdom and vapor
1083
+ */
1036
1084
  interface GenericAppContext {
1037
1085
  app: App;
1038
1086
  config: GenericAppConfig;
@@ -1040,14 +1088,18 @@ interface GenericAppContext {
1040
1088
  components?: Record<string, Component>;
1041
1089
  directives?: Record<string, Directive>;
1042
1090
  /**
1043
- * HMR only
1044
- * @internal
1045
- */
1091
+ * HMR only
1092
+ * @internal
1093
+ */
1046
1094
  reload?: () => void;
1047
1095
  /**
1048
- * @internal vapor interop only
1049
- */
1050
- vapor?: VaporInteropInterface;
1096
+ * @internal vapor interop only
1097
+ */
1098
+ vapor?: VaporInVdomInterface;
1099
+ /**
1100
+ * @internal vdom interop only
1101
+ */
1102
+ vdom?: VdomInVaporInterface;
1051
1103
  }
1052
1104
  interface AppContext extends GenericAppContext {
1053
1105
  config: AppConfig;
@@ -1055,26 +1107,26 @@ interface AppContext extends GenericAppContext {
1055
1107
  directives: Record<string, Directive>;
1056
1108
  mixins: ComponentOptions[];
1057
1109
  /**
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
- */
1110
+ * Cache for merged/normalized component options
1111
+ * Each app instance has its own cache because app-level global mixins and
1112
+ * optionMergeStrategies can affect merge behavior.
1113
+ * @internal
1114
+ */
1063
1115
  optionsCache: WeakMap<ComponentOptions, MergedComponentOptions>;
1064
1116
  /**
1065
- * Cache for normalized props options
1066
- * @internal
1067
- */
1117
+ * Cache for normalized props options
1118
+ * @internal
1119
+ */
1068
1120
  propsCache: WeakMap<ConcreteComponent, NormalizedPropsOptions>;
1069
1121
  /**
1070
- * Cache for normalized emits options
1071
- * @internal
1072
- */
1122
+ * Cache for normalized emits options
1123
+ * @internal
1124
+ */
1073
1125
  emitsCache: WeakMap<ConcreteComponent, ObjectEmitsOptions | null>;
1074
1126
  /**
1075
- * v2 compat only
1076
- * @internal
1077
- */
1127
+ * v2 compat only
1128
+ * @internal
1129
+ */
1078
1130
  filters?: Record<string, Function>;
1079
1131
  }
1080
1132
  type PluginInstallFunction<Options = any[]> = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any;
@@ -1082,7 +1134,7 @@ type ObjectPlugin<Options = any[]> = {
1082
1134
  install: PluginInstallFunction<Options>;
1083
1135
  };
1084
1136
  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>;
1137
+ type Plugin<Options = any[], P extends unknown[] = Options extends unknown[] ? Options : [Options]> = FunctionPlugin<P> | ObjectPlugin<P>;
1086
1138
  //#endregion
1087
1139
  //#region packages/runtime-core/src/components/Teleport.d.ts
1088
1140
  type TeleportVNode = VNode<RendererNode, RendererElement, TeleportProps>;
@@ -1095,12 +1147,7 @@ declare const TeleportImpl: {
1095
1147
  name: string;
1096
1148
  __isTeleport: boolean;
1097
1149
  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;
1150
+ remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: boolean): void;
1104
1151
  move: typeof moveTeleport;
1105
1152
  hydrate: typeof hydrateTeleport;
1106
1153
  };
@@ -1109,21 +1156,8 @@ declare enum TeleportMoveTypes {
1109
1156
  TOGGLE = 1,
1110
1157
  REORDER = 2
1111
1158
  }
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;
1159
+ declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, { o: { insert }, m: move }: RendererInternals, parentComponent: ComponentInternalInstance | null, moveType?: TeleportMoveTypes): void;
1160
+ 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
1161
  declare const Teleport: {
1128
1162
  __isTeleport: true;
1129
1163
  new (): {
@@ -1142,27 +1176,27 @@ declare const Fragment: {
1142
1176
  };
1143
1177
  };
1144
1178
  declare const Text: unique symbol;
1145
- declare const Comment: unique symbol;
1179
+ declare const Comment$1: unique symbol;
1146
1180
  declare const Static: unique symbol;
1147
1181
  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;
1182
+ 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
1183
  type VNodeRef = string | Ref | ((ref: Element | ComponentPublicInstance | null, refs: Record<string, any>) => void);
1150
1184
  type VNodeNormalizedRefAtom = {
1151
1185
  /**
1152
- * component instance
1153
- */
1186
+ * component instance
1187
+ */
1154
1188
  i: ComponentInternalInstance;
1155
1189
  /**
1156
- * Actual ref
1157
- */
1190
+ * Actual ref
1191
+ */
1158
1192
  r: VNodeRef;
1159
1193
  /**
1160
- * setup ref key
1161
- */
1194
+ * setup ref key
1195
+ */
1162
1196
  k?: string;
1163
1197
  /**
1164
- * refInFor marker
1165
- */
1198
+ * refInFor marker
1199
+ */
1166
1200
  f?: boolean;
1167
1201
  };
1168
1202
  type VNodeNormalizedRef = VNodeNormalizedRefAtom | VNodeNormalizedRefAtom[];
@@ -1184,34 +1218,52 @@ type VNodeChildAtom = VNode | string | number | boolean | null | undefined | voi
1184
1218
  type VNodeArrayChildren = Array<VNodeArrayChildren | VNodeChildAtom>;
1185
1219
  type VNodeChild = VNodeChildAtom | VNodeArrayChildren;
1186
1220
  type VNodeNormalizedChildren = string | VNodeArrayChildren | RawSlots | null;
1221
+ /**
1222
+ * A vdom outlet rendering a vapor slot, recorded on the slot's vnode: the
1223
+ * outlet that produced the vnode first, then every enclosing outlet whose
1224
+ * content is only that slot. Interop resolves their fallbacks in turn once
1225
+ * the slot renders empty. Internal to vapor interop.
1226
+ */
1227
+ interface VdomSlotOutlet {
1228
+ fallback: () => VNodeArrayChildren;
1229
+ owner: ComponentInternalInstance | null;
1230
+ innerIds?: number;
1231
+ }
1187
1232
  interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraProps = {
1188
1233
  [key: string]: any;
1189
1234
  }> {
1190
1235
  /**
1191
- * @internal
1192
- */
1236
+ * @internal
1237
+ */
1193
1238
  __v_isVNode: true;
1194
1239
  /**
1195
- * @internal
1196
- */
1240
+ * @internal
1241
+ */
1197
1242
  [ReactiveFlags$1.SKIP]: true;
1198
1243
  type: VNodeTypes;
1199
1244
  props: (VNodeProps & ExtraProps) | null;
1200
1245
  key: PropertyKey | null;
1201
1246
  ref: VNodeNormalizedRef | null;
1202
1247
  /**
1203
- * SFC only. This is assigned on vnode creation using currentScopeId
1204
- * which is set alongside currentRenderingInstance.
1205
- */
1248
+ * SFC only. This is assigned on vnode creation using currentScopeId
1249
+ * which is set alongside currentRenderingInstance.
1250
+ */
1206
1251
  scopeId: string | null;
1207
1252
  /**
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
- */
1253
+ * SFC only. This is assigned to:
1254
+ * - Slot fragment vnodes with :slotted SFC styles.
1255
+ * - Component vnodes (during patch/hydration) so that its root node can
1256
+ * inherit the component's slotScopeIds
1257
+ * @internal
1258
+ */
1214
1259
  slotScopeIds: string[] | null;
1260
+ /**
1261
+ * Root-only scope ids published by the vapor interop onto vnodes serving
1262
+ * as a vapor component's effective root; consumed by getInheritedScopeIds
1263
+ * where the effective-root chain tops out (before insertion).
1264
+ * @internal
1265
+ */
1266
+ vaporScopeIds?: string[];
1215
1267
  children: VNodeNormalizedChildren;
1216
1268
  component: ComponentInternalInstance | null;
1217
1269
  dirs: DirectiveBinding[] | null;
@@ -1223,115 +1275,132 @@ interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraPro
1223
1275
  targetStart: HostNode | null;
1224
1276
  targetAnchor: HostNode | null;
1225
1277
  /**
1226
- * number of elements contained in a static vnode
1227
- * @internal
1228
- */
1278
+ * number of elements contained in a static vnode
1279
+ * @internal
1280
+ */
1229
1281
  staticCount: number;
1230
1282
  suspense: SuspenseBoundary | null;
1231
1283
  /**
1232
- * @internal
1233
- */
1284
+ * @internal
1285
+ */
1234
1286
  ssContent: VNode | null;
1235
1287
  /**
1236
- * @internal
1237
- */
1288
+ * @internal
1289
+ */
1238
1290
  ssFallback: VNode | null;
1239
1291
  shapeFlag: number;
1240
1292
  patchFlag: number;
1241
1293
  /**
1242
- * @internal
1243
- */
1294
+ * @internal
1295
+ */
1244
1296
  dynamicProps: string[] | null;
1245
1297
  /**
1246
- * @internal
1247
- */
1298
+ * @internal
1299
+ */
1248
1300
  dynamicChildren: (VNode[] & {
1249
1301
  hasOnce?: boolean;
1250
1302
  }) | null;
1251
1303
  appContext: AppContext | null;
1252
1304
  /**
1253
- * @internal lexical scope owner instance
1254
- */
1305
+ * @internal lexical scope owner instance
1306
+ */
1255
1307
  ctx: ComponentInternalInstance | null;
1256
1308
  /**
1257
- * @internal attached by v-memo
1258
- */
1309
+ * @internal attached by v-memo
1310
+ */
1259
1311
  memo?: any[];
1260
1312
  /**
1261
- * @internal index for cleaning v-memo cache
1262
- */
1313
+ * @internal index for cleaning v-memo cache
1314
+ */
1263
1315
  cacheIndex?: number;
1264
1316
  /**
1265
- * @internal __COMPAT__ only
1266
- */
1317
+ * @internal __COMPAT__ only
1318
+ */
1267
1319
  isCompatRoot?: true;
1268
1320
  /**
1269
- * @internal custom element interception hook
1270
- */
1321
+ * @internal custom element interception hook
1322
+ */
1271
1323
  ce?: (instance: ComponentInternalInstance) => void;
1272
1324
  /**
1273
- * @internal VDOM in Vapor interop hook
1274
- */
1325
+ * @internal VDOM in Vapor interop hook
1326
+ */
1275
1327
  vi?: (instance: ComponentInternalInstance) => void;
1276
1328
  /**
1277
- * @internal Vapor slot in VDOM metadata
1278
- */
1329
+ * @internal Vapor slot in VDOM metadata
1330
+ */
1279
1331
  vs?: {
1280
1332
  slot: (props: any) => any;
1281
- fallback: (() => VNodeArrayChildren) | undefined;
1282
- outletFallback?: (() => VNodeArrayChildren) | undefined;
1333
+ outlets?: readonly VdomSlotOutlet[];
1283
1334
  state?: unknown;
1284
1335
  ref?: ShallowRef<any>;
1285
1336
  scope?: EffectScope;
1286
1337
  };
1287
1338
  /**
1288
- * @internal Vapor slot Block
1289
- */
1339
+ * @internal Vapor slot Block
1340
+ */
1290
1341
  vb?: any;
1342
+ /**
1343
+ * @internal vapor interop only — the fragment of a vdom slot outlet whose
1344
+ * fallback a forwarded vapor slot resolves
1345
+ */
1346
+ vo?: boolean;
1347
+ /**
1348
+ * @internal vapor interop only — internal before-update notification, fired
1349
+ * before this vnode is patched (alongside onVnodeBeforeUpdate). Single-owner:
1350
+ * the interop layer assigns (never appends) so re-tracking replaces the
1351
+ * previous callback.
1352
+ */
1353
+ ibu?: () => void;
1354
+ /**
1355
+ * @internal vapor interop only — internal updated notification, fired after
1356
+ * this vnode is patched (alongside onVnodeUpdated) so the interop layer can
1357
+ * refresh its snapshot of the DOM range. Single-owner; see `ibu`.
1358
+ */
1359
+ iu?: () => void;
1291
1360
  }
1292
1361
  //#endregion
1293
1362
  //#region packages/runtime-core/src/component.d.ts
1294
1363
  type Data = Record<string, unknown>;
1295
1364
  /**
1296
- * For extending allowed non-declared attrs on components in TSX
1297
- */
1365
+ * For extending allowed non-declared attrs on components in TSX
1366
+ */
1298
1367
  interface AllowedAttrs {}
1299
1368
  type Attrs = Data & AllowedAttrs;
1300
1369
  /**
1301
- * For extending allowed non-declared props on components in TSX
1302
- */
1370
+ * For extending allowed non-declared props on components in TSX
1371
+ */
1303
1372
  interface ComponentCustomProps {}
1304
1373
  /**
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
- */
1374
+ * For globally defined Directives
1375
+ * Here is an example of adding a directive `VTooltip` as global directive:
1376
+ *
1377
+ * @example
1378
+ * ```ts
1379
+ * import VTooltip from 'v-tooltip'
1380
+ *
1381
+ * declare module '@vue/runtime-core' {
1382
+ * interface GlobalDirectives {
1383
+ * VTooltip
1384
+ * }
1385
+ * }
1386
+ * ```
1387
+ */
1319
1388
  interface GlobalDirectives {}
1320
1389
  /**
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
- */
1390
+ * For globally defined Components
1391
+ * Here is an example of adding a component `RouterView` as global component:
1392
+ *
1393
+ * @example
1394
+ * ```ts
1395
+ * import { RouterView } from 'vue-router'
1396
+ *
1397
+ * declare module '@vue/runtime-core' {
1398
+ * interface GlobalComponents {
1399
+ * RouterView
1400
+ * }
1401
+ * }
1402
+ * ```
1403
+ */
1335
1404
  interface GlobalComponents {
1336
1405
  Teleport: DefineComponent<TeleportProps>;
1337
1406
  Suspense: DefineComponent<SuspenseProps>;
@@ -1339,65 +1408,65 @@ interface GlobalComponents {
1339
1408
  BaseTransition: DefineComponent<BaseTransitionProps>;
1340
1409
  }
1341
1410
  /**
1342
- * Default allowed non-declared props on component in TSX
1343
- */
1411
+ * Default allowed non-declared props on component in TSX
1412
+ */
1344
1413
  interface AllowedComponentProps {
1345
1414
  class?: unknown;
1346
1415
  style?: unknown;
1347
1416
  }
1348
1417
  interface ComponentInternalOptions {
1349
1418
  /**
1350
- * indicates vapor component
1351
- */
1419
+ * indicates vapor component
1420
+ */
1352
1421
  __vapor?: boolean;
1353
1422
  /**
1354
- * whether this vapor component has multiple root nodes
1355
- */
1423
+ * whether this vapor component has multiple root nodes
1424
+ */
1356
1425
  __multiRoot?: boolean;
1357
1426
  /**
1358
- * indicates keep-alive component
1359
- */
1427
+ * indicates keep-alive component
1428
+ */
1360
1429
  __isKeepAlive?: boolean;
1361
1430
  /**
1362
- * @internal
1363
- */
1431
+ * @internal
1432
+ */
1364
1433
  __scopeId?: string;
1365
1434
  /**
1366
- * @internal
1367
- */
1435
+ * @internal
1436
+ */
1368
1437
  __cssModules?: Data;
1369
1438
  /**
1370
- * @internal
1371
- */
1439
+ * @internal
1440
+ */
1372
1441
  __hmrId?: string;
1373
1442
  /**
1374
- * Compat build only, for bailing out of certain compatibility behavior
1375
- */
1443
+ * Compat build only, for bailing out of certain compatibility behavior
1444
+ */
1376
1445
  __isBuiltIn?: boolean;
1377
1446
  /**
1378
- * This one should be exposed so that devtools can make use of it
1379
- */
1447
+ * This one should be exposed so that devtools can make use of it
1448
+ */
1380
1449
  __file?: string;
1381
1450
  /**
1382
- * name inferred from filename
1383
- */
1451
+ * name inferred from filename
1452
+ */
1384
1453
  __name?: string;
1385
1454
  }
1386
1455
  interface AsyncComponentInternalOptions<R = ConcreteComponent, I = ComponentInternalInstance> {
1387
1456
  /**
1388
- * marker for AsyncComponentWrapper
1389
- * @internal
1390
- */
1457
+ * marker for AsyncComponentWrapper
1458
+ * @internal
1459
+ */
1391
1460
  __asyncLoader?: () => Promise<R>;
1392
1461
  /**
1393
- * the inner component resolved by the AsyncComponentWrapper
1394
- * @internal
1395
- */
1462
+ * the inner component resolved by the AsyncComponentWrapper
1463
+ * @internal
1464
+ */
1396
1465
  __asyncResolved?: R;
1397
1466
  /**
1398
- * Exposed for lazy hydration
1399
- * @internal
1400
- */
1467
+ * Exposed for lazy hydration
1468
+ * @internal
1469
+ */
1401
1470
  __asyncHydrate?: (el: Element, instance: I, hydrate: () => void) => void;
1402
1471
  }
1403
1472
  interface FunctionalComponent<P = {}, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any, EE extends EmitsOptions = ShortEmitsToObject<E>> extends ComponentInternalOptions {
@@ -1410,24 +1479,24 @@ interface FunctionalComponent<P = {}, E extends EmitsOptions | Record<string, an
1410
1479
  compatConfig?: CompatConfig;
1411
1480
  }
1412
1481
  /**
1413
- * Type used where a function accepts both vdom and vapor components.
1414
- */
1482
+ * Type used where a function accepts both vdom and vapor components.
1483
+ */
1415
1484
  type GenericComponent = ({
1416
1485
  name?: string;
1417
1486
  } | ((() => any) & {
1418
1487
  displayName?: string;
1419
1488
  })) & ComponentInternalOptions;
1420
1489
  /**
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
- */
1490
+ * Concrete component type matches its actual value: it's either an options
1491
+ * object, or a function. Use this where the code expects to work with actual
1492
+ * values, e.g. checking if its a function or not. This is mostly for internal
1493
+ * implementation code.
1494
+ */
1426
1495
  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
1496
  /**
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
- */
1497
+ * A type used in public APIs where a component type is expected.
1498
+ * The constructor type is an artificial type returned by defineComponent().
1499
+ */
1431
1500
  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
1501
  type LifecycleHook<TFn = Function> = (TFn & SchedulerJob)[] | null;
1433
1502
  type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ? {
@@ -1437,8 +1506,8 @@ type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ?
1437
1506
  expose: <Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed) => void;
1438
1507
  } : never;
1439
1508
  /**
1440
- * @internal
1441
- */
1509
+ * @internal
1510
+ */
1442
1511
  type InternalRenderFunction = {
1443
1512
  (ctx: ComponentPublicInstance, cache: ComponentInternalInstance["renderCache"], $props: ComponentInternalInstance["props"], $setup: ComponentInternalInstance["setupState"], $data: ComponentInternalInstance["data"], $options: ComponentInternalInstance["ctx"]): VNodeChild;
1444
1513
  _rc?: boolean;
@@ -1446,10 +1515,10 @@ type InternalRenderFunction = {
1446
1515
  _compatWrapped?: boolean;
1447
1516
  };
1448
1517
  /**
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
- */
1518
+ * Base component instance interface that is shared between vdom mode and vapor
1519
+ * mode, so that we can have a mixed instance tree and reuse core logic that
1520
+ * operate on both.
1521
+ */
1453
1522
  interface GenericComponentInstance {
1454
1523
  vapor?: boolean;
1455
1524
  uid: number;
@@ -1458,202 +1527,197 @@ interface GenericComponentInstance {
1458
1527
  parent: GenericComponentInstance | null;
1459
1528
  appContext: GenericAppContext;
1460
1529
  /**
1461
- * Object containing values this component provides for its descendants
1462
- * @internal
1463
- */
1530
+ * Object containing values this component provides for its descendants
1531
+ * @internal
1532
+ */
1464
1533
  provides: Data;
1465
1534
  /**
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
- */
1535
+ * Tracking reactive effects (e.g. watchers) associated with this component
1536
+ * so that they can be automatically stopped on component unmount
1537
+ * @internal
1538
+ */
1470
1539
  scope: EffectScope;
1471
1540
  /**
1472
- * render function will have different types between vdom and vapor
1473
- */
1541
+ * render function will have different types between vdom and vapor
1542
+ */
1474
1543
  render?: Function | null;
1475
1544
  /**
1476
- * SSR render function
1477
- * (they are the same between vdom and vapor components.)
1478
- * @internal
1479
- */
1545
+ * SSR render function
1546
+ * (they are the same between vdom and vapor components.)
1547
+ * @internal
1548
+ */
1480
1549
  ssrRender?: Function | null;
1481
1550
  props: Data;
1482
1551
  attrs: Data;
1483
1552
  refs: Data;
1484
1553
  emit: EmitFn;
1485
1554
  /**
1486
- * used for keeping track of .once event handlers on components
1487
- * @internal
1488
- */
1555
+ * used for keeping track of .once event handlers on components
1556
+ * @internal
1557
+ */
1489
1558
  emitted: Record<string, boolean> | null;
1490
1559
  /**
1491
- * used for caching the value returned from props default factory functions to
1492
- * avoid unnecessary watcher trigger
1493
- * @internal
1494
- */
1560
+ * used for caching the value returned from props default factory functions to
1561
+ * avoid unnecessary watcher trigger
1562
+ * @internal
1563
+ */
1495
1564
  propsDefaults: Data | null;
1496
1565
  /**
1497
- * used for getting the keys of a component's raw props, vapor only
1498
- * @internal
1499
- */
1566
+ * used for getting the keys of a component's raw props, vapor only
1567
+ * @internal
1568
+ */
1500
1569
  rawKeys?: () => string[];
1501
1570
  exposed: Record<string, any> | null;
1502
1571
  exposeProxy: Record<string, any> | null;
1503
1572
  /**
1504
- * setup related
1505
- * @internal
1506
- */
1573
+ * setup related
1574
+ * @internal
1575
+ */
1507
1576
  setupState?: Data;
1508
1577
  /**
1509
- * devtools access to additional info
1510
- * @internal
1511
- */
1578
+ * devtools access to additional info
1579
+ * @internal
1580
+ */
1512
1581
  devtoolsRawSetupState?: any;
1513
1582
  isMounted: boolean;
1514
1583
  isUnmounted: boolean;
1515
1584
  isDeactivated: boolean;
1516
1585
  /**
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
- */
1586
+ * for tracking useId()
1587
+ * first element is the current boundary prefix
1588
+ * second number is the index of the useId call within that boundary
1589
+ * @internal
1590
+ */
1522
1591
  ids: [string, number, number];
1523
1592
  /**
1524
- * resolved props options
1525
- * @internal
1526
- */
1593
+ * resolved props options
1594
+ * @internal
1595
+ */
1527
1596
  propsOptions?: NormalizedPropsOptions;
1528
1597
  /**
1529
- * resolved emits options
1530
- * @internal
1531
- */
1598
+ * resolved emits options
1599
+ * @internal
1600
+ */
1532
1601
  emitsOptions?: ObjectEmitsOptions | null;
1533
1602
  /**
1534
- * Public instance proxy, vdom only
1535
- */
1603
+ * Public instance proxy, vdom only
1604
+ */
1536
1605
  proxy?: any;
1537
1606
  /**
1538
- * suspense related
1539
- * @internal
1540
- */
1607
+ * suspense related
1608
+ * @internal
1609
+ */
1541
1610
  suspense: SuspenseBoundary | null;
1542
1611
  /**
1543
- * suspense pending batch id
1544
- * @internal
1545
- */
1612
+ * suspense pending batch id
1613
+ * @internal
1614
+ */
1546
1615
  suspenseId: number;
1547
1616
  /**
1548
- * @internal
1549
- */
1617
+ * @internal
1618
+ */
1550
1619
  asyncDep: Promise<any> | null;
1551
1620
  /**
1552
- * @internal
1553
- */
1621
+ * @internal
1622
+ */
1554
1623
  asyncResolved: boolean;
1555
1624
  /**
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
- */
1625
+ * `updateTeleportCssVars`
1626
+ * For updating css vars on contained teleports
1627
+ * @internal
1628
+ */
1565
1629
  ut?: (vars?: Record<string, string>) => void;
1566
1630
  /**
1567
- * dev only. For style v-bind hydration mismatch checks
1568
- * @internal
1569
- */
1631
+ * dev only. For style v-bind hydration mismatch checks
1632
+ * @internal
1633
+ */
1570
1634
  getCssVars?: () => Record<string, string>;
1571
1635
  /**
1572
- * @internal
1573
- */
1636
+ * @internal
1637
+ */
1574
1638
  [LifecycleHooks.BEFORE_CREATE]?: LifecycleHook;
1575
1639
  /**
1576
- * @internal
1577
- */
1640
+ * @internal
1641
+ */
1578
1642
  [LifecycleHooks.CREATED]?: LifecycleHook;
1579
1643
  /**
1580
- * @internal
1581
- */
1644
+ * @internal
1645
+ */
1582
1646
  [LifecycleHooks.BEFORE_MOUNT]?: LifecycleHook;
1583
1647
  /**
1584
- * @internal
1585
- */
1648
+ * @internal
1649
+ */
1586
1650
  [LifecycleHooks.MOUNTED]?: LifecycleHook;
1587
1651
  /**
1588
- * @internal
1589
- */
1652
+ * @internal
1653
+ */
1590
1654
  [LifecycleHooks.BEFORE_UPDATE]?: LifecycleHook;
1591
1655
  /**
1592
- * @internal
1593
- */
1656
+ * @internal
1657
+ */
1594
1658
  [LifecycleHooks.UPDATED]?: LifecycleHook;
1595
1659
  /**
1596
- * @internal
1597
- */
1660
+ * @internal
1661
+ */
1598
1662
  [LifecycleHooks.BEFORE_UNMOUNT]?: LifecycleHook;
1599
1663
  /**
1600
- * @internal
1601
- */
1664
+ * @internal
1665
+ */
1602
1666
  [LifecycleHooks.UNMOUNTED]?: LifecycleHook;
1603
1667
  /**
1604
- * @internal
1605
- */
1668
+ * @internal
1669
+ */
1606
1670
  [LifecycleHooks.RENDER_TRACKED]?: LifecycleHook;
1607
1671
  /**
1608
- * @internal
1609
- */
1672
+ * @internal
1673
+ */
1610
1674
  [LifecycleHooks.RENDER_TRIGGERED]?: LifecycleHook;
1611
1675
  /**
1612
- * @internal
1613
- */
1676
+ * @internal
1677
+ */
1614
1678
  [LifecycleHooks.ACTIVATED]?: LifecycleHook;
1615
1679
  /**
1616
- * @internal
1617
- */
1680
+ * @internal
1681
+ */
1618
1682
  [LifecycleHooks.DEACTIVATED]?: LifecycleHook;
1619
1683
  /**
1620
- * @internal
1621
- */
1684
+ * @internal
1685
+ */
1622
1686
  [LifecycleHooks.ERROR_CAPTURED]?: LifecycleHook;
1623
1687
  /**
1624
- * @internal
1625
- */
1688
+ * @internal
1689
+ */
1626
1690
  [LifecycleHooks.SERVER_PREFETCH]?: LifecycleHook<() => Promise<unknown>>;
1627
1691
  /**
1628
- * @internal vapor only
1629
- */
1692
+ * @internal vapor only
1693
+ */
1630
1694
  hmrRerender?: () => void;
1631
1695
  /**
1632
- * @internal vapor only
1633
- */
1696
+ * @internal vapor only
1697
+ */
1634
1698
  hmrReload?: (newComp: any) => void;
1635
1699
  vnode?: VNode;
1636
1700
  subTree?: VNode;
1637
1701
  /**
1638
- * Custom Element instance (if component is created by defineCustomElement)
1639
- * @internal
1640
- */
1702
+ * Custom Element instance (if component is created by defineCustomElement)
1703
+ * @internal
1704
+ */
1641
1705
  ce?: ComponentCustomElementInterface;
1642
1706
  /**
1643
- * is custom element? (kept only for compatibility)
1644
- * @internal
1645
- */
1707
+ * is custom element? (kept only for compatibility)
1708
+ * @internal
1709
+ */
1646
1710
  isCE?: boolean;
1647
1711
  /**
1648
- * custom element specific HMR method
1649
- * @internal
1650
- */
1712
+ * custom element specific HMR method
1713
+ * @internal
1714
+ */
1651
1715
  ceReload?: (newStyles?: string[]) => void;
1652
1716
  }
1653
1717
  /**
1654
- * We expose a subset of properties on the internal instance as they are
1655
- * useful for advanced external libraries and tools.
1656
- */
1718
+ * We expose a subset of properties on the internal instance as they are
1719
+ * useful for advanced external libraries and tools.
1720
+ */
1657
1721
  interface ComponentInternalInstance extends GenericComponentInstance {
1658
1722
  vapor?: never;
1659
1723
  uid: number;
@@ -1662,84 +1726,84 @@ interface ComponentInternalInstance extends GenericComponentInstance {
1662
1726
  root: GenericComponentInstance;
1663
1727
  appContext: AppContext;
1664
1728
  /**
1665
- * Vnode representing this component in its parent's vdom tree
1666
- */
1729
+ * Vnode representing this component in its parent's vdom tree
1730
+ */
1667
1731
  vnode: VNode;
1668
1732
  /**
1669
- * The pending new vnode from parent updates
1670
- * @internal
1671
- */
1733
+ * The pending new vnode from parent updates
1734
+ * @internal
1735
+ */
1672
1736
  next: VNode | null;
1673
1737
  /**
1674
- * Root vnode of this component's own vdom tree
1675
- */
1738
+ * Root vnode of this component's own vdom tree
1739
+ */
1676
1740
  subTree: VNode;
1677
1741
  /**
1678
- * Render effect instance
1679
- */
1742
+ * Render effect instance
1743
+ */
1680
1744
  effect: ReactiveEffect;
1681
1745
  /**
1682
- * Force update render effect
1683
- */
1746
+ * Force update render effect
1747
+ */
1684
1748
  update: () => void;
1685
1749
  /**
1686
- * Render effect job to be passed to scheduler (checks if dirty)
1687
- */
1750
+ * Render effect job to be passed to scheduler (checks if dirty)
1751
+ */
1688
1752
  job: SchedulerJob;
1689
1753
  /**
1690
- * The render function that returns vdom tree.
1691
- * @internal
1692
- */
1754
+ * The render function that returns vdom tree.
1755
+ * @internal
1756
+ */
1693
1757
  render: InternalRenderFunction | null;
1694
1758
  /**
1695
- * cache for proxy access type to avoid hasOwnProperty calls
1696
- * @internal
1697
- */
1759
+ * cache for proxy access type to avoid hasOwnProperty calls
1760
+ * @internal
1761
+ */
1698
1762
  accessCache: Data | null;
1699
1763
  /**
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
- */
1764
+ * cache for render function values that rely on _ctx but won't need updates
1765
+ * after initialized (e.g. inline handlers)
1766
+ * @internal
1767
+ */
1704
1768
  renderCache: (Function | VNode | undefined)[];
1705
1769
  /**
1706
- * Resolved component registry, only for components with mixins or extends
1707
- * @internal
1708
- */
1770
+ * Resolved component registry, only for components with mixins or extends
1771
+ * @internal
1772
+ */
1709
1773
  components: Record<string, ConcreteComponent> | null;
1710
1774
  /**
1711
- * Resolved directive registry, only for components with mixins or extends
1712
- * @internal
1713
- */
1775
+ * Resolved directive registry, only for components with mixins or extends
1776
+ * @internal
1777
+ */
1714
1778
  directives: Record<string, Directive> | null;
1715
1779
  /**
1716
- * Resolved filters registry, v2 compat only
1717
- * @internal
1718
- */
1780
+ * Resolved filters registry, v2 compat only
1781
+ * @internal
1782
+ */
1719
1783
  filters?: Record<string, Function>;
1720
1784
  /**
1721
- * resolved props options
1722
- * @internal
1723
- */
1785
+ * resolved props options
1786
+ * @internal
1787
+ */
1724
1788
  propsOptions: NormalizedPropsOptions;
1725
1789
  /**
1726
- * resolved emits options
1727
- * @internal
1728
- */
1790
+ * resolved emits options
1791
+ * @internal
1792
+ */
1729
1793
  emitsOptions: ObjectEmitsOptions | null;
1730
1794
  /**
1731
- * resolved inheritAttrs options
1732
- * @internal
1733
- */
1795
+ * resolved inheritAttrs options
1796
+ * @internal
1797
+ */
1734
1798
  inheritAttrs?: boolean;
1735
1799
  /**
1736
- * setup related
1737
- * @internal
1738
- */
1800
+ * setup related
1801
+ * @internal
1802
+ */
1739
1803
  setupState: Data;
1740
1804
  /**
1741
- * @internal
1742
- */
1805
+ * @internal
1806
+ */
1743
1807
  setupContext?: SetupContext | null;
1744
1808
  proxy: ComponentPublicInstance | null;
1745
1809
  data: Data;
@@ -1747,79 +1811,79 @@ interface ComponentInternalInstance extends GenericComponentInstance {
1747
1811
  slots: InternalSlots;
1748
1812
  exposeProxy: Record<string, any> | null;
1749
1813
  /**
1750
- * alternative proxy used only for runtime-compiled render functions using
1751
- * `with` block
1752
- * @internal
1753
- */
1814
+ * alternative proxy used only for runtime-compiled render functions using
1815
+ * `with` block
1816
+ * @internal
1817
+ */
1754
1818
  withProxy: ComponentPublicInstance | null;
1755
1819
  /**
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
- */
1820
+ * This is the target for the public instance proxy. It also holds properties
1821
+ * injected by user options (computed, methods etc.) and user-attached
1822
+ * custom properties (via `this.x = ...`)
1823
+ * @internal
1824
+ */
1761
1825
  ctx: Data;
1762
1826
  /**
1763
- * suspense pending batch id
1764
- * @internal
1765
- */
1827
+ * suspense pending batch id
1828
+ * @internal
1829
+ */
1766
1830
  suspenseId: number;
1767
1831
  /**
1768
- * @internal
1769
- */
1832
+ * @internal
1833
+ */
1770
1834
  asyncDep: Promise<any> | null;
1771
1835
  /**
1772
- * @internal
1773
- */
1836
+ * @internal
1837
+ */
1774
1838
  asyncResolved: boolean;
1775
1839
  /**
1776
- * For caching bound $forceUpdate on public proxy access
1777
- * @internal
1778
- */
1840
+ * For caching bound $forceUpdate on public proxy access
1841
+ * @internal
1842
+ */
1779
1843
  f?: () => void;
1780
1844
  /**
1781
- * For caching bound $nextTick on public proxy access
1782
- * @internal
1783
- */
1845
+ * For caching bound $nextTick on public proxy access
1846
+ * @internal
1847
+ */
1784
1848
  n?: () => Promise<void>;
1785
1849
  /**
1786
- * v2 compat only, for caching mutated $options
1787
- * @internal
1788
- */
1850
+ * v2 compat only, for caching mutated $options
1851
+ * @internal
1852
+ */
1789
1853
  resolvedOptions?: MergedComponentOptions;
1790
1854
  }
1791
1855
  interface ComponentCustomElementInterface {
1792
1856
  /**
1793
- * @internal
1794
- */
1857
+ * @internal
1858
+ */
1795
1859
  _isVueCE: boolean;
1796
1860
  /**
1797
- * @internal
1798
- */
1861
+ * @internal
1862
+ */
1799
1863
  _injectChildStyle(type: ConcreteComponent, parent?: ConcreteComponent): void;
1800
1864
  /**
1801
- * @internal
1802
- */
1865
+ * @internal
1866
+ */
1803
1867
  _removeChildStyle(type: ConcreteComponent): void;
1804
1868
  /**
1805
- * @internal
1806
- */
1869
+ * @internal
1870
+ */
1807
1871
  _setProp(key: string, val: any, shouldReflect?: boolean, shouldUpdate?: boolean): void;
1808
1872
  /**
1809
- * @internal
1810
- */
1873
+ * @internal
1874
+ */
1811
1875
  _beginPatch(): void;
1812
1876
  /**
1813
- * @internal
1814
- */
1877
+ * @internal
1878
+ */
1815
1879
  _endPatch(): void;
1816
1880
  /**
1817
- * @internal attached by the nested Teleport when shadowRoot is false.
1818
- */
1881
+ * @internal attached by the nested Teleport when shadowRoot is false.
1882
+ */
1819
1883
  _teleportTargets?: Set<RendererElement>;
1820
1884
  /**
1821
- * @internal check if shadow root is enabled
1822
- */
1885
+ * @internal check if shadow root is enabled
1886
+ */
1823
1887
  _hasShadowRoot(): boolean;
1824
1888
  }
1825
1889
  //#endregion
@@ -1836,28 +1900,28 @@ interface WatchOptions<Immediate = boolean> extends WatchEffectOptions {
1836
1900
  //#region packages/runtime-core/src/compat/globalConfig.d.ts
1837
1901
  type LegacyConfig = {
1838
1902
  /**
1839
- * @deprecated `config.silent` option has been removed
1840
- */
1903
+ * @deprecated `config.silent` option has been removed
1904
+ */
1841
1905
  silent?: boolean;
1842
1906
  /**
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
- */
1907
+ * @deprecated use __VUE_PROD_DEVTOOLS__ compile-time feature flag instead
1908
+ * https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags
1909
+ */
1846
1910
  devtools?: boolean;
1847
1911
  /**
1848
- * @deprecated use `config.isCustomElement` instead
1849
- * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
1850
- */
1912
+ * @deprecated use `config.isCustomElement` instead
1913
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
1914
+ */
1851
1915
  ignoredElements?: (string | RegExp)[];
1852
1916
  /**
1853
- * @deprecated
1854
- * https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
1855
- */
1917
+ * @deprecated
1918
+ * https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
1919
+ */
1856
1920
  keyCodes?: Record<string, number | number[]>;
1857
1921
  /**
1858
- * @deprecated
1859
- * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
1860
- */
1922
+ * @deprecated
1923
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
1924
+ */
1861
1925
  productionTip?: boolean;
1862
1926
  };
1863
1927
  //#endregion
@@ -1878,10 +1942,10 @@ interface LegacyPublicProperties {
1878
1942
  //#endregion
1879
1943
  //#region packages/runtime-core/src/compat/global.d.ts
1880
1944
  /**
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
- */
1945
+ * @deprecated the default `Vue` export has been removed in Vue 3. The type for
1946
+ * the default export is provided only for migration purposes. Please use
1947
+ * named imports instead - e.g. `import { createApp } from 'vue'`.
1948
+ */
1885
1949
  type CompatVue = Pick<App, "version" | "component" | "directive"> & {
1886
1950
  configureCompat: typeof configureCompat;
1887
1951
  new (options?: ComponentOptions): LegacyPublicInstance;
@@ -1897,40 +1961,40 @@ type CompatVue = Pick<App, "version" | "component" | "directive"> & {
1897
1961
  directive<T = any, V = any>(name: string, directive: Directive<T, V>): CompatVue;
1898
1962
  compile(template: string): RenderFunction;
1899
1963
  /**
1900
- * @deprecated Vue 3 no longer supports extending constructors.
1901
- */
1964
+ * @deprecated Vue 3 no longer supports extending constructors.
1965
+ */
1902
1966
  extend: (options?: ComponentOptions) => CompatVue;
1903
1967
  /**
1904
- * @deprecated Vue 3 no longer needs set() for adding new properties.
1905
- */
1968
+ * @deprecated Vue 3 no longer needs set() for adding new properties.
1969
+ */
1906
1970
  set(target: any, key: PropertyKey, value: any): void;
1907
1971
  /**
1908
- * @deprecated Vue 3 no longer needs delete() for property deletions.
1909
- */
1972
+ * @deprecated Vue 3 no longer needs delete() for property deletions.
1973
+ */
1910
1974
  delete(target: any, key: PropertyKey): void;
1911
1975
  /**
1912
- * @deprecated use `reactive` instead.
1913
- */
1976
+ * @deprecated use `reactive` instead.
1977
+ */
1914
1978
  observable: typeof reactive;
1915
1979
  /**
1916
- * @deprecated filters have been removed from Vue 3.
1917
- */
1980
+ * @deprecated filters have been removed from Vue 3.
1981
+ */
1918
1982
  filter(name: string, arg?: any): null;
1919
1983
  /**
1920
- * @internal
1921
- */
1984
+ * @internal
1985
+ */
1922
1986
  cid: number;
1923
1987
  /**
1924
- * @internal
1925
- */
1988
+ * @internal
1989
+ */
1926
1990
  options: ComponentOptions;
1927
1991
  /**
1928
- * @internal
1929
- */
1992
+ * @internal
1993
+ */
1930
1994
  util: any;
1931
1995
  /**
1932
- * @internal
1933
- */
1996
+ * @internal
1997
+ */
1934
1998
  super: CompatVue;
1935
1999
  };
1936
2000
  //#endregion
@@ -1989,21 +2053,17 @@ type SystemModifiers = (typeof systemModifiers)[number];
1989
2053
  type CompatModifiers = keyof typeof keyNames;
1990
2054
  type VOnModifiers = SystemModifiers | ModifierGuards | CompatModifiers;
1991
2055
  type ModifierGuards = "shift" | "ctrl" | "alt" | "meta" | "left" | "right" | "stop" | "prevent" | "self" | "middle" | "exact";
1992
- /**
1993
- * @private
1994
- */
1995
2056
  declare const keyNames: Record<"esc" | "space" | "up" | "left" | "right" | "down" | "delete", string>;
1996
- /**
1997
- * @private
1998
- */
1999
2057
  type VOnDirective = Directive<any, any, VOnModifiers>;
2000
2058
  //#endregion
2001
2059
  //#region packages/runtime-dom/src/directives/vModel.d.ts
2002
2060
  type AssignerFn = (value: any) => void;
2003
2061
  declare const assignKey: unique symbol;
2062
+ declare const initialValueKey: unique symbol;
2004
2063
  type ModelDirective<T, Modifiers extends string = string> = ObjectDirective<T & {
2005
2064
  [assignKey]: AssignerFn;
2006
- _assigning?: boolean;
2065
+ [initialValueKey]?: string;
2066
+ _pendingValue?: [multiple: boolean, value: any];
2007
2067
  }, any, Modifiers>;
2008
2068
  declare const vModelText: ModelDirective<HTMLInputElement | HTMLTextAreaElement, "trim" | "number" | "lazy">;
2009
2069
  declare const vModelCheckbox: ModelDirective<HTMLInputElement>;
@@ -22186,13 +22246,13 @@ declare namespace DataType {
22186
22246
  //#region packages/runtime-dom/src/jsx.d.ts
22187
22247
  interface CSSProperties extends Properties<string | number>, PropertiesHyphen<string | number> {
22188
22248
  /**
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
- */
22249
+ * The index signature was removed to enable closed typing for style
22250
+ * using CSSType. You're able to use type assertion or module augmentation
22251
+ * to add properties or an index signature of your own.
22252
+ *
22253
+ * For examples and more information, visit:
22254
+ * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
22255
+ */
22196
22256
  [v: `--${string}`]: string | number | undefined;
22197
22257
  }
22198
22258
  type StyleValue = false | null | undefined | string | CSSProperties | Array<StyleValue>;
@@ -22200,10 +22260,10 @@ type ClassValue = false | null | undefined | string | Record<string, any> | Arra
22200
22260
  //#endregion
22201
22261
  //#region packages/runtime-dom/src/index.d.ts
22202
22262
  /**
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
- */
22263
+ * This is a stub implementation to prevent the need to use dom types.
22264
+ *
22265
+ * To enable proper types, add `"dom"` to `"lib"` in your `tsconfig.json`.
22266
+ */
22207
22267
  type DomType<T> = typeof globalThis extends {
22208
22268
  window: unknown;
22209
22269
  } ? T : never;