1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { generate } from '@ant-design/colors';
- // export const primaryColor = '#1890FF'; // 335189
- export const primaryColor = '#1580cc'; // 335189
- // export const darkMode = 'light';
- export const darkMode = 'vent1';
- type Fn = (...arg: any) => any;
- type GenerateTheme = 'default' | 'dark' | 'vent1';
- export interface GenerateColorsParams {
- mixLighten: Fn;
- mixDarken: Fn;
- tinycolor: any;
- color?: string;
- }
- export function generateAntColors(color: string, theme: GenerateTheme = 'default') {
- return generate(color, {
- theme,
- });
- }
- export function getThemeColors(color?: string) {
- const tc = color || primaryColor;
- const lightColors = generateAntColors(tc);
- const primary = lightColors[5];
- const modeColors = generateAntColors(primary, 'dark');
- return [...lightColors, ...modeColors];
- }
- export function generateColors({ color = primaryColor, mixLighten, mixDarken, tinycolor }: GenerateColorsParams) {
- const arr = new Array(19).fill(0);
- const lightens = arr.map((_t, i) => {
- return mixLighten(color, i / 5);
- });
- const darkens = arr.map((_t, i) => {
- return mixDarken(color, i / 5);
- });
- const alphaColors = arr.map((_t, i) => {
- return tinycolor(color)
- .setAlpha(i / 20)
- .toRgbString();
- });
- const shortAlphaColors = alphaColors.map((item) => item.replace(/\s/g, '').replace(/0\./g, '.'));
- const tinycolorLightens = arr
- .map((_t, i) => {
- return tinycolor(color)
- .lighten(i * 5)
- .toHexString();
- })
- .filter((item) => item !== '#ffffff');
- const tinycolorDarkens = arr
- .map((_t, i) => {
- return tinycolor(color)
- .darken(i * 5)
- .toHexString();
- })
- .filter((item) => item !== '#000000');
- return [...lightens, ...darkens, ...alphaColors, ...shortAlphaColors, ...tinycolorDarkens, ...tinycolorLightens].filter(
- (item) => !item.includes('-')
- );
- }
|