bootstrap-sass-rails 2.2.2.1 → 2.3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. data/README.md +25 -0
  2. data/lib/bootstrap/sass/rails/version.rb +1 -1
  3. data/test/dummy/log/test.log +0 -142
  4. data/test/dummy/tmp/cache/assets/C6F/370/sprockets%2F966879d6ff8742dc619724287f4a5150 +0 -0
  5. data/test/dummy/tmp/cache/assets/C73/6D0/sprockets%2F1960b4507c3aaa988180fb04093d1427 +0 -0
  6. data/test/dummy/tmp/cache/assets/C83/870/sprockets%2F508e55e1444b44d0187677a51893acf2 +0 -0
  7. data/test/dummy/tmp/cache/assets/C94/270/sprockets%2F40520eb6297b2908496e752e588f2f7d +0 -0
  8. data/test/dummy/tmp/cache/assets/CA6/110/sprockets%2F272615ec4af76b10339048ca6da44284 +0 -0
  9. data/test/dummy/tmp/cache/assets/CAD/040/sprockets%2F915d29a78a13fbbb606d47840634d703 +0 -0
  10. data/test/dummy/tmp/cache/assets/CB0/110/sprockets%2F057089195001bff3a770cec267e0877b +0 -0
  11. data/test/dummy/tmp/cache/assets/CB4/BD0/sprockets%2Fe0c39183ec49530b6c0758c1e945d274 +0 -0
  12. data/test/dummy/tmp/cache/assets/CB5/410/sprockets%2Ff2d804e78b14c4005d86653e2e957a35 +0 -0
  13. data/test/dummy/tmp/cache/assets/CCE/280/sprockets%2F59565d2ec707a1eb10c0b2302d58f920 +0 -0
  14. data/test/dummy/tmp/cache/assets/CD1/580/sprockets%2F7e48514e772b39d8878a8181798eaea6 +0 -0
  15. data/test/dummy/tmp/cache/assets/CDD/E80/sprockets%2Fa7248f6c140e4c834d8a4b5b0703f189 +0 -0
  16. data/test/dummy/tmp/cache/assets/CE2/910/sprockets%2Fee1ae05707da2d0176094849e35099ce +0 -0
  17. data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
  18. data/test/dummy/tmp/cache/assets/CE9/4E0/sprockets%2F1c1f6d1579d9ad26654219f30c46f95c +0 -0
  19. data/test/dummy/tmp/cache/assets/CE9/E40/sprockets%2F47f8666418cd38da2ff7625f02422b5e +0 -0
  20. data/test/dummy/tmp/cache/assets/D04/3C0/sprockets%2F29d763bd40cc25622b1f04b876a5c3e3 +0 -0
  21. data/test/dummy/tmp/cache/assets/D22/C90/sprockets%2Fe1a46318a188f29186cbe4f9d97792bb +0 -0
  22. data/test/dummy/tmp/cache/assets/D25/E70/sprockets%2Fb39f1d7ace7781584f2b27397c4d298d +0 -0
  23. data/test/dummy/tmp/cache/assets/D2D/410/sprockets%2F19d37b85ac2b8498758bdf8d08099e8b +0 -0
  24. data/test/dummy/tmp/cache/assets/D2D/8A0/sprockets%2F16702b2d73e90a918e2a03d40dd0fb6e +0 -0
  25. data/test/dummy/tmp/cache/assets/D34/0D0/sprockets%2F2e0e0061bc75f35b8665ee31f0af343f +0 -0
  26. data/test/dummy/tmp/cache/assets/D36/7D0/sprockets%2Ffc5ea6a588c4b2791581fdb35a30031d +0 -0
  27. data/test/dummy/tmp/cache/assets/D39/3D0/sprockets%2F744241c89d9c401d40d4ee5ad44a2f3f +0 -0
  28. data/test/dummy/tmp/cache/assets/D3F/FA0/sprockets%2F22c8366fdbaaa2872b202dfe7376629f +0 -0
  29. data/test/dummy/tmp/cache/assets/D44/700/sprockets%2Fd328468f953946d2e2bef62c4cb7cb01 +0 -0
  30. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  31. data/test/dummy/tmp/cache/assets/D5A/560/sprockets%2Fad87bf89db0c636d2899f3d47eb70838 +0 -0
  32. data/test/dummy/tmp/cache/assets/D5C/3F0/sprockets%2F67d5fd7ae45e04fd786ee67812769cb5 +0 -0
  33. data/test/dummy/tmp/cache/assets/D63/540/sprockets%2F40806eccd4be04b3c3fa44d23576e18d +0 -0
  34. data/test/dummy/tmp/cache/assets/D63/C70/sprockets%2F382f45c06aa1f72aea7048fd474bbc33 +0 -0
  35. data/test/dummy/tmp/cache/assets/D70/0D0/sprockets%2F75765d3bfee9346a60198cbb8cdad102 +0 -0
  36. data/test/dummy/tmp/cache/assets/D73/760/sprockets%2F4e1d706de9dc13479c028238faea6ff2 +0 -0
  37. data/test/dummy/tmp/cache/assets/D74/A80/sprockets%2F89c4c5e2f034b736d5e839adfe7012db +0 -0
  38. data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
  39. data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
  40. data/test/dummy/tmp/cache/assets/DB6/FE0/sprockets%2F1446b4accb510daee592aa8f34b03d2e +0 -0
  41. data/test/dummy/tmp/cache/assets/DB9/250/sprockets%2F15de37cf628d966fd377f94afbffe244 +0 -0
  42. data/test/dummy/tmp/cache/assets/DC1/D20/sprockets%2Fd6edb12fc70021e8ada656d316e0cd8d +0 -0
  43. data/test/dummy/tmp/cache/assets/DC7/8B0/sprockets%2Fc57aff8fcaace116023b4ae45c88138c +0 -0
  44. data/test/dummy/tmp/cache/assets/DCD/540/sprockets%2F81dd0cb0661e7e9725d4cecb2ea2e9d5 +0 -0
  45. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  46. data/test/dummy/tmp/cache/assets/DFC/550/sprockets%2Fc63af852c0f9cc4aa6a7dd59d74ab0a9 +0 -0
  47. data/test/dummy/tmp/cache/assets/DFF/EA0/sprockets%2Fc05f92ff4e2fa5eadcfe9d3d151047f3 +0 -0
  48. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  49. data/test/dummy/tmp/cache/assets/E2A/B40/sprockets%2F591e8bae8cab045e0af3ce80e3fa7ad9 +0 -0
  50. data/test/dummy/tmp/cache/assets/E30/FF0/sprockets%2F33f27cfaa7bec6fcb98ce5163c2d5c5d +0 -0
  51. data/test/dummy/tmp/cache/assets/E3A/D90/sprockets%2Fce0dbefdb4416ebc42589ecdbf7d7857 +0 -0
  52. data/test/dummy/tmp/cache/sass/73d26439e044eca0a3af4a431659ef4346a1c77c/application.css.scssc +0 -0
  53. data/test/dummy/tmp/cache/sass/73d26439e044eca0a3af4a431659ef4346a1c77c/individual.css.scssc +0 -0
  54. data/test/dummy/tmp/cache/sass/73d26439e044eca0a3af4a431659ef4346a1c77c/no-sprites.css.scssc +0 -0
  55. data/test/dummy/tmp/cache/sass/97a2fe4b4206536e366a73e1378c8e4d6acfc29d/bootstrap-no-sprites.css.scssc +0 -0
  56. data/test/dummy/tmp/cache/sass/97a2fe4b4206536e366a73e1378c8e4d6acfc29d/bootstrap.css.scssc +0 -0
  57. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_accordion.scssc +0 -0
  58. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_alerts.scssc +0 -0
  59. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_breadcrumbs.scssc +0 -0
  60. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_button-groups.scssc +0 -0
  61. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_buttons.scssc +0 -0
  62. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_carousel.scssc +0 -0
  63. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_close.scssc +0 -0
  64. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_code.scssc +0 -0
  65. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_component-animations.scssc +0 -0
  66. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_dropdowns.scssc +0 -0
  67. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_forms.scssc +0 -0
  68. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_grid.scssc +0 -0
  69. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_hero-unit.scssc +0 -0
  70. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_labels-badges.scssc +0 -0
  71. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_layouts.scssc +0 -0
  72. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_media.scssc +0 -0
  73. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_mixins.scssc +0 -0
  74. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_modals.scssc +0 -0
  75. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_navbar.scssc +0 -0
  76. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_navs.scssc +0 -0
  77. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_pager.scssc +0 -0
  78. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_pagination.scssc +0 -0
  79. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_popovers.scssc +0 -0
  80. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_progress-bars.scssc +0 -0
  81. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_reset.scssc +0 -0
  82. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive-1200px-min.scssc +0 -0
  83. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive-767px-max.scssc +0 -0
  84. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive-768px-979px.scssc +0 -0
  85. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive-navbar.scssc +0 -0
  86. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive-utilities.scssc +0 -0
  87. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_responsive.scssc +0 -0
  88. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_scaffolding.scssc +0 -0
  89. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_sprites.scssc +0 -0
  90. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_tables.scssc +0 -0
  91. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_thumbnails.scssc +0 -0
  92. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_tooltip.scssc +0 -0
  93. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_type.scssc +0 -0
  94. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_utilities.scssc +0 -0
  95. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_variables.scssc +0 -0
  96. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_wells.scssc +0 -0
  97. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +1 -1
  98. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +1 -1
  99. data/vendor/assets/javascripts/twitter/bootstrap/button.js +1 -1
  100. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +31 -9
  101. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +4 -4
  102. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +14 -10
  103. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +13 -11
  104. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +5 -5
  105. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +2 -2
  106. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +1 -1
  107. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +95 -29
  108. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +1 -1
  109. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +16 -4
  110. data/vendor/assets/stylesheets/twitter/bootstrap-no-sprites.css.scss +1 -1
  111. data/vendor/assets/stylesheets/twitter/bootstrap.css.scss +1 -1
  112. data/vendor/assets/stylesheets/twitter/bootstrap/_button-groups.scss +4 -2
  113. data/vendor/assets/stylesheets/twitter/bootstrap/_buttons.scss +8 -10
  114. data/vendor/assets/stylesheets/twitter/bootstrap/_carousel.scss +34 -7
  115. data/vendor/assets/stylesheets/twitter/bootstrap/_close.scss +2 -1
  116. data/vendor/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +16 -12
  117. data/vendor/assets/stylesheets/twitter/bootstrap/_forms.scss +5 -9
  118. data/vendor/assets/stylesheets/twitter/bootstrap/_labels-badges.scss +4 -2
  119. data/vendor/assets/stylesheets/twitter/bootstrap/_media.scss +2 -2
  120. data/vendor/assets/stylesheets/twitter/bootstrap/_mixins.scss +17 -4
  121. data/vendor/assets/stylesheets/twitter/bootstrap/_navbar.scss +20 -13
  122. data/vendor/assets/stylesheets/twitter/bootstrap/_navs.scss +33 -18
  123. data/vendor/assets/stylesheets/twitter/bootstrap/_pager.scss +3 -1
  124. data/vendor/assets/stylesheets/twitter/bootstrap/_pagination.scss +3 -1
  125. data/vendor/assets/stylesheets/twitter/bootstrap/_popovers.scss +5 -1
  126. data/vendor/assets/stylesheets/twitter/bootstrap/_reset.scss +0 -1
  127. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-767px-max.scss +0 -1
  128. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-navbar.scss +6 -2
  129. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +17 -0
  130. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive.scss +1 -10
  131. data/vendor/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +2 -1
  132. data/vendor/assets/stylesheets/twitter/bootstrap/_sprites.scss +7 -3
  133. data/vendor/assets/stylesheets/twitter/bootstrap/_tables.scss +26 -19
  134. data/vendor/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +3 -2
  135. data/vendor/assets/stylesheets/twitter/bootstrap/_tooltip.scss +6 -6
  136. data/vendor/assets/stylesheets/twitter/bootstrap/_type.scss +19 -7
  137. data/vendor/assets/stylesheets/twitter/bootstrap/_variables.scss +1 -1
  138. metadata +4 -6
  139. data/test/cases/less_to_sass_spec.rb +0 -31
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.2.2
2
+ * Bootstrap v2.3.0
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.2.2
2
+ * Bootstrap v2.3.0
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -165,8 +165,6 @@
165
165
  margin-left: 0;
