mirror of
https://github.com/antd-tiny-vue/antd-tiny-vue.git
synced 2025-07-03 18:43:13 +08:00
feat: add config
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
import type { CSSInterpolation, Theme } from '@antd-tiny-vue/cssinjs'
|
||||
import { createTheme, useCacheToken, useStyleRegister } from '@antd-tiny-vue/cssinjs'
|
||||
import { createInjectionState } from '@v-c/utils'
|
||||
import { createInjectionState, objectType, someType } from '@v-c/utils'
|
||||
import type { ComputedRef, VNodeChild } from 'vue'
|
||||
import { computed } from 'vue'
|
||||
import { computed, defineComponent } from 'vue'
|
||||
import version from '../version'
|
||||
import type { AliasToken, GlobalToken, MapToken, OverrideToken, PresetColorKey, PresetColorType, SeedToken } from './interface'
|
||||
import { PresetColors } from './interface'
|
||||
@ -54,6 +54,21 @@ const [useDesignTokenProvider, useDesignTokenInject] = createInjectionState((tok
|
||||
return token
|
||||
})
|
||||
|
||||
export const DesignTokenProviderContext = defineComponent({
|
||||
props: {
|
||||
token: objectType<AliasToken>(),
|
||||
theme: objectType<Theme<SeedToken, MapToken>>(),
|
||||
components: objectType<OverrideToken>(),
|
||||
hashed: someType<string | boolean>([String, Boolean])
|
||||
},
|
||||
setup(props, { slots }) {
|
||||
useDesignTokenProvider(props)
|
||||
return () => {
|
||||
return slots.default?.()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
export { useDesignTokenProvider }
|
||||
export const useDesignTokenState = () => useDesignTokenInject() ?? defaultConfig
|
||||
|
||||
|
Reference in New Issue
Block a user