_footer.scss 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. @use 'sass:math';
  2. .footer {
  3. $border-curvature: 3px;
  4. @include transition(bottom 0.5s ease 1s);
  5. @include row();
  6. margin-inline-start: $mobile-nice-padding;
  7. margin-inline-end: $mobile-nice-padding;
  8. z-index: 20;
  9. ul {
  10. @include unlist();
  11. }
  12. li {
  13. float: left;
  14. .dropdown li, // dropdown li
  15. &:last-child {
  16. margin-inline-end: 0;
  17. }
  18. }
  19. &__container {
  20. border-radius: $border-curvature $border-curvature 0 0;
  21. background: theme('colors.surface-menus');
  22. color: theme('colors.text-label-menus-default');
  23. margin-top: 0;
  24. margin-inline-end: 0;
  25. transition: transform 1s;
  26. &:first-child {
  27. margin-top: 0;
  28. }
  29. &.footer__container--hidden {
  30. transform: translateY(100%);
  31. }
  32. li {
  33. margin-inline-end: 1em;
  34. }
  35. }
  36. &__save-warning {
  37. font-size: 0.95em;
  38. display: flex;
  39. align-items: center;
  40. .icon {
  41. font-size: 1.2em;
  42. margin-inline-end: 0.5em;
  43. }
  44. p {
  45. margin: -0.2em 0 0 0;
  46. }
  47. }
  48. &__emphasise-span-tags span {
  49. color: theme('colors.warning.100');
  50. }
  51. .actions {
  52. width: 250px;
  53. &--primary {
  54. width: 350px;
  55. }
  56. .dropdown {
  57. input[type='submit'],
  58. input[type='reset'],
  59. input[type='button'],
  60. button,
  61. .button {
  62. padding-inline-end: 2.6em;
  63. }
  64. }
  65. }
  66. .preview .dropdown {
  67. width: 250px;
  68. }
  69. .meta {
  70. float: right;
  71. text-align: end;
  72. padding: 7px math.div($grid-gutter-width, 2);
  73. font-size: 0.85em;
  74. p {
  75. margin: 0;
  76. margin-inline-end: $grid-gutter-width;
  77. white-space: nowrap;
  78. }
  79. a {
  80. color: inherit;
  81. &:hover {
  82. color: theme('colors.text-link-default');
  83. }
  84. }
  85. }
  86. @include media-breakpoint-down(xs) {
  87. .actions,
  88. .preview,
  89. &__container,
  90. .preview .dropdown {
  91. width: 100%;
  92. }
  93. margin-top: $mobile-nice-padding;
  94. .meta {
  95. p {
  96. white-space: normal;
  97. width: 100%;
  98. }
  99. .avatar {
  100. inset-inline-start: auto;
  101. }
  102. }
  103. &__container {
  104. &:not(:first-child) {
  105. border-radius: 0;
  106. }
  107. &--hidden {
  108. display: none;
  109. }
  110. }
  111. &__save-warning {
  112. display: flex;
  113. flex-direction: row;
  114. justify-content: center;
  115. }
  116. }
  117. @include media-breakpoint-up(sm) {
  118. margin-inline-start: calc(#{$desktop-nice-padding} - 0.75em);
  119. margin-inline-end: $desktop-nice-padding;
  120. width: auto;
  121. position: fixed;
  122. bottom: 0;
  123. > ul {
  124. display: flex;
  125. }
  126. &__container {
  127. padding: 0.75em;
  128. margin-inline-end: 0;
  129. &:not(:first-child) {
  130. margin-inline-start: -$border-curvature;
  131. }
  132. }
  133. &__save-warning {
  134. margin-inline-end: 50px;
  135. }
  136. }
  137. }
  138. // Footer control bar for performing actions on the page
  139. footer .actions,
  140. footer .preview {
  141. .button {
  142. @apply w-leading-none w-inline-flex w-items-center;
  143. .icon {
  144. margin-inline-end: theme('spacing.2');
  145. flex-shrink: 0;
  146. }
  147. }
  148. }
  149. footer .actions {
  150. .button {
  151. font-weight: 600;
  152. white-space: initial;
  153. }
  154. }