@vue/runtime-core 3.3.0-alpha.6 → 3.3.0-alpha.8

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.
@@ -7245,6 +7245,11 @@ function defineOptions(options) {
7245
7245
  warnRuntimeUsage(`defineOptions`);
7246
7246
  }
7247
7247
  }
7248
+ function defineSlots() {
7249
+ {
7250
+ warnRuntimeUsage(`defineSlots`);
7251
+ }
7252
+ }
7248
7253
  function withDefaults(props, defaults) {
7249
7254
  {
7250
7255
  warnRuntimeUsage(`withDefaults`);
@@ -7559,7 +7564,7 @@ function isMemoSame(cached, memo) {
7559
7564
  return true;
7560
7565
  }
7561
7566
 
7562
- const version = "3.3.0-alpha.6";
7567
+ const version = "3.3.0-alpha.8";
7563
7568
  const _ssrUtils = {
7564
7569
  createComponentInstance,
7565
7570
  setupComponent,
@@ -7596,6 +7601,7 @@ exports.stop = reactivity.stop;
7596
7601
  exports.toRaw = reactivity.toRaw;
7597
7602
  exports.toRef = reactivity.toRef;
7598
7603
  exports.toRefs = reactivity.toRefs;
7604
+ exports.toValue = reactivity.toValue;
7599
7605
  exports.triggerRef = reactivity.triggerRef;
7600
7606
  exports.unref = reactivity.unref;
7601
7607
  exports.camelize = shared.camelize;
@@ -7637,6 +7643,7 @@ exports.defineEmits = defineEmits;
7637
7643
  exports.defineExpose = defineExpose;
7638
7644
  exports.defineOptions = defineOptions;
7639
7645
  exports.defineProps = defineProps;
7646
+ exports.defineSlots = defineSlots;
7640
7647
  exports.getCurrentInstance = getCurrentInstance;
7641
7648
  exports.getTransitionRawChildren = getTransitionRawChildren;
7642
7649
  exports.guardReactiveProps = guardReactiveProps;
@@ -5809,6 +5809,8 @@ function defineExpose(exposed) {
5809
5809
  }
5810
5810
  function defineOptions(options) {
5811
5811
  }
5812
+ function defineSlots() {
5813
+ }
5812
5814
  function withDefaults(props, defaults) {
5813
5815
  return null;
5814
5816
  }
@@ -5931,7 +5933,7 @@ function isMemoSame(cached, memo) {
5931
5933
  return true;
5932
5934
  }
5933
5935
 
5934
- const version = "3.3.0-alpha.6";
5936
+ const version = "3.3.0-alpha.8";
5935
5937
  const _ssrUtils = {
5936
5938
  createComponentInstance,
5937
5939
  setupComponent,
@@ -5968,6 +5970,7 @@ exports.stop = reactivity.stop;
5968
5970
  exports.toRaw = reactivity.toRaw;
5969
5971
  exports.toRef = reactivity.toRef;
5970
5972
  exports.toRefs = reactivity.toRefs;
5973
+ exports.toValue = reactivity.toValue;
5971
5974
  exports.triggerRef = reactivity.triggerRef;
5972
5975
  exports.unref = reactivity.unref;
5973
5976
  exports.camelize = shared.camelize;
@@ -6009,6 +6012,7 @@ exports.defineEmits = defineEmits;
6009
6012
  exports.defineExpose = defineExpose;
6010
6013
  exports.defineOptions = defineOptions;
6011
6014
  exports.defineProps = defineProps;
6015
+ exports.defineSlots = defineSlots;
6012
6016
  exports.getCurrentInstance = getCurrentInstance;
6013
6017
  exports.getTransitionRawChildren = getTransitionRawChildren;
6014
6018
  exports.guardReactiveProps = guardReactiveProps;
@@ -1,15 +1,22 @@
1
1
  import { computed as computed$1, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, Ref, ReactiveFlags, ReactiveEffect, EffectScope, ComputedRef, DebuggerOptions, reactive } from '@vue/reactivity';
2
- export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, Raw, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
3
- import { SlotFlags, UnionToIntersection, Prettify, IfAny, LooseRequired } from '@vue/shared';
2
+ export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, MaybeRef, MaybeRefOrGetter, Raw, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
3
+ import { IfAny, Prettify, SlotFlags, UnionToIntersection, LooseRequired } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
5
 
6
6
  export declare const computed: typeof computed$1;
7
7
 
8
- export type Slot = (...args: any[]) => VNode[];
8
+ export type Slot<T extends any = any> = (...args: IfAny<T, any[], [T] | (T extends undefined ? [] : never)>) => VNode[];
9
9
  type InternalSlots = {
10
10
  [name: string]: Slot | undefined;
11
11
  };
12
12
  export type Slots = Readonly<InternalSlots>;
13
+ declare const SlotSymbol: unique symbol;
14
+ export type SlotsType<T extends Record<string, any> = Record<string, any>> = {
15
+ [SlotSymbol]?: T;
16
+ };
17
+ type TypedSlots<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<Prettify<{
18
+ [K in keyof T]: NonNullable<T[K]> extends (...args: any[]) => any ? T[K] : Slot<T[K]>;
19
+ }>>;
13
20
  type RawSlots = {
14
21
  [name: string]: unknown;
15
22
  $stable?: boolean;
@@ -88,7 +95,7 @@ type EmitFn<Options = ObjectEmitsOptions, Event extends keyof Options = keyof Op
88
95
  export interface ComponentCustomProperties {
89
96
  }
90
97
  type IsDefaultMixinComponent<T> = T extends ComponentOptionsMixin ? ComponentOptionsMixin extends T ? true : false : false;
91
- type MixinToOptionTypes<T> = T extends ComponentOptionsBase<infer P, infer B, infer D, infer C, infer M, infer Mixin, infer Extends, any, any, infer Defaults> ? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> & IntersectionMixin<Mixin> & IntersectionMixin<Extends> : never;
98
+ type MixinToOptionTypes<T> = T extends ComponentOptionsBase<infer P, infer B, infer D, infer C, infer M, infer Mixin, infer Extends, any, any, any, infer Defaults> ? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> & IntersectionMixin<Mixin> & IntersectionMixin<Extends> : never;
92
99
  type ExtractMixin<T> = {
93
100
  Mixin: MixinToOptionTypes<T>;
94
101
  }[T extends ComponentOptionsMixin ? 'Mixin' : never];
@@ -101,17 +108,17 @@ type ComponentPublicInstanceConstructor<T extends ComponentPublicInstance<Props,
101
108
  __isSuspense?: never;
102
109
  new (...args: any[]): T;
103
110
  };
104
- export type CreateComponentPublicInstance<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 = {}, 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>, I>;
111
+ export type CreateComponentPublicInstance<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, S extends SlotsType = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, 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, S, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, S, Defaults>, I>;
105
112
  export type ComponentPublicInstance<P = {}, // props type extracted from props option
106
113
  B = {}, // raw bindings returned from setup()
107
114
  D = {}, // return from data()
108
- C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}> = {
115
+ C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, S extends SlotsType = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}> = {
109
116
  $: ComponentInternalInstance;
110
117
  $data: D;
111
118
  $props: Prettify<MakeDefaultsOptional extends true ? Partial<Defaults> & Omit<P & PublicProps, keyof Defaults> : P & PublicProps>;
112
119
  $attrs: Data;
113
120
  $refs: Data;
114
- $slots: Slots;
121
+ $slots: TypedSlots<S>;
115
122
  $root: ComponentPublicInstance | null;
116
123
  $parent: ComponentPublicInstance | null;
117
124
  $emit: EmitFn<E>;
@@ -500,8 +507,8 @@ declare function checkCompatEnabled(key: DeprecationTypes, instance: ComponentIn
500
507
  export interface ComponentCustomOptions {
501
508
  }
502
509
  export type RenderFunction = () => VNodeChild;
503
- export 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> extends LegacyOptions<Props, D, C, M, Mixin, Extends, I, II>, ComponentInternalOptions, ComponentCustomOptions {
504
- setup?: (this: void, props: LooseRequired<Props & Prettify<UnwrapMixinsType<IntersectionMixin<Mixin> & IntersectionMixin<Extends>, 'P'>>>, ctx: SetupContext<E>) => Promise<RawBindings> | RawBindings | RenderFunction | void;
510
+ export interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, E extends EmitsOptions, EE extends string = string, S extends SlotsType = {}, Defaults = {}, I extends ComponentInjectOptions = {}, II extends string = string> extends LegacyOptions<Props, D, C, M, Mixin, Extends, I, II>, ComponentInternalOptions, ComponentCustomOptions {
511
+ setup?: (this: void, props: LooseRequired<Props & Prettify<UnwrapMixinsType<IntersectionMixin<Mixin> & IntersectionMixin<Extends>, 'P'>>>, ctx: SetupContext<E, S>) => Promise<RawBindings> | RawBindings | RenderFunction | void;
505
512
  name?: string;
506
513
  template?: string | object;
507
514
  render?: Function;
@@ -509,6 +516,7 @@ export interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedO
509
516
  directives?: Record<string, Directive>;
510
517
  inheritAttrs?: boolean;
511
518
  emits?: (E | EE[]) & ThisType<void>;
519
+ slots?: S;
512
520
  expose?: string[];
513
521
  serverPrefetch?(): void | Promise<any>;
514
522
  compilerOptions?: RuntimeCompilerOptions;
@@ -531,19 +539,19 @@ export interface RuntimeCompilerOptions {
531
539
  comments?: boolean;
532
540
  delimiters?: [string, string];
533
541
  }
534
- export type ComponentOptionsWithoutProps<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, PE = Props & EmitsToProps<E>> = ComponentOptionsBase<PE, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II> & {
542
+ export type ComponentOptionsWithoutProps<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string, PE = Props & EmitsToProps<E>> = ComponentOptionsBase<PE, RawBindings, D, C, M, Mixin, Extends, E, EE, S, {}, I, II> & {
535
543
  props?: undefined;
536
- } & ThisType<CreateComponentPublicInstance<PE, RawBindings, D, C, M, Mixin, Extends, E, PE, {}, false, I>>;
537
- export type ComponentOptionsWithArrayProps<PropNames extends string = string, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, Props = Prettify<Readonly<{
544
+ } & ThisType<CreateComponentPublicInstance<PE, RawBindings, D, C, M, Mixin, Extends, E, S, PE, {}, false, I>>;
545
+ export type ComponentOptionsWithArrayProps<PropNames extends string = string, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string, Props = Prettify<Readonly<{
538
546
  [key in PropNames]?: any;
539
- } & EmitsToProps<E>>>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II> & {
547
+ } & EmitsToProps<E>>>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, S, {}, I, II> & {
540
548
  props: PropNames[];
541
- } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, {}, false, I>>;
542
- export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions> & EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, I, II> & {
549
+ } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, S, Props, {}, false, I>>;
550
+ export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions> & EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, S, Defaults, I, II> & {
543
551
  props: PropsOptions & ThisType<void>;
544
- } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, Defaults, false, I>>;
545
- export type ComponentOptions<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = any, M extends MethodOptions = any, Mixin extends ComponentOptionsMixin = any, Extends extends ComponentOptionsMixin = any, E extends EmitsOptions = any> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E> & ThisType<CreateComponentPublicInstance<{}, RawBindings, D, C, M, Mixin, Extends, E, Readonly<Props>>>;
546
- export type ComponentOptionsMixin = ComponentOptionsBase<any, any, any, any, any, any, any, any, any, any>;
552
+ } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, S, Props, Defaults, false, I>>;
553
+ export type ComponentOptions<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = any, M extends MethodOptions = any, Mixin extends ComponentOptionsMixin = any, Extends extends ComponentOptionsMixin = any, E extends EmitsOptions = any, S extends SlotsType = any> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, string, S> & ThisType<CreateComponentPublicInstance<{}, RawBindings, D, C, M, Mixin, Extends, E, Readonly<Props>>>;
554
+ export type ComponentOptionsMixin = ComponentOptionsBase<any, any, any, any, any, any, any, any, any, any, any>;
547
555
  export type ComputedOptions = Record<string, ComputedGetter<any> | WritableComputedOptions<any>>;
548
556
  export interface MethodOptions {
549
557
  [key: string]: Function;
@@ -1007,10 +1015,11 @@ interface ComponentInternalOptions {
1007
1015
  */
1008
1016
  __name?: string;
1009
1017
  }
1010
- export interface FunctionalComponent<P = {}, E extends EmitsOptions = {}> extends ComponentInternalOptions {
1011
- (props: P, ctx: Omit<SetupContext<E>, 'expose'>): any;
1018
+ export interface FunctionalComponent<P = {}, E extends EmitsOptions = {}, S extends Record<string, any> = any> extends ComponentInternalOptions {
1019
+ (props: P, ctx: Omit<SetupContext<E, IfAny<S, {}, SlotsType<S>>>, 'expose'>): any;
1012
1020
  props?: ComponentPropsOptions<P>;
1013
1021
  emits?: E | (keyof E)[];
1022
+ slots?: IfAny<S, Slots, SlotsType<S>>;
1014
1023
  inheritAttrs?: boolean;
1015
1024
  displayName?: string;
1016
1025
  compatConfig?: CompatConfig;
@@ -1025,7 +1034,7 @@ interface ClassComponent {
1025
1034
  * values, e.g. checking if its a function or not. This is mostly for internal
1026
1035
  * implementation code.
1027
1036
  */
1028
- export type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = ComponentOptions<Props, RawBindings, D, C, M> | FunctionalComponent<Props, any>;
1037
+ export type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = ComponentOptions<Props, RawBindings, D, C, M> | FunctionalComponent<Props, any, any>;
1029
1038
  /**
1030
1039
  * A type used in public APIs where a component type is expected.
1031
1040
  * The constructor type is an artificial type returned by defineComponent().
@@ -1033,9 +1042,9 @@ export type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends
1033
1042
  export type Component<Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = ConcreteComponent<Props, RawBindings, D, C, M> | ComponentPublicInstanceConstructor<Props>;
1034
1043
 
1035
1044
  type LifecycleHook<TFn = Function> = TFn[] | null;
1036
- export type SetupContext<E = EmitsOptions> = E extends any ? {
1045
+ export type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ? {
1037
1046
  attrs: Data;
1038
- slots: Slots;
1047
+ slots: TypedSlots<S>;
1039
1048
  emit: EmitFn<E>;
1040
1049
  expose: (exposed?: Record<string, any>) => void;
1041
1050
  } : never;
@@ -1157,20 +1166,22 @@ export declare function watch<T, Immediate extends Readonly<boolean> = false>(so
1157
1166
  export declare function watch<T extends object, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
1158
1167
 
1159
1168
  type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
1160
- export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>), Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>> = ComponentPublicInstanceConstructor<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, PP & Props, Defaults, true> & Props> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults> & PP;
1161
- export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string>(setup: (props: Props, ctx: SetupContext<E>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
1169
+ export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, PP = PublicProps, Props = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>), Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>> = ComponentPublicInstanceConstructor<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, S, PP & Props, Defaults, true> & Props> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, S, Defaults> & PP;
1170
+ export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
1162
1171
  props?: (keyof Props)[];
1163
1172
  emits?: E | EE[];
1173
+ slots?: S;
1164
1174
  }): (props: Props & EmitsToProps<E>) => any;
1165
- export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string>(setup: (props: Props, ctx: SetupContext<E>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
1175
+ export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
1166
1176
  props?: ComponentObjectPropsOptions<Props>;
1167
1177
  emits?: E | EE[];
1178
+ slots?: S;
1168
1179
  }): (props: Props & EmitsToProps<E>) => any;
1169
- export declare function defineComponent<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithoutProps<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE>;
1170
- export declare function defineComponent<PropNames extends string, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithArrayProps<PropNames, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II>): DefineComponent<Readonly<{
1180
+ export declare function defineComponent<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithoutProps<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, S, I, II>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, S>;
1181
+ export declare function defineComponent<PropNames extends string, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithArrayProps<PropNames, RawBindings, D, C, M, Mixin, Extends, E, EE, S, I, II>): DefineComponent<Readonly<{
1171
1182
  [key in PropNames]?: any;
1172
- }>, RawBindings, D, C, M, Mixin, Extends, E, EE>;
1173
- export declare function defineComponent<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II>): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>;
1183
+ }>, RawBindings, D, C, M, Mixin, Extends, E, EE, S>;
1184
+ export declare function defineComponent<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, S, I, II>): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, S>;
1174
1185
 
1175
1186
  type AsyncComponentResolveResult<T = Component> = T | {
1176
1187
  default: T;
@@ -1214,6 +1225,8 @@ export declare function defineAsyncComponent<T extends Component = {
1214
1225
  * foo?: string
1215
1226
  * bar: number
1216
1227
  * }>()
1228
+ *
1229
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
1217
1230
  * ```
1218
1231
  *
1219
1232
  * This is only usable inside `<script setup>`, is compiled away in the
@@ -1250,10 +1263,16 @@ type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? [T[K]] extends
1250
1263
  *
1251
1264
  * This is only usable inside `<script setup>`, is compiled away in the
1252
1265
  * output and should **not** be actually called at runtime.
1266
+ *
1267
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
1253
1268
  */
1254
1269
  export declare function defineEmits<EE extends string = string>(emitOptions: EE[]): EmitFn<EE[]>;
1255
1270
  export declare function defineEmits<E extends EmitsOptions = EmitsOptions>(emitOptions: E): EmitFn<E>;
1256
- export declare function defineEmits<TypeEmit>(): TypeEmit;
1271
+ export declare function defineEmits<T extends ((...args: any[]) => any) | Record<string, any[]>>(): T extends (...args: any[]) => any ? T : ShortEmits<T>;
1272
+ type RecordToUnion<T extends Record<string, any>> = T[keyof T];
1273
+ type ShortEmits<T extends Record<string, any>> = UnionToIntersection<RecordToUnion<{
1274
+ [K in keyof T]: (evt: K, ...args: T[K]) => void;
1275
+ }>>;
1257
1276
  /**
1258
1277
  * Vue `<script setup>` compiler macro for declaring a component's exposed
1259
1278
  * instance properties when it is accessed by a parent component via template
@@ -1265,12 +1284,23 @@ export declare function defineEmits<TypeEmit>(): TypeEmit;
1265
1284
  *
1266
1285
  * This is only usable inside `<script setup>`, is compiled away in the
1267
1286
  * output and should **not** be actually called at runtime.
1287
+ *
1288
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineexpose}
1268
1289
  */
1269
1290
  export declare function defineExpose<Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed): void;
1270
- export declare function defineOptions<RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string>(options?: ComponentOptionsWithoutProps<{}, RawBindings, D, C, M, Mixin, Extends, E, EE> & {
1291
+ /**
1292
+ * Vue `<script setup>` compiler macro for declaring a component's additional
1293
+ * options. This should be used only for options that cannot be expressed via
1294
+ * Composition API - e.g. `inhertiAttrs`.
1295
+ *
1296
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineoptions}
1297
+ */
1298
+ export declare function defineOptions<RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin>(options?: ComponentOptionsWithoutProps<{}, RawBindings, D, C, M, Mixin, Extends> & {
1271
1299
  emits?: undefined;
1272
1300
  expose?: undefined;
1301
+ slots?: undefined;
1273
1302
  }): void;
1303
+ export declare function defineSlots<S extends Record<string, any> = Record<string, any>>(): TypedSlots<SlotsType<S>>;
1274
1304
  type NotUndefined<T> = T extends undefined ? never : T;
1275
1305
  type InferDefaults<T> = {
1276
1306
  [K in keyof T]?: InferDefault<T, NotUndefined<T[K]>>;
@@ -1297,7 +1327,7 @@ type PropsWithDefaults<Base, Defaults> = Base & {
1297
1327
  * This is only usable inside `<script setup>`, is compiled away in the output
1298
1328
  * and should **not** be actually called at runtime.
1299
1329
  *
1300
- * @deprecated use reactive props destructure instead.
1330
+ * @see {@link https://vuejs.org/guide/typescript/composition-api.html#typing-component-props}
1301
1331
  */
1302
1332
  export declare function withDefaults<Props, Defaults extends InferDefaults<Props>>(props: Props, defaults: Defaults): PropsWithDefaults<Props, Defaults>;
1303
1333
  export declare function useSlots(): SetupContext['slots'];
@@ -1328,7 +1358,7 @@ export declare function h(type: typeof Fragment, props?: RawProps | null, childr
1328
1358
  export declare function h(type: typeof Teleport, props: RawProps & TeleportProps, children: RawChildren | RawSlots): VNode;
1329
1359
  export declare function h(type: typeof Suspense, children?: RawChildren): VNode;
1330
1360
  export declare function h(type: typeof Suspense, props?: (RawProps & SuspenseProps) | null, children?: RawChildren | RawSlots): VNode;
1331
- export declare function h<P, E extends EmitsOptions = {}>(type: FunctionalComponent<P, E>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1361
+ export declare function h<P, E extends EmitsOptions = {}, S extends Record<string, any> = {}>(type: FunctionalComponent<P, E, S>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1332
1362
  export declare function h(type: Component, children?: RawChildren): VNode;
1333
1363
  export declare function h<P>(type: ConcreteComponent | string, children?: RawChildren): VNode;
1334
1364
  export declare function h<P>(type: ConcreteComponent<P> | string, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren): VNode;
@@ -1595,6 +1625,7 @@ type _defineProps = typeof defineProps
1595
1625
  type _defineEmits = typeof defineEmits
1596
1626
  type _defineExpose = typeof defineExpose
1597
1627
  type _defineOptions = typeof defineOptions
1628
+ type _defineSlots = typeof defineSlots
1598
1629
  type _withDefaults = typeof withDefaults
1599
1630
 
1600
1631
  declare global {
@@ -1602,5 +1633,6 @@ declare global {
1602
1633
  const defineEmits: _defineEmits
1603
1634
  const defineExpose: _defineExpose
1604
1635
  const defineOptions: _defineOptions
1636
+ const defineSlots: _defineSlots
1605
1637
  const withDefaults: _withDefaults
1606
1638
  }
@@ -1,5 +1,5 @@
1
1
  import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';
2
- export { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
2
+ export { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
3
3
  import { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
5
 
@@ -7292,6 +7292,11 @@ function defineOptions(options) {
7292
7292
  warnRuntimeUsage(`defineOptions`);
7293
7293
  }
7294
7294
  }
7295
+ function defineSlots() {
7296
+ if (process.env.NODE_ENV !== "production") {
7297
+ warnRuntimeUsage(`defineSlots`);
7298
+ }
7299
+ }
7295
7300
  function withDefaults(props, defaults) {
7296
7301
  if (process.env.NODE_ENV !== "production") {
7297
7302
  warnRuntimeUsage(`withDefaults`);
@@ -7606,7 +7611,7 @@ function isMemoSame(cached, memo) {
7606
7611
  return true;
7607
7612
  }
7608
7613
 
7609
- const version = "3.3.0-alpha.6";
7614
+ const version = "3.3.0-alpha.8";
7610
7615
  const _ssrUtils = {
7611
7616
  createComponentInstance,
7612
7617
  setupComponent,
@@ -7619,4 +7624,4 @@ const ssrUtils = _ssrUtils ;
7619
7624
  const resolveFilter = null;
7620
7625
  const compatUtils = null;
7621
7626
 
7622
- export { BaseTransition, BaseTransitionPropsValidators, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineOptions, defineProps, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
7627
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineOptions, defineProps, defineSlots, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.3.0-alpha.6",
3
+ "version": "3.3.0-alpha.8",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
34
34
  "dependencies": {
35
- "@vue/shared": "3.3.0-alpha.6",
36
- "@vue/reactivity": "3.3.0-alpha.6"
35
+ "@vue/shared": "3.3.0-alpha.8",
36
+ "@vue/reactivity": "3.3.0-alpha.8"
37
37
  }
38
38
  }