dark.uts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { TinyColor, generate, LGenerateOptions } 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) : UTSJSONObject {
  11. const colorBgBase = bgBaseColor ?? '#000';
  12. const colorTextBase = textBaseColor ?? '#fff';
  13. return {
  14. 'bgColorBase': colorBgBase,
  15. 'textColorBase': colorTextBase,
  16. 'textColor1': getAlphaColor(colorTextBase, 0.85),
  17. 'textColor2': getAlphaColor(colorTextBase, 0.65),
  18. 'textColor3': getAlphaColor(colorTextBase, 0.45),
  19. 'textColor4': getAlphaColor(colorTextBase, 0.25),
  20. 'fill1': getAlphaColor(colorTextBase, 0.18),
  21. 'fill2': getAlphaColor(colorTextBase, 0.12),
  22. 'fill3': getAlphaColor(colorTextBase, 0.08),
  23. 'fill4': getAlphaColor(colorTextBase, 0.04),
  24. 'bgColorElevated': getSolidColor(colorBgBase, 12),
  25. 'bgColorContainer': getSolidColor(colorBgBase, 8),
  26. 'bgColorPage': getSolidColor(colorBgBase, 0),
  27. 'bgColorSpotlight': getSolidColor(colorBgBase, 26),
  28. // 'bgColor5': getAlphaColor(colorTextBase, 0.04),
  29. 'bgColorMask': getAlphaColor(colorBgBase, 0.45),
  30. 'bgColorBlur': getAlphaColor(colorTextBase, 0.04),
  31. 'borderColor1': getSolidColor(colorBgBase, 26),
  32. 'borderColor2': getSolidColor(colorBgBase, 19)
  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', 'dark');
  44. const successColors = generateColorPalettes(colorSuccessBase, 'successColor', 'dark');
  45. const warningColors = generateColorPalettes(colorWarningBase, 'warningColor', 'dark');
  46. const errorColors = generateColorPalettes(colorErrorBase, 'errorColor', 'dark');
  47. const infoColors = generateColorPalettes(colorInfoBase, 'infoColor', 'dark');
  48. const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);
  49. return UTSJSONObject.assign(
  50. {},
  51. primaryColors,
  52. successColors,
  53. warningColors,
  54. errorColors,
  55. infoColors,
  56. neutralColors)
  57. }