navigator.scss 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. .navigator {
  2. position: fixed;
  3. top: 0;
  4. left: 0;
  5. width: 100%;
  6. &-bar {
  7. display: flex;
  8. justify-content: flex-start;
  9. align-items: stretch;
  10. background-color: rgba(mc('grey', '900'), .7);
  11. }
  12. &-fab {
  13. &-button {
  14. width: 50px;
  15. height: 50px;
  16. background-color: #FFF;
  17. display: flex;
  18. justify-content: center;
  19. align-items: center;
  20. cursor: pointer;
  21. transition: all .4s ease;
  22. svg use {
  23. transition: all .4s ease;
  24. }
  25. &:hover {
  26. svg use {
  27. color: mc('blue', '500');
  28. fill: mc('blue', '500');
  29. }
  30. }
  31. }
  32. }
  33. &-title {
  34. background-image: linear-gradient(to bottom right, mc('blue', '500') 0%, mc('blue', '700') 50%, mc('blue', '900') 100%);
  35. background-size: 200%;
  36. background-repeat: no-repeat;
  37. padding: 0 1rem;
  38. display: inline-flex;
  39. align-items: center;
  40. justify-content: center;
  41. transition: all .4s ease;
  42. cursor: pointer;
  43. &:hover {
  44. background-position-y: -50px;
  45. }
  46. h1 {
  47. font-size: 1.2rem;
  48. color: #FFF;
  49. font-weight: 500;
  50. }
  51. }
  52. &-subtitle {
  53. background-repeat: no-repeat;
  54. background-position-x: -100vw;
  55. color: #FFF;
  56. flex: 1 1 auto;
  57. display: flex;
  58. justify-content: flex-start;
  59. align-items: center;
  60. padding: 0 1rem;
  61. transition: background-position-x 1s ease;
  62. &.is-error {
  63. background-image: linear-gradient(to right, rgba(mc('red', '500'), 1), rgba(mc('red', '500'), 0));
  64. }
  65. &.is-warning {
  66. background-image: linear-gradient(to right, rgba(mc('orange', '500'), 1), rgba(mc('orange', '500'), 0));
  67. }
  68. &.is-success {
  69. background-image: linear-gradient(to right, rgba(mc('green', '500'), 1), rgba(mc('green', '500'), 0));
  70. }
  71. &.is-info {
  72. background-image: linear-gradient(to right, rgba(mc('blue', '500'), 1), rgba(mc('blue', '500'), 0));
  73. }
  74. &.is-active {
  75. background-position-x: 0;
  76. }
  77. svg {
  78. margin-right: .5rem;
  79. animation: flash 1s linear 1s;
  80. &.navigator-subtitle-icon {
  81. transition: all 1s ease;
  82. &-enter-active, &-leave-active {
  83. transform: scale(1);
  84. width: 24px;
  85. margin-right: .5rem;
  86. }
  87. &-enter, &-leave-to {
  88. transform: scale(0);
  89. width: 0;
  90. margin-right: 0;
  91. }
  92. }
  93. use {
  94. color: #FFF;
  95. fill: #FFF;
  96. stroke: #FFF;
  97. transition: all .4s ease;
  98. }
  99. }
  100. h2 {
  101. font-size: 1rem;
  102. font-weight: 400;
  103. }
  104. }
  105. &-action {
  106. display: flex;
  107. justify-content: flex-end;
  108. align-items: stretch;
  109. &-item {
  110. display: flex;
  111. justify-content: center;
  112. align-items: center;
  113. width: 50px;
  114. cursor: pointer;
  115. svg use {
  116. color: #FFF;
  117. fill: #FFF;
  118. transition: all .4s ease;
  119. }
  120. &:hover {
  121. svg use {
  122. color: mc('blue', '500');
  123. fill: mc('blue', '500');
  124. }
  125. }
  126. }
  127. }
  128. &-sd {
  129. width: 350px;
  130. background-color: #FFF;
  131. border-radius: 0 0 5px 0;
  132. transition: all .4s ease;
  133. transform-origin: top left;
  134. &-enter-active, &-leave-active {
  135. transform: scale(1);
  136. }
  137. &-enter, &-leave-to {
  138. transform: scale(.1, 0);
  139. }
  140. &-actions {
  141. background-color: mc('blue-grey', '50');
  142. display: flex;
  143. a {
  144. display: flex;
  145. align-items: center;
  146. justify-content: center;
  147. height: 50px;
  148. width: 50px;
  149. transition: all .4s ease;
  150. &.is-active {
  151. background-color: #FFF;
  152. }
  153. &:hover {
  154. background-color: #FFF;
  155. }
  156. }
  157. }
  158. &-search {
  159. position: relative;
  160. input {
  161. display: block;
  162. width: 100%;
  163. padding: 0 3rem 0 1rem;
  164. height: 40px;
  165. border: 0;
  166. font-size: .9rem;
  167. color: mc('grey', '700');
  168. position: relative;
  169. &:focus {
  170. outline: none;
  171. border: 0;
  172. }
  173. }
  174. &::after {
  175. content: " ";
  176. @include spinner(mc('blue', '200'),0.5s,18px);
  177. position: absolute;
  178. display: block;
  179. top: 11px;
  180. right: 1rem;
  181. }
  182. }
  183. &-footer {
  184. background-color: mc('blue-grey', '100');
  185. border-top: 5px solid mc('blue-grey', '200');
  186. border-radius: 0 0 5px 0;
  187. display: flex;
  188. justify-content: center;
  189. a {
  190. display: flex;
  191. align-items: center;
  192. justify-content: center;
  193. height: 50px;
  194. width: 50px;
  195. transition: all .4s ease;
  196. &:hover {
  197. background-color: mc('blue-grey', '200');
  198. }
  199. }
  200. }
  201. }
  202. }