navigator.scss 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  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. padding: 0 0 1rem 0;
  133. transition: all .4s ease;
  134. transform-origin: top left;
  135. &-enter-active, &-leave-active {
  136. transform: scale(1);
  137. }
  138. &-enter, &-leave-to {
  139. transform: scale(.1, 0);
  140. }
  141. &-actions {
  142. background-color: mc('blue-grey', '50');
  143. display: flex;
  144. a {
  145. display: flex;
  146. align-items: center;
  147. justify-content: center;
  148. height: 50px;
  149. width: 50px;
  150. transition: all .4s ease;
  151. &.is-active {
  152. background-color: #FFF;
  153. }
  154. &:hover {
  155. background-color: #FFF;
  156. }
  157. svg {
  158. use {
  159. color: mc('blue-grey', '500');
  160. fill: mc('blue-grey', '500');
  161. transition: all .4s ease;
  162. }
  163. }
  164. }
  165. }
  166. &-search {
  167. position: relative;
  168. input {
  169. display: block;
  170. width: 100%;
  171. padding: 0 1rem 0 1rem;
  172. height: 40px;
  173. border: 0;
  174. font-size: .9rem;
  175. color: mc('grey', '700');
  176. &:focus {
  177. outline: none;
  178. border: 0;
  179. }
  180. }
  181. svg {
  182. position: absolute;
  183. width: 20px;
  184. height: 20px;
  185. top: 9px;
  186. left: 15px;
  187. use {
  188. color: mc('grey', '500');
  189. fill: mc('grey', '500');
  190. transition: all .4s ease;
  191. }
  192. }
  193. }
  194. }
  195. }