sass-twitter-bootstrap 2.0.1 → 2.1.1

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 (66) hide show
  1. data/lib/sass/twitter/bootstrap/version.rb +1 -1
  2. data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
  3. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  4. data/vendor/assets/javascripts/twitter/bootstrap-affix.js +104 -0
  5. data/vendor/assets/javascripts/twitter/bootstrap-alert.js +28 -32
  6. data/vendor/assets/javascripts/twitter/bootstrap-button.js +29 -33
  7. data/vendor/assets/javascripts/twitter/bootstrap-carousel.js +43 -24
  8. data/vendor/assets/javascripts/twitter/bootstrap-collapse.js +50 -28
  9. data/vendor/assets/javascripts/twitter/bootstrap-dropdown.js +77 -19
  10. data/vendor/assets/javascripts/twitter/bootstrap-modal.js +113 -84
  11. data/vendor/assets/javascripts/twitter/bootstrap-popover.js +19 -11
  12. data/vendor/assets/javascripts/twitter/bootstrap-scrollspy.js +50 -24
  13. data/vendor/assets/javascripts/twitter/bootstrap-tab.js +13 -8
  14. data/vendor/assets/javascripts/twitter/bootstrap-tooltip.js +44 -39
  15. data/vendor/assets/javascripts/twitter/bootstrap-transition.js +29 -20
  16. data/vendor/assets/javascripts/twitter/bootstrap-typeahead.js +73 -44
  17. data/vendor/assets/javascripts/twitter/bootstrap.js +12 -0
  18. data/vendor/assets/stylesheets/tests/css-tests.css +1 -12
  19. data/vendor/assets/stylesheets/tests/css-tests.html +22 -125
  20. data/vendor/assets/stylesheets/tests/navbar.html +39 -38
  21. data/vendor/assets/stylesheets/twitter/_accordion.scss +8 -2
  22. data/vendor/assets/stylesheets/twitter/_alerts.scss +16 -21
  23. data/vendor/assets/stylesheets/twitter/_breadcrumbs.scss +12 -10
  24. data/vendor/assets/stylesheets/twitter/_button-groups.scss +137 -39
  25. data/vendor/assets/stylesheets/twitter/_buttons.scss +129 -81
  26. data/vendor/assets/stylesheets/twitter/_carousel.scss +13 -3
  27. data/vendor/assets/stylesheets/twitter/_close.scss +16 -3
  28. data/vendor/assets/stylesheets/twitter/_code.scss +11 -10
  29. data/vendor/assets/stylesheets/twitter/_component-animations.scss +12 -8
  30. data/vendor/assets/stylesheets/twitter/_dropdowns.scss +133 -53
  31. data/vendor/assets/stylesheets/twitter/_forms.scss +298 -170
  32. data/vendor/assets/stylesheets/twitter/_grid.scss +17 -4
  33. data/vendor/assets/stylesheets/twitter/_hero-unit.scss +7 -3
  34. data/vendor/assets/stylesheets/twitter/_labels-badges.scss +69 -0
  35. data/vendor/assets/stylesheets/twitter/_layouts.scss +2 -3
  36. data/vendor/assets/stylesheets/twitter/_mixins.scss +359 -258
  37. data/vendor/assets/stylesheets/twitter/_modals.scss +26 -12
  38. data/vendor/assets/stylesheets/twitter/_navbar.scss +318 -143
  39. data/vendor/assets/stylesheets/twitter/_navs.scss +87 -56
  40. data/vendor/assets/stylesheets/twitter/_pager.scss +16 -6
  41. data/vendor/assets/stylesheets/twitter/_pagination.scss +23 -14
  42. data/vendor/assets/stylesheets/twitter/_popovers.scss +101 -33
  43. data/vendor/assets/stylesheets/twitter/_progress-bars.scss +43 -16
  44. data/vendor/assets/stylesheets/twitter/_reset.scss +16 -6
  45. data/vendor/assets/stylesheets/twitter/_responsive-1200px-min.scss +28 -0
  46. data/vendor/assets/stylesheets/twitter/_responsive-767px-max.scss +174 -0
  47. data/vendor/assets/stylesheets/twitter/_responsive-768px-979px.scss +19 -0
  48. data/vendor/assets/stylesheets/twitter/_responsive-navbar.scss +177 -0
  49. data/vendor/assets/stylesheets/twitter/_responsive-utilities.scss +58 -0
  50. data/vendor/assets/stylesheets/twitter/_scaffolding.scss +32 -11
  51. data/vendor/assets/stylesheets/twitter/_sprites.scss +49 -14
  52. data/vendor/assets/stylesheets/twitter/_tables.scss +115 -42
  53. data/vendor/assets/stylesheets/twitter/_thumbnails.scss +23 -6
  54. data/vendor/assets/stylesheets/twitter/_tooltip.scss +47 -12
  55. data/vendor/assets/stylesheets/twitter/_type.scss +96 -93
  56. data/vendor/assets/stylesheets/twitter/_utilities.scss +24 -2
  57. data/vendor/assets/stylesheets/twitter/_variables.scss +202 -31
  58. data/vendor/assets/stylesheets/twitter/_wells.scss +17 -5
  59. data/vendor/assets/stylesheets/twitter/bootstrap.scss +3 -7
  60. data/vendor/assets/stylesheets/twitter/responsive.scss +15 -301
  61. metadata +10 -7
  62. data/vendor/assets/stylesheets/tests/buttons.html +0 -139
  63. data/vendor/assets/stylesheets/tests/forms-responsive.html +0 -71
  64. data/vendor/assets/stylesheets/tests/navbar-fixed-top.html +0 -104
  65. data/vendor/assets/stylesheets/tests/navbar-static-top.html +0 -107
  66. data/vendor/assets/stylesheets/twitter/_labels.scss +0 -32
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v2.0.1
2
+ * bootstrap-popover.js v2.1.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
4
4
  * ===========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -18,14 +18,19 @@
