templates/shared/ui/loader/loader.html.twig line 1

Open in your IDE?
  1. <div id="loader" class="hidden showbox fixed inset-0 p-5 bg-gray-100/40">
  2.     <div class="loader relative w-24 h-24 mx-auto">
  3.         <svg class="circular absolute inset-0 top-[40vh] w-full h-full animate-spin" viewBox="25 25 50 50">
  4.             <circle class="path fill-none stroke-current stroke-[2px] stroke-miterlimit-10 animate-dash" cx="50" cy="50" r="20" />
  5.         </svg>
  6.     </div>
  7. </div>
  8. <style>
  9.     @keyframes dash {
  10.         0% {
  11.             stroke-dasharray: 1, 200;
  12.             stroke-dashoffset: 0;
  13.         }
  14.         50% {
  15.             stroke-dasharray: 89, 200;
  16.             stroke-dashoffset: -35px;
  17.         }
  18.         100% {
  19.             stroke-dasharray: 89, 200;
  20.             stroke-dashoffset: -124px;
  21.         }
  22.     }
  23.     @keyframes color {
  24.         0%, 100% {
  25.             stroke: #d62d20;
  26.         }
  27.         40% {
  28.             stroke: #0057e7;
  29.         }
  30.         66% {
  31.             stroke: #008744;
  32.         }
  33.         80%, 90% {
  34.             stroke: #ffa700;
  35.         }
  36.     }
  37.     /* Стиль для анімації обертання */
  38.     .animate-spin {
  39.         animation: rotate 2s linear infinite;
  40.     }
  41.     @keyframes rotate {
  42.         100% {
  43.             transform: rotate(360deg);
  44.         }
  45.     }
  46.     /* Анімація руху dash */
  47.     .animate-dash {
  48.         stroke-dasharray: 1, 200;
  49.         stroke-dashoffset: 0;
  50.         animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  51.     }
  52. </style>
  53. {#<div id="loader" class="showbox hidden">#}
  54. {#    <div class="loader">#}
  55. {#        <svg class="circular" viewBox="25 25 50 50">#}
  56. {#            <circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>#}
  57. {#        </svg>#}
  58. {#    </div>#}
  59. {#</div>#}
  60. {#<style>#}
  61. {#    .loader {#}
  62. {#        position: relative;#}
  63. {#        margin: 0 auto;#}
  64. {#        width: 100px;#}
  65. {#        &:before {#}
  66. {#            content: '';#}
  67. {#            display: block;#}
  68. {#            padding-top: 100%;#}
  69. {#        }#}
  70. {#    }#}
  71. {#    .circular {#}
  72. {#        animation: rotate 2s linear infinite;#}
  73. {#        height: 100%;#}
  74. {#        transform-origin: center center;#}
  75. {#        width: 100%;#}
  76. {#        position: absolute;#}
  77. {#        top: 0;#}
  78. {#        bottom: 0;#}
  79. {#        left: 0;#}
  80. {#        right: 0;#}
  81. {#        margin: auto;#}
  82. {#    }#}
  83. {#    .path {#}
  84. {#        stroke-dasharray: 1, 200;#}
  85. {#        stroke-dashoffset: 0;#}
  86. {#        animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;#}
  87. {#        stroke-linecap: round;#}
  88. {#    }#}
  89. {#    @keyframes rotate {#}
  90. {#        100% {#}
  91. {#            transform: rotate(360deg);#}
  92. {#        }#}
  93. {#    }#}
  94. {#    @keyframes dash {#}
  95. {#        0% {#}
  96. {#            stroke-dasharray: 1, 200;#}
  97. {#            stroke-dashoffset: 0;#}
  98. {#        }#}
  99. {#        50% {#}
  100. {#            stroke-dasharray: 89, 200;#}
  101. {#            stroke-dashoffset: -35px;#}
  102. {#        }#}
  103. {#        100% {#}
  104. {#            stroke-dasharray: 89, 200;#}
  105. {#            stroke-dashoffset: -124px;#}
  106. {#        }#}
  107. {#    }#}
  108. {#    @keyframes color {#}
  109. {#        100%,#}
  110. {#        0% {#}
  111. {#            stroke: #d62d20;#}
  112. {#        }#}
  113. {#        40% {#}
  114. {#            stroke: #0057e7;#}
  115. {#        }#}
  116. {#        66% {#}
  117. {#            stroke: #008744;#}
  118. {#        }#}
  119. {#        80%,#}
  120. {#        90% {#}
  121. {#            stroke: #ffa700;#}
  122. {#        }#}
  123. {#    }#}
  124. {#    #}
  125. {#       body {#}
  126. {#           background-color: #eee;#}
  127. {#       }#}
  128. {#    .showbox {#}
  129. {#        position: absolute;#}
  130. {#        top: 40%;#}
  131. {#        left: 0;#}
  132. {#        right: 0;#}
  133. {#        padding: 5%;#}
  134. {#    }#}
  135. {#</style>#}