summaryrefslogtreecommitdiff
path: root/www/lib/ionic/scss/_refresher.scss
blob: a6dbd29e903fb9cb4a42cb2764cdc99631eaf233 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

// Scroll refresher (for pull to refresh)
.scroll-refresher {
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
  overflow: hidden;
  margin: auto;
  height: 60px;
  .ionic-refresher-content {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    color: $scroll-refresh-icon-color;
    text-align: center;

    font-size: 30px;

    .text-refreshing,
    .text-pulling {
      font-size: 16px;
      line-height: 16px;
    }
    &.ionic-refresher-with-text {
      bottom: 10px;
    }
  }

  .icon-refreshing,
  .icon-pulling {
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  .icon-pulling {
    @include animation-name(refresh-spin-back);
    @include animation-duration(200ms);
    @include animation-timing-function(linear);
    @include animation-fill-mode(none);
    -webkit-transform: translate3d(0,0,0) rotate(0deg);
    transform: translate3d(0,0,0) rotate(0deg);
  }
  .icon-refreshing,
  .text-refreshing {
    display: none;
  }
  .icon-refreshing {
    @include animation-duration(1.5s);
  }

  &.active {
    .icon-pulling:not(.pulling-rotation-disabled) {
      @include animation-name(refresh-spin);
      -webkit-transform: translate3d(0,0,0) rotate(-180deg);
      transform: translate3d(0,0,0) rotate(-180deg);
    }
    &.refreshing {
      @include transition(-webkit-transform .2s);
      @include transition(transform .2s);
      -webkit-transform: scale(1,1);
      transform: scale(1,1);

      .icon-pulling,
      .text-pulling {
        display: none;
      }
      .icon-refreshing,
      .text-refreshing {
        display: block;
      }
      &.refreshing-tail {
        -webkit-transform: scale(0,0);
        transform: scale(0,0);
      }
    }
  }
}
.overflow-scroll > .scroll{
  &.overscroll{
    position:fixed;
  }
  -webkit-overflow-scrolling:touch;
  width:100%;
}

@-webkit-keyframes refresh-spin {
  0%   { -webkit-transform: translate3d(0,0,0) rotate(0); }
  100% { -webkit-transform: translate3d(0,0,0) rotate(180deg); }
}

@keyframes refresh-spin {
  0%   { transform: translate3d(0,0,0) rotate(0); }
  100% { transform: translate3d(0,0,0) rotate(180deg); }
}

@-webkit-keyframes refresh-spin-back {
  0%   { -webkit-transform: translate3d(0,0,0) rotate(180deg); }
  100% { -webkit-transform: translate3d(0,0,0) rotate(0); }
}

@keyframes refresh-spin-back {
  0%   { transform: translate3d(0,0,0) rotate(180deg); }
  100% { transform: translate3d(0,0,0) rotate(0); }
}