twitter-bootstrap-rails 2.1.1 → 2.1.2

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 (71) hide show
  1. data/README.md +14 -3
  2. data/app/helpers/bootstrap_flash_helper.rb +12 -0
  3. data/lib/generators/bootstrap/layout/templates/layout.html.erb +1 -0
  4. data/lib/generators/bootstrap/layout/templates/layout.html.haml +1 -0
  5. data/lib/generators/bootstrap/layout/templates/layout.html.slim +1 -0
  6. data/lib/generators/bootstrap/partial/partial_generator.rb +20 -0
  7. data/lib/generators/bootstrap/partial/templates/_login.html.erb +29 -0
  8. data/lib/generators/bootstrap/partial/templates/_navbar.html.erb +13 -0
  9. data/lib/generators/bootstrap/themed/templates/index.html.erb +1 -1
  10. data/lib/generators/bootstrap/themed/templates/index.html.haml +1 -1
  11. data/lib/generators/bootstrap/themed/templates/index.html.slim +1 -1
  12. data/lib/generators/bootstrap/themed/templates/show.html.erb +1 -1
  13. data/lib/generators/bootstrap/themed/templates/show.html.haml +1 -1
  14. data/lib/generators/bootstrap/themed/templates/show.html.slim +1 -1
  15. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  16. data/vendor/assets/javascripts/twitter/bootstrap.js +1 -0
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +104 -0
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +1 -1
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +1 -1
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +12 -5
  21. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +4 -3
  22. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +66 -16
  23. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +95 -74
  24. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +9 -4
  25. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +9 -9
  26. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +2 -2
  27. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +15 -15
  28. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +2 -3
  29. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +51 -40
  30. data/vendor/toolkit/fontawesome.less +5 -5
  31. data/vendor/toolkit/twitter/bootstrap/accordion.less +3 -2
  32. data/vendor/toolkit/twitter/bootstrap/alerts.less +16 -9
  33. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +1 -1
  34. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +10 -10
  35. data/vendor/toolkit/twitter/bootstrap/button-groups.less +76 -23
  36. data/vendor/toolkit/twitter/bootstrap/buttons.less +85 -65
  37. data/vendor/toolkit/twitter/bootstrap/carousel.less +13 -3
  38. data/vendor/toolkit/twitter/bootstrap/close.less +4 -2
  39. data/vendor/toolkit/twitter/bootstrap/code.less +6 -5
  40. data/vendor/toolkit/twitter/bootstrap/component-animations.less +5 -2
  41. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +81 -14
  42. data/vendor/toolkit/twitter/bootstrap/forms.less +100 -48
  43. data/vendor/toolkit/twitter/bootstrap/grid.less +17 -1
  44. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +4 -2
  45. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +19 -2
  46. data/vendor/toolkit/twitter/bootstrap/layouts.less +1 -2
  47. data/vendor/toolkit/twitter/bootstrap/mixins.less +98 -73
  48. data/vendor/toolkit/twitter/bootstrap/modals.less +9 -2
  49. data/vendor/toolkit/twitter/bootstrap/navbar.less +238 -127
  50. data/vendor/toolkit/twitter/bootstrap/navs.less +38 -17
  51. data/vendor/toolkit/twitter/bootstrap/pager.less +5 -4
  52. data/vendor/toolkit/twitter/bootstrap/pagination.less +16 -8
  53. data/vendor/toolkit/twitter/bootstrap/popovers.less +101 -33
  54. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +18 -13
  55. data/vendor/toolkit/twitter/bootstrap/reset.less +6 -3
  56. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +9 -7
  57. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +86 -68
  58. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +7 -5
  59. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +18 -5
  60. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +17 -15
  61. data/vendor/toolkit/twitter/bootstrap/responsive.less +5 -5
  62. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +26 -4
  63. data/vendor/toolkit/twitter/bootstrap/sprites.less +15 -19
  64. data/vendor/toolkit/twitter/bootstrap/tables.less +60 -11
  65. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +9 -4
  66. data/vendor/toolkit/twitter/bootstrap/tooltip.less +47 -12
  67. data/vendor/toolkit/twitter/bootstrap/type.less +57 -92
  68. data/vendor/toolkit/twitter/bootstrap/utilities.less +9 -2
  69. data/vendor/toolkit/twitter/bootstrap/variables.less +100 -29
  70. data/vendor/toolkit/twitter/bootstrap/wells.less +7 -5
  71. metadata +16 -22
