_Spinner.scss 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. $spinner_size: 24px;
  2. @mixin spinner() {
  3. .esri-ui {
  4. .esri-spinner {
  5. background-color: transparent;
  6. box-shadow: none;
  7. padding: 0;
  8. overflow: visible;
  9. width: $spinner_size;
  10. height: $spinner_size;
  11. position: absolute;
  12. left: -999em;
  13. top: -999em;
  14. z-index: 2;
  15. pointer-events: none;
  16. display: none;
  17. opacity: 0;
  18. transform-origin: 0 0;
  19. }
  20. .esri-spinner::before {
  21. position: absolute;
  22. margin: -50% 0 0 -50%;
  23. width: 100%;
  24. height: 100%;
  25. background: url("../base/images/Loading_Indicator_double_32.svg") no-repeat center;
  26. display: block;
  27. content: "";
  28. animation: esri-spinner--rotate-animation 750ms linear infinite;
  29. }
  30. .esri-spinner--start {
  31. display: block;
  32. animation: esri-spinner--start-animation 250ms cubic-bezier(0.17, 0.67, 0.36, 0.99) forwards;
  33. }
  34. .esri-spinner--finish {
  35. display: block;
  36. opacity: 1;
  37. animation: esri-spinner--finish-animation 125ms ease-in forwards;
  38. animation-delay: 75ms;
  39. }
  40. }
  41. }
  42. @keyframes esri-spinner--start-animation {
  43. 0% {
  44. opacity: 0;
  45. transform: scale(0);
  46. }
  47. 100% {
  48. opacity: 1;
  49. transform: scale(1);
  50. }
  51. }
  52. @keyframes esri-spinner--finish-animation {
  53. 0% {
  54. opacity: 1;
  55. transform: scale(1);
  56. }
  57. 100% {
  58. opacity: 0;
  59. transform: scale(0);
  60. }
  61. }
  62. @keyframes esri-spinner--rotate-animation {
  63. 0% {
  64. transform: rotate(0deg);
  65. }
  66. 100% {
  67. transform: rotate(360deg);
  68. }
  69. }
  70. @if $include_Spinner==true {
  71. @include spinner();
  72. }