/** * @class Ext.dataview.pullrefresh.Spinner */ .#{$prefix}pullrefreshspinner { display: flex; justify-content: center; align-items: center; } .#{$prefix}pullrefreshspinner-loading-wrap { display: block; } .#{$prefix}pullrefreshspinner-main { z-index: 10001; overflow: hidden; opacity: 0; padding: 9px; transform: scale(1); transition: all 0.43s cubic-bezier(.08,.55,.81,1.8); } .#{$prefix}pullrefreshspinner-loader-wrapper { width:25px; height:25px; } .#{$prefix}pullrefreshspinner-arrow-wrapper { transition: all 0.20s ease; } .#{$prefix}pullrefreshspinner-half-circle, .#{$prefix}pullrefreshspinner-arrow-main { position: absolute; top: 0; border-radius: 999px; width: 25px; height: 25px; @include border(3px, solid, black black transparent); } .#{$prefix}pullrefreshspinner-arrow-main { margin-top: 10px; transform: rotate(-37deg); &:before { content: ''; display: block; position: relative; left: 0px; top: 14px; border-width: 6px 6px; border-style: solid; width: 0; height: 0; transform: rotate(-56deg); } } .#{$prefix}pullrefreshspinner-spinner-main { position: relative; width: 25px; height: 25px; animation: #{$prefix}pullrefreshspinner-sporadic-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; .#{$prefix}pullrefreshspinner-spinner-left, .#{$prefix}pullrefreshspinner-spinner-right { position: absolute; top: 0; overflow: hidden; height: 25px; width: 13px; .#{$prefix}pullrefreshspinner-half-circle { animation-iteration-count: infinite; animation-duration: 1.3125s; animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); } } .#{$prefix}pullrefreshspinner-spinner-left { left: 0; .#{$prefix}pullrefreshspinner-half-circle { left: 0; border-right-color: transparent; animation-name: #{$prefix}pullrefreshspinner-left-wobble; } } .#{$prefix}pullrefreshspinner-spinner-right { right: 0; .#{$prefix}pullrefreshspinner-half-circle { right: 0; border-left-color: transparent; animation-name: #{$prefix}pullrefreshspinner-right-wobble; } } } .#{$prefix}pullrefreshspinner-spinner-wrapper { animation: #{$prefix}pullrefresh-spinner-outer-rotate 2.91667s linear infinite; } @keyframes #{$prefix}pullrefreshspinner-outer-rotate { 100% { transform: rotate(360deg); } } @keyframes #{$prefix}pullrefreshspinner-left-wobble { 0%, 100% { transform: rotate(130deg); } 50% { transform: rotate(-5deg); } } @keyframes #{$prefix}pullrefreshspinner-right-wobble { 0%, 100% { transform: rotate(-130deg); } 50% { transform: rotate(5deg); } } @keyframes #{$prefix}pullrefreshspinner-sporadic-rotate { 12.5% { transform: rotate(135deg); } 25% { transform: rotate(270deg); } 37.5% { transform: rotate(405deg); } 50% { transform: rotate(540deg); } 62.5% { transform: rotate(675deg); } 75% { transform: rotate(810deg); } 87.5% { transform: rotate(945deg); } 100% { transform: rotate(1080deg); } }