twitter-bootstrap-rails 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of twitter-bootstrap-rails might be problematic. Click here for more details.

Files changed (53) hide show
  1. data/README.md +40 -22
  2. data/app/helpers/flash_block_helper.rb +17 -0
  3. data/app/helpers/twitter_breadcrumbs_helper.rb +5 -0
  4. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +14 -0
  5. data/lib/generators/bootstrap/layout/templates/layout.html.erb +1 -5
  6. data/lib/generators/bootstrap/layout/templates/layout.html.haml +1 -5
  7. data/lib/generators/bootstrap/layout/templates/layout.html.slim +1 -5
  8. data/lib/generators/bootstrap/themed/templates/show.html.erb +4 -4
  9. data/lib/twitter/bootstrap/rails/engine.rb +1 -1
  10. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  11. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  12. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  13. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +28 -32
  14. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +29 -33
  15. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +27 -19
  16. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +45 -26
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +18 -10
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +25 -17
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +13 -10
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +43 -17
  21. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +12 -7
  22. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +40 -35
  23. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +30 -20
  24. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +25 -11
  25. data/vendor/toolkit/twitter/bootstrap/accordion.less +5 -0
  26. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +2 -3
  27. data/vendor/toolkit/twitter/bootstrap/button-groups.less +55 -36
  28. data/vendor/toolkit/twitter/bootstrap/buttons.less +15 -11
  29. data/vendor/toolkit/twitter/bootstrap/close.less +12 -1
  30. data/vendor/toolkit/twitter/bootstrap/code.less +4 -4
  31. data/vendor/toolkit/twitter/bootstrap/component-animations.less +5 -5
  32. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +15 -20
  33. data/vendor/toolkit/twitter/bootstrap/forms.less +58 -29
  34. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +55 -0
  35. data/vendor/toolkit/twitter/bootstrap/layouts.less +1 -1
  36. data/vendor/toolkit/twitter/bootstrap/mixins.less +53 -36
  37. data/vendor/toolkit/twitter/bootstrap/modals.less +1 -1
  38. data/vendor/toolkit/twitter/bootstrap/navbar.less +64 -41
  39. data/vendor/toolkit/twitter/bootstrap/navs.less +36 -36
  40. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +14 -6
  41. data/vendor/toolkit/twitter/bootstrap/reset.less +3 -3
  42. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +26 -0
  43. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +149 -0
  44. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +17 -0
  45. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +146 -0
  46. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +41 -0
  47. data/vendor/toolkit/twitter/bootstrap/responsive.less +14 -337
  48. data/vendor/toolkit/twitter/bootstrap/sprites.less +39 -6
  49. data/vendor/toolkit/twitter/bootstrap/tables.less +22 -5
  50. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +14 -2
  51. data/vendor/toolkit/twitter/bootstrap/type.less +7 -6
  52. data/vendor/toolkit/twitter/bootstrap/variables.less +10 -6
  53. metadata +31 -11
@@ -21,6 +21,11 @@
21
21
  padding: 8px 15px;
22
22
  }
23
23
 
24
+ // General toggle styles
25
+ .accordion-toggle {
26
+ cursor: pointer;
27
+ }
28
+
24
29
  // Inner needs the styles because you can't animate properly with any styles on the element
25
30
  .accordion-inner {
26
31
  padding: 9px 15px;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.0.2
2
+ * Bootstrap v2.0.3
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -52,8 +52,7 @@
52
52
 
53
53
  // Components: Misc
54
54
  @import "thumbnails.less";
55
- @import "labels.less";
56
- @import "badges.less";
55
+ @import "labels-badges.less";
57
56
  @import "progress-bars.less";
58
57
  @import "accordion.less";
59
58
  @import "carousel.less";
@@ -25,14 +25,14 @@
25
25
  }
26
26
 
27
27
  // Float them, remove border radius, then re-add to first and last elements
