twitter-bootstrap-rails 2.0.2 → 2.0.4

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 (70) hide show
  1. data/README.md +34 -23
  2. data/lib/generators/bootstrap/install/install_generator.rb +36 -12
  3. data/lib/generators/bootstrap/install/templates/application.css +0 -1
  4. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +1 -10
  5. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +19 -0
  6. data/lib/generators/bootstrap/layout/templates/layout.html.erb +18 -23
  7. data/lib/generators/bootstrap/layout/templates/layout.html.haml +4 -9
  8. data/lib/generators/bootstrap/layout/templates/layout.html.slim +4 -9
  9. data/lib/generators/bootstrap/themed/templates/_form.html.erb +19 -12
  10. data/lib/generators/bootstrap/themed/templates/_form.html.haml +13 -11
  11. data/lib/generators/bootstrap/themed/templates/edit.html.erb +1 -4
  12. data/lib/generators/bootstrap/themed/templates/edit.html.haml +1 -2
  13. data/lib/generators/bootstrap/themed/templates/edit.html.slim +1 -1
  14. data/lib/generators/bootstrap/themed/templates/index.html.erb +24 -28
  15. data/lib/generators/bootstrap/themed/templates/index.html.haml +3 -3
  16. data/lib/generators/bootstrap/themed/templates/new.html.erb +1 -3
  17. data/lib/generators/bootstrap/themed/templates/new.html.haml +1 -1
  18. data/lib/generators/bootstrap/themed/templates/new.html.slim +1 -1
  19. data/lib/generators/bootstrap/themed/templates/show.html.erb +11 -7
  20. data/lib/generators/bootstrap/themed/templates/show.html.haml +1 -1
  21. data/lib/generators/bootstrap/themed/themed_generator.rb +4 -4
  22. data/lib/twitter/bootstrap/rails/engine.rb +9 -3
  23. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +25 -0
  24. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  25. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +8 -5
  26. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +5 -3
  27. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +9 -2
  28. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +5 -3
  29. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +2 -2
  30. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +6 -5
  31. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +2 -2
  32. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +2 -2
  33. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +2 -2
  34. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +3 -3
  35. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +3 -3
  36. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +8 -8
  37. data/vendor/toolkit/twitter/bootstrap/alerts.less +2 -14
  38. data/vendor/toolkit/twitter/bootstrap/badges.less +36 -0
  39. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +2 -1
  40. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +3 -1
  41. data/vendor/toolkit/twitter/bootstrap/button-groups.less +34 -8
  42. data/vendor/toolkit/twitter/bootstrap/buttons.less +38 -16
  43. data/vendor/toolkit/twitter/bootstrap/code.less +15 -2
  44. data/vendor/toolkit/twitter/bootstrap/component-animations.less +4 -2
  45. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +46 -29
  46. data/vendor/toolkit/twitter/bootstrap/forms.less +120 -80
  47. data/vendor/toolkit/twitter/bootstrap/grid.less +2 -5
  48. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +3 -1
  49. data/vendor/toolkit/twitter/bootstrap/labels.less +29 -7
  50. data/vendor/toolkit/twitter/bootstrap/mixins.less +233 -156
  51. data/vendor/toolkit/twitter/bootstrap/modals.less +22 -4
  52. data/vendor/toolkit/twitter/bootstrap/navbar.less +90 -41
  53. data/vendor/toolkit/twitter/bootstrap/navs.less +39 -20
  54. data/vendor/toolkit/twitter/bootstrap/pager.less +6 -0
  55. data/vendor/toolkit/twitter/bootstrap/pagination.less +1 -0
  56. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +15 -1
  57. data/vendor/toolkit/twitter/bootstrap/reset.less +2 -2
  58. data/vendor/toolkit/twitter/bootstrap/responsive.less +80 -32
  59. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +4 -4
  60. data/vendor/toolkit/twitter/bootstrap/sprites.less +10 -8
  61. data/vendor/toolkit/twitter/bootstrap/tables.less +39 -19
  62. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +2 -2
  63. data/vendor/toolkit/twitter/bootstrap/type.less +25 -8
  64. data/vendor/toolkit/twitter/bootstrap/variables.less +114 -12
  65. data/vendor/toolkit/twitter/bootstrap/wells.less +10 -0
  66. data/vendor/toolkit/twitter/bootstrap_base.less +2 -0
  67. metadata +15 -14
  68. data/lib/generators/bootstrap/install/templates/bootstrap.less +0 -6
  69. data/vendor/assets/stylesheets/twitter/bootstrap.css.less +0 -1
  70. data/vendor/toolkit/twitter/bootstrap.less +0 -1
