2023-03-05 22:23:19 +08:00

31 lines
655 B
TypeScript

import { createTheme, useCacheToken } from '@antd-tiny-vue/cssinjs'
import { computed } from 'vue'
export interface ThemeToken {
primaryColor: string
}
export const defaultTheme: ThemeToken = {
primaryColor: '#1890ff'
}
function derivative(theme: ThemeToken) {
return {
...theme
}
}
const theme = createTheme(derivative)
export const useToken = () => {
const mergedTheme = computed(() => theme)
const cacheToken = useCacheToken(
mergedTheme,
computed(() => [defaultTheme]),
computed(() => ({
salt: 'true'
}))
)
return [mergedTheme, computed(() => cacheToken.value[0]), computed(() => cacheToken.value[1])]
}