uni-ui-plus
Version:
uni-ui-plus 一个现代化的 uni-app 组件库
73 lines (63 loc) • 1.9 kB
text/typescript
import type { ExtractPropTypes, PropType } from 'vue'
import { baseProps, makeStringProp } from '../../common/props.ts'
export type ConfigProviderTheme = 'light' | 'dark'
export const configProviderProps = {
...baseProps,
/**
* 主题风格,设置为 dark 来开启深色模式,全局生效
*/
theme: makeStringProp<ConfigProviderTheme>('light'),
/**
* 自定义主题变量
*/
themeVars: {
type: Object as PropType<ConfigProviderThemeVars>,
default: () => ({})
}
}
export type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>
export type baseThemeVars = {
colorTheme?: string
colorWhite?: string
colorBlack?: string
colorSuccess?: string
colorWarning?: string
colorDanger?: string
colorInfo?: string
darkBackground?: string
darkColor?: string
}
export type emptyThemeVars = {
emptyPadding?: string
emptyImageSize?: string
emptyDescriptionMarginTop?: string
emptyDescriptionColor?: string
emptyDescriptionFontSize?: string
emptyDescriptionLineHeight?: string
emptyDescriptionPadding?: string
}
export type skeletonThemeVars = {
skeletonBackgroundColor?: string
skeletonAnimationGradient?: string
skeletonBorderRadius?: string
}
export type swiperThemeVars = {
swiperRadius?: string
swiperItemPadding?: string
swiperItemTextColor?: string
swiperItemTextFs?: string
}
export type swiperNavThemeVars = {
swiperNavDotColor?: string
swiperNavDotActiveColor?: string
swiperNavDotSize?: string
swiperNavDotsBarActiveWidth?: string
swiperNavFractionColor?: string
swiperNavFractionBgColor?: string
swiperNavFractionHeight?: string
swiperNavFractionFontSize?: string
swiperNavBtnColor?: string
swiperNavBtnBgColor?: string
swiperNavBtnSize?: string
}
export type ConfigProviderThemeVars = baseThemeVars & emptyThemeVars & skeletonThemeVars & swiperThemeVars & swiperNavThemeVars