less-rails-bootstrap 2.3.3 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. data/.gitignore +1 -0
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +7 -11
  4. data/lib/less/rails/bootstrap/version.rb +1 -1
  5. data/scripts/update_bootstrap.sh +37 -8
  6. data/test/cases/usage_css_spec.rb +15 -12
  7. data/test/cases/usage_js_spec.rb +4 -4
  8. data/test/dummy_app/app/assets/stylesheets/fonts.css.less +2 -0
  9. data/test/dummy_app/app/assets/stylesheets/framework.css.less +4 -2
  10. data/test/dummy_app/app/assets/stylesheets/individual.css.less +2 -2
  11. data/test/spec_helper.rb +1 -2
  12. data/vendor/assets/javascripts/twitter/bootstrap.js +0 -1
  13. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +58 -49
  14. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +36 -37
  15. data/vendor/assets/javascripts/twitter/bootstrap/button.js +41 -39
  16. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +131 -125
  17. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +108 -96
  18. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +72 -87
  19. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +149 -155
  20. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +60 -59
  21. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +103 -107
  22. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +73 -82
  23. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +258 -255
  24. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +34 -38
  25. data/vendor/frameworks/twitter/bootstrap/accordion.less +9 -12
  26. data/vendor/frameworks/twitter/bootstrap/alerts.less +43 -53
  27. data/vendor/frameworks/twitter/bootstrap/bootstrap.less +21 -21
  28. data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +7 -8
  29. data/vendor/frameworks/twitter/bootstrap/button-groups.less +93 -151
  30. data/vendor/frameworks/twitter/bootstrap/buttons.less +93 -164
  31. data/vendor/frameworks/twitter/bootstrap/carousel.less +110 -63
  32. data/vendor/frameworks/twitter/bootstrap/close.less +18 -17
  33. data/vendor/frameworks/twitter/bootstrap/code.less +14 -20
  34. data/vendor/frameworks/twitter/bootstrap/component-animations.less +10 -3
  35. data/vendor/frameworks/twitter/bootstrap/dropdowns.less +66 -143
  36. data/vendor/frameworks/twitter/bootstrap/forms.less +281 -548
  37. data/vendor/frameworks/twitter/bootstrap/grid.less +194 -11
  38. data/vendor/frameworks/twitter/bootstrap/media.less +8 -7
  39. data/vendor/frameworks/twitter/bootstrap/mixins.less +290 -446
  40. data/vendor/frameworks/twitter/bootstrap/modals.less +92 -51
  41. data/vendor/frameworks/twitter/bootstrap/navbar.less +285 -402
  42. data/vendor/frameworks/twitter/bootstrap/navs.less +176 -348
  43. data/vendor/frameworks/twitter/bootstrap/pager.less +45 -33
  44. data/vendor/frameworks/twitter/bootstrap/pagination.less +89 -104
  45. data/vendor/frameworks/twitter/bootstrap/popovers.less +53 -51
  46. data/vendor/frameworks/twitter/bootstrap/progress-bars.less +28 -45
  47. data/vendor/frameworks/twitter/bootstrap/responsive-utilities.less +92 -32
  48. data/vendor/frameworks/twitter/bootstrap/scaffolding.less +60 -18
  49. data/vendor/frameworks/twitter/bootstrap/tables.less +131 -164
  50. data/vendor/frameworks/twitter/bootstrap/thumbnails.less +20 -31
  51. data/vendor/frameworks/twitter/bootstrap/tooltip.less +45 -20
  52. data/vendor/frameworks/twitter/bootstrap/type.less +84 -99
  53. data/vendor/frameworks/twitter/bootstrap/utilities.less +17 -5
  54. data/vendor/frameworks/twitter/bootstrap/variables.less +446 -179
  55. data/vendor/frameworks/twitter/bootstrap/wells.less +5 -5
  56. metadata +41 -44
  57. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  58. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  59. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +0 -335
  60. data/vendor/assets/stylesheets/twitter/bootstrap-responsive.css.less +0 -1
  61. data/vendor/assets/stylesheets/twitter/bootstrap.css.less +0 -1
  62. data/vendor/frameworks/twitter/bootstrap.less +0 -1
  63. data/vendor/frameworks/twitter/bootstrap/hero-unit.less +0 -25
  64. data/vendor/frameworks/twitter/bootstrap/labels-badges.less +0 -84
  65. data/vendor/frameworks/twitter/bootstrap/layouts.less +0 -16
  66. data/vendor/frameworks/twitter/bootstrap/reset.less +0 -216
  67. data/vendor/frameworks/twitter/bootstrap/responsive-1200px-min.less +0 -28
  68. data/vendor/frameworks/twitter/bootstrap/responsive-767px-max.less +0 -193
  69. data/vendor/frameworks/twitter/bootstrap/responsive-768px-979px.less +0 -19
  70. data/vendor/frameworks/twitter/bootstrap/responsive-navbar.less +0 -189
  71. data/vendor/frameworks/twitter/bootstrap/responsive.less +0 -48
  72. data/vendor/frameworks/twitter/bootstrap/sprites.less +0 -197