@@ -1,5 +1,7 @@
1
- // CAROUSEL
2
- // --------
1
+ //
2
+ // Carousel
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .carousel {
5
7
  position: relative;
@@ -103,6 +105,7 @@
103
105
  }
104
106
  }
105
107
 
108
+
106
109
  // Caption for text below images
107
110
  // -----------------------------
108
111
 
@@ -111,11 +114,18 @@
111
114
  left: 0;
112
115
  right: 0;
113
116
  bottom: 0;
114
- padding: 10px 15px 5px;
117
+ padding: 15px;
115
118
  background: @grayDark;
116
119
  background: rgba(0,0,0,.75);
117
120
  }
118
121
  .carousel-caption h4,
119
122
  .carousel-caption p {
120
123
  color: @white;
124
+ line-height: @baseLineHeight;
125
+ }
126
+ .carousel-caption h4 {
127
+ margin: 0 0 5px;
128
+ }
129
+ .carousel-caption p {
130
+ margin-bottom: 0;
121
131
  }
@@ -1,5 +1,7 @@
1
- // CLOSE ICONS
2
- // -----------
1
+ //
2
+ // Close icons
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .close {
5
7
  float: right;
@@ -1,13 +1,14 @@
1
- // Code.less
2
- // Code typography styles for the <code> and <pre> elements
3
- // --------------------------------------------------------
1
+ //
2
+ // Code (inline and blocK)
3
+ // --------------------------------------------------
4
+
4
5
 
5
6
  // Inline and block code styles
6
7
  code,
7
8
  pre {
8
9
  padding: 0 3px 2px;
9
10
  #font > #family > .monospace;
10
- font-size: @baseFontSize - 1;
11
+ font-size: @baseFontSize - 2;
11
12
  color: @grayDark;
12
13
  .border-radius(3px);
13
14
  }
@@ -25,7 +26,7 @@ pre {
25
26
  display: block;
26
27
  padding: (@baseLineHeight - 1) / 2;
27
28
  margin: 0 0 @baseLineHeight / 2;
28
- font-size: @baseFontSize * .925; // 13px to 12px
29
+ font-size: @baseFontSize - 1; // 14px to 13px
29
30
  line-height: @baseLineHeight;
30
31
  word-break: break-all;
31
32
  word-wrap: break-word;
@@ -1,5 +1,7 @@
1
- // COMPONENT ANIMATIONS
2
- // --------------------
1
+ //
2
+ // Component animations
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .fade {
5
7
  opacity: 0;
@@ -13,6 +15,7 @@
13
15
  position: relative;
14
16
  height: 0;
15
17
  overflow: hidden;
18
+ overflow: visible \9;
16
19
  .transition(height .35s ease);
17
20
  &.in {
18
21
  height: auto;
@@ -1,5 +1,7 @@
1
- // DROPDOWN MENUS
2
- // --------------
1
+ //
2
+ // Dropdown menus
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
5
7
  .dropup,
@@ -26,7 +28,6 @@
26
28
  border-right: 4px solid transparent;
27
29
  border-left: 4px solid transparent;
28
30
  content: "";
29
- .opacity(30);
30
31
  }
31
32
 
32
33
  // Place the caret
@@ -34,10 +35,6 @@
34
35
  margin-top: 8px;
35
36
  margin-left: 2px;
36
37
  }
37
- .dropdown:hover .caret,
38
- .open .caret {
39
- .opacity(100);
40
- }
41
38
 
42
39
  // The dropdown menu (ul)
43
40
  // ----------------------
@@ -49,15 +46,15 @@
49
46
  display: none; // none by default, but block on "open" of the menu
50
47
  float: left;
51
48
  min-width: 160px;
52
- padding: 4px 0;
53
- margin: 1px 0 0; // override default ul
49
+ padding: 5px 0;
50
+ margin: 2px 0 0; // override default ul
54
51
  list-style: none;
55
52
  background-color: @dropdownBackground;
56
- border: 1px solid #ccc;
57
- border: 1px solid rgba(0,0,0,.2);
53
+ border: 1px solid #ccc; // Fallback for IE7-8
54
+ border: 1px solid @dropdownBorder;
58
55
  *border-right-width: 2px;
59
56
  *border-bottom-width: 2px;
60
- .border-radius(5px);
57
+ .border-radius(6px);
61
58
  .box-shadow(0 5px 10px rgba(0,0,0,.2));
62
59
  -webkit-background-clip: padding-box;
63
60
  -moz-background-clip: padding;
@@ -77,7 +74,7 @@
77
74
  // Links within the dropdown menu
78
75
  a {
79
76
  display: block;
80
- padding: 3px 15px;
77
+ padding: 3px 20px;
81
78
  clear: both;
82
79
  font-weight: normal;
83
80
  line-height: @baseLineHeight;
@@ -89,11 +86,37 @@
89
86
  // Hover state
90
87
  // -----------
91
88
  .dropdown-menu li > a:hover,
89
+ .dropdown-menu li > a:focus,
90
+ .dropdown-submenu:hover > a {
91
+ text-decoration: none;
92
+ color: @dropdownLinkColorHover;
93
+ background-color: @dropdownLinkBackgroundHover;
94
+ #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
95
+ }
96
+
97
+ // Active state
98
+ // ------------
92
99
  .dropdown-menu .active > a,
93
100
  .dropdown-menu .active > a:hover {
94
101
  color: @dropdownLinkColorHover;
95
102
  text-decoration: none;
96
- background-color: @dropdownLinkBackgroundHover;
103
+ outline: 0;
104
+ background-color: @dropdownLinkBackgroundActive;
105
+ #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
106
+ }
107
+
108
+ // Disabled state
109
+ // --------------
110
+ // Gray out text and ensure the hover state remains gray
111
+ .dropdown-menu .disabled > a,
112
+ .dropdown-menu .disabled > a:hover {
113
+ color: @grayLight;
114
+ }
115
+ // Nuke hover effects
116
+ .dropdown-menu .disabled > a:hover {
117
+ text-decoration: none;
118
+ background-color: transparent;
119
+ cursor: default;
97
120
  }
98
121
 
99
122
  // Open state for the dropdown
@@ -135,6 +158,50 @@
135
158
  }
136
159
  }
137
160
 
161
+ // Sub menus
162
+ // ---------------------------
163
+ .dropdown-submenu {
164
+ position: relative;
165
+ }
166
+ .dropdown-submenu > .dropdown-menu {
167
+ top: 0;
168
+ left: 100%;
169
+ margin-top: -6px;
170
+ margin-left: -1px;
171
+ -webkit-border-radius: 0 6px 6px 6px;
172
+ -moz-border-radius: 0 6px 6px 6px;
173
+ border-radius: 0 6px 6px 6px;
174
+ }
175
+ .dropdown-submenu:hover .dropdown-menu {
176
+ display: block;
177
+ }
178
+
179
+ .dropdown-submenu > a:after {
180
+ display: block;
181
+ content: " ";
182
+ float: right;
183
+ width: 0;
184
+ height: 0;
185
+ border-color: transparent;
186
+ border-style: solid;
187
+ border-width: 5px 0 5px 5px;
188
+ border-left-color: darken(@dropdownBackground, 20%);
189
+ margin-top: 5px;
190
+ margin-right: -10px;
191
+ }
192
+ .dropdown-submenu:hover > a:after {
193
+ border-left-color: @dropdownLinkColorHover;
194
+ }
195
+
196
+
197
+ // Tweak nav headers
198
+ // -----------------
199
+ // Increase padding from 15px to 20px on sides
200
+ .dropdown .dropdown-menu .nav-header {
201
+ padding-left: 20px;
202
+ padding-right: 20px;
203
+ }
204
+
138
205
  // Typeahead
139
206
  // ---------
140
207
  .typeahead {
@@ -1,6 +1,6 @@
1
- // Forms.less
2
- // Base styles for various input types, form layouts, and states
3
- // -------------------------------------------------------------
1
+ //
2
+ // Forms
3
+ // --------------------------------------------------
4
4
 
5
5
 
6
6
  // GENERAL STYLES
@@ -22,7 +22,7 @@ legend {
22
22
  display: block;
23
23
  width: 100%;
24
24
  padding: 0;
25
- margin-bottom: @baseLineHeight * 1.5;
25
+ margin-bottom: @baseLineHeight;
26
26
  font-size: @baseFontSize * 1.5;
27
27
  line-height: @baseLineHeight * 2;
28
28
  color: @grayDark;
@@ -80,11 +80,12 @@ input[type="color"],
80
80
  .uneditable-input {
81
81
  display: inline-block;
82
82
  height: @baseLineHeight;
83
- padding: 4px;
83
+ padding: 4px 6px;
84
84
  margin-bottom: 9px;
85
85
  font-size: @baseFontSize;
86
86
  line-height: @baseLineHeight;
87
87
  color: @gray;
88
+ .border-radius(@inputBorderRadius);
88
89
  }
89
90
 
90
91
  // Reset appearance properties for textual inputs and textarea
@@ -116,10 +117,8 @@ input[type="color"],
116
117
  .uneditable-input {
117
118
  background-color: @inputBackground;
118
119
  border: 1px solid @inputBorder;
119
- .border-radius(@inputBorderRadius);
120
120
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
121
- @transition: border linear .2s, box-shadow linear .2s;
122
- .transition(@transition);
121
+ .transition(~"border linear .2s, box-shadow linear .2s");
123
122
 
124
123
  // Focus state
125
124
  &:focus {
@@ -133,13 +132,16 @@ input[type="color"],
133
132
  // Position radios and checkboxes better
134
133
  input[type="radio"],
135
134
  input[type="checkbox"] {
136
- margin: 3px 0;
135
+ margin: 4px 0 0;
137
136
  *margin-top: 0; /* IE7 */
137
+ margin-top: 1px \9; /* IE8-9 */
138
138
  line-height: normal;
139
139
  cursor: pointer;
140
140
  }
141
141
 
142
- // Reset width of input buttons, radios, checkboxes
142
+ // Reset width of input images, buttons, radios, checkboxes
143
+ input[type="file"],
144
+ input[type="image"],
143
145
  input[type="submit"],
144
146
  input[type="reset"],
145
147
  input[type="button"],
@@ -148,24 +150,19 @@ input[type="checkbox"] {
148
150
  width: auto; // Override of generic input selector
149
151
  }
150
152
 
151
- // Make uneditable textareas behave like a textarea
152
- .uneditable-textarea {
153
- width: auto;
154
- height: auto;
155
- }
156
-
157
153
  // Set the height of select and file controls to match text inputs
158
154
  select,
159
155
  input[type="file"] {
160
- height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
156
+ height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
161
157
  *margin-top: 4px; /* For IE7, add top margin to align select with labels */
162
- line-height: 28px;
158
+ line-height: 30px;
163
159
  }
164
160
 
165
161
  // Make select elements obey height by applying a border
166
162
  select {
167
163
  width: 220px; // default input width + 10px of padding that doesn't get applied
168
164
  border: 1px solid #bbb;
165
+ background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
169
166
  }
170
167
 
171
168
  // Make multiple select elements height not fixed
@@ -183,6 +180,41 @@ input[type="checkbox"]:focus {
183
180
  }
184
181
 
185
182
 
183
+ // Uneditable inputs
184
+ // -------------------------
185
+
186
+ // Make uneditable inputs look inactive
187
+ .uneditable-input,
188
+ .uneditable-textarea {
189
+ color: @grayLight;
190
+ background-color: darken(@inputBackground, 1%);
191
+ border-color: @inputBorder;
192
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
193
+ cursor: not-allowed;
194
+ }
195
+
196
+ // For text that needs to appear as an input but should not be an input
197
+ .uneditable-input {
198
+ overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
199
+ white-space: nowrap;
200
+ }
201
+
202
+ // Make uneditable textareas behave like a textarea
203
+ .uneditable-textarea {
204
+ width: auto;
205
+ height: auto;
206
+ }
207
+
208
+
209
+ // Placeholder
210
+ // -------------------------
211
+
212
+ // Placeholder text gets special styles; can't be bundled together though for some reason
213
+ input,
214
+ textarea {
215
+ .placeholder();
216
+ }
217
+
186
218
 
187
219
  // CHECKBOXES & RADIOS
188
220
  // -------------------
@@ -250,6 +282,10 @@ textarea[class*="span"],
250
282
  .input-append .uneditable-input[class*="span"],
251
283
  .input-prepend input[class*="span"],
252
284
  .input-prepend .uneditable-input[class*="span"],
285
+ .row-fluid input[class*="span"],
286
+ .row-fluid select[class*="span"],
287
+ .row-fluid textarea[class*="span"],
288
+ .row-fluid .uneditable-input[class*="span"],
253
289
  .row-fluid .input-prepend [class*="span"],
254
290
  .row-fluid .input-append [class*="span"] {
255
291
  display: inline-block;
@@ -260,8 +296,18 @@ textarea[class*="span"],
260
296
  // GRID SIZING FOR INPUTS
261
297
  // ----------------------
262
298
 
299
+ // Grid sizes
263
300
  #grid > .input(@gridColumnWidth, @gridGutterWidth);
264
301
 
302
+ // Control row for multiple inputs per line
303
+ .controls-row {
304
+ .clearfix(); // Clear the float from controls
305
+ }
306
+ .controls-row [class*="span"] {
307
+ float: left; // Float to collapse white-space for proper grid alignment
308
+ }
309
+
310
+
265
311
 
266
312
 
267
313
  // DISABLED STATE
@@ -276,7 +322,6 @@ select[readonly],
276
322
  textarea[readonly] {
277
323
  cursor: not-allowed;
278
324
  background-color: @inputDisabledBackground;
279
- border-color: #ddd;
280
325
  }
281
326
  // Explicitly reset the colors here
282
327
  input[type="radio"][disabled],
@@ -332,19 +377,6 @@ select:focus:required:invalid {
332
377
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
333
378
  }
334
379
 
335
- // For text that needs to appear as an input but should not be an input
336
- .uneditable-input {
337
- overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
338
- white-space: nowrap;
339
- cursor: not-allowed;
340
- background-color: @inputBackground;
341
- border-color: #eee;
342
- .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
343
- }
344
-
345
- // Placeholder text gets special styles; can't be bundled together though for some reason
346
- .placeholder();
347
-
348
380
 
349
381
 
350
382
  // HELP TEXT
@@ -352,7 +384,7 @@ select:focus:required:invalid {
352
384
 
353
385
  .help-block,
354
386
  .help-inline {
355
- color: @gray; // lighten the text some for contrast
387
+ color: lighten(@textColor, 15%); // lighten the text some for contrast
356
388
  }
357
389
 
358
390
  .help-block {
@@ -373,42 +405,44 @@ select:focus:required:invalid {
373
405
  // ------------
374
406
 
375
407
  // Allow us to put symbols and text within the input field for a cleaner look
376
- .input-prepend,
377
- .input-append {
408
+ .input-append,
409
+ .input-prepend {
378
410
  margin-bottom: 5px;
411
+ font-size: 0;
412
+ white-space: nowrap; // Prevent span and input from separating
413
+
379
414
  input,
380
415
  select,
381
416
  .uneditable-input {
382
417
  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
383
418
  margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
384
419
  *margin-left: 0;
385
- vertical-align: middle;
420
+ font-size: @baseFontSize;
421
+ vertical-align: top;
386
422
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
387
423
  // Make input on top when focused so blue border and shadow always show
388
424
  &:focus {
389
425
  z-index: 2;
390
426
  }
391
427
  }
392
- .uneditable-input {
393
- border-left-color: #ccc;
394
- }
395
428
  .add-on {
396
429
  display: inline-block;
397
430
  width: auto;
398
431
  height: @baseLineHeight;
399
432
  min-width: 16px;
400
433
  padding: 4px 5px;
434
+ font-size: @baseFontSize;
401
435
  font-weight: normal;
402
436
  line-height: @baseLineHeight;
403
437
  text-align: center;
404
438
  text-shadow: 0 1px 0 @white;
405
- vertical-align: middle;
406
439
  background-color: @grayLighter;
407
440
  border: 1px solid #ccc;
408
441
  }
409
442
  .add-on,
410
443
  .btn {
411
444
  margin-left: -1px;
445
+ vertical-align: top;
412
446
  .border-radius(0);
413
447
  }
414
448
  .active {
@@ -432,10 +466,6 @@ select:focus:required:invalid {
432
466
  .uneditable-input {
433
467
  .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
434
468
  }
435
- .uneditable-input {
436
- border-right-color: #ccc;
437
- border-left-color: #eee;
438
- }
439
469
  .add-on:last-child,
440
470
  .btn:last-child {
441
471
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
@@ -465,17 +495,36 @@ select:focus:required:invalid {
465
495
  // SEARCH FORM
466
496
  // -----------
467
497
 
468
- .search-query {
498
+ input.search-query {
469
499
  padding-right: 14px;
470
500
  padding-right: 4px \9;
471
501
  padding-left: 14px;
472
502
  padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
473
- margin-bottom: 0; // remove the default margin on all inputs
474
- .border-radius(14px);
503
+ margin-bottom: 0; // Remove the default margin on all inputs
504
+ .border-radius(15px);
505
+ }
506
+
507
+ /* Allow for input prepend/append in search forms */
508
+ .form-search .input-append .search-query,
509
+ .form-search .input-prepend .search-query {
510
+ .border-radius(0); // Override due to specificity
511
+ }
512
+ .form-search .input-append .search-query {
513
+ .border-radius(14px 0 0 14px)
514
+ }
515
+ .form-search .input-append .btn {
516
+ .border-radius(0 14px 14px 0)
517
+ }
518
+ .form-search .input-prepend .search-query {
519
+ .border-radius(0 14px 14px 0)
520
+ }
521
+ .form-search .input-prepend .btn {
522
+ .border-radius(14px 0 0 14px)
475
523
  }
476
524
 
477
525
 
478
526
 
527
+
479
528
  // HORIZONTAL & VERTICAL FORMS
480
529
  // ---------------------------
481
530
 
@@ -495,6 +544,7 @@ select:focus:required:invalid {
495
544
  display: inline-block;
496
545
  .ie7-inline-block();
497
546
  margin-bottom: 0;
547
+ vertical-align: middle;
498
548
  }
499
549
  // Re-hide hidden elements due to specifity
500
550
  .hide {
@@ -502,7 +552,9 @@ select:focus:required:invalid {
502
552
  }
503
553
  }
504
554
  .form-search label,
505
- .form-inline label {
555
+ .form-inline label,
556
+ .form-search .btn-group,
557
+ .form-inline .btn-group {
506
558
  display: inline-block;
507
559
  }
508
560
  // Remove margin for input-prepend/-append