mirror of
https://github.com/antd-tiny-vue/antd-tiny-vue.git
synced 2025-03-15 07:04:33 +08:00
31 lines
655 B
TypeScript
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])]
|
|
}
|