light.uts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { TinyColor, generate } from '@/uni_modules/lime-color';
  2. import { getAlphaColor, getSolidColor, generateColorPalettes } from './shared'
  3. import { SeedToken } from './interface'
  4. // #ifndef UNI-APP-X
  5. export type UTSJSONObject = Record<string, any>
  6. const UTSJSONObject = Object
  7. // #endif
  8. export function generateNeutralColorPalettes(
  9. bgBaseColor : string | null,
  10. textBaseColor : string | null
  11. ) : UTSJSONObject {
  12. const colorBgBase = bgBaseColor ?? '#fff';
  13. const colorTextBase = textBaseColor ?? '#000';
  14. return {
  15. 'bgColorBase': bgBaseColor,
  16. 'textColorBase': textBaseColor,
  17. 'textColor1': getAlphaColor(colorTextBase, 0.88),
  18. 'textColor2': getAlphaColor(colorTextBase, 0.65),
  19. 'textColor3': getAlphaColor(colorTextBase, 0.45),
  20. 'textColor4': getAlphaColor(colorTextBase, 0.25),
  21. 'fill1': getAlphaColor(colorTextBase, 0.15),
  22. 'fill2': getAlphaColor(colorTextBase, 0.06),
  23. 'fill3': getAlphaColor(colorTextBase, 0.04),
  24. 'fill4': getAlphaColor(colorTextBase, 0.02),
  25. 'bgColorPage': getSolidColor(colorBgBase, 4),
  26. 'bgColorContainer': getSolidColor(colorBgBase, 0),
  27. 'bgColorElevated': getSolidColor(colorBgBase, 0),
  28. 'bgColorMask': getAlphaColor(colorTextBase, 0.45),
  29. 'bgColorSpotlight': getAlphaColor(colorTextBase, 0.85),
  30. 'bgColorBlur': 'transparent',
  31. 'borderColor1': getSolidColor(colorBgBase, 15),
  32. 'borderColor2': getSolidColor(colorBgBase, 6)
  33. }
  34. };
  35. export function genColorMapToken(token : SeedToken) : UTSJSONObject {
  36. const colorPrimaryBase = token.primaryColor
  37. const colorSuccessBase = token.successColor
  38. const colorWarningBase = token.warningColor
  39. const colorErrorBase = token.errorColor
  40. const colorInfoBase = token.infoColor
  41. const colorBgBase = token.bgColorBase
  42. const colorTextBase = token.textColorBase
  43. const primaryColors = generateColorPalettes(colorPrimaryBase, 'primaryColor');
  44. const successColors = generateColorPalettes(colorSuccessBase, 'successColor');
  45. const warningColors = generateColorPalettes(colorWarningBase, 'warningColor');
  46. const errorColors = generateColorPalettes(colorErrorBase, 'errorColor');
  47. const infoColors = generateColorPalettes(colorInfoBase, 'infoColor');
  48. const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);
  49. return UTSJSONObject.assign(
  50. {},
  51. primaryColors,
  52. successColors,
  53. warningColors,
  54. errorColors,
  55. infoColors,
  56. neutralColors)
  57. }