bootstrap-generators 2.0.4 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. data/README.md +211 -63
  2. data/lib/bootstrap/generators/version.rb +1 -1
  3. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.css.scss +102 -28
  4. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +104 -31
  5. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  6. data/vendor/assets/javascripts/bootstrap-affix.js +104 -0
  7. data/vendor/assets/javascripts/bootstrap-alert.js +1 -1
  8. data/vendor/assets/javascripts/bootstrap-button.js +2 -2
  9. data/vendor/assets/javascripts/bootstrap-carousel.js +12 -5
  10. data/vendor/assets/javascripts/bootstrap-collapse.js +4 -3
  11. data/vendor/assets/javascripts/bootstrap-dropdown.js +66 -16
  12. data/vendor/assets/javascripts/bootstrap-modal.js +95 -74
  13. data/vendor/assets/javascripts/bootstrap-popover.js +9 -4
  14. data/vendor/assets/javascripts/bootstrap-scrollspy.js +9 -9
  15. data/vendor/assets/javascripts/bootstrap-tab.js +2 -2
  16. data/vendor/assets/javascripts/bootstrap-tooltip.js +15 -15
  17. data/vendor/assets/javascripts/bootstrap-transition.js +2 -3
  18. data/vendor/assets/javascripts/bootstrap-typeahead.js +51 -36
  19. data/vendor/assets/javascripts/bootstrap.js +1 -1
  20. data/vendor/assets/stylesheets/bootstrap-responsive.css +1058 -0
  21. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
  22. data/vendor/assets/stylesheets/bootstrap.css +5774 -0
  23. data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
  24. data/vendor/twitter/bootstrap/less/accordion.less +3 -2
  25. data/vendor/twitter/bootstrap/less/alerts.less +16 -9
  26. data/vendor/twitter/bootstrap/less/bootstrap.less +1 -1
  27. data/vendor/twitter/bootstrap/less/breadcrumbs.less +10 -10
  28. data/vendor/twitter/bootstrap/less/button-groups.less +79 -25
  29. data/vendor/twitter/bootstrap/less/buttons.less +107 -67
  30. data/vendor/twitter/bootstrap/less/carousel.less +13 -3
  31. data/vendor/twitter/bootstrap/less/close.less +4 -2
  32. data/vendor/twitter/bootstrap/less/code.less +6 -5
  33. data/vendor/twitter/bootstrap/less/component-animations.less +4 -2
  34. data/vendor/twitter/bootstrap/less/dropdowns.less +82 -15
  35. data/vendor/twitter/bootstrap/less/forms.less +124 -57
  36. data/vendor/twitter/bootstrap/less/grid.less +17 -1
  37. data/vendor/twitter/bootstrap/less/hero-unit.less +4 -2
  38. data/vendor/twitter/bootstrap/less/labels-badges.less +19 -2
  39. data/vendor/twitter/bootstrap/less/layouts.less +1 -2
  40. data/vendor/twitter/bootstrap/less/mixins.less +112 -77
  41. data/vendor/twitter/bootstrap/less/modals.less +12 -4
  42. data/vendor/twitter/bootstrap/less/navbar.less +245 -128
  43. data/vendor/twitter/bootstrap/less/navs.less +38 -17
  44. data/vendor/twitter/bootstrap/less/pager.less +11 -7
  45. data/vendor/twitter/bootstrap/less/pagination.less +23 -15
  46. data/vendor/twitter/bootstrap/less/popovers.less +101 -33
  47. data/vendor/twitter/bootstrap/less/progress-bars.less +18 -13
  48. data/vendor/twitter/bootstrap/less/reset.less +10 -4
  49. data/vendor/twitter/bootstrap/less/responsive-1200px-min.less +9 -7
  50. data/vendor/twitter/bootstrap/less/responsive-767px-max.less +95 -70
  51. data/vendor/twitter/bootstrap/less/responsive-768px-979px.less +7 -5
  52. data/vendor/twitter/bootstrap/less/responsive-navbar.less +30 -6
  53. data/vendor/twitter/bootstrap/less/responsive-utilities.less +17 -15
  54. data/vendor/twitter/bootstrap/less/responsive.less +5 -5
  55. data/vendor/twitter/bootstrap/less/scaffolding.less +27 -4
  56. data/vendor/twitter/bootstrap/less/sprites.less +21 -19
  57. data/vendor/twitter/bootstrap/less/tables.less +81 -12
  58. data/vendor/twitter/bootstrap/less/thumbnails.less +9 -4
  59. data/vendor/twitter/bootstrap/less/tooltip.less +47 -12
  60. data/vendor/twitter/bootstrap/less/type.less +75 -86
  61. data/vendor/twitter/bootstrap/less/utilities.less +9 -2
  62. data/vendor/twitter/bootstrap/less/variables.less +104 -31
  63. data/vendor/twitter/bootstrap/less/wells.less +7 -5
  64. data/vendor/twitter/bootstrap/sass/_accordion.scss +3 -2
  65. data/vendor/twitter/bootstrap/sass/_alerts.scss +15 -8
  66. data/vendor/twitter/bootstrap/sass/_breadcrumbs.scss +10 -10
  67. data/vendor/twitter/bootstrap/sass/_button-groups.scss +77 -23
  68. data/vendor/twitter/bootstrap/sass/_buttons.scss +106 -66
  69. data/vendor/twitter/bootstrap/sass/_carousel.scss +13 -3
  70. data/vendor/twitter/bootstrap/sass/_close.scss +5 -3
  71. data/vendor/twitter/bootstrap/sass/_code.scss +7 -6
  72. data/vendor/twitter/bootstrap/sass/_component-animations.scss +5 -3
  73. data/vendor/twitter/bootstrap/sass/_dropdowns.scss +85 -18
  74. data/vendor/twitter/bootstrap/sass/_forms.scss +121 -53
  75. data/vendor/twitter/bootstrap/sass/_grid.scss +17 -1
  76. data/vendor/twitter/bootstrap/sass/_hero-unit.scss +4 -2
  77. data/vendor/twitter/bootstrap/sass/_labels-badges.scss +29 -12
  78. data/vendor/twitter/bootstrap/sass/_layouts.scss +2 -3
  79. data/vendor/twitter/bootstrap/sass/_mixins.scss +163 -127
  80. data/vendor/twitter/bootstrap/sass/_modals.scss +12 -4
  81. data/vendor/twitter/bootstrap/sass/_navbar.scss +243 -127
  82. data/vendor/twitter/bootstrap/sass/_navs.scss +36 -15
  83. data/vendor/twitter/bootstrap/sass/_pager.scss +12 -8
  84. data/vendor/twitter/bootstrap/sass/_pagination.scss +23 -15
  85. data/vendor/twitter/bootstrap/sass/_popovers.scss +101 -33
  86. data/vendor/twitter/bootstrap/sass/_progress-bars.scss +18 -13
  87. data/vendor/twitter/bootstrap/sass/_reset.scss +8 -3
  88. data/vendor/twitter/bootstrap/sass/_responsive-1200px-min.scss +9 -7
  89. data/vendor/twitter/bootstrap/sass/_responsive-767px-max.scss +95 -70
  90. data/vendor/twitter/bootstrap/sass/_responsive-768px-979px.scss +8 -6
  91. data/vendor/twitter/bootstrap/sass/_responsive-navbar.scss +29 -5
  92. data/vendor/twitter/bootstrap/sass/_responsive-utilities.scss +32 -15
  93. data/vendor/twitter/bootstrap/sass/_scaffolding.scss +29 -4
  94. data/vendor/twitter/bootstrap/sass/_sprites.scss +21 -19
  95. data/vendor/twitter/bootstrap/sass/_tables.scss +79 -11
  96. data/vendor/twitter/bootstrap/sass/_thumbnails.scss +9 -4
  97. data/vendor/twitter/bootstrap/sass/_tooltip.scss +47 -12
  98. data/vendor/twitter/bootstrap/sass/_type.scss +74 -85
  99. data/vendor/twitter/bootstrap/sass/_utilities.scss +24 -2
  100. data/vendor/twitter/bootstrap/sass/_variables.scss +102 -28
  101. data/vendor/twitter/bootstrap/sass/_wells.scss +7 -5
  102. data/vendor/twitter/bootstrap/sass/bootstrap.scss +1 -1
  103. data/vendor/twitter/bootstrap/sass/responsive.scss +5 -5
  104. metadata +15 -10