@@ -0,0 +1,25 @@
1
+ module Twitter
2
+ module Bootstrap
3
+ module BreadCrumbs
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ end
7
+
8
+ module ClassMethods
9
+ def add_breadcrumb name, url, options={}
10
+ before_filter options do |controller|
11
+ controller.send :add_breadcrumb, name, url
12
+ end
13
+ end
14
+ end
15
+
16
+ protected
17
+
18
+ def add_breadcrumb name, url = ''
19
+ @breadcrumbs ||= []
20
+ url = eval(url) if url =~ /_path|_url|@/
21
+ @breadcrumbs << {name => name, url => url}
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,7 +1,7 @@
1
1
  module Twitter
2
2
  module Bootstrap
3
3
  module Rails
4
- VERSION = "2.0.2"
4
+ VERSION = "2.0.4"
5
5
  end
6
6
  end
7
7
  end
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-alert.js v2.0.0
2
+ * bootstrap-alert.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -51,11 +51,14 @@
51
51
 
52
52
  $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
53
53
 
54
- $parent.removeClass('in')
54
+ $parent
55
+ .trigger('close')
56
+ .removeClass('in')
55
57
 
56
58
  function removeElement() {
57
- $parent.remove()
58
- $parent.trigger('closed')
59
+ $parent
60
+ .trigger('closed')
61
+ .remove()
59
62
  }
60
63
 
61
64
  $.support.transition && $parent.hasClass('fade') ?
@@ -88,4 +91,4 @@
88
91
  $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
89
92
  })
90
93
 
91
- }( window.jQuery )
94
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-button.js v2.0.0
2
+ * bootstrap-button.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -91,8 +91,10 @@
91
91
 
92
92
  $(function () {
93
93
  $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
94
- $(e.target).button('toggle')
94
+ var $btn = $(e.target)
95
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
96
+ $btn.button('toggle')
95
97
  })
96
98
  })
97
99
 
98
- }( window.jQuery )
100
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-carousel.js v2.0.0
2
+ * bootstrap-carousel.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -29,6 +29,9 @@
29
29
  this.$element = $(element)
30
30
  this.options = $.extend({}, $.fn.carousel.defaults, options)
31
31
  this.options.slide && this.slide(this.options.slide)
32
+ this.options.pause == 'hover' && this.$element
33
+ .on('mouseenter', $.proxy(this.pause, this))
34
+ .on('mouseleave', $.proxy(this.cycle, this))
32
35
  }
33
36
 
34
37
  Carousel.prototype = {
@@ -61,6 +64,7 @@
61
64
 
62
65
  , pause: function () {
63
66
  clearInterval(this.interval)
67
+ this.interval = null
64
68
  return this
65
69
  }
66
70
 
@@ -88,6 +92,8 @@
88
92
 
89
93
  $next = $next.length ? $next : this.$element.find('.item')[fallback]()
90
94
 
95
+ if ($next.hasClass('active')) return
96
+
91
97
  if (!$.support.transition && this.$element.hasClass('slide')) {
92
98
  this.$element.trigger('slide')
93
99
  $active.removeClass('active')
@@ -133,6 +139,7 @@
133
139
 
134
140
  $.fn.carousel.defaults = {
135
141
  interval: 5000
142
+ , pause: 'hover'
136
143
  }
137
144
 
138
145
  $.fn.carousel.Constructor = Carousel
@@ -151,4 +158,4 @@
151
158
  })
