anjlab-bootstrap-rails 2.0.2.1 → 2.0.3.rc
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +36 -25
- data/lib/bootstrap-rails/version.rb +1 -1
- data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/bootstrap-alert.js +28 -32
- data/vendor/assets/javascripts/bootstrap-button.js +29 -33
- data/vendor/assets/javascripts/bootstrap-carousel.js +27 -19
- data/vendor/assets/javascripts/bootstrap-collapse.js +44 -25
- data/vendor/assets/javascripts/bootstrap-dropdown.js +18 -10
- data/vendor/assets/javascripts/bootstrap-modal.js +25 -17
- data/vendor/assets/javascripts/bootstrap-popover.js +13 -10
- data/vendor/assets/javascripts/bootstrap-scrollspy.js +43 -17
- data/vendor/assets/javascripts/bootstrap-tab.js +12 -7
- data/vendor/assets/javascripts/bootstrap-tooltip.js +40 -35
- data/vendor/assets/javascripts/bootstrap-transition.js +30 -20
- data/vendor/assets/javascripts/bootstrap-typeahead.js +25 -11
- data/vendor/assets/stylesheets/accordion.scss +5 -0
- data/vendor/assets/stylesheets/bootstrap.scss +2 -3
- data/vendor/assets/stylesheets/button-groups.scss +55 -36
- data/vendor/assets/stylesheets/buttons.scss +15 -11
- data/vendor/assets/stylesheets/close.scss +12 -1
- data/vendor/assets/stylesheets/code.scss +4 -4
- data/vendor/assets/stylesheets/component-animations.scss +5 -5
- data/vendor/assets/stylesheets/dropdowns.scss +15 -20
- data/vendor/assets/stylesheets/forms.scss +58 -30
- data/vendor/assets/stylesheets/labels-badges.scss +54 -0
- data/vendor/assets/stylesheets/layouts.scss +1 -1
- data/vendor/assets/stylesheets/mixins.scss +58 -46
- data/vendor/assets/stylesheets/modals.scss +1 -1
- data/vendor/assets/stylesheets/navbar.scss +64 -41
- data/vendor/assets/stylesheets/navs.scss +36 -36
- data/vendor/assets/stylesheets/progress-bars.scss +14 -6
- data/vendor/assets/stylesheets/reset.scss +3 -3
- data/vendor/assets/stylesheets/responsive-1200px-min.scss +26 -0
- data/vendor/assets/stylesheets/responsive-767px-max.scss +149 -0
- data/vendor/assets/stylesheets/responsive-768px-979px.scss +17 -0
- data/vendor/assets/stylesheets/responsive-navbar.scss +146 -0
- data/vendor/assets/stylesheets/responsive-utilities.scss +41 -0
- data/vendor/assets/stylesheets/responsive.scss +14 -337
- data/vendor/assets/stylesheets/sprites.scss +37 -5
- data/vendor/assets/stylesheets/tables.scss +22 -5
- data/vendor/assets/stylesheets/thumbnails.scss +14 -2
- data/vendor/assets/stylesheets/type.scss +7 -6
- data/vendor/assets/stylesheets/variables.scss +10 -6
- metadata +43 -16
- data/vendor/assets/stylesheets/badges.scss +0 -36
- data/vendor/assets/stylesheets/labels.scss +0 -38
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ===================================================
|
2
|
-
* bootstrap-transition.js v2.0.
|
2
|
+
* bootstrap-transition.js v2.0.3
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
4
4
|
* ===================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -17,35 +17,45 @@
|
|
17
17
|
* limitations under the License.
|
18
18
|
* ========================================================== */
|
19
19
|
|
20
|
-
|
20
|
+
|
21
|
+
!function ($) {
|
21
22
|
|
22
23
|
$(function () {
|
23
24
|
|
24
|
-
"use strict"
|
25
|
+
"use strict"; // jshint ;_;
|
26
|
+
|
25
27
|
|
26
|
-
/* CSS TRANSITION SUPPORT (
|
28
|
+
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
27
29
|
* ======================================================= */
|
28
30
|
|
29
31
|
$.support.transition = (function () {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
32
|
+
|
33
|
+
var transitionEnd = (function () {
|
34
|
+
|
35
|
+
var el = document.createElement('bootstrap')
|
36
|
+
, transEndEventNames = {
|
37
|
+
'WebkitTransition' : 'webkitTransitionEnd'
|
38
|
+
, 'MozTransition' : 'transitionend'
|
39
|
+
, 'OTransition' : 'oTransitionEnd'
|
40
|
+
, 'msTransition' : 'MSTransitionEnd'
|
41
|
+
, 'transition' : 'transitionend'
|
42
|
+
}
|
43
|
+
, name
|
44
|
+
|
45
|
+
for (name in transEndEventNames){
|
46
|
+
if (el.style[name] !== undefined) {
|
47
|
+
return transEndEventNames[name]
|
43
48
|
}
|
44
|
-
|
45
|
-
|
49
|
+
}
|
50
|
+
|
51
|
+
}())
|
52
|
+
|
53
|
+
return transitionEnd && {
|
54
|
+
end: transitionEnd
|
46
55
|
}
|
56
|
+
|
47
57
|
})()
|
48
58
|
|
49
59
|
})
|
50
60
|
|
51
|
-
}(
|
61
|
+
}(window.jQuery);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* =============================================================
|
2
|
-
* bootstrap-typeahead.js v2.0.
|
2
|
+
* bootstrap-typeahead.js v2.0.3
|
3
3
|
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
4
4
|
* =============================================================
|
5
5
|
* Copyright 2012 Twitter, Inc.
|
@@ -17,16 +17,22 @@
|
|
17
17
|
* limitations under the License.
|
18
18
|
* ============================================================ */
|
19
19
|
|
20
|
-
!function( $ ){
|
21
20
|
|
22
|
-
|
21
|
+
!function($){
|
23
22
|
|
24
|
-
|
23
|
+
"use strict"; // jshint ;_;
|
24
|
+
|
25
|
+
|
26
|
+
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
27
|
+
* ================================= */
|
28
|
+
|
29
|
+
var Typeahead = function (element, options) {
|
25
30
|
this.$element = $(element)
|
26
31
|
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
27
32
|
this.matcher = this.options.matcher || this.matcher
|
28
33
|
this.sorter = this.options.sorter || this.sorter
|
29
34
|
this.highlighter = this.options.highlighter || this.highlighter
|
35
|
+
this.updater = this.options.updater || this.updater
|
30
36
|
this.$menu = $(this.options.menu).appendTo('body')
|
31
37
|
this.source = this.options.source
|
32
38
|
this.shown = false
|
@@ -39,13 +45,18 @@
|
|
39
45
|
|
40
46
|
, select: function () {
|
41
47
|
var val = this.$menu.find('.active').attr('data-value')
|
42
|
-
this.$element
|
43
|
-
|
48
|
+
this.$element
|
49
|
+
.val(this.updater(val))
|
50
|
+
.change()
|
44
51
|
return this.hide()
|
45
52
|
}
|
46
53
|
|
54
|
+
, updater: function (item) {
|
55
|
+
return item
|
56
|
+
}
|
57
|
+
|
47
58
|
, show: function () {
|
48
|
-
var pos = $.extend({}, this.$element.
|
59
|
+
var pos = $.extend({}, this.$element.position(), {
|
49
60
|
height: this.$element[0].offsetHeight
|
50
61
|
})
|
51
62
|
|
@@ -77,7 +88,7 @@
|
|
77
88
|
}
|
78
89
|
|
79
90
|
items = $.grep(this.source, function (item) {
|
80
|
-
|
91
|
+
return that.matcher(item)
|
81
92
|
})
|
82
93
|
|
83
94
|
items = this.sorter(items)
|
@@ -109,7 +120,8 @@
|
|
109
120
|
}
|
110
121
|
|
111
122
|
, highlighter: function (item) {
|
112
|
-
|
123
|
+
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
124
|
+
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
113
125
|
return '<strong>' + match + '</strong>'
|
114
126
|
})
|
115
127
|
}
|
@@ -201,11 +213,13 @@
|
|
201
213
|
break
|
202
214
|
|
203
215
|
case 38: // up arrow
|
216
|
+
if (e.type != 'keydown') break
|
204
217
|
e.preventDefault()
|
205
218
|
this.prev()
|
206
219
|
break
|
207
220
|
|
208
221
|
case 40: // down arrow
|
222
|
+
if (e.type != 'keydown') break
|
209
223
|
e.preventDefault()
|
210
224
|
this.next()
|
211
225
|
break
|
@@ -236,7 +250,7 @@
|
|
236
250
|
/* TYPEAHEAD PLUGIN DEFINITION
|
237
251
|
* =========================== */
|
238
252
|
|
239
|
-
$.fn.typeahead = function (
|
253
|
+
$.fn.typeahead = function (option) {
|
240
254
|
return this.each(function () {
|
241
255
|
var $this = $(this)
|
242
256
|
, data = $this.data('typeahead')
|
@@ -268,4 +282,4 @@
|
|
268
282
|
})
|
269
283
|
})
|
270
284
|
|
271
|
-
}(
|
285
|
+
}(window.jQuery);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v2.0.
|
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.scss";
|
55
|
-
@import "labels.scss";
|
56
|
-
@import "badges.scss";
|
55
|
+
@import "labels-badges.scss";
|
57
56
|
@import "progress-bars.scss";
|
58
57
|
@import "accordion.scss";
|
59
58
|
@import "carousel.scss";
|
@@ -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
|
@include 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
|
-
.
|
45
|
-
.btn-group .
|
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
|
-
|
97
|
-
|
98
|
-
*padding-
|
99
|
-
*padding-bottom: 3px;
|
97
|
+
@include 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
|
-
@include 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
|
-
|
131
|
-
|
120
|
+
@include 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
|
154
|
-
border-right: 5px
|
155
|
-
border-top: 5px
|
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
|
@include button-background($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
|
@include border-radius(4px);
|
24
|
-
|
25
|
-
@include box-shadow(
|
26
|
-
cursor: pointer;
|
27
|
-
|
28
|
-
// Give IE7 some love
|
29
|
-
@include ie7-restore-left-whitespace();
|
27
|
+
@include ie7-restore-left-whitespace(); // Give IE7 some love
|
28
|
+
@include 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
|
-
@include box-shadow($shadow);
|
55
52
|
background-color: darken($white, 10%);
|
56
53
|
background-color: darken($white, 15%) \9;
|
54
|
+
background-image: none;
|
57
55
|
outline: 0;
|
56
|
+
@include 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
|
@include opacity(65);
|
67
66
|
@include 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
|
@include button-background($btnPrimaryBackground, $btnPrimaryBackgroundHighlight);
|
137
141
|
}
|
@@ -12,7 +12,18 @@
|
|
12
12
|
&:hover {
|
13
13
|
color: $black;
|
14
14
|
text-decoration: none;
|
15
|
-
@include opacity(40);
|
16
15
|
cursor: pointer;
|
16
|
+
@include 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
|
+
}
|