vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.0 KiB
34 lines
1.0 KiB
import type { PresetColorKey } from '../theme/interface'; |
|
import { PresetColors } from '../theme/interface'; |
|
|
|
type InverseColor = `${PresetColorKey}-inverse`; |
|
const inverseColors = PresetColors.map<InverseColor>(color => `${color}-inverse`); |
|
|
|
export const PresetStatusColorTypes = [ |
|
'success', |
|
'processing', |
|
'error', |
|
'default', |
|
'warning', |
|
] as const; |
|
|
|
export type PresetColorType = PresetColorKey | InverseColor; |
|
|
|
export type PresetStatusColorType = (typeof PresetStatusColorTypes)[number]; |
|
|
|
/** |
|
* determine if the color keyword belongs to the `Ant Design` {@link PresetColors}. |
|
* @param color color to be judged |
|
* @param includeInverse whether to include reversed colors |
|
*/ |
|
export function isPresetColor(color?: any, includeInverse = true) { |
|
if (includeInverse) { |
|
return [...inverseColors, ...PresetColors].includes(color); |
|
} |
|
|
|
return PresetColors.includes(color); |
|
} |
|
|
|
export function isPresetStatusColor(color?: any): color is PresetStatusColorType { |
|
return PresetStatusColorTypes.includes(color); |
|
}
|
|
|