var.scss 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. @use 'sass:map';
  2. // CSS3 var
  3. @use 'common/var' as *;
  4. @use 'mixins/var' as *;
  5. @use 'mixins/mixins' as *;
  6. // for better performance do not dynamically change the root variable if you really
  7. // do not need that, since this could introduce recalculation overhead for rendering.
  8. // https://lisilinhart.info/posts/css-variables-performance/
  9. // common
  10. :root {
  11. @include set-css-var-value('color-white', $color-white);
  12. @include set-css-var-value('color-black', $color-black);
  13. // get rgb
  14. @each $type in (primary, success, warning, danger, error, info) {
  15. @include set-css-color-rgb($type);
  16. }
  17. // Typography
  18. @include set-component-css-var('font-size', $font-size);
  19. @include set-component-css-var('font-family', $font-family);
  20. @include set-css-var-value('font-weight-primary', 500);
  21. @include set-css-var-value('font-line-height-primary', 24px);
  22. // z-index --el-index-#{$type}
  23. @include set-component-css-var('index', $z-index);
  24. // --el-border-radius-#{$type}
  25. @include set-component-css-var('border-radius', $border-radius);
  26. // Transition
  27. // refer to this website to get the bezier motion function detail
  28. // https://cubic-bezier.com/#p1,p2,p3,p4 (change px as your function parameter)
  29. @include set-component-css-var('transition-duration', $transition-duration);
  30. @include set-component-css-var('transition-function', $transition-function);
  31. @include set-component-css-var('transition', $transition);
  32. // common component size
  33. @include set-component-css-var('component-size', $common-component-size);
  34. }
  35. // for light
  36. :root {
  37. color-scheme: light;
  38. @include set-css-var-value('color-white', $color-white);
  39. @include set-css-var-value('color-black', $color-black);
  40. // --el-color-#{$type}
  41. // --el-color-#{$type}-light-{$i}
  42. @each $type in (primary, success, warning, danger, error, info) {
  43. @include set-css-color-type($colors, $type);
  44. }
  45. // color-scheme
  46. // Background --el-bg-color-#{$type}
  47. @include set-component-css-var('bg-color', $bg-color);
  48. // --el-text-color-#{$type}
  49. @include set-component-css-var('text-color', $text-color);
  50. // --el-border-color-#{$type}
  51. @include set-component-css-var('border-color', $border-color);
  52. // Fill --el-fill-color-#{$type}
  53. @include set-component-css-var('fill-color', $fill-color);
  54. // Box-shadow
  55. // --el-box-shadow-#{$type}
  56. @include set-component-css-var('box-shadow', $box-shadow);
  57. // Disable base
  58. @include set-component-css-var('disabled', $disabled);
  59. // overlay & mask
  60. @include set-component-css-var('overlay-color', $overlay-color);
  61. @include set-component-css-var('mask-color', $mask-color);
  62. // Border
  63. @include set-css-var-value('border-width', $border-width);
  64. @include set-css-var-value('border-style', $border-style);
  65. @include set-css-var-value('border-color-hover', $border-color-hover);
  66. @include set-css-var-value(
  67. 'border',
  68. getCssVar('border-width') getCssVar('border-style')
  69. getCssVar('border-color')
  70. );
  71. // Svg
  72. @include css-var-from-global('svg-monochrome-grey', 'border-color');
  73. }