152
159
  })
153
160
 
154
- }( window.jQuery )
161
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-collapse.js v2.0.0
2
+ * bootstrap-collapse.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -74,7 +74,9 @@
74
74
  [dimension](size || 'auto')
75
75
  [0].offsetWidth
76
76
 
77
- this.$element.addClass('collapse')
77
+ this.$element[size ? 'addClass' : 'removeClass']('collapse')
78
+
79
+ return this
78
80
  }
79
81
 
80
82
  , transition: function ( method, startEvent, completeEvent ) {
@@ -133,4 +135,4 @@
133
135
  })
134
136
  })
135
137
 
136
- }( window.jQuery )
138
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-dropdown.js v2.0.0
2
+ * bootstrap-dropdown.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -89,4 +89,4 @@
89
89
  $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
90
90
  })
91
91
 
92
- }( window.jQuery )
92
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =========================================================
2
- * bootstrap-modal.js v2.0.0
2
+ * bootstrap-modal.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#modals
4
4
  * =========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -26,7 +26,7 @@
26
26
  * ====================== */
27
27
 
28
28
  var Modal = function ( content, options ) {
29
- this.options = $.extend({}, $.fn.modal.defaults, options)
29
+ this.options = options
30
30
  this.$element = $(content)
31
31
  .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
32
32
  }
@@ -177,16 +177,17 @@
177
177
  return this.each(function () {
178
178
  var $this = $(this)
179
179
  , data = $this.data('modal')
180
- , options = typeof option == 'object' && option
180
+ , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
181
181
  if (!data) $this.data('modal', (data = new Modal(this, options)))
182
182
  if (typeof option == 'string') data[option]()
183
- else data.show()
183
+ else if (options.show) data.show()
184
184
  })
185
185
  }
186
186
 
187
187
  $.fn.modal.defaults = {
188
188
  backdrop: true
189
189
  , keyboard: true
190
+ , show: true
190
191
  }
191
192
 
192
193
  $.fn.modal.Constructor = Modal
@@ -206,4 +207,4 @@
206
207
  })
207
208
  })
208
209
 
209
- }( window.jQuery )
210
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v2.0.0
2
+ * bootstrap-popover.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
4
4
  * ===========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -92,4 +92,4 @@
92
92
  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
93
93
  })
94
94
 
95
- }( window.jQuery )
95
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v2.0.0
2
+ * bootstrap-scrollspy.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -122,4 +122,4 @@
122
122
  })
123
123
  })
124
124
 
125
- }( window.jQuery )
125
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.0.0
2
+ * bootstrap-tab.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -127,4 +127,4 @@
127
127
  })
128
128
  })
129
129
 
130
- }( window.jQuery )
130
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.0.0
2
+ * bootstrap-tooltip.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -206,7 +206,7 @@
206
206
  title = $e.attr('data-original-title')
207
207
  || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
208
208
 
209
- title = title.toString().replace(/(^\s*|\s*$)/, "")
209
+ title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
210
210
 
211
211
  return title
212
212
  }
@@ -267,4 +267,4 @@
267
267
  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
268
268
  }
269
269
 
270
- }( window.jQuery )
270
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===================================================
2
- * bootstrap-transition.js v2.0.0
2
+ * bootstrap-transition.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
4
4
  * ===================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -47,5 +47,5 @@
47
47
  })()
48
48
 
49
49
  })
50
-
51
- }( window.jQuery )
50
+
51
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-typeahead.js v2.0.0
2
+ * bootstrap-typeahead.js v2.0.2
3
3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -40,6 +40,7 @@
40
40
  , select: function () {
41
41
  var val = this.$menu.find('.active').attr('data-value')
42
42
  this.$element.val(val)
43
+ this.$element.change();
43
44
  return this.hide()
44
45
  }
45
46
 
@@ -165,9 +166,6 @@
165
166
  }
166
167
 
