beetstrap 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +61 -0
  3. data/Rakefile +32 -0
  4. data/assets/fonts/beetstrap/OpenSans/LICENSE.txt +202 -0
  5. data/assets/fonts/beetstrap/OpenSans/OpenSans.eot +0 -0
  6. data/assets/fonts/beetstrap/OpenSans/OpenSans.svg +1637 -0
  7. data/assets/fonts/beetstrap/OpenSans/OpenSans.ttf +0 -0
  8. data/assets/fonts/beetstrap/OpenSans/OpenSans.woff +0 -0
  9. data/assets/fonts/beetstrap/OpenSans-Bold/LICENSE.txt +202 -0
  10. data/assets/fonts/beetstrap/OpenSans-Bold/OpenSans-Bold.eot +0 -0
  11. data/assets/fonts/beetstrap/OpenSans-Bold/OpenSans-Bold.svg +1635 -0
  12. data/assets/fonts/beetstrap/OpenSans-Bold/OpenSans-Bold.ttf +0 -0
  13. data/assets/fonts/beetstrap/OpenSans-Bold/OpenSans-Bold.woff +0 -0
  14. data/assets/fonts/beetstrap/OpenSans-Light/LICENSE.txt +202 -0
  15. data/assets/fonts/beetstrap/OpenSans-Light/OpenSans-Light.eot +0 -0
  16. data/assets/fonts/beetstrap/OpenSans-Light/OpenSans-Light.svg +1823 -0
  17. data/assets/fonts/beetstrap/OpenSans-Light/OpenSans-Light.ttf +0 -0
  18. data/assets/fonts/beetstrap/OpenSans-Light/OpenSans-Light.woff +0 -0
  19. data/assets/fonts/beetstrap/OpenSans-Semibold/LICENSE.txt +202 -0
  20. data/assets/fonts/beetstrap/OpenSans-Semibold/OpenSans-Semibold.eot +0 -0
  21. data/assets/fonts/beetstrap/OpenSans-Semibold/OpenSans-Semibold.svg +1827 -0
  22. data/assets/fonts/beetstrap/OpenSans-Semibold/OpenSans-Semibold.ttf +0 -0
  23. data/assets/fonts/beetstrap/OpenSans-Semibold/OpenSans-Semibold.woff +0 -0
  24. data/assets/fonts/beetstrap/ic-icons.eot +0 -0
  25. data/assets/fonts/beetstrap/ic-icons.svg +78 -0
  26. data/assets/fonts/beetstrap/ic-icons.ttf +0 -0
  27. data/assets/fonts/beetstrap/ic-icons.woff +0 -0
  28. data/assets/images/beetstrap/icon-arrow-down-white-4.png +0 -0
  29. data/assets/images/beetstrap/icon-arrow-down-white-4@2x.png +0 -0
  30. data/assets/images/beetstrap/icon-arrow-down-white-4@3x.png +0 -0
  31. data/assets/images/beetstrap/icon-arrow-right-gray-4.png +0 -0
  32. data/assets/images/beetstrap/icon-arrow-right-gray-4@2x.png +0 -0
  33. data/assets/images/beetstrap/icon-arrow-right-gray-4@3x.png +0 -0
  34. data/assets/images/beetstrap/icon-cart.png +0 -0
  35. data/assets/images/beetstrap/icon-cart@2x.png +0 -0
  36. data/assets/images/beetstrap/icon-cart@3x.png +0 -0
  37. data/assets/images/beetstrap/icon-departments-hamburger.png +0 -0
  38. data/assets/images/beetstrap/icon-departments-hamburger@2x.png +0 -0
  39. data/assets/images/beetstrap/icon-departments-hamburger@3x.png +0 -0
  40. data/assets/images/beetstrap/icon-help.png +0 -0
  41. data/assets/images/beetstrap/icon-help@2x.png +0 -0
  42. data/assets/images/beetstrap/icon-help@3x.png +0 -0
  43. data/assets/images/beetstrap/icon-home.png +0 -0
  44. data/assets/images/beetstrap/icon-home@2x.png +0 -0
  45. data/assets/images/beetstrap/icon-home@3x.png +0 -0
  46. data/assets/images/beetstrap/icon-lists-and-recipes.png +0 -0
  47. data/assets/images/beetstrap/icon-lists-and-recipes@2x.png +0 -0
  48. data/assets/images/beetstrap/icon-lists-and-recipes@3x.png +0 -0
  49. data/assets/images/beetstrap/icon-more.png +0 -0
  50. data/assets/images/beetstrap/icon-more@2x.png +0 -0
  51. data/assets/images/beetstrap/icon-more@3x.png +0 -0
  52. data/assets/images/beetstrap/icon-search.png +0 -0
  53. data/assets/images/beetstrap/icon-search@2x.png +0 -0
  54. data/assets/images/beetstrap/icon-search@3x.png +0 -0
  55. data/assets/images/beetstrap/instacart-logo-top-bar.png +0 -0
  56. data/assets/images/beetstrap/instacart-logo-top-bar@2x.png +0 -0
  57. data/assets/images/beetstrap/instacart-logo-top-bar@3x.png +0 -0
  58. data/assets/javascripts/beetstrap.js +387 -0
  59. data/assets/stylesheets/_beetstrap.scss +19 -0
  60. data/assets/stylesheets/beetstrap/_button-groups.scss +228 -0
  61. data/assets/stylesheets/beetstrap/_buttons.scss +223 -0
  62. data/assets/stylesheets/beetstrap/_fonts.scss +51 -0
  63. data/assets/stylesheets/beetstrap/_forms.scss +578 -0
  64. data/assets/stylesheets/beetstrap/_grid.scss +84 -0
  65. data/assets/stylesheets/beetstrap/_hero.scss +27 -0
  66. data/assets/stylesheets/beetstrap/_icons.scss +241 -0
  67. data/assets/stylesheets/beetstrap/_input-groups.scss +166 -0
  68. data/assets/stylesheets/beetstrap/_labels.scss +66 -0
  69. data/assets/stylesheets/beetstrap/_mixins.scss +33 -0
  70. data/assets/stylesheets/beetstrap/_modal.scss +50 -0
  71. data/assets/stylesheets/beetstrap/_scaffolding.scss +129 -0
  72. data/assets/stylesheets/beetstrap/_topbar.scss +20 -0
  73. data/assets/stylesheets/beetstrap/_topbar_static.scss +111 -0
  74. data/assets/stylesheets/beetstrap/_type.scss +298 -0
  75. data/assets/stylesheets/beetstrap/_utils.scss +128 -0
  76. data/assets/stylesheets/beetstrap/_variables.scss +883 -0
  77. data/assets/stylesheets/beetstrap/mixins/_background-variant.scss +11 -0
  78. data/assets/stylesheets/beetstrap/mixins/_border-radius.scss +18 -0
  79. data/assets/stylesheets/beetstrap/mixins/_buttons.scss +52 -0
  80. data/assets/stylesheets/beetstrap/mixins/_center-block.scss +7 -0
  81. data/assets/stylesheets/beetstrap/mixins/_clearfix.scss +22 -0
  82. data/assets/stylesheets/beetstrap/mixins/_forms.scss +88 -0
  83. data/assets/stylesheets/beetstrap/mixins/_gradients.scss +56 -0
  84. data/assets/stylesheets/beetstrap/mixins/_grid-framework.scss +81 -0
  85. data/assets/stylesheets/beetstrap/mixins/_grid.scss +122 -0
  86. data/assets/stylesheets/beetstrap/mixins/_hide-text.scss +21 -0
  87. data/assets/stylesheets/beetstrap/mixins/_image.scss +33 -0
  88. data/assets/stylesheets/beetstrap/mixins/_labels.scss +12 -0
  89. data/assets/stylesheets/beetstrap/mixins/_list-group.scss +31 -0
  90. data/assets/stylesheets/beetstrap/mixins/_opacity.scss +8 -0
  91. data/assets/stylesheets/beetstrap/mixins/_reset-filter.scss +8 -0
  92. data/assets/stylesheets/beetstrap/mixins/_resize.scss +6 -0
  93. data/assets/stylesheets/beetstrap/mixins/_responsive-visibility.scss +21 -0
  94. data/assets/stylesheets/beetstrap/mixins/_size.scss +10 -0
  95. data/assets/stylesheets/beetstrap/mixins/_tab-focus.scss +9 -0
  96. data/assets/stylesheets/beetstrap/mixins/_table-row.scss +28 -0
  97. data/assets/stylesheets/beetstrap/mixins/_text-emphasis.scss +11 -0
  98. data/assets/stylesheets/beetstrap/mixins/_text-overflow.scss +8 -0
  99. data/assets/stylesheets/beetstrap/mixins/_vendor-prefixes.scss +222 -0
  100. data/lib/beetstrap/engine.rb +11 -0
  101. data/lib/beetstrap/version.rb +3 -0
  102. data/lib/beetstrap.rb +4 -0
  103. data/lib/tasks/beetstrap_tasks.rake +4 -0
  104. data/test/beetstrap_test.rb +7 -0
  105. data/test/dummy/README.rdoc +28 -0
  106. data/test/dummy/Rakefile +6 -0
  107. data/test/dummy/app/assets/javascripts/application.js +14 -0
  108. data/test/dummy/app/assets/stylesheets/application.scss +42 -0
  109. data/test/dummy/app/controllers/application_controller.rb +5 -0
  110. data/test/dummy/app/controllers/static_controller.rb +6 -0
  111. data/test/dummy/app/helpers/application_helper.rb +2 -0
  112. data/test/dummy/app/views/layouts/application.html.erb +15 -0
  113. data/test/dummy/app/views/static/_buttons.html +38 -0
  114. data/test/dummy/app/views/static/_type.html +12 -0
  115. data/test/dummy/app/views/static/index.html.erb +291 -0
  116. data/test/dummy/bin/bundle +3 -0
  117. data/test/dummy/bin/rails +4 -0
  118. data/test/dummy/bin/rake +4 -0
  119. data/test/dummy/config/application.rb +22 -0
  120. data/test/dummy/config/boot.rb +5 -0
  121. data/test/dummy/config/database.yml +25 -0
  122. data/test/dummy/config/environment.rb +5 -0
  123. data/test/dummy/config/environments/development.rb +37 -0
  124. data/test/dummy/config/environments/production.rb +78 -0
  125. data/test/dummy/config/environments/test.rb +39 -0
  126. data/test/dummy/config/initializers/assets.rb +9 -0
  127. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  128. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  129. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  130. data/test/dummy/config/initializers/inflections.rb +16 -0
  131. data/test/dummy/config/initializers/mime_types.rb +4 -0
  132. data/test/dummy/config/initializers/session_store.rb +3 -0
  133. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  134. data/test/dummy/config/locales/en.yml +23 -0
  135. data/test/dummy/config/routes.rb +7 -0
  136. data/test/dummy/config/secrets.yml +22 -0
  137. data/test/dummy/config.ru +4 -0
  138. data/test/dummy/db/development.sqlite3 +0 -0
  139. data/test/dummy/log/development.log +1862 -0
  140. data/test/dummy/public/404.html +67 -0
  141. data/test/dummy/public/422.html +67 -0
  142. data/test/dummy/public/500.html +66 -0
  143. data/test/dummy/public/favicon.ico +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sass/10a9d129f1e51b537e9c5b6f7e3152c77b72e426/application.scssc +0 -0
  145. data/test/dummy/tmp/cache/assets/development/sass/4f8cf8ed81d6ca603edef1eb0a94183224831d18/_beetstrap.scssc +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_button-groups.scssc +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_buttons.scssc +0 -0
  148. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_fonts.scssc +0 -0
  149. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_forms.scssc +0 -0
  150. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_grid.scssc +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_hero.scssc +0 -0
  152. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_icons.scssc +0 -0
  153. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_input-groups.scssc +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_labels.scssc +0 -0
  155. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_mixins.scssc +0 -0
  156. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_scaffolding.scssc +0 -0
  157. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_topbar.scssc +0 -0
  158. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_topbar_static.scssc +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_type.scssc +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_utils.scssc +0 -0
  161. data/test/dummy/tmp/cache/assets/development/sass/bd16a4626145afe8673074e4f3522cd2a53f5f08/_variables.scssc +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_background-variant.scssc +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_border-radius.scssc +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_buttons.scssc +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_center-block.scssc +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_clearfix.scssc +0 -0
  167. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_forms.scssc +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_gradients.scssc +0 -0
  169. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_grid-framework.scssc +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_grid.scssc +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_hide-text.scssc +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_image.scssc +0 -0
  173. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_labels.scssc +0 -0
  174. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_list-group.scssc +0 -0
  175. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_opacity.scssc +0 -0
  176. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_reset-filter.scssc +0 -0
  177. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_resize.scssc +0 -0
  178. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_responsive-visibility.scssc +0 -0
  179. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_size.scssc +0 -0
  180. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_tab-focus.scssc +0 -0
  181. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_table-row.scssc +0 -0
  182. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_text-emphasis.scssc +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_text-overflow.scssc +0 -0
  184. data/test/dummy/tmp/cache/assets/development/sass/caf7f31c90225e9db582a235bc48e13e4ca1a4e1/_vendor-prefixes.scssc +0 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/02724eb02223ea401dcbfcf8c8da073f +0 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/03766eeda9849d89c2623e05e8befbd2 +0 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/06c3406d07bf8cb91e2e0fb627fbbc92 +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/0c63ec19c11d21da9af625533da57c37 +0 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/0d9ecc579ee4186e9c90534201d5aab0 +0 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/1800dac7caca3c785beff977e8b0ee39 +0 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/2a0015201081b900361d359b28b44d93 +0 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/2bddb09b441a5af534e43a2e452fa52a +0 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/2bfcff81727b10efbbe7a9d4f76991d0 +0 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/2caacee8bda199f19e9610d85824e4e6 +0 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/2dd64da8168da05a04782e32f4c4dddd +0 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/352bab412d75fa19d0a07504553b59df +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/3601bdb1facede412601307d16288586 +0 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/4f1679e1ed38fc6bd1a9bad30b1240e8 +0 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/53030e85be9ede4bf5c22f1afd65894c +0 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/6552437661667470bc41a67b11a8d560 +0 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/66674ec5126e89bccf50082f5bb00784 +0 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/6e1bd95023705b5529e7ccc754a02867 +0 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/7ce5d0e58ceda2f38c9cbfa38916ff4c +0 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/88b9b036a738dbce732946581fcdbc89 +0 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/8d9c5f45e9807699e2fc3f0d2404af9d +0 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/92613a75279536c4bcf4f3ba6cfde494 +0 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/bc87aa562082007306fb307b8e8e1562 +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/bd8ad07d4bfd456040073b9b09d55c1d +0 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/c2bcd0edcebbd88cb77913aea0259e27 +0 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/c9e0a4a74865873c0a98c2bd4cabacf6 +0 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/d4295a244c48a28cdac19098c838465c +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/f8fb64e5df91a6e8a627e9dc517c6708 +0 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/fd6551e205411b5803cc9898b3508ebc +0 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/ff6c66a957b10ee3f7de313ac23c23f4 +0 -0
  218. data/test/test_helper.rb +15 -0
  219. metadata +419 -0
