theme.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { changeTheme } from './echarts';
  2. export const themes: any = {
  3. dark: {
  4. '--color': '#bdc7db',
  5. '--color-title': '#e3e8f4',
  6. '--color-desc': '#617b91',
  7. '--color-gray': '#4f5b75',
  8. '--color-background': '#1e2430',
  9. '--color-background-active': '#121924',//'#161f2c',
  10. '--color-background-hover': '#181f29',
  11. '--color-background-input': '#303746',
  12. '--color-background-popup': '#303746',
  13. '--color-background-popup-hover': '#454f64',
  14. '--color-border': '#000000',
  15. '--color-border-input': '#535f79',
  16. '--color-border-input-hover': '#454f64',
  17. '--color-scrollbar': '#535F79',
  18. '--color-scrollbar-hover': '#e5e5e5',
  19. '--td-component-border': '#42516c',
  20. '--color-background-editor': '#080b0f',
  21. '--color-border-editor': '#1e2430',
  22. '--color-border-popup': 'transparent',
  23. '--shadow-popup': 'none',
  24. '--td-bg-color-component':'#535f79',
  25. '--color-background-groups':'#1e2430',
  26. '--color-background-views-hover':'#3E4D6B',
  27. '--color-switch-handle':'#bdc7db',
  28. },
  29. light: {
  30. '--color': '#737A8A', //'#595959',
  31. '--color-title':'#666D79',// '#262626',
  32. '--color-desc': '#8c8c8c',
  33. '--color-gray': '#bfbfbf',
  34. '--color-background': '#ffffff',
  35. '--color-background-active':'#FFFFFF', //'#f7f8f9',
  36. '--color-background-hover': '#EFF1F6',
  37. '--color-background-input': '#F2F4F8',
  38. '--color-background-popup': '#ffffff',
  39. '--color-background-popup-hover': '#EFF1F6',//'#454f64',
  40. '--color-border': '#f0f1f2',
  41. '--color-border-input': '#e5e5e5',
  42. '--color-border-input-hover': '#dcdcdc',
  43. '--color-scrollbar': '#dad7d7',//2
  44. '--color-scrollbar-hover': '#e5e5e5',//1
  45. '--td-component-border': '#f3f3f3',
  46. '--color-background-editor': '#f0f1f2',
  47. '--color-border-editor': '#c6c6c666' ,//'#1e2430',
  48. '--color-border-popup': '#dddddd',
  49. '--shadow-popup': '0 5px 8px 0px rgb(0 0 0 / 10%)',
  50. '--td-bg-color-component':'#F7F8FA',
  51. '--color-background-groups':'#F7F8FA',
  52. '--color-background-views-hover':'#EFF1F6',
  53. '--color-switch-handle':'#fff'
  54. },
  55. };
  56. export function switchTheme(themeName?: string) {
  57. //编辑器样式
  58. let theme = themes[themeName||'dark'];
  59. for (let key in theme) {
  60. document.documentElement.style.setProperty(key, theme[key]);
  61. }
  62. //echarts样式(系统组件-图表)
  63. changeTheme(`le-${themeName||'dark'}`);
  64. //系统组件其他图元样式?
  65. //画布中的图元?
  66. //画布样式
  67. let options:any = {
  68. ruleColor:'#222E47',
  69. background: '#1e2430',
  70. color: '#bdc7db',
  71. ruleOptions:{
  72. background:'#121924',
  73. textColor:'#6E7B91'
  74. },
  75. }
  76. if(themeName === 'light'){
  77. options = {
  78. ruleColor:'#C8D0E1',
  79. background: '#fff',
  80. color: '#000',
  81. ruleOptions:{
  82. background:'#F7F8FA',
  83. textColor:'#C8D0E1'
  84. },
  85. }
  86. }
  87. // meta2d?.setOptions(options);
  88. // meta2d?.render();
  89. localStorage.setItem('le-theme', themeName||'dark');
  90. }