167
168
  , keyup: function (e) {
168
- e.stopPropagation()
169
- e.preventDefault()
170
-
171
169
  switch(e.keyCode) {
172
170
  case 40: // down arrow
173
171
  case 38: // up arrow
@@ -180,6 +178,7 @@
180
178
  break
181
179
 
182
180
  case 27: // escape
181
+ if (!this.shown) return
183
182
  this.hide()
184
183
  break
185
184
 
@@ -187,10 +186,11 @@
187
186
  this.lookup()
188
187
  }
189
188
 
189
+ e.stopPropagation()
190
+ e.preventDefault()
190
191
  }
191
192
 
192
193
  , keypress: function (e) {
193
- e.stopPropagation()
194
194
  if (!this.shown) return
195
195
 
196
196
  switch(e.keyCode) {
@@ -210,12 +210,12 @@
210
210
  this.next()
211
211
  break
212
212
  }
213
+
214
+ e.stopPropagation()
213
215
  }
214
216
 
215
217
  , blur: function (e) {
216
218
  var that = this
217
- e.stopPropagation()
218
- e.preventDefault()
219
219
  setTimeout(function () { that.hide() }, 150)
220
220
  }
221
221
 
@@ -268,4 +268,4 @@
268
268
  })
269
269
  })
270
270
 
271
- }( window.jQuery )
271
+ }( window.jQuery );
@@ -9,10 +9,10 @@
9
9
  background-color: @warningBackground;
10
10
  border: 1px solid @warningBorder;
11
11
  .border-radius(4px);
12
+ color: @warningText;
12
13
  }
13
- .alert,
14
14
  .alert-heading {
15
- color: @warningText;
15
+ color: inherit;
16
16
  }
17
17
 
18
18
  // Adjust close link position
@@ -29,32 +29,20 @@
29
29
  .alert-success {
30
30
  background-color: @successBackground;
31
31
  border-color: @successBorder;
32
- }
33
- .alert-success,
34
- .alert-success .alert-heading {
35
32
  color: @successText;
36
33
  }
37
34
  .alert-danger,
38
35
  .alert-error {
39
36
  background-color: @errorBackground;
40
37
  border-color: @errorBorder;
41
- }
42
- .alert-danger,
43
- .alert-error,
44
- .alert-danger .alert-heading,
45
- .alert-error .alert-heading {
46
38
  color: @errorText;
47
39
  }
48
40
  .alert-info {
49
41
  background-color: @infoBackground;
50
42
  border-color: @infoBorder;
51
- }
52
- .alert-info,
53
- .alert-info .alert-heading {
54
43
  color: @infoText;
55
44
  }
56
45
 
57
-
58
46
  // Block alerts
59
47
  // ------------------------
