aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/aesthetic-ui/styles/progress.less
blob: 5d78670a5a1df00b3020ea23b9a6356b1531d9d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
@import "ui-variables";
@import "ui-mixins";

.loading-spinner(@size) {
  width: @size;
  height: @size;
  display: block;

  background-image: url(images/octocat-spinner-128.gif);
  background-repeat: no-repeat;
  background-size: cover;

  &.inline-block {
    display: inline-block;
  }
}

.loading-spinner-large {
  .loading-spinner(64px);
}

.loading-spinner-medium {
  .loading-spinner(50px);
}

.loading-spinner-small {
  .loading-spinner(32px);
}

.loading-spinner-tiny {
  .loading-spinner(20px);
}

// Much learning from:
// http://css-tricks.com/html5-progress-element/

@progress-height: 16px;
@progress-shine-gradient: -webkit-linear-gradient(top, rgba(255, 255, 255, .15), rgba(0, 0, 0, .15));

progress {
  height: @progress-height;
  -webkit-appearance: none;
  border-radius: @component-border-radius;
  background-color: #ccc;
  background-image:
     -webkit-linear-gradient(-30deg,
                             transparent 33%, rgba(0, 0, 0, .1) 33%,
                             rgba(0,0, 0, .1) 66%, transparent 66%),
                             @progress-shine-gradient;
  border-radius: 2px;
  background-size: 25px @progress-height, 100% 100%, 100% 100%;
  -webkit-animation: animate-stripes 5s linear 6; // stop animation after 6 runs (30s) to limit CPU usage
}

progress::-webkit-progress-bar {
  background-color: transparent;
}

progress::-webkit-progress-value {
  border-radius: @component-border-radius;
  background-image: @progress-shine-gradient;
  background-color: @background-color-info;
}

progress[value] {
  background-image: @progress-shine-gradient;
  -webkit-animation: none;
}

@-webkit-keyframes animate-stripes {
   100% { background-position: 100px 0px; }
}