18
18
  * =========================================================== */
19
19
 
20
20
 
21
- !function( $ ) {
21
+ !function ($) {
22
22
 
23
- "use strict"
23
+ "use strict"; // jshint ;_;
24
24
 
25
- var Popover = function ( element, options ) {
25
+
26
+ /* POPOVER PUBLIC CLASS DEFINITION
27
+ * =============================== */
28
+
29
+ var Popover = function (element, options) {
26
30
  this.init('popover', element, options)
27
31
  }
28
32
 
33
+
29
34
  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
30
35
  ========================================== */
31
36
 
@@ -38,8 +43,8 @@
38
43
  , title = this.getTitle()
39
44
  , content = this.getContent()
40
45
 
41
- $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
42
- $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
46
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
47
+ $tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content)
43
48
 
44
49
  $tip.removeClass('fade top bottom left right in')
45
50
  }
@@ -56,25 +61,27 @@
56
61
  content = $e.attr('data-content')
57
62
  || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
58
63
 
59
- content = content.toString().replace(/(^\s*|\s*$)/, "")
60
-
61
64
  return content
62
65
  }
63
66
 
64
- , tip: function() {
67
+ , tip: function () {
65
68
  if (!this.$tip) {
66
69
  this.$tip = $(this.options.template)
67
70
  }
68
71
  return this.$tip
69
72
  }
70
73
 
74
+ , destroy: function () {
75
+ this.hide().$element.off('.' + this.type).removeData(this.type)
76
+ }
77
+
71
78
  })
72
79
 
73
80
 
74
81
  /* POPOVER PLUGIN DEFINITION
75
82
  * ======================= */
76
83
 