166
166
  }
167
167
  // Carets in other button sizes
168
- .btn-mini .caret,
169
- .btn-small .caret,
170
168
  .btn-large .caret {
171
169
  margin-top: 6px;
172
170
  }
@@ -175,6 +173,10 @@
175
173
  border-right-width: 5px;
176
174
  border-top-width: 5px;
177
175
  }
176
+ .btn-mini .caret,
177
+ .btn-small .caret {
178
+ margin-top: 8px;
179
+ }
178
180
  // Upside down carets for .dropup
179
181
  .dropup .btn-large .caret {
180
182
  border-bottom-width: 5px;
@@ -25,13 +25,14 @@
25
25
  @include border-radius($baseBorderRadius);
26
26
  @include ie7-restore-left-whitespace(); // Give IE7 some love
27
27
  @include box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
28
- // Hover state
29
- &:hover {
28
+ // Hover/focus state
29
+ &:hover,
30
+ &:focus {
30
31
  color: $grayDark;
31
32
  text-decoration: none;
32
33
  background-position: 0 -15px;
33
34
 
34
- // transition is only when going to hover, otherwise the background
35
+ // transition is only when going to hover/focus, otherwise the background
35
36
  // behind the gradient (there for IE<=9 fallback) gets mismatched
36
37
  @include transition(background-position .1s linear);
37
38
  }
@@ -140,11 +141,6 @@ input[type="button"] {
140
141
 
141
142
  // Set the backgrounds
142
143
  // -------------------------
143
- .btn {
144
- // reset here as of 2.0.3 due to Recess property order
145
- border-color: #c5c5c5;
146
- border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
147
- }
148
144
  .btn-primary {
149
145
  @include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight);
150
146
  }
@@ -217,12 +213,14 @@ input[type="submit"].btn {
217
213
  color: $linkColor;
218
214
  @include border-radius(0);
219
215
  }
220
- .btn-link:hover {
216
+ .btn-link:hover,
217
+ .btn-link:focus {
221
218
  color: $linkColorHover;
222
219
  text-decoration: underline;
223
220
  background-color: transparent;
224
221
  }
225
- .btn-link[disabled]:hover {
222
+ .btn-link[disabled]:hover,
223
+ .btn-link[disabled]:focus {
226
224
  color: $grayDark;
227
225
  text-decoration: none;
228
226
  }
@@ -22,12 +22,13 @@
22
22
  display: none;
23
23
  position: relative;
24
24
  @include transition(.6s ease-in-out left);
25
- }
26
25
 
27
- // Account for jankitude on images
28
- > .item > img {
29
- display: block;
30
- line-height: 1;
26
+ // Account for jankitude on images
27
+ > img,
28
+ > a > img {
29
+ display: block;
30
+ line-height: 1;
31
+ }
31
32
  }
32
33
 
33
34
  > .active,
@@ -98,14 +99,40 @@
98
99
  right: 15px;
99
100
  }
100
101
 
101
- // Hover state
102
- &:hover {
102
+ // Hover/focus state
103
+ &:hover,
104
+ &:focus {
103
105
  color: $white;
104
106
  text-decoration: none;
105
107
  @include opacity(90);
106
108
  }
107
109
  }
108
110
 
111
+ // Carousel indicator pips
112
+ // -----------------------------
113
+ .carousel-indicators {
114
+ position: absolute;
115
+ top: 15px;
116
+ right: 15px;
117
+ z-index: 5;
118
+ margin: 0;
119
+ list-style: none;
120
+
121
+ li {
122
+ display: block;
123
+ float: left;
124
+ width: 10px;
125
+ height: 10px;
126
+ margin-left: 5px;
127
+ text-indent: -999px;
128
+ background-color: #ccc;
129
+ background-color: rgba(255,255,255,.25);
130
+ border-radius: 5px;
131
+ }
132
+ .active {
133
+ background-color: #fff;
134
+ }
135
+ }
109
136
 
110
137
  // Caption for text below images
111
138
  // -----------------------------
@@ -12,7 +12,8 @@
12
12
  color: $black;
13
13
  text-shadow: 0 1px 0 rgba(255,255,255,1);
14
14
  @include opacity(20);
15
- &:hover {
15
+ &:hover,
16
+ &:focus {
16
17
  color: $black;
17
18
  text-decoration: none;
18
19
  cursor: pointer;
@@ -72,7 +72,7 @@
72
72
  }
73
73
 
74
74
  // Links within the dropdown menu
75
- li > a {
75
+ > li > a {
76
76
  display: block;
77
77
  padding: 3px 20px;
78
78
  clear: both;
@@ -83,11 +83,12 @@
83
83
  }
84
84
  }
85
85
 
86
- // Hover state
86
+ // Hover/Focus state
87
87
  // -----------
88
- .dropdown-menu li > a:hover,
89
- .dropdown-menu li > a:focus,
90
- .dropdown-submenu:hover > a {
88
+ .dropdown-menu > li > a:hover,
89
+ .dropdown-menu > li > a:focus,
90
+ .dropdown-submenu:hover > a,
91
+ .dropdown-submenu:focus > a {
91
92
  text-decoration: none;
92
93
  color: $dropdownLinkColorHover;
93
94
  @include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%));
@@ -95,8 +96,9 @@
95
96
 
96
97
  // Active state
97
98
  // ------------
98
- .dropdown-menu .active > a,
99
- .dropdown-menu .active > a:hover {
99
+ .dropdown-menu > .active > a,
100
+ .dropdown-menu > .active > a:hover,
101
+ .dropdown-menu > .active > a:focus {
100
102
  color: $dropdownLinkColorActive;
101
103
  text-decoration: none;
102
104
  outline: 0;
@@ -105,13 +107,15 @@
105
107
 
106
108
  // Disabled state
107
109
  // --------------
108
- // Gray out text and ensure the hover state remains gray
109
- .dropdown-menu .disabled > a,
110
- .dropdown-menu .disabled > a:hover {
110
+ // Gray out text and ensure the hover/focus state remains gray
111
+ .dropdown-menu > .disabled > a,
112
+ .dropdown-menu > .disabled > a:hover,
113
+ .dropdown-menu > .disabled > a:focus {
111
114
  color: $grayLight;
112
115
  }
113
- // Nuke hover effects
114
- .dropdown-menu .disabled > a:hover {
116
+ // Nuke hover/focus effects
117
+ .dropdown-menu > .disabled > a:hover,
118
+ .dropdown-menu > .disabled > a:focus {
115
119
  text-decoration: none;
116
120
  background-color: transparent;
117
121
  background-image: none; // Remove CSS gradient
@@ -421,7 +421,9 @@ select:focus:invalid {
421
421
  // Allow us to put symbols and text within the input field for a cleaner look
422
422
  .input-append,
423
423
  .input-prepend {
424
- margin-bottom: 5px;
424
+ display: inline-block;
425
+ margin-bottom: $baseLineHeight / 2;
426
+ vertical-align: middle;
425
427
  font-size: 0; // white space collapse hack
426
428
  white-space: nowrap; // Prevent span and input from separating
427
429
 
@@ -429,7 +431,8 @@ select:focus:invalid {
429
431
  input,
430
432
  select,
431
433
  .uneditable-input,
432
- .dropdown-menu {
434
+ .dropdown-menu,
435
+ .popover {
433
436
  font-size: $baseFontSize;
434
437
  }
435
438
 
@@ -683,10 +686,3 @@ legend + .control-group {
683
686
  padding-left: $horizontalComponentOffset;
684
687
  }
685
688
  }
686
-
687
- // Block level inputs
688
- // --------------------------
689
-
690
- .input-block-level {
691
- @include input-block-level();
692
- }
@@ -36,10 +36,12 @@
36
36
  }
37
37
  }
38
38
 
39
- // Hover state, but only for links
39
+ // Hover/focus state, but only for links
40
40
  a {
41
41
  &.label:hover,
42
- &.badge:hover {
42
+ &.label:focus,
43
+ &.badge:hover,
44
+ &.badge:focus {
43
45
  color: $white;
44
46
  text-decoration: none;
45
47
  cursor: pointer;
@@ -38,10 +38,10 @@
38
38
  // Media image alignment
39
39
  // -------------------------
40
40
 
41
- .media .pull-left {
41
+ .media > .pull-left {
42
42
  margin-right: 10px;
43
43
  }
44
- .media .pull-right {
44
+ .media > .pull-right {
45
45
  margin-left: 10px;
46
46
  }
47
47
 
@@ -24,9 +24,6 @@
24
24
  clear: both;
25
25
  }
26
26
  }
27
- .clearfix {
28
- @include clearfix();
29
- }
30
27
 
31
28
  // Webkit-style focus
32
29
  // ------------------
@@ -268,6 +265,12 @@
268
265
  -o-transition-delay: $transition-delay;
269
266
  transition-delay: $transition-delay;
270
267
  }
268
+ @mixin transition-duration($transition-duration) {
269
+ -webkit-transition-duration: $transition-duration;
270
+ -moz-transition-duration: $transition-duration;
271
+ -o-transition-duration: $transition-duration;
272
+ transition-duration: $transition-duration;
273
+ }
271
274
 
272
275
  // Transformations
273
276
  @mixin rotate($degrees) {
@@ -433,6 +436,16 @@
433
436
  background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
434
437
  background-image: linear-gradient($deg, $startColor, $endColor); // Standard, IE10
435
438
  }
439
+ @mixin gradient-horizontal-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
440
+ background-color: mix($midColor, $endColor, 80%);
441
+ background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
442
+ background-image: -webkit-linear-gradient(left, $startColor, $midColor $colorStop, $endColor);
443
+ background-image: -moz-linear-gradient(left, $startColor, $midColor $colorStop, $endColor);
444
+ background-image: -o-linear-gradient(left, $startColor, $midColor $colorStop, $endColor);
445
+ background-image: linear-gradient(to right, $startColor, $midColor $colorStop, $endColor);
446
+ background-repeat: no-repeat;
447
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{ie-hex-str($startColor)}, endColorstr=#{ie-hex-str($endColor)}, GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
448
+ }
436
449
  @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
437
450
  background-color: mix($midColor, $endColor, 80%);
438
451
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
@@ -495,7 +508,7 @@
495
508
  @include reset-filter();
496
509
 
497
510
  // in these cases the gradient won't cover the background, so we override
498
- &:hover, &:active, &.active, &.disabled, &[disabled] {
511
+ &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] {
499
512
  color: $textColor;
500
513
  background-color: $endColor;
501
514
  *background-color: darken($endColor, 5%);
@@ -56,7 +56,8 @@
56
56
  font-weight: 200;
57
57
  color: $navbarBrandColor;
58
58
  text-shadow: 0 1px 0 $navbarBackgroundHighlight;
59
- &:hover {
59
+ &:hover,
60
+ &:focus {
60
61
  text-decoration: none;
61
62
  }
62
63
  }
@@ -73,7 +74,8 @@
73
74
  // -------------------------
74
75
  .navbar-link {
75
76
  color: $navbarLinkColor;
76
- &:hover {
77
+ &:hover,
78
+ &:focus {
77
79
  color: $navbarLinkColorHover;
78
80
  }
79
81
  }
@@ -95,7 +97,9 @@
95
97
  }
96
98
  .navbar .btn-group .btn,
97
99
  .navbar .input-prepend .btn,
98
- .navbar .input-append .btn {
100
+ .navbar .input-append .btn,
101
+ .navbar .input-prepend .btn-group,
102
+ .navbar .input-append .btn-group {
99
103
  margin-top: 0; // then undo the margin here so we don't accidentally double it
100
104
  }
101
105
 
@@ -242,12 +246,11 @@
242
246
  }
243
247
  .navbar .nav .dropdown-toggle .caret {
244
248
  margin-top: 8px;
245
-
246
249
  }
247
- // Hover
250
+ // Hover/focus
248
251
  .navbar .nav > li > a:focus,
249
252
  .navbar .nav > li > a:hover {
250
- background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
253
+ background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
251
254
  color: $navbarLinkColorHover;
252
255
  text-decoration: none;
253
256
  }
@@ -331,10 +334,11 @@
331
334
  }
332
335
  }
333
336
 
334
- // Caret should match text color on hover
335
- .navbar .nav li.dropdown > a:hover .caret {
336
- border-top-color: $navbarLinkColorActive;
337
- border-bottom-color: $navbarLinkColorActive;
337
+ // Caret should match text color on hover/focus
338
+ .navbar .nav li.dropdown > a:hover .caret,
339
+ .navbar .nav li.dropdown > a:focus .caret {
340
+ border-top-color: $navbarLinkColorHover;
341
+ border-bottom-color: $navbarLinkColorHover;
338
342
  }
339
343
 
340
344
  // Remove background color from open dropdown
@@ -393,7 +397,8 @@
393
397
  .nav > li > a {
394
398
  color: $navbarInverseLinkColor;
395
399
  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
396
- &:hover {
400
+ &:hover,
401
+ &:focus {
397
402
  color: $navbarInverseLinkColorHover;
398
403
  }
399
404
  }
@@ -422,7 +427,8 @@
422
427
  // Inline text links
423
428
  .navbar-link {
424
429
  color: $navbarInverseLinkColor;
425
- &:hover {
430
+ &:hover,
431
+ &:focus {
426
432
  color: $navbarInverseLinkColorHover;
427
433
  }
428
434
  }
@@ -440,7 +446,8 @@
440
446
  background-color: $navbarInverseLinkBackgroundActive;
441
447
  color: $navbarInverseLinkColorActive;
442
448
  }
443
- .nav li.dropdown > a:hover .caret {
449
+ .nav li.dropdown > a:hover .caret,
450
+ .nav li.dropdown > a:focus .caret {
444
451
  border-top-color: $navbarInverseLinkColorActive;
445
452
  border-bottom-color: $navbarInverseLinkColorActive;
446
453
  }
@@ -17,7 +17,8 @@
17
17
  .nav > li > a {
18
18
  display: block;
19
19
  }
20
- .nav > li > a:hover {
20
+ .nav > li > a:hover,
21
+ .nav > li > a:focus {
21
22
  text-decoration: none;
22
23
  background-color: $grayLighter;
23
24
  }
@@ -69,7 +70,8 @@
69
70
  padding: 3px 15px;
70
71
  }
71
72
  .nav-list > .active > a,
72
- .nav-list > .active > a:hover {
73
+ .nav-list > .active > a:hover,
74
+ .nav-list > .active > a:focus {
73
75
  color: $white;
74
76
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
75
77
  background-color: $linkColor;
@@ -124,13 +126,15 @@
124
126
  line-height: $baseLineHeight;
125
127
  border: 1px solid transparent;
126
128
  @include border-radius(4px 4px 0 0);
127
- &:hover {
129
+ &:hover,
130
+ &:focus {
128
131
  border-color: $grayLighter $grayLighter #ddd;
129
132
  }
130
133
  }
131
- // Active state, and it's :hover to override normal :hover
134
+ // Active state, and it's :hover/:focus to override normal :hover/:focus
132
135
  .nav-tabs > .active > a,
133
- .nav-tabs > .active > a:hover {
136
+ .nav-tabs > .active > a:hover,
137
+ .nav-tabs > .active > a:focus {
134
138
  color: $gray;
135
139
  background-color: $bodyBackground;
136
140
  border: 1px solid #ddd;
@@ -187,7 +191,8 @@
187
191
  @include border-radius(0 0 4px 4px);
188
192
  @include border-bottom-radius(4px);
189
193
  }
190
- .nav-tabs.nav-stacked > li > a:hover {
194
+ .nav-tabs.nav-stacked > li > a:hover,
195
+ .nav-tabs.nav-stacked > li > a:focus {
191
196
  border-color: #ddd;
192
197
  z-index: 2;
193
198
  }
@@ -220,7 +225,8 @@
220
225
  border-bottom-color: $linkColor;
221
226
  margin-top: 6px;
222
227
  }
223
- .nav .dropdown-toggle:hover .caret {
228
+ .nav .dropdown-toggle:hover .caret,
229
+ .nav .dropdown-toggle:focus .caret {
224
230
  border-top-color: $linkColorHover;
225
231
  border-bottom-color: $linkColorHover;
226
232
  }
@@ -240,9 +246,10 @@
240
246
  border-bottom-color: $gray;
241
247
  }
242
248
 
243
- // Active:hover dropdown links
249
+ // Active:hover/:focus dropdown links
244
250
  // -------------------------
245
- .nav > .dropdown.active > a:hover {
251
+ .nav > .dropdown.active > a:hover,
252
+ .nav > .dropdown.active > a:focus {
246
253
  cursor: pointer;
247
254
  }
248
255
 
@@ -250,21 +257,24 @@
250
257
  // -------------------------
251
258
  .nav-tabs .open .dropdown-toggle,
252
259
  .nav-pills .open .dropdown-toggle,
253
- .nav > li.dropdown.open.active > a:hover {
260
+ .nav > li.dropdown.open.active > a:hover,
261
+ .nav > li.dropdown.open.active > a:focus {
254
262
  color: $white;
255
263
  background-color: $grayLight;
256
264
  border-color: $grayLight;
257
265
  }
258
266
  .nav li.dropdown.open .caret,
259
267
  .nav li.dropdown.open.active .caret,
260
- .nav li.dropdown.open a:hover .caret {
268
+ .nav li.dropdown.open a:hover .caret,
269
+ .nav li.dropdown.open a:focus .caret {
261
270
  border-top-color: $white;
262
271
  border-bottom-color: $white;
263
272
  @include opacity(100);
264
273
  }
265
274
 
266
275
  // Dropdowns in stacked tabs
267
- .tabs-stacked .open > a:hover {
276
+ .tabs-stacked .open > a:hover,
277
+ .tabs-stacked .open > a:focus {
268
278
  border-color: $grayLight;
269
279
  }
270
280
 
@@ -315,13 +325,15 @@
315
325
  }
316
326
  .tabs-below > .nav-tabs > li > a {
317
327
  @include border-radius(0 0 4px 4px);
318
- &:hover {
328
+ &:hover,
329
+ &:focus {
319
330
  border-bottom-color: transparent;
320
331
  border-top-color: #ddd;
321
332
  }
322
333
  }
323
334
  .tabs-below > .nav-tabs .active > a,
324
- .tabs-below > .nav-tabs .active > a:hover {
335
+ .tabs-below > .nav-tabs .active > a:hover,
336
+ .tabs-below > .nav-tabs .active > a:focus {
325
337
  border-color: transparent #ddd #ddd #ddd;
326
338
  }
327
339
 
@@ -350,11 +362,13 @@
350
362
  margin-right: -1px;
351
363
  @include border-radius(4px 0 0 4px);
352
364
  }
353
- .tabs-left > .nav-tabs > li > a:hover {
365
+ .tabs-left > .nav-tabs > li > a:hover,
366
+ .tabs-left > .nav-tabs > li > a:focus {
354
367
  border-color: $grayLighter #ddd $grayLighter $grayLighter;
355
368
  }
356
369
  .tabs-left > .nav-tabs .active > a,
357
- .tabs-left > .nav-tabs .active > a:hover {
370
+ .tabs-left > .nav-tabs .active > a:hover,
371
+ .tabs-left > .nav-tabs .active > a:focus {
358
372
  border-color: #ddd transparent #ddd #ddd;
359
373
  *border-right-color: $white;
360
374
  }
@@ -387,8 +401,9 @@
387
401
  .nav > .disabled > a {
388
402
  color: $grayLight;
389
403
  }
390
- // Nuke hover effects
391
- .nav > .disabled > a:hover {
404
+ // Nuke hover/focus effects
405
+ .nav > .disabled > a:hover,
406
+ .nav > .disabled > a:focus {
392
407
  text-decoration: none;
393
408
  background-color: transparent;
394
409
  cursor: default;