twitter-bootstrap-rails 2.0.6 → 2.0.7

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.

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 {