bootstrap-sass 3.3.4.1 → 3.3.5
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.
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)
|