28
- .btn-group .btn {
28
+ .btn-group > .btn {
29
29
  position: relative;
30
30
  float: left;
31
31
  margin-left: -1px;
32
32
  .border-radius(0);
33
33
  }
34
34
  // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
35
- .btn-group .btn:first-child {
35
+ .btn-group > .btn:first-child {
36
36
  margin-left: 0;
37
37
  -webkit-border-top-left-radius: 4px;
38
38
  -moz-border-radius-topleft: 4px;
@@ -41,8 +41,9 @@
41
41
  -moz-border-radius-bottomleft: 4px;
42
42
  border-bottom-left-radius: 4px;
43
43
  }
44
- .btn-group .btn:last-child,
45
- .btn-group .dropdown-toggle {
44
+ // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
45
+ .btn-group > .btn:last-child,
46
+ .btn-group > .dropdown-toggle {
46
47
  -webkit-border-top-right-radius: 4px;
47
48
  -moz-border-radius-topright: 4px;
48
49
  border-top-right-radius: 4px;
@@ -51,7 +52,7 @@
51
52
  border-bottom-right-radius: 4px;
52
53
  }
53
54
  // Reset corners for large buttons
54
- .btn-group .btn.large:first-child {
55
+ .btn-group > .btn.large:first-child {
55
56
  margin-left: 0;
56
57
  -webkit-border-top-left-radius: 6px;
57
58
  -moz-border-radius-topleft: 6px;
@@ -60,8 +61,8 @@
60
61
  -moz-border-radius-bottomleft: 6px;
61
62
  border-bottom-left-radius: 6px;
62
63
  }
63
- .btn-group .btn.large:last-child,
64
- .btn-group .large.dropdown-toggle {
64
+ .btn-group > .btn.large:last-child,
65
+ .btn-group > .large.dropdown-toggle {
65
66
  -webkit-border-top-right-radius: 6px;
66
67
  -moz-border-radius-topright: 6px;
67
68
  border-top-right-radius: 6px;
@@ -71,10 +72,10 @@
71
72
  }
72
73
 
73
74
  // On hover/focus/active, bring the proper btn to front
74
- .btn-group .btn:hover,
75
- .btn-group .btn:focus,
76
- .btn-group .btn:active,
77
- .btn-group .btn.active {
75
+ .btn-group > .btn:hover,
76
+ .btn-group > .btn:focus,
77
+ .btn-group > .btn:active,
78
+ .btn-group > .btn.active {
78
79
  z-index: 2;
79
80
  }
80
81
 
@@ -90,48 +91,60 @@
90
91
  // ----------------------
91
92
 
92
93
  // Give the line between buttons some depth
93
- .btn-group .dropdown-toggle {
94
+ .btn-group > .dropdown-toggle {
94
95
  padding-left: 8px;
95
96
  padding-right: 8px;
96
- @shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
97
- .box-shadow(@shadow);
98
- *padding-top: 3px;
99
- *padding-bottom: 3px;
97
+ .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
98
+ *padding-top: 4px;
99
+ *padding-bottom: 4px;
100
100
  }
101
- .btn-group .btn-mini.dropdown-toggle {
101
+ .btn-group > .btn-mini.dropdown-toggle {
102
102
  padding-left: 5px;
103
103
  padding-right: 5px;
104
- *padding-top: 1px;
105
- *padding-bottom: 1px;
106
104
  }
107
- .btn-group .btn-small.dropdown-toggle {
105
+ .btn-group > .btn-small.dropdown-toggle {
108
106
  *padding-top: 4px;
109
107
  *padding-bottom: 4px;
110
108
  }
111
- .btn-group .btn-large.dropdown-toggle {
109
+ .btn-group > .btn-large.dropdown-toggle {
112
110
  padding-left: 12px;
113
111
  padding-right: 12px;
114
112
  }
115
113
 
116
114
  .btn-group.open {
117
- // IE7's z-index only goes to the nearest positioned ancestor, which would
118
- // make the menu appear below buttons that appeared later on the page
119
- *z-index: @zindexDropdown;
120
-
121
- // Reposition menu on open and round all corners
122
- .dropdown-menu {
123
- display: block;
124
- margin-top: 1px;
125
- .border-radius(5px);
126
- }
127
115
 
116
+ // The clickable button for toggling the menu
117
+ // Remove the gradient and set the same inset shadow as the :active state
128
118
  .dropdown-toggle {
129
119
  background-image: none;
130
- @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
131
- .box-shadow(@shadow);
120
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
121
+ }
122
+
123
+ // Keep the hover's background when dropdown is open
124
+ .btn.dropdown-toggle {
125
+ background-color: @btnBackgroundHighlight;
126
+ }
127
+ .btn-primary.dropdown-toggle {
128
+ background-color: @btnPrimaryBackgroundHighlight;
129
+ }
130
+ .btn-warning.dropdown-toggle {
131
+ background-color: @btnWarningBackgroundHighlight;
132
+ }
133
+ .btn-danger.dropdown-toggle {
134
+ background-color: @btnDangerBackgroundHighlight;
135
+ }
136
+ .btn-success.dropdown-toggle {
137
+ background-color: @btnSuccessBackgroundHighlight;
138
+ }
139
+ .btn-info.dropdown-toggle {
140
+ background-color: @btnInfoBackgroundHighlight;
141
+ }
142
+ .btn-inverse.dropdown-toggle {
143
+ background-color: @btnInverseBackgroundHighlight;
132
144
  }
133
145
  }
134
146
 
147
+
135
148
  // Reposition the caret
136
149
  .btn .caret {
137
150
  margin-top: 7px;
@@ -150,12 +163,18 @@
150
163
  }
151
164
  .btn-large .caret {
152
165
  margin-top: 6px;
153
- border-left: 5px solid transparent;
154
- border-right: 5px solid transparent;
155
- border-top: 5px solid @black;
166
+ border-left-width: 5px;
167
+ border-right-width: 5px;
168
+ border-top-width: 5px;
169
+ }
170
+ // Upside down carets for .dropup
171
+ .dropup .btn-large .caret {
172
+ border-bottom: 5px solid @black;
173
+ border-top: 0;
156
174
  }
157
175
 
158
176
 
177
+
159
178
  // Account for other colors
160
179
  .btn-primary,
161
180
  .btn-warning,
@@ -13,20 +13,19 @@
13
13
  margin-bottom: 0; // For input.btn
14
14
  font-size: @baseFontSize;
15
15
  line-height: @baseLineHeight;
16
+ *line-height: 20px;
16
17
  color: @grayDark;
17
18
  text-align: center;
18
19
  text-shadow: 0 1px 1px rgba(255,255,255,.75);
19
20
  vertical-align: middle;
21
+ cursor: pointer;
20
22
  .buttonBackground(@btnBackground, @btnBackgroundHighlight);
21
23
  border: 1px solid @btnBorder;
24
+ *border: 0; // Remove the border to prevent IE7's black border on input:focus
22
25
  border-bottom-color: darken(@btnBorder, 10%);
23
26
  .border-radius(4px);
24
- @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
25
- .box-shadow(@shadow);
26
- cursor: pointer;
27
-
28
- // Give IE7 some love
29
- .ie7-restore-left-whitespace();
27
+ .ie7-restore-left-whitespace(); // Give IE7 some love
28
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
30
29
  }
31
30
 
32
31
  // Hover state
@@ -34,6 +33,7 @@
34
33
  color: @grayDark;
35
34
  text-decoration: none;
36
35
  background-color: darken(@white, 10%);
36
+ *background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
37
37
  background-position: 0 -15px;
38
38
 
39
39
  // transition is only when going to hover, otherwise the background
@@ -49,20 +49,19 @@
49
49
  // Active state
50
50
  .btn.active,
51
51
  .btn:active {
52
- background-image: none;
53
- @shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
54
- .box-shadow(@shadow);
55
52
  background-color: darken(@white, 10%);
56
53
  background-color: darken(@white, 15%) e("\9");
54
+ background-image: none;
57
55
  outline: 0;
56
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
58
57
  }
59
58
 
60
59
  // Disabled state
61
60
  .btn.disabled,
62
61
  .btn[disabled] {
63
62
  cursor: default;
64
- background-image: none;
65
63
  background-color: darken(@white, 10%);
64
+ background-image: none;
66
65
  .opacity(65);
67
66
  .box-shadow(none);
68
67
  }
@@ -117,8 +116,8 @@
117
116
  .btn-info:hover,
118
117
  .btn-inverse,
119
118
  .btn-inverse:hover {
120
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
121
119
  color: @white;
120
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
122
121
  }
123
122
  // Provide *some* extra contrast for those who can get it
124
123
  .btn-primary.active,
@@ -132,6 +131,11 @@
132
131
 
133
132
  // Set the backgrounds
134
133
  // -------------------------
134
+ .btn {
135
+ // reset here as of 2.0.3 due to Recess property order
136
+ border-color: #ccc;
137
+ border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
138
+ }
135
139
  .btn-primary {
136
140
  .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
137
141
  }
@@ -12,7 +12,18 @@
12
12
  &:hover {
13
13
  color: @black;
14
14
  text-decoration: none;
15
- .opacity(40);
16
15
  cursor: pointer;
16
+ .opacity(40);
17
17
  }
18
18
  }
19
+
20
+ // Additional properties for button version
21
+ // iOS requires the button element instead of an anchor tag.
22
+ // If you want the anchor version, it requires `href="#"`.
23
+ button.close {
24
+ padding: 0;
25
+ cursor: pointer;
26
+ background: transparent;
27
+ border: 0;
28
+ -webkit-appearance: none;
29
+ }
@@ -27,14 +27,14 @@ pre {
27
27
  margin: 0 0 @baseLineHeight / 2;
28
28
  font-size: @baseFontSize * .925; // 13px to 12px
29
29
  line-height: @baseLineHeight;
30
+ word-break: break-all;
31
+ word-wrap: break-word;
32
+ white-space: pre;
33
+ white-space: pre-wrap;
30
34
  background-color: #f5f5f5;
31
35
  border: 1px solid #ccc; // fallback for IE7-8
32
36
  border: 1px solid rgba(0,0,0,.15);
33
37
  .border-radius(4px);
34
- white-space: pre;
35
- white-space: pre-wrap;
36
- word-break: break-all;
37
- word-wrap: break-word;
38
38
 
39
39
  // Make prettyprint styles more spaced out for readability
40
40
  &.prettyprint {
@@ -2,18 +2,18 @@
2
2
  // --------------------
3
3
 
4
4
  .fade {
5
+ .opacity(0);
5
6
  .transition(opacity .15s linear);
6
- opacity: 0;
7
7
  &.in {
8
- opacity: 1;
8
+ .opacity(100);
9
9
  }
10
10
  }
11
11
 
12
12
  .collapse {
13
- .transition(height .35s ease);
14
- position:relative;
15
- overflow:hidden;
13
+ position: relative;
16
14
  height: 0;
15
+ overflow: hidden;
16
+ .transition(height .35s ease);
17
17
  &.in {
18
18
  height: auto;
19
19
  }
@@ -2,6 +2,7 @@
2
2
  // --------------
3
3
 
4
4
  // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
5
+ .dropup,
5
6
  .dropdown {
6
7
  position: relative;
7
8
  }
@@ -21,11 +22,11 @@
21
22
  width: 0;
22
23
  height: 0;
23
24
  vertical-align: top;
24
- border-left: 4px solid transparent;
25
- border-right: 4px solid transparent;
26
25
  border-top: 4px solid @black;
27
- .opacity(30);
26
+ border-right: 4px solid transparent;
27
+ border-left: 4px solid transparent;
28
28
  content: "";
29
+ .opacity(30);
29
30
  }
30
31
 
31
32
  // Place the caret
@@ -34,7 +35,7 @@
34
35
  margin-left: 2px;
35
36
  }
36
37
  .dropdown:hover .caret,
37
- .open.dropdown .caret {
38
+ .open .caret {
38
39
  .opacity(100);
39
40
  }
40
41
 
@@ -45,24 +46,22 @@
45
46
  top: 100%;
46
47
  left: 0;
47
48
  z-index: @zindexDropdown;
48
- float: left;
49
49
  display: none; // none by default, but block on "open" of the menu
50
+ float: left;
50
51
  min-width: 160px;
51
52
  padding: 4px 0;
52
- margin: 0; // override default ul
53
+ margin: 1px 0 0; // override default ul
53
54
  list-style: none;
54
55
  background-color: @dropdownBackground;
55
- border-color: #ccc;
56
- border-color: rgba(0,0,0,.2);
57
- border-style: solid;
58
- border-width: 1px;
59
- .border-radius(0 0 5px 5px);
56
+ border: 1px solid #ccc;
57
+ border: 1px solid rgba(0,0,0,.2);
58
+ *border-right-width: 2px;
59
+ *border-bottom-width: 2px;
60
+ .border-radius(5px);
60
61
  .box-shadow(0 5px 10px rgba(0,0,0,.2));
61
62
  -webkit-background-clip: padding-box;
62
63
  -moz-background-clip: padding;
63
64
  background-clip: padding-box;
64
- *border-right-width: 2px;
65
- *border-bottom-width: 2px;
66
65
 
67
66
  // Aligns the dropdown menu to right
68
67
  &.pull-right {
@@ -99,25 +98,21 @@
99
98
 
100
99
  // Open state for the dropdown
101
100
  // ---------------------------
102
- .dropdown.open {
101
+ .open {
103
102
  // IE7's z-index only goes to the nearest positioned ancestor, which would
104
103
  // make the menu appear below buttons that appeared later on the page
105
104
  *z-index: @zindexDropdown;
106
105
 
107
- .dropdown-toggle {
108
- color: @white;
109
- background: #ccc;
110
- background: rgba(0,0,0,.3);
111
- }
112
106
  .dropdown-menu {
113
107
  display: block;
114
108
  }
115
109
  }
116
110
 
117
111
  // Right aligned dropdowns
112
+ // ---------------------------
118
113
  .pull-right .dropdown-menu {
119
- left: auto;
120
114
  right: 0;
115
+ left: auto;
121
116
  }
122
117
 
123
118
  // Allow for dropdowns to go bottom up (aka, dropup-menu)
@@ -71,8 +71,9 @@ select,
71
71
  font-size: @baseFontSize;
72
72
  line-height: @baseLineHeight;
73
73
  color: @gray;
74
+ background-color: @inputBackground;
74
75
  border: 1px solid @inputBorder;
75
- .border-radius(3px);
76
+ .border-radius(@inputBorderRadius);
76
77
  }
77
78
  .uneditable-textarea {
78
79
  width: auto;
@@ -97,8 +98,9 @@ input[type="radio"] {
97
98
  *margin-top: 0; /* IE7 */
98
99
  line-height: normal;
99
100
  cursor: pointer;
100
- .border-radius(0);
101
+ background-color: transparent;
101
102
  border: 0 \9; /* IE9 and down */
103
+ .border-radius(0);
102
104
  }
103
105
  input[type="image"] {
104
106
  border: 0;
@@ -109,9 +111,9 @@ input[type="file"] {
109
111
  width: auto;
110
112
  padding: initial;
111
113
  line-height: initial;
112
- border: initial;
113
114
  background-color: @inputBackground;
114
115
  background-color: initial;
116
+ border: initial;
115
117
  .box-shadow(none);
116
118
  }
117
119
 
@@ -171,6 +173,7 @@ input[type="hidden"] {
171
173
  // Indent the labels to position radios/checkboxes as hanging
172
174
  .radio,
173
175
  .checkbox {
176
+ min-height: 18px; // clear the floating input if there is no label text
174
177
  padding-left: 18px;
175
178
  }
176
179
  .radio input[type="radio"],
@@ -213,17 +216,16 @@ textarea {
213
216
  input:focus,
214
217
  textarea:focus {
215
218
  border-color: rgba(82,168,236,.8);
216
- @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
217
- .box-shadow(@shadow);
218
219
  outline: 0;
219
220
  outline: thin dotted \9; /* IE6-9 */
221
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
220
222
  }
221
223
  input[type="file"]:focus,
222
224
  input[type="radio"]:focus,
223
225
  input[type="checkbox"]:focus,
224
226
  select:focus {
225
- .box-shadow(none); // override for file inputs
226
227
  .tab-focus();
228
+ .box-shadow(none); // override for file inputs
227
229
  }
228
230
 
229
231
 
@@ -243,7 +245,12 @@ select:focus {
243
245
  input[class*="span"],
244
246
  select[class*="span"],
245
247
  textarea[class*="span"],
246
- .uneditable-input {
248
+ .uneditable-input[class*="span"],
249
+ // Redeclare since the fluid row class is more specific
250
+ .row-fluid input[class*="span"],
251
+ .row-fluid select[class*="span"],
252
+ .row-fluid textarea[class*="span"],
253
+ .row-fluid .uneditable-input[class*="span"] {
247
254
  float: none;
248
255
  margin-left: 0;
249
256
  }
@@ -268,9 +275,16 @@ textarea[disabled],
268
275
  input[readonly],
269
276
  select[readonly],
270
277
  textarea[readonly] {
278
+ cursor: not-allowed;
271
279
  background-color: @inputDisabledBackground;
272
280
  border-color: #ddd;
273
- cursor: not-allowed;
281
+ }
282
+ // Explicitly reset the colors here
283
+ input[type="radio"][disabled],
284
+ input[type="checkbox"][disabled],
285
+ input[type="radio"][readonly],
286
+ input[type="checkbox"][readonly] {
287
+ background-color: transparent;
274
288
  }
275
289
 
276
290
 
@@ -314,18 +328,19 @@ select:focus:required:invalid {
314
328
  padding: (@baseLineHeight - 1) 20px @baseLineHeight;
315
329
  margin-top: @baseLineHeight;
316
330
  margin-bottom: @baseLineHeight;
317
- background-color: @grayLighter;
331
+ background-color: @formActionsBackground;
318
332
  border-top: 1px solid #ddd;
319
333
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
320
334
  }
321
335
 
322
336
  // For text that needs to appear as an input but should not be an input
323
337
  .uneditable-input {
324
- display: block;
338
+ overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
339
+ white-space: nowrap;
340
+ cursor: not-allowed;
325
341
  background-color: @inputBackground;
326
342
  border-color: #eee;
327
343
  .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
328
- cursor: not-allowed;
329
344
  }
330
345
 
331
346
  // Placeholder text gets special styles; can't be bundled together though for some reason
@@ -365,10 +380,13 @@ select:focus:required:invalid {
365
380
  input,
366
381
  select,
367
382
  .uneditable-input {
383
+ position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
384
+ margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
368
385
  *margin-left: 0;
369
- .border-radius(0 3px 3px 0);
386
+ vertical-align: middle;
387
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
388
+ // Make input on top when focused so blue border and shadow always show
370
389
  &:focus {
371
- position: relative;
372
390
  z-index: 2;
373
391
  }
374
392
  }
@@ -378,8 +396,8 @@ select:focus:required:invalid {
378
396
  .add-on {
379
397
  display: inline-block;
380
398
  width: auto;
381
- min-width: 16px;
382
399
  height: @baseLineHeight;
400
+ min-width: 16px;
383
401
  padding: 4px 5px;
384
402
  font-weight: normal;
385
403
  line-height: @baseLineHeight;
@@ -391,7 +409,8 @@ select:focus:required:invalid {
391
409
  }
392
410
  .add-on,
393
411
  .btn {
394
- .border-radius(3px 0 0 3px);
412
+ margin-left: -1px;
413
+ .border-radius(0);
395
414
  }
396
415
  .active {
397
416
  background-color: lighten(@green, 30);
@@ -403,21 +422,24 @@ select:focus:required:invalid {
403
422
  .btn {
404
423
  margin-right: -1px;
405
424
  }
425
+ .add-on:first-child,
426
+ .btn:first-child {
427
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
428
+ }
406
429
  }
407
430
  .input-append {
408
431
  input,
409
- select
432
+ select,
410
433
  .uneditable-input {
411
- .border-radius(3px 0 0 3px);
434
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
412
435
  }
413
436
  .uneditable-input {
414
- border-left-color: #eee;
415
437
  border-right-color: #ccc;
438
+ border-left-color: #eee;
416
439
  }
417
- .add-on,
418
- .btn {
419
- margin-left: -1px;
420
- .border-radius(0 3px 3px 0);
440
+ .add-on:last-child,
441
+ .btn:last-child {
442
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
421
443
  }
422
444
  }
423
445
  // Remove all border-radius for inputs with both prepend and append
@@ -430,12 +452,12 @@ select:focus:required:invalid {
430
452
  .add-on:first-child,
431
453
  .btn:first-child {
432
454
  margin-right: -1px;
433
- .border-radius(3px 0 0 3px);
455
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
434
456
  }
435
457
  .add-on:last-child,
436
458
  .btn:last-child {
437
459
  margin-left: -1px;
438
- .border-radius(0 3px 3px 0);
460
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
439
461
  }
440
462
  }
441
463
 
@@ -445,8 +467,10 @@ select:focus:required:invalid {
445
467
  // -----------
446
468
 
447
469
  .search-query {
448
- padding-left: 14px;
449
470
  padding-right: 14px;
471
+ padding-right: 4px \9;
472
+ padding-left: 14px;
473
+ padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
450
474
  margin-bottom: 0; // remove the default margin on all inputs
451
475
  .border-radius(14px);
452
476
  }
@@ -470,6 +494,7 @@ select:focus:required:invalid {
470
494
  .input-prepend,
471
495
  .input-append {
472
496
  display: inline-block;
497
+ .ie7-inline-block();
473
498
  margin-bottom: 0;
474
499
  }
475
500
  // Re-hide hidden elements due to specifity
@@ -503,8 +528,8 @@ select:focus:required:invalid {
503
528
  .form-inline .radio input[type="radio"],
504
529
  .form-inline .checkbox input[type="checkbox"] {
505
530
  float: left;
506
- margin-left: 0;
507
531
  margin-right: 3px;
532
+ margin-left: 0;
508
533
  }
509
534
 
510
535
 
@@ -537,11 +562,15 @@ legend + .control-group {
537
562
  }
538
563
  // Move over all input controls and content
539
564
  .controls {
540
- margin-left: 160px;
541
- /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */
565
+ // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
566
+ // don't inherit the margin of the parent, in this case .controls
542
567
  *display: inline-block;
543
- *margin-left: 0;
544
568
  *padding-left: 20px;
569
+ margin-left: 160px;
570
+ *margin-left: 0;
571
+ &:first-child {
572
+ *padding-left: 160px;
573
+ }
545
574
  }
546
575
  // Remove bottom margin on block level help text since that's accounted for on .control-group
547
576
  .help-block {