refactor(components): [config-provider] export component instance type (#7979)

This commit is contained in:
zz 2022-05-30 10:33:49 +08:00 committed by GitHub
parent 20317b9c02
commit ac31116c3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,8 +1,7 @@
import { defineComponent, renderSlot, watch } from 'vue' import { defineComponent, renderSlot, watch } from 'vue'
import { buildProps, definePropType } from '@element-plus/utils' import { buildProps, definePropType } from '@element-plus/utils'
import { provideGlobalConfig } from '@element-plus/hooks' import { provideGlobalConfig, useSizeProp } from '@element-plus/hooks'
import { componentSizes } from '@element-plus/constants'
import type { ExtractPropTypes } from 'vue' import type { ExtractPropTypes } from 'vue'
import type { ExperimentalFeatures } from '@element-plus/tokens' import type { ExperimentalFeatures } from '@element-plus/tokens'
import type { Language } from '@element-plus/locale' import type { Language } from '@element-plus/locale'
@ -22,11 +21,7 @@ export const configProviderProps = buildProps({
type: definePropType<Language>(Object), type: definePropType<Language>(Object),
}, },
size: { size: useSizeProp,
type: String,
values: componentSizes,
default: '',
},
button: { button: {
type: definePropType<ButtonConfigContext>(Object), type: definePropType<ButtonConfigContext>(Object),
@ -46,17 +41,16 @@ export const configProviderProps = buildProps({
type: definePropType<MessageConfigContext>(Object), type: definePropType<MessageConfigContext>(Object),
}, },
zIndex: { zIndex: Number,
type: Number,
},
namespace: { namespace: {
type: String, type: String,
default: 'el', default: 'el',
}, },
} as const) } as const)
export type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>
export default defineComponent({ const ConfigProvider = defineComponent({
name: 'ElConfigProvider', name: 'ElConfigProvider',
props: configProviderProps, props: configProviderProps,
@ -72,5 +66,6 @@ export default defineComponent({
return () => renderSlot(slots, 'default', { config: config?.value }) return () => renderSlot(slots, 'default', { config: config?.value })
}, },
}) })
export type ConfigProviderInstance = InstanceType<typeof ConfigProvider>
export type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps> export default ConfigProvider