buttons.less 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  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. &:disabled, &:disabled:hover,
  15. &.disabled, &.disabled:hover, &.disabled:active {
  16. .opacity(0.25);
  17. }
  18. &:hover, &:focus {
  19. background: @bg-hover;
  20. border: 1px solid @bg-hover;
  21. color: @color-hover;
  22. .box-shadow(none);
  23. }
  24. &:active:focus, &:active,
  25. .dropdown.open &,
  26. .dropdown.open &:focus,
  27. .dropdown.open &:active:focus,
  28. .dropdown.open &:hover {
  29. background: @bg-active;
  30. border: 1px solid @bg-active;
  31. color: @color-active;
  32. .box-shadow(none);
  33. }
  34. &.btn-loading {
  35. &, &:disabled, &:disabled:hover,
  36. &:hover, &:focus,
  37. &:active:focus, &:active {
  38. color: transparent;
  39. }
  40. }
  41. }
  42. .misago-btn-outline(@color, @bg, @border,
  43. @color-hover, @bg-hover, @border-hover,
  44. @color-active, @bg-active, @border-active) {
  45. &, &:disabled, &:disabled:hover,
  46. &.disabled, &.disabled:hover, &.disabled:active {
  47. background: @bg;
  48. border: 1px solid @border;
  49. color: @color;
  50. .box-shadow(none);
  51. }
  52. &:disabled, &:disabled:hover,
  53. &.disabled, &.disabled:hover, &.disabled:active {
  54. .opacity(0.25);
  55. }
  56. &:hover, &:focus {
  57. background: @bg-hover;
  58. border: 1px solid @border-hover;
  59. color: @color-hover;
  60. .box-shadow(none);
  61. }
  62. &:active:focus, &:active,
  63. .dropdown.open &,
  64. .dropdown.open &:focus,
  65. .dropdown.open &:active:focus,
  66. .dropdown.open &:hover {
  67. background: @bg-active;
  68. border: 1px solid @border-active;
  69. color: @color-active;
  70. .box-shadow(none);
  71. }
  72. &.btn-loading {
  73. &, &:disabled, &:disabled:hover,
  74. &:hover, &:focus,
  75. &:active:focus, &:active {
  76. background: @bg;
  77. border: 1px solid @border;
  78. color: transparent;
  79. .box-shadow(none);
  80. }
  81. }
  82. }
  83. // button styles
  84. .btn-default {
  85. .misago-btn(
  86. @btn-default-color,
  87. @btn-default-bg,
  88. @btn-default-hover-color,
  89. @btn-default-hover-bg,
  90. @btn-default-active-color,
  91. @btn-default-active-bg
  92. );
  93. }
  94. .btn-primary {
  95. .misago-btn(
  96. @btn-primary-color,
  97. @btn-primary-bg,
  98. @btn-primary-hover-color,
  99. @btn-primary-hover-bg,
  100. @btn-primary-active-color,
  101. @btn-primary-active-bg
  102. );
  103. }
  104. .btn-success {
  105. .misago-btn(
  106. @btn-success-color,
  107. @btn-success-bg,
  108. @btn-success-hover-color,
  109. @btn-success-hover-bg,
  110. @btn-success-active-color,
  111. @btn-success-active-bg
  112. );
  113. }
  114. .btn-danger {
  115. .misago-btn(
  116. @btn-danger-color,
  117. @btn-danger-bg,
  118. @btn-danger-hover-color,
  119. @btn-danger-hover-bg,
  120. @btn-danger-active-color,
  121. @btn-danger-active-bg
  122. );
  123. }
  124. // outlined button styles
  125. .btn-default.btn-outline {
  126. .misago-btn-outline(
  127. @btn-default-outline-color,
  128. @btn-default-outline-bg,
  129. @btn-default-outline-border,
  130. @btn-default-outline-hover-color,
  131. @btn-default-outline-hover-bg,
  132. @btn-default-outline-hover-border,
  133. @btn-default-outline-active-color,
  134. @btn-default-outline-active-bg,
  135. @btn-default-outline-active-border
  136. );
  137. }
  138. .btn-primary.btn-outline {
  139. .misago-btn-outline(
  140. @btn-primary-outline-color,
  141. @btn-primary-outline-bg,
  142. @btn-primary-outline-border,
  143. @btn-primary-outline-hover-color,
  144. @btn-primary-outline-hover-bg,
  145. @btn-primary-outline-hover-border,
  146. @btn-primary-outline-active-color,
  147. @btn-primary-outline-active-bg,
  148. @btn-primary-outline-active-border
  149. );
  150. }
  151. // sign in and register buttons in navbar
  152. .navbar-misago {
  153. .btn-sign-in {
  154. border-radius: @navbar-btn-sign-in-radius;
  155. .misago-btn-outline(
  156. @navbar-btn-sign-in-color,
  157. @navbar-btn-sign-in-bg,
  158. @navbar-btn-sign-in-border,
  159. @navbar-btn-sign-in-hover-color,
  160. @navbar-btn-sign-in-hover-bg,
  161. @navbar-btn-sign-in-hover-border,
  162. @navbar-btn-sign-in-active-color,
  163. @navbar-btn-sign-in-active-bg,
  164. @navbar-btn-sign-in-active-border
  165. );
  166. }
  167. .btn-register {
  168. border-radius: @navbar-btn-register-radius;
  169. .misago-btn-outline(
  170. @navbar-btn-register-color,
  171. @navbar-btn-register-bg,
  172. @navbar-btn-register-border,
  173. @navbar-btn-register-hover-color,
  174. @navbar-btn-register-hover-bg,
  175. @navbar-btn-register-hover-border,
  176. @navbar-btn-register-active-color,
  177. @navbar-btn-register-active-bg,
  178. @navbar-btn-register-active-border
  179. );
  180. }
  181. }