You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
5.9 KiB

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