less-rails-bootstrap 2.3.3 → 3.0.0.rc1
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.
- data/.gitignore +1 -0
- data/CHANGELOG.md +4 -0
- data/README.md +7 -11
- data/lib/less/rails/bootstrap/version.rb +1 -1
- data/scripts/update_bootstrap.sh +37 -8
- data/test/cases/usage_css_spec.rb +15 -12
- data/test/cases/usage_js_spec.rb +4 -4
- data/test/dummy_app/app/assets/stylesheets/fonts.css.less +2 -0
- data/test/dummy_app/app/assets/stylesheets/framework.css.less +4 -2
- data/test/dummy_app/app/assets/stylesheets/individual.css.less +2 -2
- data/test/spec_helper.rb +1 -2
- data/vendor/assets/javascripts/twitter/bootstrap.js +0 -1
- data/vendor/assets/javascripts/twitter/bootstrap/affix.js +58 -49
- data/vendor/assets/javascripts/twitter/bootstrap/alert.js +36 -37
- data/vendor/assets/javascripts/twitter/bootstrap/button.js +41 -39
- data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +131 -125
- data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +108 -96
- data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +72 -87
- data/vendor/assets/javascripts/twitter/bootstrap/modal.js +149 -155
- data/vendor/assets/javascripts/twitter/bootstrap/popover.js +60 -59
- data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +103 -107
- data/vendor/assets/javascripts/twitter/bootstrap/tab.js +73 -82
- data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +258 -255
- data/vendor/assets/javascripts/twitter/bootstrap/transition.js +34 -38
- data/vendor/frameworks/twitter/bootstrap/accordion.less +9 -12
- data/vendor/frameworks/twitter/bootstrap/alerts.less +43 -53
- data/vendor/frameworks/twitter/bootstrap/bootstrap.less +21 -21
- data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +7 -8
- data/vendor/frameworks/twitter/bootstrap/button-groups.less +93 -151
- data/vendor/frameworks/twitter/bootstrap/buttons.less +93 -164
- data/vendor/frameworks/twitter/bootstrap/carousel.less +110 -63
- data/vendor/frameworks/twitter/bootstrap/close.less +18 -17
- data/vendor/frameworks/twitter/bootstrap/code.less +14 -20
- data/vendor/frameworks/twitter/bootstrap/component-animations.less +10 -3
- data/vendor/frameworks/twitter/bootstrap/dropdowns.less +66 -143
- data/vendor/frameworks/twitter/bootstrap/forms.less +281 -548
- data/vendor/frameworks/twitter/bootstrap/grid.less +194 -11
- data/vendor/frameworks/twitter/bootstrap/media.less +8 -7
- data/vendor/frameworks/twitter/bootstrap/mixins.less +290 -446
- data/vendor/frameworks/twitter/bootstrap/modals.less +92 -51
- data/vendor/frameworks/twitter/bootstrap/navbar.less +285 -402
- data/vendor/frameworks/twitter/bootstrap/navs.less +176 -348
- data/vendor/frameworks/twitter/bootstrap/pager.less +45 -33
- data/vendor/frameworks/twitter/bootstrap/pagination.less +89 -104
- data/vendor/frameworks/twitter/bootstrap/popovers.less +53 -51
- data/vendor/frameworks/twitter/bootstrap/progress-bars.less +28 -45
- data/vendor/frameworks/twitter/bootstrap/responsive-utilities.less +92 -32
- data/vendor/frameworks/twitter/bootstrap/scaffolding.less +60 -18
- data/vendor/frameworks/twitter/bootstrap/tables.less +131 -164
- data/vendor/frameworks/twitter/bootstrap/thumbnails.less +20 -31
- data/vendor/frameworks/twitter/bootstrap/tooltip.less +45 -20
- data/vendor/frameworks/twitter/bootstrap/type.less +84 -99
- data/vendor/frameworks/twitter/bootstrap/utilities.less +17 -5
- data/vendor/frameworks/twitter/bootstrap/variables.less +446 -179
- data/vendor/frameworks/twitter/bootstrap/wells.less +5 -5
- metadata +41 -44
- data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +0 -335
- data/vendor/assets/stylesheets/twitter/bootstrap-responsive.css.less +0 -1
- data/vendor/assets/stylesheets/twitter/bootstrap.css.less +0 -1
- data/vendor/frameworks/twitter/bootstrap.less +0 -1
- data/vendor/frameworks/twitter/bootstrap/hero-unit.less +0 -25
- data/vendor/frameworks/twitter/bootstrap/labels-badges.less +0 -84
- data/vendor/frameworks/twitter/bootstrap/layouts.less +0 -16
- data/vendor/frameworks/twitter/bootstrap/reset.less +0 -216
- data/vendor/frameworks/twitter/bootstrap/responsive-1200px-min.less +0 -28
- data/vendor/frameworks/twitter/bootstrap/responsive-767px-max.less +0 -193
- data/vendor/frameworks/twitter/bootstrap/responsive-768px-979px.less +0 -19
- data/vendor/frameworks/twitter/bootstrap/responsive-navbar.less +0 -189
- data/vendor/frameworks/twitter/bootstrap/responsive.less +0 -48
- data/vendor/frameworks/twitter/bootstrap/sprites.less +0 -197
@@ -1,8 +1,8 @@
|
|
1
|
-
/*
|
2
|
-
*
|
3
|
-
* http://
|
4
|
-
*
|
5
|
-
* Copyright
|
1
|
+
/* ========================================================================
|
2
|
+
* Bootstrap: transition.js v3.0.0
|
3
|
+
* http://twbs.github.com/bootstrap/javascript.html#transitions
|
4
|
+
* ========================================================================
|
5
|
+
* Copyright 2013 Twitter, Inc.
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -15,46 +15,42 @@
|
|
15
15
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
16
|
* See the License for the specific language governing permissions and
|
17
17
|
* limitations under the License.
|
18
|
-
*
|
18
|
+
* ======================================================================== */
|
19
19
|
|
20
20
|
|
21
|
-
|
21
|
+
+function ($) { "use strict";
|
22
22
|
|
23
|
-
|
23
|
+
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
|
24
|
+
// ============================================================
|
24
25
|
|
26
|
+
function transitionEnd() {
|
27
|
+
var el = document.createElement('bootstrap')
|
25
28
|
|
26
|
-
|
27
|
-
|
29
|
+
var transEndEventNames = {
|
30
|
+
'WebkitTransition' : 'webkitTransitionEnd'
|
31
|
+
, 'MozTransition' : 'transitionend'
|
32
|
+
, 'OTransition' : 'oTransitionEnd otransitionend'
|
33
|
+
, 'transition' : 'transitionend'
|
34
|
+
}
|
28
35
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
var transitionEnd = (function () {
|
34
|
-
|
35
|
-
var el = document.createElement('bootstrap')
|
36
|
-
, transEndEventNames = {
|
37
|
-
'WebkitTransition' : 'webkitTransitionEnd'
|
38
|
-
, 'MozTransition' : 'transitionend'
|
39
|
-
, 'OTransition' : 'oTransitionEnd otransitionend'
|
40
|
-
, 'transition' : 'transitionend'
|
41
|
-
}
|
42
|
-
, name
|
43
|
-
|
44
|
-
for (name in transEndEventNames){
|
45
|
-
if (el.style[name] !== undefined) {
|
46
|
-
return transEndEventNames[name]
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
}())
|
51
|
-
|
52
|
-
return transitionEnd && {
|
53
|
-
end: transitionEnd
|
36
|
+
for (var name in transEndEventNames) {
|
37
|
+
if (el.style[name] !== undefined) {
|
38
|
+
return { end: transEndEventNames[name] }
|
54
39
|
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
// http://blog.alexmaccaw.com/css-transitions
|
44
|
+
$.fn.emulateTransitionEnd = function (duration) {
|
45
|
+
var called = false, $el = this
|
46
|
+
$(this).one('webkitTransitionEnd', function () { called = true })
|
47
|
+
var callback = function () { if (!called) $($el).trigger('webkitTransitionEnd') }
|
48
|
+
setTimeout(callback, duration)
|
49
|
+
return this
|
50
|
+
}
|
55
51
|
|
56
|
-
|
57
|
-
|
52
|
+
$(function () {
|
53
|
+
$.support.transition = transitionEnd()
|
58
54
|
})
|
59
55
|
|
60
|
-
}(window.jQuery);
|
56
|
+
}(window.jQuery);
|
@@ -5,30 +5,27 @@
|
|
5
5
|
|
6
6
|
// Parent container
|
7
7
|
.accordion {
|
8
|
-
margin-bottom: @
|
8
|
+
margin-bottom: @line-height-computed;
|
9
9
|
}
|
10
10
|
|
11
11
|
// Group == heading + body
|
12
12
|
.accordion-group {
|
13
13
|
margin-bottom: 2px;
|
14
|
-
border: 1px solid
|
15
|
-
|
14
|
+
border: 1px solid @accordion-border-color;
|
15
|
+
border-radius: @border-radius-base;
|
16
16
|
}
|
17
17
|
.accordion-heading {
|
18
18
|
border-bottom: 0;
|
19
|
-
}
|
20
|
-
.accordion-heading .accordion-toggle {
|
21
|
-
display: block;
|
22
|
-
padding: 8px 15px;
|
23
|
-
}
|
24
19
|
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
.accordion-toggle {
|
21
|
+
display: block;
|
22
|
+
padding: 8px 15px;
|
23
|
+
cursor: pointer;
|
24
|
+
}
|
28
25
|
}
|
29
26
|
|
30
27
|
// Inner needs the styles because you can't animate properly with any styles on the element
|
31
28
|
.accordion-inner {
|
32
29
|
padding: 9px 15px;
|
33
|
-
border-top: 1px solid
|
30
|
+
border-top: 1px solid @accordion-border-color;
|
34
31
|
}
|
@@ -7,73 +7,63 @@
|
|
7
7
|
// -------------------------
|
8
8
|
|
9
9
|
.alert {
|
10
|
-
padding:
|
11
|
-
margin-bottom: @
|
12
|
-
|
13
|
-
background-color: @
|
14
|
-
border: 1px solid @
|
15
|
-
|
16
|
-
}
|
17
|
-
.alert,
|
18
|
-
.alert h4 {
|
19
|
-
// Specified for the h4 to prevent conflicts of changing @headingsColor
|
20
|
-
color: @warningText;
|
21
|
-
}
|
22
|
-
.alert h4 {
|
23
|
-
margin: 0;
|
24
|
-
}
|
10
|
+
padding: 10px 35px 10px 15px;
|
11
|
+
margin-bottom: @line-height-computed;
|
12
|
+
color: @alert-text;
|
13
|
+
background-color: @alert-bg;
|
14
|
+
border: 1px solid @alert-border;
|
15
|
+
border-radius: @alert-border-radius;
|
25
16
|
|
26
|
-
//
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
17
|
+
// Headings for larger alerts
|
18
|
+
h4 {
|
19
|
+
margin-top: 0;
|
20
|
+
// Specified for the h4 to prevent conflicts of changing @headingsColor
|
21
|
+
color: inherit;
|
22
|
+
}
|
23
|
+
// Match the hr to the border of the alert
|
24
|
+
hr {
|
25
|
+
border-top-color: darken(@alert-border, 5%);
|
26
|
+
}
|
27
|
+
// Provide class for links that match alerts
|
28
|
+
.alert-link {
|
29
|
+
font-weight: 500;
|
30
|
+
color: darken(@alert-text, 10%);
|
31
|
+
}
|
33
32
|
|
33
|
+
// Adjust close link position
|
34
|
+
.close {
|
35
|
+
position: relative;
|
36
|
+
top: -2px;
|
37
|
+
right: -21px;
|
38
|
+
color: inherit;
|
39
|
+
}
|
40
|
+
}
|
34
41
|
|
35
42
|
// Alternate styles
|
36
43
|
// -------------------------
|
37
44
|
|
38
45
|
.alert-success {
|
39
|
-
|
40
|
-
border-color: @successBorder;
|
41
|
-
color: @successText;
|
42
|
-
}
|
43
|
-
.alert-success h4 {
|
44
|
-
color: @successText;
|
46
|
+
.alert-variant(@alert-success-bg, @alert-success-border, @alert-success-text);
|
45
47
|
}
|
46
|
-
.alert-danger
|
47
|
-
.alert-
|
48
|
-
background-color: @errorBackground;
|
49
|
-
border-color: @errorBorder;
|
50
|
-
color: @errorText;
|
51
|
-
}
|
52
|
-
.alert-danger h4,
|
53
|
-
.alert-error h4 {
|
54
|
-
color: @errorText;
|
48
|
+
.alert-danger {
|
49
|
+
.alert-variant(@alert-danger-bg, @alert-danger-border, @alert-danger-text);
|
55
50
|
}
|
56
51
|
.alert-info {
|
57
|
-
|
58
|
-
border-color: @infoBorder;
|
59
|
-
color: @infoText;
|
60
|
-
}
|
61
|
-
.alert-info h4 {
|
62
|
-
color: @infoText;
|
52
|
+
.alert-variant(@alert-info-bg, @alert-info-border, @alert-info-text);
|
63
53
|
}
|
64
54
|
|
65
|
-
|
66
55
|
// Block alerts
|
67
56
|
// -------------------------
|
68
57
|
|
69
58
|
.alert-block {
|
70
|
-
padding-top:
|
71
|
-
padding-bottom:
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
}
|
77
|
-
|
78
|
-
|
59
|
+
padding-top: 15px;
|
60
|
+
padding-bottom: 15px;
|
61
|
+
|
62
|
+
> p,
|
63
|
+
> ul {
|
64
|
+
margin-bottom: 0;
|
65
|
+
}
|
66
|
+
p + p {
|
67
|
+
margin-top: 5px;
|
68
|
+
}
|
79
69
|
}
|
@@ -1,46 +1,43 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap
|
2
|
+
* Bootstrap v3.0.0
|
3
3
|
*
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2013 Twitter, Inc
|
5
5
|
* Licensed under the Apache License v2.0
|
6
6
|
* http://www.apache.org/licenses/LICENSE-2.0
|
7
7
|
*
|
8
|
-
* Designed and built with all the love in the world
|
8
|
+
* Designed and built with all the love in the world by @mdo and @fat.
|
9
9
|
*/
|
10
10
|
|
11
11
|
// Core variables and mixins
|
12
|
-
@import "variables.less";
|
12
|
+
@import "variables.less";
|
13
13
|
@import "mixins.less";
|
14
14
|
|
15
|
-
//
|
16
|
-
@import "
|
15
|
+
// Reset
|
16
|
+
@import "normalize.less";
|
17
|
+
@import "print.less";
|
17
18
|
|
18
|
-
//
|
19
|
+
// Core CSS
|
19
20
|
@import "scaffolding.less";
|
20
|
-
@import "grid.less";
|
21
|
-
@import "layouts.less";
|
22
|
-
|
23
|
-
// Base CSS
|
24
21
|
@import "type.less";
|
25
22
|
@import "code.less";
|
26
|
-
@import "
|
23
|
+
@import "grid.less";
|
24
|
+
|
27
25
|
@import "tables.less";
|
26
|
+
@import "forms.less";
|
27
|
+
@import "buttons.less";
|
28
28
|
|
29
29
|
// Components: common
|
30
|
-
@import "
|
30
|
+
@import "component-animations.less";
|
31
31
|
@import "dropdowns.less";
|
32
|
+
@import "list-group.less";
|
33
|
+
@import "panels.less";
|
32
34
|
@import "wells.less";
|
33
|
-
@import "component-animations.less";
|
34
35
|
@import "close.less";
|
35
36
|
|
36
|
-
// Components: Buttons & Alerts
|
37
|
-
@import "buttons.less";
|
38
|
-
@import "button-groups.less";
|
39
|
-
@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
|
40
|
-
|
41
37
|
// Components: Nav
|
42
38
|
@import "navs.less";
|
43
39
|
@import "navbar.less";
|
40
|
+
@import "button-groups.less";
|
44
41
|
@import "breadcrumbs.less";
|
45
42
|
@import "pagination.less";
|
46
43
|
@import "pager.less";
|
@@ -51,13 +48,16 @@
|
|
51
48
|
@import "popovers.less";
|
52
49
|
|
53
50
|
// Components: Misc
|
51
|
+
@import "alerts.less";
|
54
52
|
@import "thumbnails.less";
|
55
53
|
@import "media.less";
|
56
|
-
@import "labels
|
54
|
+
@import "labels.less";
|
55
|
+
@import "badges.less";
|
57
56
|
@import "progress-bars.less";
|
58
57
|
@import "accordion.less";
|
59
58
|
@import "carousel.less";
|
60
|
-
@import "
|
59
|
+
@import "jumbotron.less";
|
61
60
|
|
62
61
|
// Utility classes
|
63
62
|
@import "utilities.less"; // Has to be last to override when necessary
|
63
|
+
@import "responsive-utilities.less";
|
@@ -5,20 +5,19 @@
|
|
5
5
|
|
6
6
|
.breadcrumb {
|
7
7
|
padding: 8px 15px;
|
8
|
-
margin:
|
8
|
+
margin-bottom: @line-height-computed;
|
9
9
|
list-style: none;
|
10
|
-
background-color:
|
11
|
-
|
10
|
+
background-color: @breadcrumb-bg;
|
11
|
+
border-radius: @border-radius-base;
|
12
12
|
> li {
|
13
13
|
display: inline-block;
|
14
|
-
|
15
|
-
|
16
|
-
> .divider {
|
14
|
+
&+li:before {
|
15
|
+
content: "/\00a0"; // Unicode space added since inline-block means non-collapsing white-space
|
17
16
|
padding: 0 5px;
|
18
|
-
color:
|
17
|
+
color: @breadcrumb-color;
|
19
18
|
}
|
20
19
|
}
|
21
20
|
> .active {
|
22
|
-
color: @
|
21
|
+
color: @breadcrumb-active-color;
|
23
22
|
}
|
24
23
|
}
|
@@ -2,90 +2,85 @@
|
|
2
2
|
// Button groups
|
3
3
|
// --------------------------------------------------
|
4
4
|
|
5
|
+
// Button carets
|
6
|
+
.btn .caret {
|
7
|
+
border-top-color: @btn-default-color;
|
8
|
+
}
|
9
|
+
.dropup .btn .caret {
|
10
|
+
border-bottom-color: @btn-default-color;
|
11
|
+
}
|
5
12
|
|
6
13
|
// Make the div behave like a button
|
7
|
-
.btn-group
|
14
|
+
.btn-group,
|
15
|
+
.btn-group-vertical {
|
8
16
|
position: relative;
|
9
17
|
display: inline-block;
|
10
|
-
.ie7-inline-block();
|
11
|
-
font-size: 0; // remove as part 1 of font-size inline-block hack
|
12
18
|
vertical-align: middle; // match .btn alignment given font-size hack above
|
13
|
-
|
14
|
-
|
19
|
+
> .btn {
|
20
|
+
position: relative;
|
21
|
+
float: left;
|
22
|
+
// Bring the "active" button to the front
|
23
|
+
&:hover,
|
24
|
+
&:active {
|
25
|
+
z-index: 2;
|
26
|
+
}
|
27
|
+
}
|
15
28
|
}
|
16
29
|
|
17
|
-
//
|
18
|
-
.btn-group + .btn
|
19
|
-
margin-left:
|
30
|
+
// Prevent double borders when buttons are next to each other
|
31
|
+
.btn-group .btn + .btn {
|
32
|
+
margin-left: -1px;
|
20
33
|
}
|
21
34
|
|
22
35
|
// Optional: Group multiple button groups together for a toolbar
|
23
36
|
.btn-toolbar {
|
24
|
-
|
25
|
-
margin-top: @baseLineHeight / 2;
|
26
|
-
margin-bottom: @baseLineHeight / 2;
|
27
|
-
> .btn + .btn,
|
28
|
-
> .btn-group + .btn,
|
29
|
-
> .btn + .btn-group {
|
30
|
-
margin-left: 5px;
|
31
|
-
}
|
32
|
-
}
|
37
|
+
.clearfix();
|
33
38
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
.btn-group
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
|
39
|
+
.btn-group {
|
40
|
+
float: left;
|
41
|
+
}
|
42
|
+
// Space out series of button groups
|
43
|
+
> .btn,
|
44
|
+
> .btn-group {
|
45
|
+
+ .btn,
|
46
|
+
+ .btn-group {
|
47
|
+
margin-left: 5px;
|
48
|
+
}
|
49
|
+
}
|
46
50
|
}
|
47
51
|
|
48
|
-
|
49
|
-
|
50
|
-
font-size: @fontSizeMini;
|
51
|
-
}
|
52
|
-
.btn-group > .btn-small {
|
53
|
-
font-size: @fontSizeSmall;
|
54
|
-
}
|
55
|
-
.btn-group > .btn-large {
|
56
|
-
font-size: @fontSizeLarge;
|
52
|
+
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
|
53
|
+
border-radius: 0;
|
57
54
|
}
|
58
55
|
|
59
56
|
// 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
|
60
57
|
.btn-group > .btn:first-child {
|
61
58
|
margin-left: 0;
|
62
|
-
.
|
63
|
-
|
59
|
+
&:not(:last-child):not(.dropdown-toggle) {
|
60
|
+
.border-right-radius(0);
|
61
|
+
}
|
64
62
|
}
|
65
63
|
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
|
66
|
-
.btn-group > .btn:last-child,
|
67
|
-
.btn-group > .dropdown-toggle {
|
68
|
-
.border-
|
69
|
-
.border-bottom-right-radius(@baseBorderRadius);
|
64
|
+
.btn-group > .btn:last-child:not(:first-child),
|
65
|
+
.btn-group > .dropdown-toggle:not(:first-child) {
|
66
|
+
.border-left-radius(0);
|
70
67
|
}
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
.border-bottom-left-radius(@borderRadiusLarge);
|
68
|
+
|
69
|
+
// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
|
70
|
+
.btn-group > .btn-group {
|
71
|
+
float: left;
|
76
72
|
}
|
77
|
-
.btn-group > .btn
|
78
|
-
|
79
|
-
.border-top-right-radius(@borderRadiusLarge);
|
80
|
-
.border-bottom-right-radius(@borderRadiusLarge);
|
73
|
+
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
|
74
|
+
border-radius: 0;
|
81
75
|
}
|
82
|
-
|
83
|
-
|
84
|
-
.
|
85
|
-
.
|
86
|
-
|
87
|
-
|
88
|
-
|
76
|
+
.btn-group > .btn-group:first-child {
|
77
|
+
> .btn:last-child,
|
78
|
+
> .dropdown-toggle {
|
79
|
+
.border-right-radius(0);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
.btn-group > .btn-group:last-child > .btn:first-child {
|
83
|
+
.border-left-radius(0);
|
89
84
|
}
|
90
85
|
|
91
86
|
// On active and open, don't show outline
|
@@ -103,78 +98,26 @@
|
|
103
98
|
.btn-group > .btn + .dropdown-toggle {
|
104
99
|
padding-left: 8px;
|
105
100
|
padding-right: 8px;
|
106
|
-
.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)");
|
107
|
-
*padding-top: 5px;
|
108
|
-
*padding-bottom: 5px;
|
109
|
-
}
|
110
|
-
.btn-group > .btn-mini + .dropdown-toggle {
|
111
|
-
padding-left: 5px;
|
112
|
-
padding-right: 5px;
|
113
|
-
*padding-top: 2px;
|
114
|
-
*padding-bottom: 2px;
|
115
|
-
}
|
116
|
-
.btn-group > .btn-small + .dropdown-toggle {
|
117
|
-
*padding-top: 5px;
|
118
|
-
*padding-bottom: 4px;
|
119
101
|
}
|
120
102
|
.btn-group > .btn-large + .dropdown-toggle {
|
121
103
|
padding-left: 12px;
|
122
104
|
padding-right: 12px;
|
123
|
-
*padding-top: 7px;
|
124
|
-
*padding-bottom: 7px;
|
125
105
|
}
|
126
106
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
.dropdown-toggle {
|
132
|
-
background-image: none;
|
133
|
-
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
|
134
|
-
}
|
135
|
-
|
136
|
-
// Keep the hover's background when dropdown is open
|
137
|
-
.btn.dropdown-toggle {
|
138
|
-
background-color: @btnBackgroundHighlight;
|
139
|
-
}
|
140
|
-
.btn-primary.dropdown-toggle {
|
141
|
-
background-color: @btnPrimaryBackgroundHighlight;
|
142
|
-
}
|
143
|
-
.btn-warning.dropdown-toggle {
|
144
|
-
background-color: @btnWarningBackgroundHighlight;
|
145
|
-
}
|
146
|
-
.btn-danger.dropdown-toggle {
|
147
|
-
background-color: @btnDangerBackgroundHighlight;
|
148
|
-
}
|
149
|
-
.btn-success.dropdown-toggle {
|
150
|
-
background-color: @btnSuccessBackgroundHighlight;
|
151
|
-
}
|
152
|
-
.btn-info.dropdown-toggle {
|
153
|
-
background-color: @btnInfoBackgroundHighlight;
|
154
|
-
}
|
155
|
-
.btn-inverse.dropdown-toggle {
|
156
|
-
background-color: @btnInverseBackgroundHighlight;
|
157
|
-
}
|
107
|
+
// The clickable button for toggling the menu
|
108
|
+
// Remove the gradient and set the same inset shadow as the :active state
|
109
|
+
.btn-group.open .dropdown-toggle {
|
110
|
+
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
158
111
|
}
|
159
112
|
|
160
113
|
|
161
114
|
// Reposition the caret
|
162
115
|
.btn .caret {
|
163
|
-
margin-top: 8px;
|
164
116
|
margin-left: 0;
|
165
117
|
}
|
166
118
|
// Carets in other button sizes
|
167
119
|
.btn-large .caret {
|
168
|
-
|
169
|
-
}
|
170
|
-
.btn-large .caret {
|
171
|
-
border-left-width: 5px;
|
172
|
-
border-right-width: 5px;
|
173
|
-
border-top-width: 5px;
|
174
|
-
}
|
175
|
-
.btn-mini .caret,
|
176
|
-
.btn-small .caret {
|
177
|
-
margin-top: 8px;
|
120
|
+
border-width: 5px;
|
178
121
|
}
|
179
122
|
// Upside down carets for .dropup
|
180
123
|
.dropup .btn-large .caret {
|
@@ -182,48 +125,47 @@
|
|
182
125
|
}
|
183
126
|
|
184
127
|
|
185
|
-
|
186
|
-
// Account for other colors
|
187
|
-
.btn-primary,
|
188
|
-
.btn-warning,
|
189
|
-
.btn-danger,
|
190
|
-
.btn-info,
|
191
|
-
.btn-success,
|
192
|
-
.btn-inverse {
|
193
|
-
.caret {
|
194
|
-
border-top-color: @white;
|
195
|
-
border-bottom-color: @white;
|
196
|
-
}
|
197
|
-
}
|
198
|
-
|
199
|
-
|
200
|
-
|
201
128
|
// Vertical button groups
|
202
129
|
// ----------------------
|
203
130
|
|
204
|
-
.btn-group-vertical {
|
205
|
-
display: inline-block; // makes buttons only take up the width they need
|
206
|
-
.ie7-inline-block();
|
207
|
-
}
|
208
131
|
.btn-group-vertical > .btn {
|
209
132
|
display: block;
|
210
133
|
float: none;
|
134
|
+
width: 100%;
|
211
135
|
max-width: 100%;
|
212
|
-
.
|
213
|
-
|
214
|
-
|
215
|
-
margin-left: 0;
|
216
|
-
margin-top: -1px;
|
217
|
-
}
|
218
|
-
.btn-group-vertical > .btn:first-child {
|
219
|
-
.border-radius(@baseBorderRadius @baseBorderRadius 0 0);
|
136
|
+
+ .btn {
|
137
|
+
margin-top: -1px;
|
138
|
+
}
|
220
139
|
}
|
221
|
-
.btn-group-vertical
|
222
|
-
|
140
|
+
.btn-group-vertical .btn {
|
141
|
+
&:not(:first-child):not(:last-child) {
|
142
|
+
border-radius: 0;
|
143
|
+
}
|
144
|
+
&:first-child {
|
145
|
+
.border-bottom-radius(0);
|
146
|
+
}
|
147
|
+
&:last-child {
|
148
|
+
.border-top-radius(0);
|
149
|
+
}
|
223
150
|
}
|
224
|
-
|
225
|
-
|
151
|
+
|
152
|
+
|
153
|
+
// Justified button groups
|
154
|
+
// ----------------------
|
155
|
+
|
156
|
+
.btn-group-justified {
|
157
|
+
display: table;
|
158
|
+
width: 100%;
|
159
|
+
.btn {
|
160
|
+
float: none;
|
161
|
+
display: table-cell;
|
162
|
+
width: 1%;
|
163
|
+
}
|
226
164
|
}
|
227
|
-
|
228
|
-
|
165
|
+
|
166
|
+
|
167
|
+
// Checkbox and radio options
|
168
|
+
.btn-group[data-toggle="buttons"] > .btn > input[type="radio"],
|
169
|
+
.btn-group[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
170
|
+
display: none;
|
229
171
|
}
|