twitter-bootstrap-rails 2.1.4 → 2.1.5
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.
- data/README.md +2 -1
- data/app/helpers/bootstrap_flash_helper.rb +2 -0
- data/app/helpers/glyph_helper.rb +1 -1
- data/lib/generators/bootstrap/install/install_generator.rb +5 -1
- data/lib/generators/bootstrap/install/templates/bootstrap.js +5 -0
- data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +3 -0
- data/lib/twitter/bootstrap/rails/version.rb +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +4 -2
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +2 -4
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +5 -7
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +12 -12
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +9 -11
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +9 -11
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +20 -25
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +1 -1
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +5 -7
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +12 -11
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +5 -5
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +19 -9
- data/vendor/toolkit/fontawesome.less +6 -5
- data/vendor/toolkit/twitter/bootstrap/accordion.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/alerts.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/bootstrap.less +2 -1
- data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/button-groups.less +5 -8
- data/vendor/toolkit/twitter/bootstrap/buttons.less +17 -16
- data/vendor/toolkit/twitter/bootstrap/code.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/dropdowns.less +32 -5
- data/vendor/toolkit/twitter/bootstrap/forms.less +47 -14
- data/vendor/toolkit/twitter/bootstrap/hero-unit.less +6 -5
- data/vendor/toolkit/twitter/bootstrap/labels-badges.less +4 -2
- data/vendor/toolkit/twitter/bootstrap/media.less +55 -0
- data/vendor/toolkit/twitter/bootstrap/mixins.less +15 -10
- data/vendor/toolkit/twitter/bootstrap/modals.less +7 -11
- data/vendor/toolkit/twitter/bootstrap/navbar.less +6 -6
- data/vendor/toolkit/twitter/bootstrap/navs.less +3 -2
- data/vendor/toolkit/twitter/bootstrap/pager.less +10 -9
- data/vendor/toolkit/twitter/bootstrap/pagination.less +69 -12
- data/vendor/toolkit/twitter/bootstrap/popovers.less +2 -2
- data/vendor/toolkit/twitter/bootstrap/progress-bars.less +2 -2
- data/vendor/toolkit/twitter/bootstrap/reset.less +5 -4
- data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +20 -1
- data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +12 -4
- data/vendor/toolkit/twitter/bootstrap/responsive.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/sprites.less +10 -10
- data/vendor/toolkit/twitter/bootstrap/tables.less +20 -29
- data/vendor/toolkit/twitter/bootstrap/thumbnails.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/tooltip.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/type.less +30 -24
- data/vendor/toolkit/twitter/bootstrap/variables.less +23 -1
- data/vendor/toolkit/twitter/bootstrap/wells.less +3 -3
- metadata +14 -12
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ===================================================
|
2
|
-
* bootstrap-transition.js v2.
|
2
|
+
* bootstrap-transition.js v2.2.1
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
4
4
|
* ===================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -20,13 +20,13 @@
|
|
20
20
|
|
21
21
|
!function ($) {
|
22
22
|
|
23
|
-
|
23
|
+
"use strict"; // jshint ;_;
|
24
24
|
|
25
|
-
"use strict"; // jshint ;_;
|
26
25
|
|
26
|
+
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
27
|
+
* ======================================================= */
|
27
28
|
|
28
|
-
|
29
|
-
* ======================================================= */
|
29
|
+
$(function () {
|
30
30
|
|
31
31
|
$.support.transition = (function () {
|
32
32
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* =============================================================
|
2
|
-
* bootstrap-typeahead.js v2.
|
2
|
+
* bootstrap-typeahead.js v2.2.1
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
4
4
|
* =============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -174,7 +174,7 @@
|
|
174
174
|
.on('keypress', $.proxy(this.keypress, this))
|
175
175
|
.on('keyup', $.proxy(this.keyup, this))
|
176
176
|
|
177
|
-
if (
|
177
|
+
if (this.eventSupported('keydown')) {
|
178
178
|
this.$element.on('keydown', $.proxy(this.keydown, this))
|
179
179
|
}
|
180
180
|
|
@@ -183,6 +183,15 @@
|
|
183
183
|
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
184
184
|
}
|
185
185
|
|
186
|
+
, eventSupported: function(eventName) {
|
187
|
+
var isSupported = eventName in this.$element
|
188
|
+
if (!isSupported) {
|
189
|
+
this.$element.setAttribute(eventName, 'return;')
|
190
|
+
isSupported = typeof this.$element[eventName] === 'function'
|
191
|
+
}
|
192
|
+
return isSupported
|
193
|
+
}
|
194
|
+
|
186
195
|
, move: function (e) {
|
187
196
|
if (!this.shown) return
|
188
197
|
|
@@ -221,6 +230,9 @@
|
|
221
230
|
switch(e.keyCode) {
|
222
231
|
case 40: // down arrow
|
223
232
|
case 38: // up arrow
|
233
|
+
case 16: // shift
|
234
|
+
case 17: // ctrl
|
235
|
+
case 18: // alt
|
224
236
|
break
|
225
237
|
|
226
238
|
case 9: // tab
|
@@ -288,13 +300,11 @@
|
|
288
300
|
/* TYPEAHEAD DATA-API
|
289
301
|
* ================== */
|
290
302
|
|
291
|
-
$(function () {
|
292
|
-
$
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
$this.typeahead($this.data())
|
297
|
-
})
|
303
|
+
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
304
|
+
var $this = $(this)
|
305
|
+
if ($this.data('typeahead')) return
|
306
|
+
e.preventDefault()
|
307
|
+
$this.typeahead($this.data())
|
298
308
|
})
|
299
309
|
|
300
310
|
}(window.jQuery);
|
@@ -24,11 +24,12 @@
|
|
24
24
|
|
25
25
|
@font-face {
|
26
26
|
font-family: "FontAwesome";
|
27
|
-
src: url(
|
28
|
-
|
29
|
-
|
30
|
-
url(
|
31
|
-
url(
|
27
|
+
src: url(@fontAwesomeEotPath);
|
28
|
+
@fontAwesomeEotPath_iefix : asset-path("fontawesome-webfont.eot#iefix");
|
29
|
+
src: url(@fontAwesomeEotPath_iefix) format("embedded-opentype"),
|
30
|
+
url(@fontAwesomeWoffPath) format("woff"),
|
31
|
+
url(@fontAwesomeTtfPath) format("truetype"),
|
32
|
+
url(@fontAwesomeSvgPath) format("svg");
|
32
33
|
font-weight: normal;
|
33
34
|
font-style: normal;
|
34
35
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v2.
|
2
|
+
* Bootstrap v2.2.1
|
3
3
|
*
|
4
4
|
* Copyright 2012 Twitter, Inc
|
5
5
|
* Licensed under the Apache License v2.0
|
@@ -52,6 +52,7 @@
|
|
52
52
|
|
53
53
|
// Components: Misc
|
54
54
|
@import "thumbnails.less";
|
55
|
+
@import "media.less";
|
55
56
|
@import "labels-badges.less";
|
56
57
|
@import "progress-bars.less";
|
57
58
|
@import "accordion.less";
|
@@ -6,6 +6,8 @@
|
|
6
6
|
// Make the div behave like a button
|
7
7
|
.btn-group {
|
8
8
|
position: relative;
|
9
|
+
display: inline-block;
|
10
|
+
.ie7-inline-block();
|
9
11
|
font-size: 0; // remove as part 1 of font-size inline-block hack
|
10
12
|
vertical-align: middle; // match .btn alignment given font-size hack above
|
11
13
|
white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
|
@@ -22,10 +24,6 @@
|
|
22
24
|
font-size: 0; // Hack to remove whitespace that results from using inline-block
|
23
25
|
margin-top: @baseLineHeight / 2;
|
24
26
|
margin-bottom: @baseLineHeight / 2;
|
25
|
-
.btn-group {
|
26
|
-
display: inline-block;
|
27
|
-
.ie7-inline-block();
|
28
|
-
}
|
29
27
|
.btn + .btn,
|
30
28
|
.btn-group + .btn,
|
31
29
|
.btn + .btn-group {
|
@@ -120,7 +118,7 @@
|
|
120
118
|
.btn-group > .btn + .dropdown-toggle {
|
121
119
|
padding-left: 8px;
|
122
120
|
padding-right: 8px;
|
123
|
-
.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));
|
121
|
+
.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)");
|
124
122
|
*padding-top: 5px;
|
125
123
|
*padding-bottom: 5px;
|
126
124
|
}
|
@@ -147,7 +145,7 @@
|
|
147
145
|
// Remove the gradient and set the same inset shadow as the :active state
|
148
146
|
.dropdown-toggle {
|
149
147
|
background-image: none;
|
150
|
-
.box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
|
148
|
+
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
|
151
149
|
}
|
152
150
|
|
153
151
|
// Keep the hover's background when dropdown is open
|
@@ -193,8 +191,7 @@
|
|
193
191
|
}
|
194
192
|
// Upside down carets for .dropup
|
195
193
|
.dropup .btn-large .caret {
|
196
|
-
border-bottom: 5px
|
197
|
-
border-top: 0;
|
194
|
+
border-bottom-width: 5px;
|
198
195
|
}
|
199
196
|
|
200
197
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
.btn {
|
11
11
|
display: inline-block;
|
12
12
|
.ie7-inline-block();
|
13
|
-
padding: 4px
|
13
|
+
padding: 4px 12px;
|
14
14
|
margin-bottom: 0; // For input.btn
|
15
15
|
font-size: @baseFontSize;
|
16
16
|
line-height: @baseLineHeight;
|
@@ -22,9 +22,9 @@
|
|
22
22
|
border: 1px solid @btnBorder;
|
23
23
|
*border: 0; // Remove the border to prevent IE7's black border on input:focus
|
24
24
|
border-bottom-color: darken(@btnBorder, 10%);
|
25
|
-
.border-radius(
|
25
|
+
.border-radius(@baseBorderRadius);
|
26
26
|
.ie7-restore-left-whitespace(); // Give IE7 some love
|
27
|
-
.box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
|
27
|
+
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
|
28
28
|
|
29
29
|
// Hover state
|
30
30
|
&:hover {
|
@@ -51,7 +51,7 @@
|
|
51
51
|
background-color: darken(@white, 15%) e("\9");
|
52
52
|
background-image: none;
|
53
53
|
outline: 0;
|
54
|
-
.box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
|
54
|
+
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
|
55
55
|
}
|
56
56
|
|
57
57
|
// Disabled state
|
@@ -73,30 +73,31 @@
|
|
73
73
|
|
74
74
|
// Large
|
75
75
|
.btn-large {
|
76
|
-
padding:
|
77
|
-
font-size: @
|
78
|
-
|
79
|
-
.border-radius(5px);
|
76
|
+
padding: @paddingLarge;
|
77
|
+
font-size: @fontSizeLarge;
|
78
|
+
.border-radius(@borderRadiusLarge);
|
80
79
|
}
|
81
|
-
.btn-large [class^="icon-"]
|
80
|
+
.btn-large [class^="icon-"],
|
81
|
+
.btn-large [class*=" icon-"] {
|
82
82
|
margin-top: 2px;
|
83
83
|
}
|
84
84
|
|
85
85
|
// Small
|
86
86
|
.btn-small {
|
87
|
-
padding:
|
88
|
-
font-size: @
|
89
|
-
|
87
|
+
padding: @paddingSmall;
|
88
|
+
font-size: @fontSizeSmall;
|
89
|
+
.border-radius(@borderRadiusSmall);
|
90
90
|
}
|
91
|
-
.btn-small [class^="icon-"]
|
91
|
+
.btn-small [class^="icon-"],
|
92
|
+
.btn-small [class*=" icon-"] {
|
92
93
|
margin-top: 0;
|
93
94
|
}
|
94
95
|
|
95
96
|
// Mini
|
96
97
|
.btn-mini {
|
97
|
-
padding:
|
98
|
-
font-size: @
|
99
|
-
|
98
|
+
padding: @paddingMini;
|
99
|
+
font-size: @fontSizeMini;
|
100
|
+
.border-radius(@borderRadiusSmall);
|
100
101
|
}
|
101
102
|
|
102
103
|
|
@@ -35,7 +35,7 @@ pre {
|
|
35
35
|
background-color: #f5f5f5;
|
36
36
|
border: 1px solid #ccc; // fallback for IE7-8
|
37
37
|
border: 1px solid rgba(0,0,0,.15);
|
38
|
-
.border-radius(
|
38
|
+
.border-radius(@baseBorderRadius);
|
39
39
|
|
40
40
|
// Make prettyprint styles more spaced out for readability
|
41
41
|
&.prettyprint {
|
@@ -72,7 +72,7 @@
|
|
72
72
|
}
|
73
73
|
|
74
74
|
// Links within the dropdown menu
|
75
|
-
a {
|
75
|
+
li > a {
|
76
76
|
display: block;
|
77
77
|
padding: 3px 20px;
|
78
78
|
clear: both;
|
@@ -90,7 +90,6 @@
|
|
90
90
|
.dropdown-submenu:hover > a {
|
91
91
|
text-decoration: none;
|
92
92
|
color: @dropdownLinkColorHover;
|
93
|
-
background-color: @dropdownLinkBackgroundHover;
|
94
93
|
#gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
|
95
94
|
}
|
96
95
|
|
@@ -98,10 +97,9 @@
|
|
98
97
|
// ------------
|
99
98
|
.dropdown-menu .active > a,
|
100
99
|
.dropdown-menu .active > a:hover {
|
101
|
-
color: @
|
100
|
+
color: @dropdownLinkColorActive;
|
102
101
|
text-decoration: none;
|
103
102
|
outline: 0;
|
104
|
-
background-color: @dropdownLinkBackgroundActive;
|
105
103
|
#gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
|
106
104
|
}
|
107
105
|
|
@@ -116,6 +114,7 @@
|
|
116
114
|
.dropdown-menu .disabled > a:hover {
|
117
115
|
text-decoration: none;
|
118
116
|
background-color: transparent;
|
117
|
+
background-image: none; // Remove CSS gradient
|
119
118
|
cursor: default;
|
120
119
|
}
|
121
120
|
|
@@ -163,6 +162,7 @@
|
|
163
162
|
.dropdown-submenu {
|
164
163
|
position: relative;
|
165
164
|
}
|
165
|
+
// Default dropdowns
|
166
166
|
.dropdown-submenu > .dropdown-menu {
|
167
167
|
top: 0;
|
168
168
|
left: 100%;
|
@@ -176,6 +176,18 @@
|
|
176
176
|
display: block;
|
177
177
|
}
|
178
178
|
|
179
|
+
// Dropups
|
180
|
+
.dropup .dropdown-submenu > .dropdown-menu {
|
181
|
+
top: auto;
|
182
|
+
bottom: 0;
|
183
|
+
margin-top: 0;
|
184
|
+
margin-bottom: -2px;
|
185
|
+
-webkit-border-radius: 5px 5px 5px 0;
|
186
|
+
-moz-border-radius: 5px 5px 5px 0;
|
187
|
+
border-radius: 5px 5px 5px 0;
|
188
|
+
}
|
189
|
+
|
190
|
+
// Caret to indicate there is a submenu
|
179
191
|
.dropdown-submenu > a:after {
|
180
192
|
display: block;
|
181
193
|
content: " ";
|
@@ -193,6 +205,21 @@
|
|
193
205
|
border-left-color: @dropdownLinkColorHover;
|
194
206
|
}
|
195
207
|
|
208
|
+
// Left aligned submenus
|
209
|
+
.dropdown-submenu.pull-left {
|
210
|
+
// Undo the float
|
211
|
+
// Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
|
212
|
+
float: none;
|
213
|
+
|
214
|
+
// Positioning the submenu
|
215
|
+
> .dropdown-menu {
|
216
|
+
left: -100%;
|
217
|
+
margin-left: 10px;
|
218
|
+
-webkit-border-radius: 6px 0 6px 6px;
|
219
|
+
-moz-border-radius: 6px 0 6px 6px;
|
220
|
+
border-radius: 6px 0 6px 6px;
|
221
|
+
}
|
222
|
+
}
|
196
223
|
|
197
224
|
// Tweak nav headers
|
198
225
|
// -----------------
|
@@ -206,5 +233,5 @@
|
|
206
233
|
// ---------
|
207
234
|
.typeahead {
|
208
235
|
margin-top: 2px; // give it some space to breathe
|
209
|
-
.border-radius(
|
236
|
+
.border-radius(@baseBorderRadius);
|
210
237
|
}
|
@@ -81,11 +81,12 @@ input[type="color"],
|
|
81
81
|
display: inline-block;
|
82
82
|
height: @baseLineHeight;
|
83
83
|
padding: 4px 6px;
|
84
|
-
margin-bottom:
|
84
|
+
margin-bottom: @baseLineHeight / 2;
|
85
85
|
font-size: @baseFontSize;
|
86
86
|
line-height: @baseLineHeight;
|
87
87
|
color: @gray;
|
88
88
|
.border-radius(@inputBorderRadius);
|
89
|
+
vertical-align: middle;
|
89
90
|
}
|
90
91
|
|
91
92
|
// Reset appearance properties for textual inputs and textarea
|
@@ -126,7 +127,7 @@ input[type="color"],
|
|
126
127
|
border-color: rgba(82,168,236,.8);
|
127
128
|
outline: 0;
|
128
129
|
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));
|
130
|
+
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
|
130
131
|
}
|
131
132
|
}
|
132
133
|
|
@@ -154,9 +155,9 @@ input[type="checkbox"] {
|
|
154
155
|
// Set the height of select and file controls to match text inputs
|
155
156
|
select,
|
156
157
|
input[type="file"] {
|
157
|
-
height:
|
158
|
+
height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
|
158
159
|
*margin-top: 4px; /* For IE7, add top margin to align select with labels */
|
159
|
-
line-height:
|
160
|
+
line-height: @inputHeight;
|
160
161
|
}
|
161
162
|
|
162
163
|
// Make select elements obey height by applying a border
|
@@ -210,7 +211,7 @@ input[type="checkbox"]:focus {
|
|
210
211
|
// Placeholder
|
211
212
|
// -------------------------
|
212
213
|
|
213
|
-
// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn
|
214
|
+
// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
|
214
215
|
input,
|
215
216
|
textarea {
|
216
217
|
.placeholder();
|
@@ -223,13 +224,13 @@ textarea {
|
|
223
224
|
// Indent the labels to position radios/checkboxes as hanging
|
224
225
|
.radio,
|
225
226
|
.checkbox {
|
226
|
-
min-height:
|
227
|
-
padding-left:
|
227
|
+
min-height: @baseLineHeight; // clear the floating input if there is no label text
|
228
|
+
padding-left: 20px;
|
228
229
|
}
|
229
230
|
.radio input[type="radio"],
|
230
231
|
.checkbox input[type="checkbox"] {
|
231
232
|
float: left;
|
232
|
-
margin-left: -
|
233
|
+
margin-left: -20px;
|
233
234
|
}
|
234
235
|
|
235
236
|
// Move the options list down to align with labels
|
@@ -304,8 +305,17 @@ textarea[class*="span"],
|
|
304
305
|
.controls-row {
|
305
306
|
.clearfix(); // Clear the float from controls
|
306
307
|
}
|
307
|
-
|
308
|
-
|
308
|
+
|
309
|
+
// Float to collapse white-space for proper grid alignment
|
310
|
+
.controls-row [class*="span"],
|
311
|
+
// Redeclare the fluid grid collapse since we undo the float for inputs
|
312
|
+
.row-fluid .controls-row [class*="span"] {
|
313
|
+
float: left;
|
314
|
+
}
|
315
|
+
// Explicity set top padding on all checkboxes/radios, not just first-child
|
316
|
+
.controls-row .checkbox[class*="span"],
|
317
|
+
.controls-row .radio[class*="span"] {
|
318
|
+
padding-top: 5px;
|
309
319
|
}
|
310
320
|
|
311
321
|
|
@@ -364,7 +374,8 @@ select:focus:required:invalid {
|
|
364
374
|
border-color: #ee5f5b;
|
365
375
|
&:focus {
|
366
376
|
border-color: darken(#ee5f5b, 10%);
|
367
|
-
|
377
|
+
@shadow: 0 0 6px lighten(#ee5f5b, 20%);
|
378
|
+
.box-shadow(@shadow);
|
368
379
|
}
|
369
380
|
}
|
370
381
|
|
@@ -413,16 +424,23 @@ select:focus:required:invalid {
|
|
413
424
|
.input-append,
|
414
425
|
.input-prepend {
|
415
426
|
margin-bottom: 5px;
|
416
|
-
font-size: 0;
|
427
|
+
font-size: 0; // white space collapse hack
|
417
428
|
white-space: nowrap; // Prevent span and input from separating
|
418
429
|
|
430
|
+
// Reset the white space collapse hack
|
431
|
+
input,
|
432
|
+
select,
|
433
|
+
.uneditable-input,
|
434
|
+
.dropdown-menu {
|
435
|
+
font-size: @baseFontSize;
|
436
|
+
}
|
437
|
+
|
419
438
|
input,
|
420
439
|
select,
|
421
440
|
.uneditable-input {
|
422
441
|
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
|
423
442
|
margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
|
424
443
|
*margin-left: 0;
|
425
|
-
font-size: @baseFontSize;
|
426
444
|
vertical-align: top;
|
427
445
|
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
428
446
|
// Make input on top when focused so blue border and shadow always show
|
@@ -454,6 +472,7 @@ select:focus:required:invalid {
|
|
454
472
|
border-color: @green;
|
455
473
|
}
|
456
474
|
}
|
475
|
+
|
457
476
|
.input-prepend {
|
458
477
|
.add-on,
|
459
478
|
.btn {
|
@@ -461,17 +480,23 @@ select:focus:required:invalid {
|
|
461
480
|
}
|
462
481
|
.add-on:first-child,
|
463
482
|
.btn:first-child {
|
483
|
+
// FYI, `.btn:first-child` accounts for a button group that's prepended
|
464
484
|
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
|
465
485
|
}
|
466
486
|
}
|
487
|
+
|
467
488
|
.input-append {
|
468
489
|
input,
|
469
490
|
select,
|
470
491
|
.uneditable-input {
|
471
492
|
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
|
493
|
+
+ .btn-group .btn {
|
494
|
+
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
495
|
+
}
|
472
496
|
}
|
473
497
|
.add-on,
|
474
|
-
.btn
|
498
|
+
.btn,
|
499
|
+
.btn-group {
|
475
500
|
margin-left: -1px;
|
476
501
|
}
|
477
502
|
.add-on:last-child,
|
@@ -479,12 +504,16 @@ select:focus:required:invalid {
|
|
479
504
|
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
480
505
|
}
|
481
506
|
}
|
507
|
+
|
482
508
|
// Remove all border-radius for inputs with both prepend and append
|
483
509
|
.input-prepend.input-append {
|
484
510
|
input,
|
485
511
|
select,
|
486
512
|
.uneditable-input {
|
487
513
|
.border-radius(0);
|
514
|
+
+ .btn-group .btn {
|
515
|
+
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
516
|
+
}
|
488
517
|
}
|
489
518
|
.add-on:first-child,
|
490
519
|
.btn:first-child {
|
@@ -496,10 +525,14 @@ select:focus:required:invalid {
|
|
496
525
|
margin-left: -1px;
|
497
526
|
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
|
498
527
|
}
|
528
|
+
.btn-group:first-child {
|
529
|
+
margin-left: 0;
|
530
|
+
}
|
499
531
|
}
|
500
532
|
|
501
533
|
|
502
534
|
|
535
|
+
|
503
536
|
// SEARCH FORM
|
504
537
|
// -----------
|
505
538
|
|