@@ -1,8 +1,8 @@
1
- /* ===================================================
2
- * bootstrap-transition.js v2.3.2
3
- * http://twitter.github.com/bootstrap/javascript.html#transitions
4
- * ===================================================
5
- * Copyright 2012 Twitter, Inc.
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
- !function ($) {
21
+ +function ($) { "use strict";
22
22
 
23
- "use strict"; // jshint ;_;
23
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
24
+ // ============================================================
24
25
 
26
+ function transitionEnd() {
27
+ var el = document.createElement('bootstrap')
25
28
 
26
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
27
- * ======================================================= */
29
+ var transEndEventNames = {
30
+ 'WebkitTransition' : 'webkitTransitionEnd'
31
+ , 'MozTransition' : 'transitionend'
32
+ , 'OTransition' : 'oTransitionEnd otransitionend'
33
+ , 'transition' : 'transitionend'
34
+ }
28
35
 
29
- $(function () {
30
-
31
- $.support.transition = (function () {
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: @baseLineHeight;
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 #e5e5e5;
15
- .border-radius(@baseBorderRadius);
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
- // General toggle styles
26
- .accordion-toggle {
27
- cursor: pointer;
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 #e5e5e5;
30
+ border-top: 1px solid @accordion-border-color;
34
31
  }
@@ -7,73 +7,63 @@
7
7
  // -------------------------
8
8
 
9
9
  .alert {
10
- padding: 8px 35px 8px 14px;
11
- margin-bottom: @baseLineHeight;
12
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
13
- background-color: @warningBackground;
14
- border: 1px solid @warningBorder;
15
- .border-radius(@baseBorderRadius);
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
- // Adjust close link position
27
- .alert .close {
28
- position: relative;
29
- top: -2px;
30
- right: -21px;
31
- line-height: @baseLineHeight;
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
- background-color: @successBackground;
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-error {
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
- background-color: @infoBackground;
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: 14px;
71
- padding-bottom: 14px;
72
- }
73
- .alert-block > p,
74
- .alert-block > ul {
75
- margin-bottom: 0;
76
- }
77
- .alert-block p + p {
78
- margin-top: 5px;
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 v2.3.2
2
+ * Bootstrap v3.0.0
3
3
  *
4
- * Copyright 2012 Twitter, Inc
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 @twitter by @mdo and @fat.
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"; // Modify this for custom colors, font-sizes, etc
12
+ @import "variables.less";
13
13
  @import "mixins.less";
14
14
 
15
- // CSS Reset
16
- @import "reset.less";
15
+ // Reset
16
+ @import "normalize.less";
17
+ @import "print.less";
17
18
 
18
- // Grid system and page structure
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 "forms.less";
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 "sprites.less";
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-badges.less";
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 "hero-unit.less";
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: 0 0 @baseLineHeight;
8
+ margin-bottom: @line-height-computed;
9
9
  list-style: none;
10
- background-color: #f5f5f5;
11
- .border-radius(@baseBorderRadius);
10
+ background-color: @breadcrumb-bg;
11
+ border-radius: @border-radius-base;
12
12
  > li {
13
13
  display: inline-block;
14
- .ie7-inline-block();
15
- text-shadow: 0 1px 0 @white;
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: #ccc;
17
+ color: @breadcrumb-color;
19
18
  }
20
19
  }
21
20
  > .active {
22
- color: @grayLight;
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
- white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
14
- .ie7-restore-left-whitespace();
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
- // Space out series of button groups
18
- .btn-group + .btn-group {
19
- margin-left: 5px;
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
- font-size: 0; // Hack to remove whitespace that results from using inline-block
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
- // Float them, remove border radius, then re-add to first and last elements
35
- .btn-group > .btn {
36
- position: relative;
37
- .border-radius(0);
38
- }
39
- .btn-group > .btn + .btn {
40
- margin-left: -1px;
41
- }
42
- .btn-group > .btn,
43
- .btn-group > .dropdown-menu,
44
- .btn-group > .popover {
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
- // Reset fonts for other sizes
49
- .btn-group > .btn-mini {
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
- .border-top-left-radius(@baseBorderRadius);
63
- .border-bottom-left-radius(@baseBorderRadius);
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-top-right-radius(@baseBorderRadius);
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
- // Reset corners for large buttons
72
- .btn-group > .btn.large:first-child {
73
- margin-left: 0;
74
- .border-top-left-radius(@borderRadiusLarge);
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.large:last-child,
78
- .btn-group > .large.dropdown-toggle {
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
- // On hover/focus/active, bring the proper btn to front
84
- .btn-group > .btn:hover,
85
- .btn-group > .btn:focus,
86
- .btn-group > .btn:active,
87
- .btn-group > .btn.active {
88
- z-index: 2;
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
- .btn-group.open {
128
-
129
- // The clickable button for toggling the menu
130
- // Remove the gradient and set the same inset shadow as the :active state
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
- margin-top: 6px;
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
- .border-radius(0);
213
- }
214
- .btn-group-vertical > .btn + .btn {
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 > .btn:last-child {
222
- .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
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
- .btn-group-vertical > .btn-large:first-child {
225
- .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
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
- .btn-group-vertical > .btn-large:last-child {
228
- .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
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
  }