60
48
  .alert-block {
@@ -0,0 +1,36 @@
1
+ // BADGES
2
+ // ------
3
+
4
+ // Base
5
+ .badge {
6
+ padding: 1px 9px 2px;
7
+ font-size: @baseFontSize * .925;
8
+ font-weight: bold;
9
+ white-space: nowrap;
10
+ color: @white;
11
+ background-color: @grayLight;
12
+ .border-radius(9px);
13
+ }
14
+
15
+ // Hover state
16
+ .badge:hover {
17
+ color: @white;
18
+ text-decoration: none;
19
+ cursor: pointer;
20
+ }
21
+
22
+ // Colors
23
+ .badge-error { background-color: @errorText; }
24
+ .badge-error:hover { background-color: darken(@errorText, 10%); }
25
+
26
+ .badge-warning { background-color: @orange; }
27
+ .badge-warning:hover { background-color: darken(@orange, 10%); }
28
+
29
+ .badge-success { background-color: @successText; }
30
+ .badge-success:hover { background-color: darken(@successText, 10%); }
31
+
32
+ .badge-info { background-color: @infoText; }
33
+ .badge-info:hover { background-color: darken(@infoText, 10%); }
34
+
35
+ .badge-inverse { background-color: @grayDark; }
36
+ .badge-inverse:hover { background-color: darken(@grayDark, 10%); }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.0.0
2
+ * Bootstrap v2.0.2
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -53,6 +53,7 @@
53
53
  // Components: Misc
54
54
  @import "thumbnails.less";
55
55
  @import "labels.less";
56
+ @import "badges.less";
56
57
  @import "progress-bars.less";
57
58
  @import "accordion.less";
58
59
  @import "carousel.less";
@@ -4,12 +4,14 @@
4
4
  .breadcrumb {
5
5
  padding: 7px 14px;
6
6
  margin: 0 0 @baseLineHeight;
7
+ list-style: none;
7
8
  #gradient > .vertical(@white, #f5f5f5);
8
9
  border: 1px solid #ddd;
9
10
  .border-radius(3px);
10
11
  .box-shadow(inset 0 1px 0 @white);
11
12
  li {
12
- display: inline;
13
+ display: inline-block;
14
+ .ie7-inline-block();
13
15
  text-shadow: 0 1px 0 @white;
14
16
  }
15
17
  .divider {
@@ -29,7 +29,7 @@
29
29
  position: relative;
30
30
  float: left;
31
31
  margin-left: -1px;
32
- .border-radius(0px);
32
+ .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
35
  .btn-group .btn:first-child {
@@ -95,8 +95,22 @@
95
95
  padding-right: 8px;
96
96
  @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);
97
97
  .box-shadow(@shadow);
98
- *padding-top: 5px;
99
- *padding-bottom: 5px;
98
+ *padding-top: 3px;
99
+ *padding-bottom: 3px;
100
+ }
101
+ .btn-group .btn-mini.dropdown-toggle {
102
+ padding-left: 5px;
103
+ padding-right: 5px;
104
+ *padding-top: 1px;
105
+ *padding-bottom: 1px;
106
+ }
107
+ .btn-group .btn-small.dropdown-toggle {
108
+ *padding-top: 4px;
109
+ *padding-bottom: 4px;
110
+ }
111
+ .btn-group .btn-large.dropdown-toggle {
112
+ padding-left: 12px;
113
+ padding-right: 12px;
100
114
  }
101
115
 
102
116
  .btn-group.open {
@@ -127,20 +141,32 @@
127
141
  .open.btn-group .caret {
128
142
  .opacity(100);
129
143
  }
144
+ // Carets in other button sizes
145
+ .btn-mini .caret {
146
+ margin-top: 5px;
147
+ }
148
+ .btn-small .caret {
149
+ margin-top: 6px;
150
+ }
151
+ .btn-large .caret {
152
+ margin-top: 6px;
153
+ border-left: 5px solid transparent;
154
+ border-right: 5px solid transparent;
155
+ border-top: 5px solid @black;
156
+ }
130
157
 
131
158
 
132
159
  // Account for other colors
133
160
  .btn-primary,
161
+ .btn-warning,
134
162
  .btn-danger,
135
163
  .btn-info,
136
- .btn-success {
164
+ .btn-success,
165
+ .btn-inverse {
137
166
  .caret {
138
167
  border-top-color: @white;
168
+ border-bottom-color: @white;
139
169
  .opacity(75);
140
170
  }
141
171
  }
142
172
 
143
- // Small button dropdowns
144
- .btn-small .caret {
145
- margin-top: 4px;
146
- }
@@ -8,15 +8,18 @@
8
8
  // Core
9
9
  .btn {
10
10
  display: inline-block;
11
+ .ie7-inline-block();
11
12
  padding: 4px 10px 4px;
13
+ margin-bottom: 0; // For input.btn
12
14
  font-size: @baseFontSize;
13
15
  line-height: @baseLineHeight;
14
16
  color: @grayDark;
15
17
  text-align: center;
16
18
  text-shadow: 0 1px 1px rgba(255,255,255,.75);
17
- #gradient > .vertical-three-colors(@white, @white, 25%, darken(@white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
18
- border: 1px solid #ccc;
19
- border-bottom-color: #bbb;
19
+ vertical-align: middle;
20
+ .buttonBackground(@btnBackground, @btnBackgroundHighlight);
21
+ border: 1px solid @btnBorder;
22
+ border-bottom-color: darken(@btnBorder, 10%);
20
23
  .border-radius(4px);
21
24
  @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
22
25
  .box-shadow(@shadow);
@@ -51,7 +54,6 @@
51
54
  .box-shadow(@shadow);
52
55
  background-color: darken(@white, 10%);
53
56
  background-color: darken(@white, 15%) e("\9");
54
- color: rgba(0,0,0,.5);
55
57
  outline: 0;
56
58
  }
57
59
 
@@ -76,7 +78,7 @@
76
78
  line-height: normal;
77
79
  .border-radius(5px);
78
80
  }
79
- .btn-large .icon {
81
+ .btn-large [class^="icon-"] {
80
82
  margin-top: 1px;
81
83
  }
82
84
 
@@ -86,10 +88,17 @@
86
88
  font-size: @baseFontSize - 2px;
87
89
  line-height: @baseLineHeight - 2px;
88
90
  }
89
- .btn-small .icon {
91
+ .btn-small [class^="icon-"] {
90
92
  margin-top: -1px;
91
93
  }
92
94
 
95
+ // Mini
96
+ .btn-mini {
97
+ padding: 2px 6px;
98
+ font-size: @baseFontSize - 2px;
99
+ line-height: @baseLineHeight - 4px;
100
+ }
101
+
93
102
 
94
103
  // Alternate buttons
95
104
  // --------------------------------------------------
@@ -105,7 +114,9 @@
105
114
  .btn-success,
106
115
  .btn-success:hover,
107
116
  .btn-info,
108
- .btn-info:hover {
117
+ .btn-info:hover,
118
+ .btn-inverse,
119
+ .btn-inverse:hover {
109
120
  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
110
121
  color: @white;
111
122
  }
@@ -114,30 +125,35 @@
114
125
  .btn-warning.active,
115
126
  .btn-danger.active,
116
127
  .btn-success.active,
117
- .btn-info.active {
128
+ .btn-info.active,
129
+ .btn-inverse.active {
118
130
  color: rgba(255,255,255,.75);
119
131
  }
120
132
 
121
133
  // Set the backgrounds
122
134
  // -------------------------
123
135
  .btn-primary {
124
- .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 20));
136
+ .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
125
137
  }
126
138
  // Warning appears are orange
127
139
  .btn-warning {
128
- .buttonBackground(lighten(@orange, 15%), @orange);
140
+ .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
129
141
  }
130
142
  // Danger and error appear as red
131
143
  .btn-danger {
132
- .buttonBackground(#ee5f5b, #bd362f);
144
+ .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
133
145
  }
134
146
  // Success appears as green
135
147
  .btn-success {
136
- .buttonBackground(#62c462, #51a351);
148
+ .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
137
149
  }
138
150
  // Info appears as a neutral blue
139
151
  .btn-info {
140
- .buttonBackground(#5bc0de, #2f96b4);
152
+ .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
153
+ }
154
+ // Inverse appears as dark gray
155
+ .btn-inverse {
156
+ .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
141
157
  }
142
158
 
143
159
 
@@ -146,20 +162,26 @@
146
162
 
147
163
  button.btn,
148
164
  input[type="submit"].btn {
165
+
166
+ // Firefox 3.6 only I believe
149
167
  &::-moz-focus-inner {
150
- padding: 0;
168
+ padding: 0;
151
169
  border: 0;
152
170
  }
153
171
 
154
172
  // IE7 has some default padding on button controls
155
173
  *padding-top: 2px;
156
174
  *padding-bottom: 2px;
157
- &.large {
175
+ &.btn-large {
158
176
  *padding-top: 7px;
159
177
  *padding-bottom: 7px;
160
178
  }
161
- &.small {
179
+ &.btn-small {
162
180
  *padding-top: 3px;
163
181
  *padding-bottom: 3px;
164
182
  }
183
+ &.btn-mini {
184
+ *padding-top: 1px;
185
+ *padding-bottom: 1px;
186
+ }
165
187
  }