77
- $.fn.popover = function ( option ) {
84
+ $.fn.popover = function (option) {
78
85
  return this.each(function () {
79
86
  var $this = $(this)
80
87
  , data = $this.data('popover')
@@ -88,8 +95,9 @@
88
95
 
89
96
  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
90
97
  placement: 'right'
98
+ , trigger: 'click'
91
99
  , content: ''
92
100
  , 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
101
  })
94
102
 
95
- }( window.jQuery );
103
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v2.0.1
2
+ * bootstrap-scrollspy.js v2.1.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -17,23 +17,25 @@
17
17
  * limitations under the License.
18
18
  * ============================================================== */
19
19
 
20
- !function ( $ ) {
21
20
 
22
- "use strict"
21
+ !function ($) {
23
22
 
24
- /* SCROLLSPY CLASS DEFINITION
25
- * ========================== */
23
+ "use strict"; // jshint ;_;
26
24
 
27
- function ScrollSpy( element, options) {
25
+
26
+ /* SCROLLSPY CLASS DEFINITION
27
+ * ========================== */
28
+
29
+ function ScrollSpy(element, options) {
28
30
  var process = $.proxy(this.process, this)
29
31
  , $element = $(element).is('body') ? $(window) : $(element)
30
32
  , href
31
33
  this.options = $.extend({}, $.fn.scrollspy.defaults, options)
32
- this.$scrollElement = $element.on('scroll.scroll.data-api', process)
34
+ this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
33
35
  this.selector = (this.options.target
34
36
  || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
35
37
  || '') + ' .nav li > a'
36
- this.$body = $('body').on('click.scroll.data-api', this.selector, process)
38
+ this.$body = $('body')
37
39
  this.refresh()
38
40
  this.process()
39
41
  }
@@ -43,25 +45,43 @@
43
45
  constructor: ScrollSpy
44
46
 
45
47
  , refresh: function () {
46
- this.targets = this.$body
48
+ var self = this
49
+ , $targets
50
+
51
+ this.offsets = $([])
52
+ this.targets = $([])
53
+
54
+ $targets = this.$body
47
55
  .find(this.selector)
48
56
  .map(function () {
49
- var href = $(this).attr('href')
50
- return /^#\w/.test(href) && $(href).length ? href : null
57
+ var $el = $(this)
58
+ , href = $el.data('target') || $el.attr('href')
59
+ , $href = /^#\w/.test(href) && $(href)
60
+ return ( $href
61
+ && $href.length
62
+ && [[ $href.position().top, href ]] ) || null
63
+ })
64
+ .sort(function (a, b) { return a[0] - b[0] })
65
+ .each(function () {
66
+ self.offsets.push(this[0])
67
+ self.targets.push(this[1])
51
68
  })
52
-
53
- this.offsets = $.map(this.targets, function (id) {
54
- return $(id).position().top
55
- })
56
69
  }
57
70
 
58
71
  , process: function () {
59
72
  var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
73
+ , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
74
+ , maxScroll = scrollHeight - this.$scrollElement.height()
60
75
  , offsets = this.offsets
61
76
  , targets = this.targets
62
77
  , activeTarget = this.activeTarget
63
78
  , i
64
79
 
80
+ if (scrollTop >= maxScroll) {
81
+ return activeTarget != (i = targets.last()[0])
82
+ && this.activate ( i )
83
+ }
84
+
65
85
  for (i = offsets.length; i--;) {
66
86
  activeTarget != targets[i]
67
87
  && scrollTop >= offsets[i]
@@ -72,21 +92,27 @@
72
92
 
73
93
  , activate: function (target) {
74
94
  var active
95
+ , selector
75
96
 
76
97
  this.activeTarget = target
77
98
 
78
- this.$body
79
- .find(this.selector).parent('.active')
99
+ $(this.selector)
100
+ .parent('.active')
80
101
  .removeClass('active')
81
102
 
82
- active = this.$body
83
- .find(this.selector + '[href="' + target + '"]')
103
+ selector = this.selector
104
+ + '[data-target="' + target + '"],'
105
+ + this.selector + '[href="' + target + '"]'
106
+
107
+ active = $(selector)
84
108
  .parent('li')
85
109
  .addClass('active')
86
110
 
87
- if ( active.parent('.dropdown-menu') ) {
88
- active.closest('li.dropdown').addClass('active')
111
+ if (active.parent('.dropdown-menu').length) {
112
+ active = active.closest('li.dropdown').addClass('active')
89
113
  }
114
+
115
+ active.trigger('activate')
90
116
  }
91
117
 
92
118
  }
@@ -95,7 +121,7 @@
95
121
  /* SCROLLSPY PLUGIN DEFINITION
96
122
  * =========================== */
97
123
 
98
- $.fn.scrollspy = function ( option ) {
124
+ $.fn.scrollspy = function (option) {
99
125
  return this.each(function () {
100
126
  var $this = $(this)
101
127
  , data = $this.data('scrollspy')
@@ -115,11 +141,11 @@
115
141
  /* SCROLLSPY DATA-API
116
142
  * ================== */
117
143
 
118
- $(function () {
144
+ $(window).on('load', function () {
119
145
  $('[data-spy="scroll"]').each(function () {
120
146
  var $spy = $(this)
121
147
  $spy.scrollspy($spy.data())
122
148
  })
123
149
  })
124
150
 
125
- }( window.jQuery );
151
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.0.1
2
+ * bootstrap-tab.js v2.1.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -18,14 +18,15 @@
18
18
  * ======================================================== */
19
19
 
20
20
 
21
- !function( $ ){
21
+ !function ($) {
22
+
23
+ "use strict"; // jshint ;_;
22
24
 
23
- "use strict"
24
25
 
25
26
  /* TAB CLASS DEFINITION
26
27
  * ==================== */
27
28
 
28
- var Tab = function ( element ) {
29
+ var Tab = function (element) {
29
30
  this.element = $(element)
30
31
  }
31
32
 
@@ -39,6 +40,7 @@
39
40
  , selector = $this.attr('data-target')
40
41
  , previous
41
42
  , $target
43
+ , e
42
44
 
43
45
  if (!selector) {
44
46
  selector = $this.attr('href')
@@ -49,11 +51,14 @@
49
51
 
50
52
  previous = $ul.find('.active a').last()[0]
51
53
 
52
- $this.trigger({
53
- type: 'show'
54
- , relatedTarget: previous
54
+ e = $.Event('show', {
55
+ relatedTarget: previous
55
56
  })
56
57
 
58
+ $this.trigger(e)
59
+
60
+ if (e.isDefaultPrevented()) return
61
+
57
62
  $target = $(selector)
58
63
 
59
64
  this.activate($this.parent('li'), $ul)
@@ -127,4 +132,4 @@
127
132
  })
128
133
  })
129
134
 
130
- }( window.jQuery );
135
+ }(window.jQuery);
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.0.1
2
+ * bootstrap-tooltip.js v2.1.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -18,14 +18,16 @@
18
18
  * limitations under the License.
19
19
  * ========================================================== */
20
20
 
21
- !function( $ ) {
22
21
 
23
- "use strict"
22
+ !function ($) {
23
+
24
+ "use strict"; // jshint ;_;
25
+
24
26
 
25
27
  /* TOOLTIP PUBLIC CLASS DEFINITION
26
28
  * =============================== */
27
29
 
28
- var Tooltip = function ( element, options ) {
30
+ var Tooltip = function (element, options) {
29
31
  this.init('tooltip', element, options)
30
32
  }
31
33
 
@@ -33,7 +35,7 @@
33
35
 
34
36
  constructor: Tooltip
35
37
 
36
- , init: function ( type, element, options ) {
38
+ , init: function (type, element, options) {
37
39
  var eventIn
38
40
  , eventOut
39
41
 
@@ -42,11 +44,13 @@
42
44
  this.options = this.getOptions(options)
43
45
  this.enabled = true
44
46
 
45
- if (this.options.trigger != 'manual') {
46
- eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
47
+ if (this.options.trigger == 'click') {
48
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
49
+ } else if (this.options.trigger != 'manual') {
50
+ eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
47
51
  eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
48
- this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
49
- this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
52
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
53
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
50
54
  }
51
55
 
52
56
  this.options.selector ?
@@ -54,7 +58,7 @@
54
58
  this.fixTitle()
55
59
  }
56
60
 
57
- , getOptions: function ( options ) {
61
+ , getOptions: function (options) {
58
62
  options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
59
63
 
60
64
  if (options.delay && typeof options.delay == 'number') {
@@ -67,34 +71,28 @@
67
71
  return options
68
72
  }
69
73
 
70
- , enter: function ( e ) {
74
+ , enter: function (e) {
71
75
  var self = $(e.currentTarget)[this.type](this._options).data(this.type)
72
76
 
73
- if (!self.options.delay || !self.options.delay.show) {
74
- self.show()
75
- } else {
76
- self.hoverState = 'in'
77
- setTimeout(function() {
78
- if (self.hoverState == 'in') {
79
- self.show()
80
- }
81
- }, self.options.delay.show)
82
- }
77
+ if (!self.options.delay || !self.options.delay.show) return self.show()
78
+
79
+ clearTimeout(this.timeout)
80
+ self.hoverState = 'in'
81
+ this.timeout = setTimeout(function() {
82
+ if (self.hoverState == 'in') self.show()
83
+ }, self.options.delay.show)
83
84
  }
84
85
 
85
- , leave: function ( e ) {
86
+ , leave: function (e) {
86
87
  var self = $(e.currentTarget)[this.type](this._options).data(this.type)
87
88
 
88
- if (!self.options.delay || !self.options.delay.hide) {
89
- self.hide()
90
- } else {
91
- self.hoverState = 'out'
92
- setTimeout(function() {
93
- if (self.hoverState == 'out') {
94
- self.hide()
95
- }
96
- }, self.options.delay.hide)
97
- }
89
+ if (this.timeout) clearTimeout(this.timeout)
90
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
91
+
92
+ self.hoverState = 'out'
93
+ this.timeout = setTimeout(function() {
94
+ if (self.hoverState == 'out') self.hide()
95
+ }, self.options.delay.hide)
98
96
  }
99
97
 
100
98
  , show: function () {
@@ -154,7 +152,9 @@
154
152
 
155
153
  , setContent: function () {
156
154
  var $tip = this.tip()
157
- $tip.find('.tooltip-inner').html(this.getTitle())
155
+ , title = this.getTitle()
156
+
157
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
158
158
  $tip.removeClass('fade in top bottom left right')
159
159
  }
160
160
 
@@ -178,6 +178,8 @@
178
178
  $.support.transition && this.$tip.hasClass('fade') ?
179
179
  removeWithAnimation() :
180
180
  $tip.remove()
181
+
182
+ return this
181
183
  }
182
184
 
183
185
  , fixTitle: function () {
@@ -206,8 +208,6 @@
206
208
  title = $e.attr('data-original-title')
207
209
  || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
208
210
 
209
- title = title.toString().replace(/(^\s*|\s*$)/, "")
210
-
211
211
  return title
212
212
  }
213
213
 
@@ -239,6 +239,10 @@
239
239
  this[this.tip().hasClass('in') ? 'hide' : 'show']()
240
240
  }
241
241
 
242
+ , destroy: function () {
243
+ this.hide().$element.off('.' + this.type).removeData(this.type)
244
+ }
245
+
242
246
  }
243
247
 
244
248
 
@@ -259,12 +263,13 @@
259
263
 
260
264
  $.fn.tooltip.defaults = {
261
265
  animation: true
262
- , delay: 0
263
- , selector: false
264
266
  , placement: 'top'
267
+ , selector: false
268
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
265
269
  , trigger: 'hover'
266
270
  , title: ''
267
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
271
+ , delay: 0
272
+ , html: true
268
273
  }
269
274
 
270
- }( window.jQuery );
275
+ }(window.jQuery);