bootstrap-sass 3.3.4.1 → 3.3.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap-sass might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +4 -3
- data/assets/javascripts/bootstrap-sprockets.js +2 -2
- data/assets/javascripts/bootstrap.js +143 -97
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/affix.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +2 -2
- data/assets/javascripts/bootstrap/button.js +13 -9
- data/assets/javascripts/bootstrap/carousel.js +2 -2
- data/assets/javascripts/bootstrap/collapse.js +2 -2
- data/assets/javascripts/bootstrap/dropdown.js +46 -42
- data/assets/javascripts/bootstrap/modal.js +5 -7
- data/assets/javascripts/bootstrap/popover.js +2 -2
- data/assets/javascripts/bootstrap/scrollspy.js +2 -2
- data/assets/javascripts/bootstrap/tab.js +5 -3
- data/assets/javascripts/bootstrap/tooltip.js +58 -20
- data/assets/javascripts/bootstrap/transition.js +1 -1
- data/assets/stylesheets/_bootstrap.scss +6 -0
- data/assets/stylesheets/bootstrap/_badges.scss +1 -1
- data/assets/stylesheets/bootstrap/_button-groups.scss +3 -2
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -5
- data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
- data/assets/stylesheets/bootstrap/_dropdowns.scss +3 -1
- data/assets/stylesheets/bootstrap/_forms.scss +46 -13
- data/assets/stylesheets/bootstrap/_glyphicons.scss +11 -9
- data/assets/stylesheets/bootstrap/_input-groups.scss +1 -0
- data/assets/stylesheets/bootstrap/_jumbotron.scss +5 -3
- data/assets/stylesheets/bootstrap/_list-group.scss +9 -3
- data/assets/stylesheets/bootstrap/_media.scss +5 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_normalize.scss +8 -11
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
- data/assets/stylesheets/bootstrap/_panels.scss +6 -0
- data/assets/stylesheets/bootstrap/_popovers.scss +4 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -6
- data/assets/stylesheets/bootstrap/_responsive-utilities.scss +4 -2
- data/assets/stylesheets/bootstrap/_scaffolding.scss +1 -2
- data/assets/stylesheets/bootstrap/_theme.scss +23 -5
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -5
- data/assets/stylesheets/bootstrap/_variables.scss +7 -1
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +18 -2
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_hide-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +18 -0
- data/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +2 -1
- data/bower.json +1 -6
- data/lib/bootstrap-sass.rb +1 -1
- data/lib/bootstrap-sass/version.rb +2 -2
- data/package.json +1 -1
- data/tasks/converter/less_conversion.rb +9 -2
- data/templates/project/_bootstrap-variables.sass +8 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c43d0ff42090a42536b5f8c41b42307789e7da
|
4
|
+
data.tar.gz: 4ff995d7bdc39251fd79a0153867204923cacbd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccbdd71b2c148abf5fea1fca53e0ee516907f469fc751a14718df25bf7605e93f4f25204af850ad3ff620ef31a070b7ef4e6ecab97ffc744eacf9c3f158a664e
|
7
|
+
data.tar.gz: ecf8dfa146a672f49410292be15bdd5aba2fa574248779165cb02b540adb5b51c9b5168e1b8f36e3a458b3b1b64403603e11c170361bd891a5ed711f1dea1ca1
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -21,7 +21,7 @@ Please see the appropriate guide for your environment of choice:
|
|
21
21
|
In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default.
|
22
22
|
|
23
23
|
```ruby
|
24
|
-
gem 'bootstrap-sass', '~> 3.3.
|
24
|
+
gem 'bootstrap-sass', '~> 3.3.5'
|
25
25
|
gem 'sass-rails', '>= 3.2'
|
26
26
|
```
|
27
27
|
|
@@ -142,7 +142,7 @@ If this happens, change the import order so that Compass mixins are loaded later
|
|
142
142
|
|
143
143
|
### c. Bower
|
144
144
|
|
145
|
-
bootstrap-sass Bower package is compatible with node-sass
|
145
|
+
bootstrap-sass Bower package is compatible with node-sass 3.2.0+. You can install it with:
|
146
146
|
|
147
147
|
```console
|
148
148
|
$ bower install bootstrap-sass
|
@@ -275,7 +275,7 @@ $navbar-default-color: $light-orange;
|
|
275
275
|
## Version
|
276
276
|
|
277
277
|
Bootstrap for Sass version may differ from the upstream version in the last number, known as
|
278
|
-
[
|
278
|
+
[PATCH](http://semver.org/spec/v2.0.0.html). The patch version may be ahead of the corresponding upstream minor.
|
279
279
|
This happens when we need to release Sass-specific changes.
|
280
280
|
|
281
281
|
Before v3.3.2, Bootstrap for Sass version used to reflect the upstream version, with an additional number for
|
@@ -285,6 +285,7 @@ The upstream versions vs the Bootstrap for Sass versions are:
|
|
285
285
|
|
286
286
|
| Upstream | Sass |
|
287
287
|
|---------:|--------:|
|
288
|
+
| 3.3.5 | 3.3.5 |
|
288
289
|
| 3.3.4 | 3.3.4 |
|
289
290
|
| 3.3.2 | 3.3.3 |
|
290
291
|
| <= 3.3.1 | 3.3.1.x |
|
@@ -4,9 +4,9 @@
|
|
4
4
|
//= require ./bootstrap/carousel
|
5
5
|
//= require ./bootstrap/collapse
|
6
6
|
//= require ./bootstrap/dropdown
|
7
|
-
//= require ./bootstrap/modal
|
8
|
-
//= require ./bootstrap/scrollspy
|
9
7
|
//= require ./bootstrap/tab
|
10
8
|
//= require ./bootstrap/transition
|
9
|
+
//= require ./bootstrap/scrollspy
|
10
|
+
//= require ./bootstrap/modal
|
11
11
|
//= require ./bootstrap/tooltip
|
12
12
|
//= require ./bootstrap/popover
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v3.3.
|
2
|
+
* Bootstrap v3.3.5 (http://getbootstrap.com)
|
3
3
|
* Copyright 2011-2015 Twitter, Inc.
|
4
|
-
* Licensed under MIT
|
4
|
+
* Licensed under the MIT license
|
5
5
|
*/
|
6
6
|
|
7
7
|
if (typeof jQuery === 'undefined') {
|
@@ -17,7 +17,7 @@ if (typeof jQuery === 'undefined') {
|
|
17
17
|
}(jQuery);
|
18
18
|
|
19
19
|
/* ========================================================================
|
20
|
-
* Bootstrap: transition.js v3.3.
|
20
|
+
* Bootstrap: transition.js v3.3.5
|
21
21
|
* http://getbootstrap.com/javascript/#transitions
|
22
22
|
* ========================================================================
|
23
23
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -77,7 +77,7 @@ if (typeof jQuery === 'undefined') {
|
|
77
77
|
}(jQuery);
|
78
78
|
|
79
79
|
/* ========================================================================
|
80
|
-
* Bootstrap: alert.js v3.3.
|
80
|
+
* Bootstrap: alert.js v3.3.5
|
81
81
|
* http://getbootstrap.com/javascript/#alerts
|
82
82
|
* ========================================================================
|
83
83
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
|
|
96
96
|
$(el).on('click', dismiss, this.close)
|
97
97
|
}
|
98
98
|
|
99
|
-
Alert.VERSION = '3.3.
|
99
|
+
Alert.VERSION = '3.3.5'
|
100
100
|
|
101
101
|
Alert.TRANSITION_DURATION = 150
|
102
102
|
|
@@ -172,7 +172,7 @@ if (typeof jQuery === 'undefined') {
|
|
172
172
|
}(jQuery);
|
173
173
|
|
174
174
|
/* ========================================================================
|
175
|
-
* Bootstrap: button.js v3.3.
|
175
|
+
* Bootstrap: button.js v3.3.5
|
176
176
|
* http://getbootstrap.com/javascript/#buttons
|
177
177
|
* ========================================================================
|
178
178
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -192,7 +192,7 @@ if (typeof jQuery === 'undefined') {
|
|
192
192
|
this.isLoading = false
|
193
193
|
}
|
194
194
|
|
195
|
-
Button.VERSION = '3.3.
|
195
|
+
Button.VERSION = '3.3.5'
|
196
196
|
|
197
197
|
Button.DEFAULTS = {
|
198
198
|
loadingText: 'loading...'
|
@@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
|
|
204
204
|
var val = $el.is('input') ? 'val' : 'html'
|
205
205
|
var data = $el.data()
|
206
206
|
|
207
|
-
state
|
207
|
+
state += 'Text'
|
208
208
|
|
209
209
|
if (data.resetText == null) $el.data('resetText', $el[val]())
|
210
210
|
|
@@ -229,15 +229,19 @@ if (typeof jQuery === 'undefined') {
|
|
229
229
|
if ($parent.length) {
|
230
230
|
var $input = this.$element.find('input')
|
231
231
|
if ($input.prop('type') == 'radio') {
|
232
|
-
if ($input.prop('checked')
|
233
|
-
|
232
|
+
if ($input.prop('checked')) changed = false
|
233
|
+
$parent.find('.active').removeClass('active')
|
234
|
+
this.$element.addClass('active')
|
235
|
+
} else if ($input.prop('type') == 'checkbox') {
|
236
|
+
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
|
237
|
+
this.$element.toggleClass('active')
|
234
238
|
}
|
235
|
-
|
239
|
+
$input.prop('checked', this.$element.hasClass('active'))
|
240
|
+
if (changed) $input.trigger('change')
|
236
241
|
} else {
|
237
242
|
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
243
|
+
this.$element.toggleClass('active')
|
238
244
|
}
|
239
|
-
|
240
|
-
if (changed) this.$element.toggleClass('active')
|
241
245
|
}
|
242
246
|
|
243
247
|
|
@@ -280,7 +284,7 @@ if (typeof jQuery === 'undefined') {
|
|
280
284
|
var $btn = $(e.target)
|
281
285
|
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
282
286
|
Plugin.call($btn, 'toggle')
|
283
|
-
e.preventDefault()
|
287
|
+
if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
|
284
288
|
})
|
285
289
|
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
286
290
|
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
@@ -289,7 +293,7 @@ if (typeof jQuery === 'undefined') {
|
|
289
293
|
}(jQuery);
|
290
294
|
|
291
295
|
/* ========================================================================
|
292
|
-
* Bootstrap: carousel.js v3.3.
|
296
|
+
* Bootstrap: carousel.js v3.3.5
|
293
297
|
* http://getbootstrap.com/javascript/#carousel
|
294
298
|
* ========================================================================
|
295
299
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -320,7 +324,7 @@ if (typeof jQuery === 'undefined') {
|
|
320
324
|
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
321
325
|
}
|
322
326
|
|
323
|
-
Carousel.VERSION = '3.3.
|
327
|
+
Carousel.VERSION = '3.3.5'
|
324
328
|
|
325
329
|
Carousel.TRANSITION_DURATION = 600
|
326
330
|
|
@@ -527,7 +531,7 @@ if (typeof jQuery === 'undefined') {
|
|
527
531
|
}(jQuery);
|
528
532
|
|
529
533
|
/* ========================================================================
|
530
|
-
* Bootstrap: collapse.js v3.3.
|
534
|
+
* Bootstrap: collapse.js v3.3.5
|
531
535
|
* http://getbootstrap.com/javascript/#collapse
|
532
536
|
* ========================================================================
|
533
537
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -557,7 +561,7 @@ if (typeof jQuery === 'undefined') {
|
|
557
561
|
if (this.options.toggle) this.toggle()
|
558
562
|
}
|
559
563
|
|
560
|
-
Collapse.VERSION = '3.3.
|
564
|
+
Collapse.VERSION = '3.3.5'
|
561
565
|
|
562
566
|
Collapse.TRANSITION_DURATION = 350
|
563
567
|
|
@@ -739,7 +743,7 @@ if (typeof jQuery === 'undefined') {
|
|
739
743
|
}(jQuery);
|
740
744
|
|
741
745
|
/* ========================================================================
|
742
|
-
* Bootstrap: dropdown.js v3.3.
|
746
|
+
* Bootstrap: dropdown.js v3.3.5
|
743
747
|
* http://getbootstrap.com/javascript/#dropdowns
|
744
748
|
* ========================================================================
|
745
749
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -759,7 +763,41 @@ if (typeof jQuery === 'undefined') {
|
|
759
763
|
$(element).on('click.bs.dropdown', this.toggle)
|
760
764
|
}
|
761
765
|
|
762
|
-
Dropdown.VERSION = '3.3.
|
766
|
+
Dropdown.VERSION = '3.3.5'
|
767
|
+
|
768
|
+
function getParent($this) {
|
769
|
+
var selector = $this.attr('data-target')
|
770
|
+
|
771
|
+
if (!selector) {
|
772
|
+
selector = $this.attr('href')
|
773
|
+
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
774
|
+
}
|
775
|
+
|
776
|
+
var $parent = selector && $(selector)
|
777
|
+
|
778
|
+
return $parent && $parent.length ? $parent : $this.parent()
|
779
|
+
}
|
780
|
+
|
781
|
+
function clearMenus(e) {
|
782
|
+
if (e && e.which === 3) return
|
783
|
+
$(backdrop).remove()
|
784
|
+
$(toggle).each(function () {
|
785
|
+
var $this = $(this)
|
786
|
+
var $parent = getParent($this)
|
787
|
+
var relatedTarget = { relatedTarget: this }
|
788
|
+
|
789
|
+
if (!$parent.hasClass('open')) return
|
790
|
+
|
791
|
+
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
|
792
|
+
|
793
|
+
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
794
|
+
|
795
|
+
if (e.isDefaultPrevented()) return
|
796
|
+
|
797
|
+
$this.attr('aria-expanded', 'false')
|
798
|
+
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
799
|
+
})
|
800
|
+
}
|
763
801
|
|
764
802
|
Dropdown.prototype.toggle = function (e) {
|
765
803
|
var $this = $(this)
|
@@ -774,7 +812,10 @@ if (typeof jQuery === 'undefined') {
|
|
774
812
|
if (!isActive) {
|
775
813
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
776
814
|
// if mobile we use a backdrop because click events don't delegate
|
777
|
-
$('
|
815
|
+
$(document.createElement('div'))
|
816
|
+
.addClass('dropdown-backdrop')
|
817
|
+
.insertAfter($(this))
|
818
|
+
.on('click', clearMenus)
|
778
819
|
}
|
779
820
|
|
780
821
|
var relatedTarget = { relatedTarget: this }
|
@@ -807,57 +848,25 @@ if (typeof jQuery === 'undefined') {
|
|
807
848
|
var $parent = getParent($this)
|
808
849
|
var isActive = $parent.hasClass('open')
|
809
850
|
|
810
|
-
if (
|
851
|
+
if (!isActive && e.which != 27 || isActive && e.which == 27) {
|
811
852
|
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
812
853
|
return $this.trigger('click')
|
813
854
|
}
|
814
855
|
|
815
856
|
var desc = ' li:not(.disabled):visible a'
|
816
|
-
var $items = $parent.find('
|
857
|
+
var $items = $parent.find('.dropdown-menu' + desc)
|
817
858
|
|
818
859
|
if (!$items.length) return
|
819
860
|
|
820
861
|
var index = $items.index(e.target)
|
821
862
|
|
822
|
-
if (e.which == 38 && index > 0) index--
|
823
|
-
if (e.which == 40 && index < $items.length - 1) index++
|
824
|
-
if (!~index)
|
863
|
+
if (e.which == 38 && index > 0) index-- // up
|
864
|
+
if (e.which == 40 && index < $items.length - 1) index++ // down
|
865
|
+
if (!~index) index = 0
|
825
866
|
|
826
867
|
$items.eq(index).trigger('focus')
|
827
868
|
}
|
828
869
|
|
829
|
-
function clearMenus(e) {
|
830
|
-
if (e && e.which === 3) return
|
831
|
-
$(backdrop).remove()
|
832
|
-
$(toggle).each(function () {
|
833
|
-
var $this = $(this)
|
834
|
-
var $parent = getParent($this)
|
835
|
-
var relatedTarget = { relatedTarget: this }
|
836
|
-
|
837
|
-
if (!$parent.hasClass('open')) return
|
838
|
-
|
839
|
-
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
840
|
-
|
841
|
-
if (e.isDefaultPrevented()) return
|
842
|
-
|
843
|
-
$this.attr('aria-expanded', 'false')
|
844
|
-
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
845
|
-
})
|
846
|
-
}
|
847
|
-
|
848
|
-
function getParent($this) {
|
849
|
-
var selector = $this.attr('data-target')
|
850
|
-
|
851
|
-
if (!selector) {
|
852
|
-
selector = $this.attr('href')
|
853
|
-
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
854
|
-
}
|
855
|
-
|
856
|
-
var $parent = selector && $(selector)
|
857
|
-
|
858
|
-
return $parent && $parent.length ? $parent : $this.parent()
|
859
|
-
}
|
860
|
-
|
861
870
|
|
862
871
|
// DROPDOWN PLUGIN DEFINITION
|
863
872
|
// ==========================
|
@@ -895,13 +904,12 @@ if (typeof jQuery === 'undefined') {
|
|
895
904
|
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
896
905
|
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
897
906
|
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
898
|
-
.on('keydown.bs.dropdown.data-api', '
|
899
|
-
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
|
907
|
+
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
|
900
908
|
|
901
909
|
}(jQuery);
|
902
910
|
|
903
911
|
/* ========================================================================
|
904
|
-
* Bootstrap: modal.js v3.3.
|
912
|
+
* Bootstrap: modal.js v3.3.5
|
905
913
|
* http://getbootstrap.com/javascript/#modals
|
906
914
|
* ========================================================================
|
907
915
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -935,7 +943,7 @@ if (typeof jQuery === 'undefined') {
|
|
935
943
|
}
|
936
944
|
}
|
937
945
|
|
938
|
-
Modal.VERSION = '3.3.
|
946
|
+
Modal.VERSION = '3.3.5'
|
939
947
|
|
940
948
|
Modal.TRANSITION_DURATION = 300
|
941
949
|
Modal.BACKDROP_TRANSITION_DURATION = 150
|
@@ -992,9 +1000,7 @@ if (typeof jQuery === 'undefined') {
|
|
992
1000
|
that.$element[0].offsetWidth // force reflow
|
993
1001
|
}
|
994
1002
|
|
995
|
-
that.$element
|
996
|
-
.addClass('in')
|
997
|
-
.attr('aria-hidden', false)
|
1003
|
+
that.$element.addClass('in')
|
998
1004
|
|
999
1005
|
that.enforceFocus()
|
1000
1006
|
|
@@ -1028,7 +1034,6 @@ if (typeof jQuery === 'undefined') {
|
|
1028
1034
|
|
1029
1035
|
this.$element
|
1030
1036
|
.removeClass('in')
|
1031
|
-
.attr('aria-hidden', true)
|
1032
1037
|
.off('click.dismiss.bs.modal')
|
1033
1038
|
.off('mouseup.dismiss.bs.modal')
|
1034
1039
|
|
@@ -1092,7 +1097,8 @@ if (typeof jQuery === 'undefined') {
|
|
1092
1097
|
if (this.isShown && this.options.backdrop) {
|
1093
1098
|
var doAnimate = $.support.transition && animate
|
1094
1099
|
|
1095
|
-
this.$backdrop = $('
|
1100
|
+
this.$backdrop = $(document.createElement('div'))
|
1101
|
+
.addClass('modal-backdrop ' + animate)
|
1096
1102
|
.appendTo(this.$body)
|
1097
1103
|
|
1098
1104
|
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
@@ -1241,7 +1247,7 @@ if (typeof jQuery === 'undefined') {
|
|
1241
1247
|
}(jQuery);
|
1242
1248
|
|
1243
1249
|
/* ========================================================================
|
1244
|
-
* Bootstrap: tooltip.js v3.3.
|
1250
|
+
* Bootstrap: tooltip.js v3.3.5
|
1245
1251
|
* http://getbootstrap.com/javascript/#tooltip
|
1246
1252
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
1247
1253
|
* ========================================================================
|
@@ -1263,11 +1269,12 @@ if (typeof jQuery === 'undefined') {
|
|
1263
1269
|
this.timeout = null
|
1264
1270
|
this.hoverState = null
|
1265
1271
|
this.$element = null
|
1272
|
+
this.inState = null
|
1266
1273
|
|
1267
1274
|
this.init('tooltip', element, options)
|
1268
1275
|
}
|
1269
1276
|
|
1270
|
-
Tooltip.VERSION = '3.3.
|
1277
|
+
Tooltip.VERSION = '3.3.5'
|
1271
1278
|
|
1272
1279
|
Tooltip.TRANSITION_DURATION = 150
|
1273
1280
|
|
@@ -1292,7 +1299,8 @@ if (typeof jQuery === 'undefined') {
|
|
1292
1299
|
this.type = type
|
1293
1300
|
this.$element = $(element)
|
1294
1301
|
this.options = this.getOptions(options)
|
1295
|
-
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
|
1302
|
+
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
1303
|
+
this.inState = { click: false, hover: false, focus: false }
|
1296
1304
|
|
1297
1305
|
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
1298
1306
|
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
|
@@ -1351,16 +1359,20 @@ if (typeof jQuery === 'undefined') {
|
|
1351
1359
|
var self = obj instanceof this.constructor ?
|
1352
1360
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
1353
1361
|
|
1354
|
-
if (self && self.$tip && self.$tip.is(':visible')) {
|
1355
|
-
self.hoverState = 'in'
|
1356
|
-
return
|
1357
|
-
}
|
1358
|
-
|
1359
1362
|
if (!self) {
|
1360
1363
|
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
1361
1364
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
1362
1365
|
}
|
1363
1366
|
|
1367
|
+
if (obj instanceof $.Event) {
|
1368
|
+
self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
|
1369
|
+
}
|
1370
|
+
|
1371
|
+
if (self.tip().hasClass('in') || self.hoverState == 'in') {
|
1372
|
+
self.hoverState = 'in'
|
1373
|
+
return
|
1374
|
+
}
|
1375
|
+
|
1364
1376
|
clearTimeout(self.timeout)
|
1365
1377
|
|
1366
1378
|
self.hoverState = 'in'
|
@@ -1372,6 +1384,14 @@ if (typeof jQuery === 'undefined') {
|
|
1372
1384
|
}, self.options.delay.show)
|
1373
1385
|
}
|
1374
1386
|
|
1387
|
+
Tooltip.prototype.isInStateTrue = function () {
|
1388
|
+
for (var key in this.inState) {
|
1389
|
+
if (this.inState[key]) return true
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
return false
|
1393
|
+
}
|
1394
|
+
|
1375
1395
|
Tooltip.prototype.leave = function (obj) {
|
1376
1396
|
var self = obj instanceof this.constructor ?
|
1377
1397
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
@@ -1381,6 +1401,12 @@ if (typeof jQuery === 'undefined') {
|
|
1381
1401
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
1382
1402
|
}
|
1383
1403
|
|
1404
|
+
if (obj instanceof $.Event) {
|
1405
|
+
self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
|
1406
|
+
}
|
1407
|
+
|
1408
|
+
if (self.isInStateTrue()) return
|
1409
|
+
|
1384
1410
|
clearTimeout(self.timeout)
|
1385
1411
|
|
1386
1412
|
self.hoverState = 'out'
|
@@ -1427,6 +1453,7 @@ if (typeof jQuery === 'undefined') {
|
|
1427
1453
|
.data('bs.' + this.type, this)
|
1428
1454
|
|
1429
1455
|
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
1456
|
+
this.$element.trigger('inserted.bs.' + this.type)
|
1430
1457
|
|
1431
1458
|
var pos = this.getPosition()
|
1432
1459
|
var actualWidth = $tip[0].offsetWidth
|
@@ -1434,13 +1461,12 @@ if (typeof jQuery === 'undefined') {
|
|
1434
1461
|
|
1435
1462
|
if (autoPlace) {
|
1436
1463
|
var orgPlacement = placement
|
1437
|
-
var
|
1438
|
-
var containerDim = this.getPosition($container)
|
1464
|
+
var viewportDim = this.getPosition(this.$viewport)
|
1439
1465
|
|
1440
|
-
placement = placement == 'bottom' && pos.bottom + actualHeight >
|
1441
|
-
placement == 'top' && pos.top - actualHeight <
|
1442
|
-
placement == 'right' && pos.right + actualWidth >
|
1443
|
-
placement == 'left' && pos.left - actualWidth <
|
1466
|
+
placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
|
1467
|
+
placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
|
1468
|
+
placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
|
1469
|
+
placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
|
1444
1470
|
placement
|
1445
1471
|
|
1446
1472
|
$tip
|
@@ -1481,8 +1507,8 @@ if (typeof jQuery === 'undefined') {
|
|
1481
1507
|
if (isNaN(marginTop)) marginTop = 0
|
1482
1508
|
if (isNaN(marginLeft)) marginLeft = 0
|
1483
1509
|
|
1484
|
-
offset.top
|
1485
|
-
offset.left
|
1510
|
+
offset.top += marginTop
|
1511
|
+
offset.left += marginLeft
|
1486
1512
|
|
1487
1513
|
// $.fn.offset doesn't round pixel values
|
1488
1514
|
// so we use setOffset directly with our own function B-0
|
@@ -1564,7 +1590,7 @@ if (typeof jQuery === 'undefined') {
|
|
1564
1590
|
|
1565
1591
|
Tooltip.prototype.fixTitle = function () {
|
1566
1592
|
var $e = this.$element
|
1567
|
-
if ($e.attr('title') || typeof
|
1593
|
+
if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
|
1568
1594
|
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
1569
1595
|
}
|
1570
1596
|
}
|
@@ -1619,7 +1645,7 @@ if (typeof jQuery === 'undefined') {
|
|
1619
1645
|
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
1620
1646
|
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
1621
1647
|
delta.left = viewportDimensions.left - leftEdgeOffset
|
1622
|
-
} else if (rightEdgeOffset > viewportDimensions.
|
1648
|
+
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
|
1623
1649
|
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
1624
1650
|
}
|
1625
1651
|
}
|
@@ -1645,7 +1671,13 @@ if (typeof jQuery === 'undefined') {
|
|
1645
1671
|
}
|
1646
1672
|
|
1647
1673
|
Tooltip.prototype.tip = function () {
|
1648
|
-
|
1674
|
+
if (!this.$tip) {
|
1675
|
+
this.$tip = $(this.options.template)
|
1676
|
+
if (this.$tip.length != 1) {
|
1677
|
+
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
|
1678
|
+
}
|
1679
|
+
}
|
1680
|
+
return this.$tip
|
1649
1681
|
}
|
1650
1682
|
|
1651
1683
|
Tooltip.prototype.arrow = function () {
|
@@ -1674,7 +1706,13 @@ if (typeof jQuery === 'undefined') {
|
|
1674
1706
|
}
|
1675
1707
|
}
|
1676
1708
|
|
1677
|
-
|
1709
|
+
if (e) {
|
1710
|
+
self.inState.click = !self.inState.click
|
1711
|
+
if (self.isInStateTrue()) self.enter(self)
|
1712
|
+
else self.leave(self)
|
1713
|
+
} else {
|
1714
|
+
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
1715
|
+
}
|
1678
1716
|
}
|
1679
1717
|
|
1680
1718
|
Tooltip.prototype.destroy = function () {
|
@@ -1682,6 +1720,12 @@ if (typeof jQuery === 'undefined') {
|
|
1682
1720
|
clearTimeout(this.timeout)
|
1683
1721
|
this.hide(function () {
|
1684
1722
|
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
1723
|
+
if (that.$tip) {
|
1724
|
+
that.$tip.detach()
|
1725
|
+
}
|
1726
|
+
that.$tip = null
|
1727
|
+
that.$arrow = null
|
1728
|
+
that.$viewport = null
|
1685
1729
|
})
|
1686
1730
|
}
|
1687
1731
|
|
@@ -1718,7 +1762,7 @@ if (typeof jQuery === 'undefined') {
|
|
1718
1762
|
}(jQuery);
|
1719
1763
|
|
1720
1764
|
/* ========================================================================
|
1721
|
-
* Bootstrap: popover.js v3.3.
|
1765
|
+
* Bootstrap: popover.js v3.3.5
|
1722
1766
|
* http://getbootstrap.com/javascript/#popovers
|
1723
1767
|
* ========================================================================
|
1724
1768
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -1738,7 +1782,7 @@ if (typeof jQuery === 'undefined') {
|
|
1738
1782
|
|
1739
1783
|
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
1740
1784
|
|
1741
|
-
Popover.VERSION = '3.3.
|
1785
|
+
Popover.VERSION = '3.3.5'
|
1742
1786
|
|
1743
1787
|
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
1744
1788
|
placement: 'right',
|
@@ -1827,7 +1871,7 @@ if (typeof jQuery === 'undefined') {
|
|
1827
1871
|
}(jQuery);
|
1828
1872
|
|
1829
1873
|
/* ========================================================================
|
1830
|
-
* Bootstrap: scrollspy.js v3.3.
|
1874
|
+
* Bootstrap: scrollspy.js v3.3.5
|
1831
1875
|
* http://getbootstrap.com/javascript/#scrollspy
|
1832
1876
|
* ========================================================================
|
1833
1877
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -1856,7 +1900,7 @@ if (typeof jQuery === 'undefined') {
|
|
1856
1900
|
this.process()
|
1857
1901
|
}
|
1858
1902
|
|
1859
|
-
ScrollSpy.VERSION = '3.3.
|
1903
|
+
ScrollSpy.VERSION = '3.3.5'
|
1860
1904
|
|
1861
1905
|
ScrollSpy.DEFAULTS = {
|
1862
1906
|
offset: 10
|
@@ -2000,7 +2044,7 @@ if (typeof jQuery === 'undefined') {
|
|
2000
2044
|
}(jQuery);
|
2001
2045
|
|
2002
2046
|
/* ========================================================================
|
2003
|
-
* Bootstrap: tab.js v3.3.
|
2047
|
+
* Bootstrap: tab.js v3.3.5
|
2004
2048
|
* http://getbootstrap.com/javascript/#tabs
|
2005
2049
|
* ========================================================================
|
2006
2050
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -2015,10 +2059,12 @@ if (typeof jQuery === 'undefined') {
|
|
2015
2059
|
// ====================
|
2016
2060
|
|
2017
2061
|
var Tab = function (element) {
|
2062
|
+
// jscs:disable requireDollarBeforejQueryAssignment
|
2018
2063
|
this.element = $(element)
|
2064
|
+
// jscs:enable requireDollarBeforejQueryAssignment
|
2019
2065
|
}
|
2020
2066
|
|
2021
|
-
Tab.VERSION = '3.3.
|
2067
|
+
Tab.VERSION = '3.3.5'
|
2022
2068
|
|
2023
2069
|
Tab.TRANSITION_DURATION = 150
|
2024
2070
|
|
@@ -2066,7 +2112,7 @@ if (typeof jQuery === 'undefined') {
|
|
2066
2112
|
var $active = container.find('> .active')
|
2067
2113
|
var transition = callback
|
2068
2114
|
&& $.support.transition
|
2069
|
-
&& (
|
2115
|
+
&& ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
|
2070
2116
|
|
2071
2117
|
function next() {
|
2072
2118
|
$active
|
@@ -2154,7 +2200,7 @@ if (typeof jQuery === 'undefined') {
|
|
2154
2200
|
}(jQuery);
|
2155
2201
|
|
2156
2202
|
/* ========================================================================
|
2157
|
-
* Bootstrap: affix.js v3.3.
|
2203
|
+
* Bootstrap: affix.js v3.3.5
|
2158
2204
|
* http://getbootstrap.com/javascript/#affix
|
2159
2205
|
* ========================================================================
|
2160
2206
|
* Copyright 2011-2015 Twitter, Inc.
|
@@ -2183,7 +2229,7 @@ if (typeof jQuery === 'undefined') {
|
|
2183
2229
|
this.checkPosition()
|
2184
2230
|
}
|
2185
2231
|
|
2186
|
-
Affix.VERSION = '3.3.
|
2232
|
+
Affix.VERSION = '3.3.5'
|
2187
2233
|
|
2188
2234
|
Affix.RESET = 'affix affix-top affix-bottom'
|
2189
2235
|
|
@@ -2233,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
|
|
2233
2279
|
var offset = this.options.offset
|
2234
2280
|
var offsetTop = offset.top
|
2235
2281
|
var offsetBottom = offset.bottom
|
2236
|
-
var scrollHeight = $(document.body).height()
|
2282
|
+
var scrollHeight = Math.max($(document).height(), $(document.body).height())
|
2237
2283
|
|
2238
2284
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
2239
2285
|
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|