progress.scss 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. @import './variables.scss';
  2. $module: #{$prefix}-progress;
  3. .#{$module} {
  4. display: flex;
  5. align-items: center;
  6. &-track {
  7. background-color: $color-progress_default-bg;
  8. border-radius: $radius-progress_track;
  9. }
  10. &-horizontal {
  11. height: $height-progress_horizontal;
  12. margin-top: $spacing-progress_horizontal-marginY;
  13. margin-bottom: $spacing-progress_horizontal-marginY;
  14. &.#{$module}-large {
  15. height: $height-progress_horizontal_large;
  16. }
  17. .#{$module}-track {
  18. height: 100%;
  19. width: 100%;
  20. }
  21. .#{$module}-track-inner {
  22. height: 100%;
  23. background-color: $color-progress_track_inner-bg;
  24. border-radius: $radius-progress_track_inner;
  25. transition: width $motion-progress-transition_duration;
  26. transition-timing-function: $motion-progress-transition_timing_function;
  27. }
  28. .#{$module}-line-text {
  29. min-width: $width-progress_line_text;
  30. font-weight: $font-progress_line_text-fontWeight;
  31. // margin-left: $spacing-tight;
  32. margin-left: $spacing-progress_line_text-marginLeft;
  33. color: $color-progress_line_text-text;
  34. }
  35. }
  36. &-vertical {
  37. width: $width-progress_vertical;
  38. display: inline-flex;
  39. height: 100%;
  40. margin-left: $spacing-progress_vertical-marginX;
  41. margin-right: $spacing-progress_vertical-marginX;
  42. flex-direction: column;
  43. &.#{$module}-large {
  44. width: $width-progress_vertical_large;
  45. }
  46. .#{$module}-track {
  47. height: 100%;
  48. width: 100%;
  49. }
  50. .#{$module}-track-inner {
  51. background-color: $color-progress_track_inner-bg;
  52. border-radius: $radius-progress_track_inner;
  53. width: 100%;
  54. transition: height $motion-progress-transition_duration;
  55. transition-timing-function: $motion-progress-transition_timing_function;
  56. }
  57. .#{$module}-line-text {
  58. font-weight: $font-progress_line_text-fontWeight;
  59. margin-top: $spacing-progress_vertical_line_text-marginTop;
  60. }
  61. }
  62. &-circle {
  63. position: relative;
  64. display: inline-block;
  65. &-ring {
  66. display: block;
  67. }
  68. &-ring-inner {
  69. transition: stroke-dashoffset $motion-progress-transition_duration;
  70. transition-timing-function: $motion-progress-transition_timing_function;
  71. transform: rotate(-90deg);
  72. transform-origin: 50% 50%;
  73. }
  74. &-text {
  75. position: absolute;
  76. top: 50%;
  77. left: 50%;
  78. width: 100%;
  79. text-align: center;
  80. transform: translate(-50%, -50%);
  81. user-select: none;
  82. color: $color-progress_circle-text;
  83. }
  84. }
  85. }
  86. @import './rtl.scss';