color-util.js 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import { TinyColor } from '@ctrl/tinycolor'
  2. export const setElPrimaryColor = (color, prefix = 'el') => {
  3. const _color = new TinyColor(color)
  4. document.body.style.setProperty(`--${prefix}-color-primary`, color);
  5. // 30 light-3
  6. [3, 5, 7, 8, 9].forEach(v => {
  7. const lightColor = _color.tint(v * 10).toHexString()
  8. document.body.style.setProperty(`--${prefix}-color-primary-light-${v}`, lightColor)
  9. });
  10. [2].forEach(v => {
  11. const darkColor = _color.darken(v * 10).toHexString()
  12. document.body.style.setProperty(`--${prefix}-color-primary-dark-${v}`, darkColor)
  13. })
  14. }
  15. export const setElColor = (type, color, prefix = 'el') => {
  16. const _color = new TinyColor(color)
  17. document.body.style.setProperty(`--${prefix}-color-${type}`, color);
  18. // 30 light-3
  19. [3, 5, 7, 8, 9].forEach(v => {
  20. const lightColor = _color.tint(v * 10).toHexString()
  21. document.body.style.setProperty(`--${prefix}-color-${type}-light-${v}`, lightColor)
  22. });
  23. [2].forEach(v => {
  24. const darkColor = _color.darken(v * 10).toHexString()
  25. document.body.style.setProperty(`--${prefix}-color-${type}-dark-${v}`, darkColor)
  26. })
  27. }
  28. export const getELColor = (type) => {
  29. console.log(`--el-color-${type}`, document.body.style.getPropertyValue(`--el-color-${type}`))
  30. return document.body.style.getPropertyValue(`--el-color-${type}`)
  31. }