@@ -0,0 +1,11 @@
1
+ // Contextual backgrounds
2
+
3
+ // [converter] $parent hack
4
+ @mixin bg-variant($parent, $color) {
5
+ #{$parent} {
6
+ background-color: $color;
7
+ }
8
+ a#{$parent}:hover {
9
+ background-color: darken($color, 10%);
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+ // Single side border-radius
2
+
3
+ @mixin border-top-radius($radius) {
4
+ border-top-right-radius: $radius;
5
+ border-top-left-radius: $radius;
6
+ }
7
+ @mixin border-right-radius($radius) {
8
+ border-bottom-right-radius: $radius;
9
+ border-top-right-radius: $radius;
10
+ }
11
+ @mixin border-bottom-radius($radius) {
12
+ border-bottom-right-radius: $radius;
13
+ border-bottom-left-radius: $radius;
14
+ }
15
+ @mixin border-left-radius($radius) {
16
+ border-bottom-left-radius: $radius;
17
+ border-top-left-radius: $radius;
18
+ }
@@ -0,0 +1,52 @@
1
+ // Button variants
2
+ //
3
+ // Easily pump out default styles, as well as :hover, :focus, :active,
4
+ // and disabled options for all buttons
5
+
6
+ @mixin button-variant($color, $background, $border) {
7
+ color: $color;
8
+ background-color: $background;
9
+ border-color: $border;
10
+
11
+ &:hover,
12
+ &:focus,
13
+ &.focus,
14
+ &:active,
15
+ &.active,
16
+ .open > &.dropdown-toggle {
17
+ color: $color;
18
+ background-color: darken($background, 10%);
19
+ border-color: darken($border, 12%);
20
+ }
21
+ &:active,
22
+ &.active,
23
+ .open > &.dropdown-toggle {
24
+ background-image: none;
25
+ }
26
+ &.disabled,
27
+ &[disabled],
28
+ fieldset[disabled] & {
29
+ &,
30
+ &:hover,
31
+ &:focus,
32
+ &.focus,
33
+ &:active,
34
+ &.active {
35
+ background-color: $background;
36
+ border-color: $border;
37
+ }
38
+ }
39
+
40
+ .badge {
41
+ color: $background;
42
+ background-color: $color;
43
+ }
44
+ }
45
+
46
+ // Button sizes
47
+ @mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
48
+ padding: $padding-vertical $padding-horizontal;
49
+ font-size: $font-size;
50
+ line-height: $line-height;
51
+ border-radius: $border-radius;
52
+ }
@@ -0,0 +1,7 @@
1
+ // Center-align a block level element
2
+
3
+ @mixin center-block() {
4
+ display: block;
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ }
@@ -0,0 +1,22 @@
1
+ // Clearfix
2
+ //
3
+ // For modern browsers
4
+ // 1. The space content is one way to avoid an Opera bug when the
5
+ // contenteditable attribute is included anywhere else in the document.
6
+ // Otherwise it causes space to appear at the top and bottom of elements
7
+ // that are clearfixed.
8
+ // 2. The use of `table` rather than `block` is only necessary if using
9
+ // `:before` to contain the top-margins of child elements.
10
+ //
11
+ // Source: http://nicolasgallagher.com/micro-clearfix-hack/
12
+
13
+ @mixin clearfix() {
14
+ &:before,
15
+ &:after {
16
+ content: " "; // 1
17
+ display: table; // 2
18
+ }
19
+ &:after {
20
+ clear: both;
21
+ }
22
+ }
@@ -0,0 +1,88 @@
1
+ // Form validation states
2
+ //
3
+ // Used in forms.less to generate the form validation CSS for warnings, errors,
4
+ // and successes.
5
+
6
+ @mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
7
+ // Color the label and help text
8
+ .help-block,
9
+ .control-label,
10
+ .radio,
11
+ .checkbox,
12
+ .radio-inline,
13
+ .checkbox-inline,
14
+ &.radio label,
15
+ &.checkbox label,
16
+ &.radio-inline label,
17
+ &.checkbox-inline label {
18
+ color: $text-color;
19
+ }
20
+ // Set the border and box shadow on specific inputs to match
21
+ .form-control {
22
+ border-color: $border-color;
23
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
24
+ &:focus {
25
+ border-color: darken($border-color, 10%);
26
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
27
+ @include box-shadow($shadow);
28
+ }
29
+ }
30
+ // Set validation states also for addons
31
+ .input-group-addon {
32
+ color: $text-color;
33
+ border-color: $border-color;
34
+ background-color: $background-color;
35
+ }
36
+ // Optional feedback icon
37
+ .form-control-feedback {
38
+ color: $text-color;
39
+ }
40
+ }
41
+
42
+
43
+ // Form control focus state
44
+ //
45
+ // Generate a customized focus state and for any input with the specified color,
46
+ // which defaults to the `$input-border-focus` variable.
47
+ //
48
+ // We highly encourage you to not customize the default value, but instead use
49
+ // this to tweak colors on an as-needed basis. This aesthetic change is based on
50
+ // WebKit's default styles, but applicable to a wider range of browsers. Its
51
+ // usability and accessibility should be taken into account with any change.
52
+ //
53
+ // Example usage: change the default blue border and shadow to white for better
54
+ // contrast against a dark gray background.
55
+ @mixin form-control-focus($color: $input-border-focus) {
56
+ $color-rgba: rgba(red($color), green($color), blue($color), .6);
57
+ &:focus {
58
+ border-color: $color;
59
+ outline: 0;
60
+ @include box-shadow(0 0 0 1px #fff, 0 0 0 3px #36DAE3);
61
+ }
62
+ }
63
+
64
+ // Form control sizing
65
+ //
66
+ // Relative text size, padding, and border-radii changes for form controls. For
67
+ // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
68
+ // element gets special love because it's special, and that's a fact!
69
+ // [converter] $parent hack
70
+ @mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
71
+ #{$parent} {
72
+ height: $input-height;
73
+ padding: $padding-vertical $padding-horizontal;
74
+ font-size: $font-size;
75
+ line-height: $line-height;
76
+ border-radius: $border-radius;
77
+ }
78
+
79
+ select#{$parent} {
80
+ height: $input-height;
81
+ line-height: $input-height;
82
+ }
83
+
84
+ textarea#{$parent},
85
+ select[multiple]#{$parent} {
86
+ height: auto;
87
+ }
88
+ }
@@ -0,0 +1,56 @@
1
+ // Gradients
2
+
3
+ // Horizontal gradient, from left to right
4
+ //
5
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
6
+ // Color stops are not available in IE9 and below.
7
+ @mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
8
+ background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
9
+ background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
10
+ background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
11
+ background-repeat: repeat-x;
12
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
13
+ }
14
+
15
+ // Vertical gradient, from top to bottom
16
+ //
17
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
18
+ // Color stops are not available in IE9 and below.
19
+ @mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
20
+ background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
21
+ background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
22
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
23
+ background-repeat: repeat-x;
24
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
25
+ }
26
+
27
+ @mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
28
+ background-repeat: repeat-x;
29
+ background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
30
+ background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
31
+ background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
32
+ }
33
+ @mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
34
+ background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
35
+ background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
36
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
37
+ background-repeat: no-repeat;
38
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
39
+ }
40
+ @mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
41
+ background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
42
+ background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
43
+ background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
44
+ background-repeat: no-repeat;
45
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
46
+ }
47
+ @mixin gradient-radial($inner-color: #555, $outer-color: #333) {
48
+ background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
49
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
50
+ background-repeat: no-repeat;
51
+ }
52
+ @mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
53
+ background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
54
+ background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
55
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
56
+ }
@@ -0,0 +1,81 @@
1
+ // Framework grid generation
2
+ //
3
+ // Used only by Bootstrap to generate the correct number of grid classes given
4
+ // any value of `$grid-columns`.
5
+
6
+ // [converter] This is defined recursively in LESS, but Sass supports real loops
7
+ @mixin make-grid-columns($i: 1, $list: ".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}") {
8
+ @for $i from (1 + 1) through $grid-columns {
9
+ $list: "#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}";
10
+ }
11
+ #{$list} {
12
+ position: relative;
13
+ // Prevent columns from collapsing when empty
14
+ min-height: 1px;
15
+ // Inner gutter via padding
16
+ padding-left: ($grid-gutter-width / 2);
17
+ padding-right: ($grid-gutter-width / 2);
18
+ }
19
+ }
20
+
21
+
22
+ // [converter] This is defined recursively in LESS, but Sass supports real loops
23
+ @mixin float-grid-columns($class, $i: 1, $list: ".col-#{$class}-#{$i}") {
24
+ @for $i from (1 + 1) through $grid-columns {
25
+ $list: "#{$list}, .col-#{$class}-#{$i}";
26
+ }
27
+ #{$list} {
28
+ float: left;
29
+ }
30
+ }
31
+
32
+
33
+ @mixin calc-grid-column($index, $class, $type) {
34
+ @if ($type == width) and ($index > 0) {
35
+ .col-#{$class}-#{$index} {
36
+ width: percentage(($index / $grid-columns));
37
+ }
38
+ }
39
+ @if ($type == push) and ($index > 0) {
40
+ .col-#{$class}-push-#{$index} {
41
+ left: percentage(($index / $grid-columns));
42
+ }
43
+ }
44
+ @if ($type == push) and ($index == 0) {
45
+ .col-#{$class}-push-0 {
46
+ left: auto;
47
+ }
48
+ }
49
+ @if ($type == pull) and ($index > 0) {
50
+ .col-#{$class}-pull-#{$index} {
51
+ right: percentage(($index / $grid-columns));
52
+ }
53
+ }
54
+ @if ($type == pull) and ($index == 0) {
55
+ .col-#{$class}-pull-0 {
56
+ right: auto;
57
+ }
58
+ }
59
+ @if ($type == offset) {
60
+ .col-#{$class}-offset-#{$index} {
61
+ margin-left: percentage(($index / $grid-columns));
62
+ }
63
+ }
64
+ }
65
+
66
+ // [converter] This is defined recursively in LESS, but Sass supports real loops
67
+ @mixin loop-grid-columns($columns, $class, $type) {
68
+ @for $i from 0 through $columns {
69
+ @include calc-grid-column($i, $class, $type);
70
+ }
71
+ }
72
+
73
+
74
+ // Create grid for specific class
75
+ @mixin make-grid($class) {
76
+ @include float-grid-columns($class);
77
+ @include loop-grid-columns($grid-columns, $class, width);
78
+ @include loop-grid-columns($grid-columns, $class, pull);
79
+ @include loop-grid-columns($grid-columns, $class, push);
80
+ @include loop-grid-columns($grid-columns, $class, offset);
81
+ }
@@ -0,0 +1,122 @@
1
+ // Grid system
2
+ //
3
+ // Generate semantic grid columns with these mixins.
4
+
5
+ // Centered container element
6
+ @mixin container-fixed($gutter: $grid-gutter-width) {
7
+ margin-right: auto;
8
+ margin-left: auto;
9
+ padding-left: ($gutter / 2);
10
+ padding-right: ($gutter / 2);
11
+ @include clearfix;
12
+ }
13
+
14
+ // Creates a wrapper for a series of columns
15
+ @mixin make-row($gutter: $grid-gutter-width) {
16
+ margin-left: ($gutter / -2);
17
+ margin-right: ($gutter / -2);
18
+ @include clearfix;
19
+ }
20
+
21
+ // Generate the extra small columns
22
+ @mixin make-xs-column($columns, $gutter: $grid-gutter-width) {
23
+ position: relative;
24
+ float: left;
25
+ width: percentage(($columns / $grid-columns));
26
+ min-height: 1px;
27
+ padding-left: ($gutter / 2);
28
+ padding-right: ($gutter / 2);
29
+ }
30
+ @mixin make-xs-column-offset($columns) {
31
+ margin-left: percentage(($columns / $grid-columns));
32
+ }
33
+ @mixin make-xs-column-push($columns) {
34
+ left: percentage(($columns / $grid-columns));
35
+ }
36
+ @mixin make-xs-column-pull($columns) {
37
+ right: percentage(($columns / $grid-columns));
38
+ }
39
+
40
+ // Generate the small columns
41
+ @mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
42
+ position: relative;
43
+ min-height: 1px;
44
+ padding-left: ($gutter / 2);
45
+ padding-right: ($gutter / 2);
46
+
47
+ @media (min-width: $screen-sm-min) {
48
+ float: left;
49
+ width: percentage(($columns / $grid-columns));
50
+ }
51
+ }
52
+ @mixin make-sm-column-offset($columns) {
53
+ @media (min-width: $screen-sm-min) {
54
+ margin-left: percentage(($columns / $grid-columns));
55
+ }
56
+ }
57
+ @mixin make-sm-column-push($columns) {
58
+ @media (min-width: $screen-sm-min) {
59
+ left: percentage(($columns / $grid-columns));
60
+ }
61
+ }
62
+ @mixin make-sm-column-pull($columns) {
63
+ @media (min-width: $screen-sm-min) {
64
+ right: percentage(($columns / $grid-columns));
65
+ }
66
+ }
67
+
68
+ // Generate the medium columns
69
+ @mixin make-md-column($columns, $gutter: $grid-gutter-width) {
70
+ position: relative;
71
+ min-height: 1px;
72
+ padding-left: ($gutter / 2);
73
+ padding-right: ($gutter / 2);
74
+
75
+ @media (min-width: $screen-md-min) {
76
+ float: left;
77
+ width: percentage(($columns / $grid-columns));
78
+ }
79
+ }
80
+ @mixin make-md-column-offset($columns) {
81
+ @media (min-width: $screen-md-min) {
82
+ margin-left: percentage(($columns / $grid-columns));
83
+ }
84
+ }
85
+ @mixin make-md-column-push($columns) {
86
+ @media (min-width: $screen-md-min) {
87
+ left: percentage(($columns / $grid-columns));
88
+ }
89
+ }
90
+ @mixin make-md-column-pull($columns) {
91
+ @media (min-width: $screen-md-min) {
92
+ right: percentage(($columns / $grid-columns));
93
+ }
94
+ }
95
+
96
+ // Generate the large columns
97
+ @mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
98
+ position: relative;
99
+ min-height: 1px;
100
+ padding-left: ($gutter / 2);
101
+ padding-right: ($gutter / 2);
102
+
103
+ @media (min-width: $screen-lg-min) {
104
+ float: left;
105
+ width: percentage(($columns / $grid-columns));
106
+ }
107
+ }
108
+ @mixin make-lg-column-offset($columns) {
109
+ @media (min-width: $screen-lg-min) {
110
+ margin-left: percentage(($columns / $grid-columns));
111
+ }
112
+ }
113
+ @mixin make-lg-column-push($columns) {
114
+ @media (min-width: $screen-lg-min) {
115
+ left: percentage(($columns / $grid-columns));
116
+ }
117
+ }
118
+ @mixin make-lg-column-pull($columns) {
119
+ @media (min-width: $screen-lg-min) {
120
+ right: percentage(($columns / $grid-columns));
121
+ }
122
+ }
@@ -0,0 +1,21 @@
1
+ // CSS image replacement
2
+ //
3
+ // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
4
+ // mixins being reused as classes with the same name, this doesn't hold up. As
5
+ // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6
+ //
7
+ // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8
+
9
+ // Deprecated as of v3.0.1 (will be removed in v4)
10
+ @mixin hide-text() {
11
+ font: 0/0 a;
12
+ color: transparent;
13
+ text-shadow: none;
14
+ background-color: transparent;
15
+ border: 0;
16
+ }
17
+
18
+ // New mixin to use as of v3.0.1
19
+ @mixin text-hide() {
20
+ @include hide-text;
21
+ }
@@ -0,0 +1,33 @@
1
+ // Image Mixins
2
+ // - Responsive image
3
+ // - Retina image
4
+
5
+
6
+ // Responsive image
7
+ //
8
+ // Keep images from scaling beyond the width of their parents.
9
+ @mixin img-responsive($display: block) {
10
+ display: $display;
11
+ max-width: 100%; // Part 1: Set a maximum relative to the parent
12
+ height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13
+ }
14
+
15
+
16
+ // Retina image
17
+ //
18
+ // Short retina mixin for setting background-image and -size. Note that the
19
+ // spelling of `min--moz-device-pixel-ratio` is intentional.
20
+ @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
21
+ background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-1x}"), "#{$file-1x}"));
22
+
23
+ @media
24
+ only screen and (-webkit-min-device-pixel-ratio: 2),
25
+ only screen and ( min--moz-device-pixel-ratio: 2),
26
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
27
+ only screen and ( min-device-pixel-ratio: 2),
28
+ only screen and ( min-resolution: 192dpi),
29
+ only screen and ( min-resolution: 2dppx) {
30
+ background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-2x}"), "#{$file-2x}"));
31
+ background-size: $width-1x $height-1x;
32
+ }
33
+ }
@@ -0,0 +1,12 @@
1
+ // Labels
2
+
3
+ @mixin label-variant($color) {
4
+ background-color: $color;
5
+
6
+ &[href] {
7
+ &:hover,
8
+ &:focus {
9
+ background-color: darken($color, 10%);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,31 @@
1
+ // List Groups
2
+
3
+ @mixin list-group-item-variant($state, $background, $color) {
4
+ .list-group-item-#{$state} {
5
+ color: $color;
6
+ background-color: $background;
7
+
8
+ // [converter] extracted a& to a.list-group-item-#{$state}
9
+ }
10
+
11
+ a.list-group-item-#{$state} {
12
+ color: $color;
13
+
14
+ .list-group-item-heading {
15
+ color: inherit;
16
+ }
17
+
18
+ &:hover,
19
+ &:focus {
20
+ color: $color;
21
+ background-color: darken($background, 5%);
22
+ }
23
+ &.active,
24
+ &.active:hover,
25
+ &.active:focus {
26
+ color: #fff;
27
+ background-color: $color;
28
+ border-color: $color;
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,8 @@
1
+ // Opacity
2
+
3
+ @mixin opacity($opacity) {
4
+ opacity: $opacity;
5
+ // IE8 filter
6
+ $opacity-ie: ($opacity * 100);
7
+ filter: alpha(opacity=$opacity-ie);
8
+ }
@@ -0,0 +1,8 @@
1
+ // Reset filters for IE
2
+ //
3
+ // When you need to remove a gradient background, do not forget to use this to reset
4
+ // the IE filter for IE9 and below.
5
+
6
+ @mixin reset-filter() {
7
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
8
+ }
@@ -0,0 +1,6 @@
1
+ // Resize anything
2
+
3
+ @mixin resizable($direction) {
4
+ resize: $direction; // Options: horizontal, vertical, both
5
+ overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6
+ }
@@ -0,0 +1,21 @@
1
+ // Responsive utilities
2
+
3
+ //
4
+ // More easily include all the states for responsive-utilities.less.
5
+ // [converter] $parent hack
6
+ @mixin responsive-visibility($parent) {
7
+ #{$parent} {
8
+ display: block !important;
9
+ }
10
+ table#{$parent} { display: table; }
11
+ tr#{$parent} { display: table-row !important; }
12
+ th#{$parent},
13
+ td#{$parent} { display: table-cell !important; }
14
+ }
15
+
16
+ // [converter] $parent hack
17
+ @mixin responsive-invisibility($parent) {
18
+ #{$parent} {
19
+ display: none !important;
20
+ }
21
+ }
@@ -0,0 +1,10 @@
1
+ // Sizing shortcuts
2
+
3
+ @mixin size($width, $height) {
4
+ width: $width;
5
+ height: $height;
6
+ }
7
+
8
+ @mixin square($size) {
9
+ @include size($size, $size);
10
+ }
@@ -0,0 +1,9 @@
1
+ @mixin tab-focus() {
2
+ // // Default
3
+ // outline: thin dotted;
4
+ // // WebKit
5
+ // outline: 5px auto -webkit-focus-ring-color;
6
+ // outline-offset: -2px;
7
+ outline: none;
8
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px #36DAE3;
9
+ }
@@ -0,0 +1,28 @@
1
+ // Tables
2
+
3
+ @mixin table-row-variant($state, $background) {
4
+ // Exact selectors below required to override `.table-striped` and prevent
5
+ // inheritance to nested tables.
6
+ .table > thead > tr,
7
+ .table > tbody > tr,
8
+ .table > tfoot > tr {
9
+ > td.#{$state},
10
+ > th.#{$state},
11
+ &.#{$state} > td,
12
+ &.#{$state} > th {
13
+ background-color: $background;
14
+ }
15
+ }
16
+
17
+ // Hover states for `.table-hover`
18
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
19
+ .table-hover > tbody > tr {
20
+ > td.#{$state}:hover,
21
+ > th.#{$state}:hover,
22
+ &.#{$state}:hover > td,
23
+ &:hover > .#{$state},
24
+ &.#{$state}:hover > th {
25
+ background-color: darken($background, 5%);
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,11 @@
1
+ // Typography
2
+
3
+ // [converter] $parent hack
4
+ @mixin text-emphasis-variant($parent, $color) {
5
+ #{$parent} {
6
+ color: $color;
7
+ }
8
+ a#{$parent}:hover {
9
+ color: darken($color, 10%);
10
+ }
11
+ }