buttons.less 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. //
  2. // Buttons Flavor
  3. // --------------------------------------------------
  4. // mixins
  5. .misago-btn(@color, @bg, @color-hover, @bg-hover, @color-active, @bg-active) {
  6. &,
  7. &:disabled, &:disabled:hover,
  8. &.disabled, &.disabled:hover, &.disabled:active {
  9. background: @bg;
  10. border: 1px solid @bg;
  11. color: @color;
  12. .box-shadow(none);
  13. }
  14. &:hover, &:focus {
  15. background: @bg-hover;
  16. border: 1px solid @bg-hover;
  17. color: @color-hover;
  18. .box-shadow(none);
  19. }
  20. &:active:focus, &:active,
  21. .dropdown.open &,
  22. .dropdown.open &:focus,
  23. .dropdown.open &:active:focus,
  24. .dropdown.open &:hover {
  25. background: @bg-active;
  26. border: 1px solid @bg-active;
  27. color: @color-active;
  28. .box-shadow(none);
  29. }
  30. &.btn-loading {
  31. &, &:disabled, &:disabled:hover,
  32. &:hover, &:focus,
  33. &:active:focus, &:active {
  34. color: transparent;
  35. }
  36. }
  37. }
  38. .misago-btn-outline(@color, @bg, @border,
  39. @color-hover, @bg-hover, @border-hover,
  40. @color-active, @bg-active, @border-active) {
  41. &, &:disabled, &:disabled:hover,
  42. &.disabled, &.disabled:hover, &.disabled:active {
  43. background: @bg;
  44. border: 1px solid @border;
  45. color: @color;
  46. .box-shadow(none);
  47. }
  48. &:hover, &:focus {
  49. background: @bg-hover;
  50. border: 1px solid @border-hover;
  51. color: @color-hover;
  52. .box-shadow(none);
  53. }
  54. &:active:focus, &:active,
  55. .dropdown.open &,
  56. .dropdown.open &:focus,
  57. .dropdown.open &:active:focus,
  58. .dropdown.open &:hover {
  59. background: @bg-active;
  60. border: 1px solid @border-active;
  61. color: @color-active;
  62. .box-shadow(none);
  63. }
  64. &.btn-loading {
  65. &, &:disabled, &:disabled:hover,
  66. &:hover, &:focus,
  67. &:active:focus, &:active {
  68. background: @bg;
  69. border: 1px solid @border;
  70. color: transparent;
  71. .box-shadow(none);
  72. }
  73. }
  74. }
  75. // button styles
  76. .btn-default {
  77. .misago-btn(
  78. @btn-default-color,
  79. @btn-default-bg,
  80. @btn-default-hover-color,
  81. @btn-default-hover-bg,
  82. @btn-default-active-color,
  83. @btn-default-active-bg
  84. );
  85. }
  86. .btn-primary {
  87. .misago-btn(
  88. @btn-primary-color,
  89. @btn-primary-bg,
  90. @btn-primary-hover-color,
  91. @btn-primary-hover-bg,
  92. @btn-primary-active-color,
  93. @btn-primary-active-bg
  94. );
  95. }
  96. .btn-success {
  97. .misago-btn(
  98. @btn-success-color,
  99. @btn-success-bg,
  100. @btn-success-hover-color,
  101. @btn-success-hover-bg,
  102. @btn-success-active-color,
  103. @btn-success-active-bg
  104. );
  105. }
  106. .btn-danger {
  107. .misago-btn(
  108. @btn-danger-color,
  109. @btn-danger-bg,
  110. @btn-danger-hover-color,
  111. @btn-danger-hover-bg,
  112. @btn-danger-active-color,
  113. @btn-danger-active-bg
  114. );
  115. }
  116. // outlined button styles
  117. .btn-default.btn-outline {
  118. .misago-btn-outline(
  119. @btn-default-outline-color,
  120. @btn-default-outline-bg,
  121. @btn-default-outline-border,
  122. @btn-default-outline-hover-color,
  123. @btn-default-outline-hover-bg,
  124. @btn-default-outline-hover-border,
  125. @btn-default-outline-active-color,
  126. @btn-default-outline-active-bg,
  127. @btn-default-outline-active-border
  128. );
  129. }
  130. .btn-primary.btn-outline {
  131. .misago-btn-outline(
  132. @btn-primary-outline-color,
  133. @btn-primary-outline-bg,
  134. @btn-primary-outline-border,
  135. @btn-primary-outline-hover-color,
  136. @btn-primary-outline-hover-bg,
  137. @btn-primary-outline-hover-border,
  138. @btn-primary-outline-active-color,
  139. @btn-primary-outline-active-bg,
  140. @btn-primary-outline-active-border
  141. );
  142. }