@@ -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;
@@ -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
@@ -125,7 +148,7 @@
125
148
  .caret {
126
149
  border-top: 0;
127
150
  border-bottom: 4px solid @black;
128
- content: "\2191";
151
+ content: "";
129
152
  }
130
153
  // Different positioning for bottom up menu
131
154
  .dropdown-menu {
@@ -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,18 +80,20 @@ 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
91
92
  // Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
92
93
  input,
93
- textarea {
94
- width: 210px;
94
+ textarea,
95
+ .uneditable-input {
96
+ width: 206px; // plus 12px padding and 2px border
95
97
  }
96
98
  // Reset height since textareas have rows
97
99
  textarea {
@@ -116,30 +118,31 @@ input[type="color"],
116
118
  .uneditable-input {
117
119
  background-color: @inputBackground;
118
120
  border: 1px solid @inputBorder;
119
- .border-radius(@inputBorderRadius);
120
121
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
121
- @transition: border linear .2s, box-shadow linear .2s;
122
- .transition(@transition);
122
+ .transition(~"border linear .2s, box-shadow linear .2s");
123
123
 
124
124
  // Focus state
125
125
  &:focus {
126
126
  border-color: rgba(82,168,236,.8);
127
127
  outline: 0;
128
128
  outline: thin dotted \9; /* IE6-9 */
129
- .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
129
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6));
130
130
  }
131
131
  }
132
132
 
133
133
  // Position radios and checkboxes better
134
134
  input[type="radio"],
135
135
  input[type="checkbox"] {
136
- margin: 3px 0;
136
+ margin: 4px 0 0;
137
137
  *margin-top: 0; /* IE7 */
138
+ margin-top: 1px \9; /* IE8-9 */
138
139
  line-height: normal;
139
140
  cursor: pointer;
140
141
  }
141
142
 
142
- // Reset width of input buttons, radios, checkboxes
143
+ // Reset width of input images, buttons, radios, checkboxes
144
+ input[type="file"],
145
+ input[type="image"],
143
146
  input[type="submit"],
144
147
  input[type="reset"],
145
148
  input[type="button"],
@@ -148,24 +151,19 @@ input[type="checkbox"] {
148
151
  width: auto; // Override of generic input selector
149
152
  }
150
153
 
151
- // Make uneditable textareas behave like a textarea
152
- .uneditable-textarea {
153
- width: auto;
154
- height: auto;
155
- }
156
-
157
154
  // Set the height of select and file controls to match text inputs
158
155
  select,
159
156
  input[type="file"] {
160
- height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
157
+ height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
161
158
  *margin-top: 4px; /* For IE7, add top margin to align select with labels */
162
- line-height: 28px;
159
+ line-height: 30px;
163
160
  }
164
161
 
165
162
  // Make select elements obey height by applying a border
166
163
  select {
167
164
  width: 220px; // default input width + 10px of padding that doesn't get applied
168
- border: 1px solid #bbb;
165
+ border: 1px solid @inputBorder;
166
+ background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
169
167
  }
170
168
 
171
169
  // Make multiple select elements height not fixed
@@ -183,6 +181,41 @@ input[type="checkbox"]:focus {
183
181
  }
184
182
 
185
183
 
184
+ // Uneditable inputs
185
+ // -------------------------
186
+
187
+ // Make uneditable inputs look inactive
188
+ .uneditable-input,
189
+ .uneditable-textarea {
190
+ color: @grayLight;
191
+ background-color: darken(@inputBackground, 1%);
192
+ border-color: @inputBorder;
193
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
194
+ cursor: not-allowed;
195
+ }
196
+
197
+ // For text that needs to appear as an input but should not be an input
198
+ .uneditable-input {
199
+ overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
200
+ white-space: nowrap;
201
+ }
202
+
203
+ // Make uneditable textareas behave like a textarea
204
+ .uneditable-textarea {
205
+ width: auto;
206
+ height: auto;
207
+ }
208
+
209
+
210
+ // Placeholder
211
+ // -------------------------
212
+
213
+ // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn’t understand a selector
214
+ input,
215
+ textarea {
216
+ .placeholder();
217
+ }
218
+
186
219
 
187
220
  // CHECKBOXES & RADIOS
188
221
  // -------------------
@@ -250,6 +283,10 @@ textarea[class*="span"],
250
283
  .input-append .uneditable-input[class*="span"],
251
284
  .input-prepend input[class*="span"],
252
285
  .input-prepend .uneditable-input[class*="span"],
286
+ .row-fluid input[class*="span"],
287
+ .row-fluid select[class*="span"],
288
+ .row-fluid textarea[class*="span"],
289
+ .row-fluid .uneditable-input[class*="span"],
253
290
  .row-fluid .input-prepend [class*="span"],
254
291
  .row-fluid .input-append [class*="span"] {
255
292
  display: inline-block;
@@ -260,8 +297,18 @@ textarea[class*="span"],
260
297
  // GRID SIZING FOR INPUTS
261
298
  // ----------------------
262
299
 
300
+ // Grid sizes
263
301
  #grid > .input(@gridColumnWidth, @gridGutterWidth);
264
302
 
303
+ // Control row for multiple inputs per line
304
+ .controls-row {
305
+ .clearfix(); // Clear the float from controls
306
+ }
307
+ .controls-row [class*="span"] {
308
+ float: left; // Float to collapse white-space for proper grid alignment
309
+ }
310
+
311
+
265
312
 
266
313
 
267
314
  // DISABLED STATE
@@ -276,7 +323,6 @@ select[readonly],
276
323
  textarea[readonly] {
277
324
  cursor: not-allowed;
278
325
  background-color: @inputDisabledBackground;
279
- border-color: #ddd;
280
326
  }
281
327
  // Explicitly reset the colors here
282
328
  input[type="radio"][disabled],
@@ -304,6 +350,10 @@ input[type="checkbox"][readonly] {
304
350
  .control-group.success {
305
351
  .formFieldState(@successText, @successText, @successBackground);
306
352
  }
353
+ // Success
354
+ .control-group.info {
355
+ .formFieldState(@infoText, @infoText, @infoBackground);
356
+ }
307
357
 
308
358
  // HTML5 invalid states
309
359
  // Shares styles with the .control-group.error above
@@ -332,19 +382,6 @@ select:focus:required:invalid {
332
382
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
333
383
  }
334
384
 
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
385
 
349
386
 
350
387
  // HELP TEXT
@@ -352,7 +389,7 @@ select:focus:required:invalid {
352
389
 
353
390
  .help-block,
354
391
  .help-inline {
355
- color: @gray; // lighten the text some for contrast
392
+ color: lighten(@textColor, 15%); // lighten the text some for contrast
356
393
  }
357
394
 
358
395
  .help-block {
@@ -373,42 +410,43 @@ select:focus:required:invalid {
373
410
  // ------------
374
411
 
375
412
  // Allow us to put symbols and text within the input field for a cleaner look
376
- .input-prepend,
377
- .input-append {
413
+ .input-append,
414
+ .input-prepend {
378
415
  margin-bottom: 5px;
416
+ font-size: 0;
417
+ white-space: nowrap; // Prevent span and input from separating
418
+
379
419
  input,
380
420
  select,
381
421
  .uneditable-input {
382
422
  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
423
  margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
384
424
  *margin-left: 0;
385
- vertical-align: middle;
425
+ font-size: @baseFontSize;
426
+ vertical-align: top;
386
427
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
387
428
  // Make input on top when focused so blue border and shadow always show
388
429
  &:focus {
389
430
  z-index: 2;
390
431
  }
391
432
  }
392
- .uneditable-input {
393
- border-left-color: #ccc;
394
- }
395
433
  .add-on {
396
434
  display: inline-block;
397
435
  width: auto;
398
436
  height: @baseLineHeight;
399
437
  min-width: 16px;
400
438
  padding: 4px 5px;
439
+ font-size: @baseFontSize;
401
440
  font-weight: normal;
402
441
  line-height: @baseLineHeight;
403
442
  text-align: center;
404
443
  text-shadow: 0 1px 0 @white;
405
- vertical-align: middle;
406
444
  background-color: @grayLighter;
407
445
  border: 1px solid #ccc;
408
446
  }
409
447
  .add-on,
410
448
  .btn {
411
- margin-left: -1px;
449
+ vertical-align: top;
412
450
  .border-radius(0);
413
451
  }
414
452
  .active {
@@ -432,9 +470,9 @@ select:focus:required:invalid {
432
470
  .uneditable-input {
433
471
  .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
434
472
  }
435
- .uneditable-input {
436
- border-right-color: #ccc;
437
- border-left-color: #eee;
473
+ .add-on,
474
+ .btn {
475
+ margin-left: -1px;
438
476
  }
439
477
  .add-on:last-child,
440
478
  .btn:last-child {
@@ -465,14 +503,33 @@ select:focus:required:invalid {
465
503
  // SEARCH FORM
466
504
  // -----------
467
505
 
468
- .search-query {
506
+ input.search-query {
469
507
  padding-right: 14px;
470
508
  padding-right: 4px \9;
471
509
  padding-left: 14px;
472
510
  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);
511
+ margin-bottom: 0; // Remove the default margin on all inputs
512
+ .border-radius(15px);
513
+ }
514
+
515
+ /* Allow for input prepend/append in search forms */
516
+ .form-search .input-append .search-query,
517
+ .form-search .input-prepend .search-query {
518
+ .border-radius(0); // Override due to specificity
475
519
  }
520
+ .form-search .input-append .search-query {
521
+ .border-radius(14px 0 0 14px);
522
+ }
523
+ .form-search .input-append .btn {
524
+ .border-radius(0 14px 14px 0);
525
+ }
526
+ .form-search .input-prepend .search-query {
527
+ .border-radius(0 14px 14px 0);
528
+ }
529
+ .form-search .input-prepend .btn {
530
+ .border-radius(14px 0 0 14px);
531
+ }
532
+
476
533
 
477
534
 
478
535
 
@@ -495,6 +552,7 @@ select:focus:required:invalid {
495
552
  display: inline-block;
496
553
  .ie7-inline-block();
497
554
  margin-bottom: 0;
555
+ vertical-align: middle;
498
556
  }
499
557
  // Re-hide hidden elements due to specifity
500
558
  .hide {
@@ -502,7 +560,9 @@ select:focus:required:invalid {
502
560
  }
503
561
  }
504
562
  .form-search label,
505
- .form-inline label {
563
+ .form-inline label,
564
+ .form-search .btn-group,
565
+ .form-inline .btn-group {
506
566
  display: inline-block;
507
567
  }
508
568
  // Remove margin for input-prepend/-append
@@ -555,7 +615,7 @@ legend + .control-group {
555
615
  // Float the labels left
556
616
  .control-label {
557
617
  float: left;
558
- width: 140px;
618
+ width: @horizontalComponentOffset - 20;
559
619
  padding-top: 5px;
560
620
  text-align: right;
561
621
  }
@@ -565,19 +625,26 @@ legend + .control-group {
565
625
  // don't inherit the margin of the parent, in this case .controls
566
626
  *display: inline-block;
567
627
  *padding-left: 20px;
568
- margin-left: 160px;
628
+ margin-left: @horizontalComponentOffset;
569
629
  *margin-left: 0;
570
630
  &:first-child {
571
- *padding-left: 160px;
631
+ *padding-left: @horizontalComponentOffset;
572
632
  }
573
633
  }
574
634
  // Remove bottom margin on block level help text since that's accounted for on .control-group
575
635
  .help-block {
576
- margin-top: @baseLineHeight / 2;
577
636
  margin-bottom: 0;
578
637
  }
638
+ // And apply it only to .help-block instances that follow a form control
639
+ input,
640
+ select,
641
+ textarea {
642
+ + .help-block {
643
+ margin-top: @baseLineHeight / 2;
644
+ }
645
+ }
579
646
  // Move over buttons in .form-actions to align with .controls
580
647
  .form-actions {
581
- padding-left: 160px;
648
+ padding-left: @horizontalComponentOffset;
582
649
  }
583
650
  }