import { TinyColor, generate, LGenerateOptions } from '@/uni_modules/lime-color'; import { getAlphaColor, getSolidColor, generateColorPalettes } from './shared' import { SeedToken } from './interface' // #ifndef UNI-APP-X export type UTSJSONObject = Record const UTSJSONObject = Object // #endif export function generateNeutralColorPalettes( bgBaseColor : string | null, textBaseColor : string | null) : UTSJSONObject { const colorBgBase = bgBaseColor ?? '#000'; const colorTextBase = textBaseColor ?? '#fff'; return { 'bgColorBase': colorBgBase, 'textColorBase': colorTextBase, 'textColor1': getAlphaColor(colorTextBase, 0.85), 'textColor2': getAlphaColor(colorTextBase, 0.65), 'textColor3': getAlphaColor(colorTextBase, 0.45), 'textColor4': getAlphaColor(colorTextBase, 0.25), 'fill1': getAlphaColor(colorTextBase, 0.18), 'fill2': getAlphaColor(colorTextBase, 0.12), 'fill3': getAlphaColor(colorTextBase, 0.08), 'fill4': getAlphaColor(colorTextBase, 0.04), 'bgColorElevated': getSolidColor(colorBgBase, 12), 'bgColorContainer': getSolidColor(colorBgBase, 8), 'bgColorPage': getSolidColor(colorBgBase, 0), 'bgColorSpotlight': getSolidColor(colorBgBase, 26), // 'bgColor5': getAlphaColor(colorTextBase, 0.04), 'bgColorMask': getAlphaColor(colorBgBase, 0.45), 'bgColorBlur': getAlphaColor(colorTextBase, 0.04), 'borderColor1': getSolidColor(colorBgBase, 26), 'borderColor2': getSolidColor(colorBgBase, 19) } } export function genColorMapToken(token : SeedToken) : UTSJSONObject { const colorPrimaryBase = token.primaryColor const colorSuccessBase = token.successColor const colorWarningBase = token.warningColor const colorErrorBase = token.errorColor const colorInfoBase = token.infoColor const colorBgBase = token.bgColorBase const colorTextBase = token.textColorBase const primaryColors = generateColorPalettes(colorPrimaryBase, 'primaryColor', 'dark'); const successColors = generateColorPalettes(colorSuccessBase, 'successColor', 'dark'); const warningColors = generateColorPalettes(colorWarningBase, 'warningColor', 'dark'); const errorColors = generateColorPalettes(colorErrorBase, 'errorColor', 'dark'); const infoColors = generateColorPalettes(colorInfoBase, 'infoColor', 'dark'); const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase); return UTSJSONObject.assign( {}, primaryColors, successColors, warningColors, errorColors, infoColors, neutralColors) }