bootstrap 4.0.0.alpha5 → 4.0.0.alpha6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +7 -4
- data/assets/javascripts/bootstrap.js +312 -207
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +9 -5
- data/assets/javascripts/bootstrap/button.js +5 -5
- data/assets/javascripts/bootstrap/carousel.js +52 -28
- data/assets/javascripts/bootstrap/collapse.js +19 -11
- data/assets/javascripts/bootstrap/dropdown.js +21 -19
- data/assets/javascripts/bootstrap/modal.js +69 -43
- data/assets/javascripts/bootstrap/popover.js +4 -4
- data/assets/javascripts/bootstrap/scrollspy.js +20 -11
- data/assets/javascripts/bootstrap/tab.js +19 -14
- data/assets/javascripts/bootstrap/tooltip.js +54 -22
- data/assets/javascripts/bootstrap/util.js +7 -12
- data/assets/stylesheets/_bootstrap-grid.scss +23 -3
- data/assets/stylesheets/_bootstrap-reboot.scss +2 -3
- data/assets/stylesheets/_bootstrap.scss +6 -6
- data/assets/stylesheets/bootstrap/_alert.scss +3 -4
- data/assets/stylesheets/bootstrap/_badge.scss +77 -0
- data/assets/stylesheets/bootstrap/_button-group.scss +18 -51
- data/assets/stylesheets/bootstrap/_buttons.scss +14 -20
- data/assets/stylesheets/bootstrap/_card.scss +30 -76
- data/assets/stylesheets/bootstrap/_carousel.scss +96 -171
- data/assets/stylesheets/bootstrap/_close.scss +3 -3
- data/assets/stylesheets/bootstrap/_code.scss +7 -0
- data/assets/stylesheets/bootstrap/_custom-forms.scss +13 -12
- data/assets/stylesheets/bootstrap/_dropdown.scss +17 -36
- data/assets/stylesheets/bootstrap/_forms.scss +61 -47
- data/assets/stylesheets/bootstrap/_grid.scss +13 -0
- data/assets/stylesheets/bootstrap/_images.scss +2 -2
- data/assets/stylesheets/bootstrap/_input-group.scss +17 -27
- data/assets/stylesheets/bootstrap/_list-group.scss +79 -63
- data/assets/stylesheets/bootstrap/_media.scss +5 -78
- data/assets/stylesheets/bootstrap/_mixins.scss +8 -5
- data/assets/stylesheets/bootstrap/_modal.scss +21 -13
- data/assets/stylesheets/bootstrap/_nav.scss +30 -68
- data/assets/stylesheets/bootstrap/_navbar.scss +131 -178
- data/assets/stylesheets/bootstrap/_normalize.scss +133 -94
- data/assets/stylesheets/bootstrap/_pagination.scss +16 -22
- data/assets/stylesheets/bootstrap/_popover.scss +3 -3
- data/assets/stylesheets/bootstrap/_print.scss +5 -8
- data/assets/stylesheets/bootstrap/_progress.scss +14 -127
- data/assets/stylesheets/bootstrap/_reboot.scss +16 -15
- data/assets/stylesheets/bootstrap/_responsive-embed.scss +18 -5
- data/assets/stylesheets/bootstrap/_tables.scss +13 -56
- data/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
- data/assets/stylesheets/bootstrap/{_animation.scss → _transitions.scss} +6 -8
- data/assets/stylesheets/bootstrap/_type.scss +5 -12
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -0
- data/assets/stylesheets/bootstrap/_variables.scss +320 -216
- data/assets/stylesheets/bootstrap/mixins/{_tag.scss → _badge.scss} +2 -2
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +25 -16
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +31 -58
- data/assets/stylesheets/bootstrap/mixins/_cards.scss +3 -0
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +3 -5
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -7
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +19 -23
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +19 -26
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -5
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transforms.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_align.scss +5 -5
- data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +10 -3
- data/assets/stylesheets/bootstrap/utilities/_display.scss +13 -8
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +42 -31
- data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -9
- data/assets/stylesheets/bootstrap/utilities/_position.scss +23 -0
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +10 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +36 -37
- data/assets/stylesheets/bootstrap/utilities/_text.scss +14 -12
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/scss.rb +3 -5
- data/templates/project/_bootstrap-variables.scss +321 -217
- metadata +10 -10
- data/assets/stylesheets/_bootstrap-flex.scss +0 -8
- data/assets/stylesheets/bootstrap/_tags.scss +0 -77
- data/assets/stylesheets/bootstrap/mixins/_progress.scss +0 -23
- data/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
- data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d180a69e0c7dbefd63219ca59c3baffae843676
|
4
|
+
data.tar.gz: b757df00875d03cc153c13e4aa27dd1d013fbce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 776760a7de9f3b666eaae0cb084412d11385e441536d610c4b31b756bed9f6e9a1cdc9f183c7be44076718a26a920f845b85dcc14fa4ef68e660f1f2dbc4b542
|
7
|
+
data.tar.gz: e259b489f25fe9afa1df5c85abce20ab1c474d940c0980b1eca95ed0fb92814ab81994030b4c4f7fb4af4916442088307f4e21b9cf875a5d29b2a00625d7be11
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ Please see the appropriate guide for your environment of choice:
|
|
17
17
|
Add `bootstrap` to your Gemfile:
|
18
18
|
|
19
19
|
```ruby
|
20
|
-
gem 'bootstrap', '~> 4.0.0.
|
20
|
+
gem 'bootstrap', '~> 4.0.0.alpha6'
|
21
21
|
```
|
22
22
|
|
23
23
|
Ensure that `sprockets-rails` is at least v2.3.2.
|
@@ -27,10 +27,12 @@ Ensure that `sprockets-rails` is at least v2.3.2.
|
|
27
27
|
Import Bootstrap styles in `app/assets/stylesheets/application.scss`:
|
28
28
|
|
29
29
|
```scss
|
30
|
-
// Custom bootstrap variables must be set or imported before bootstrap
|
30
|
+
// Custom bootstrap variables must be set or imported *before* bootstrap.
|
31
31
|
@import "bootstrap";
|
32
32
|
```
|
33
33
|
|
34
|
+
The available variables can be found [here][bootstrap-variables.scss].
|
35
|
+
|
34
36
|
Make sure the file has `.scss` extension (or `.sass` for Sass syntax). If you have just generated a new Rails app,
|
35
37
|
it may come with a `.css` file instead. If this file exists, it will be served instead of Sass, so rename it:
|
36
38
|
|
@@ -61,7 +63,7 @@ If you use them, add tether to the Gemfile:
|
|
61
63
|
|
62
64
|
```ruby
|
63
65
|
source 'https://rails-assets.org' do
|
64
|
-
gem 'rails-assets-tether', '>= 1.
|
66
|
+
gem 'rails-assets-tether', '>= 1.3.3'
|
65
67
|
end
|
66
68
|
```
|
67
69
|
|
@@ -78,7 +80,7 @@ Then, run `bundle`, restart the server, and require tether before bootstrap but
|
|
78
80
|
Install the gem:
|
79
81
|
|
80
82
|
```console
|
81
|
-
$ gem install bootstrap -v 4.0.0.
|
83
|
+
$ gem install bootstrap -v 4.0.0.alpha6
|
82
84
|
```
|
83
85
|
|
84
86
|
**If you have an existing Compass project:**
|
@@ -139,5 +141,6 @@ In the application Sass file, replace `@import 'bootstrap'` with:
|
|
139
141
|
```
|
140
142
|
|
141
143
|
[bootstrap-home]: http://v4-alpha.getbootstrap.com/
|
144
|
+
[bootstrap-variables.scss]: https://github.com/twbs/bootstrap-rubygem/blob/master/templates/project/_bootstrap-variables.scss
|
142
145
|
[autoprefixer]: https://github.com/ai/autoprefixer
|
143
146
|
[tether]: http://github.hubspot.com/tether/
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v4.0.0-alpha.
|
3
|
-
* Copyright 2011-
|
2
|
+
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
|
3
|
+
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
*/
|
6
6
|
|
7
7
|
if (typeof jQuery === 'undefined') {
|
8
|
-
throw new Error('Bootstrap\'s JavaScript requires jQuery')
|
8
|
+
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
|
9
9
|
}
|
10
10
|
|
11
11
|
+function ($) {
|
@@ -30,7 +30,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
30
30
|
|
31
31
|
/**
|
32
32
|
* --------------------------------------------------------------------------
|
33
|
-
* Bootstrap (v4.0.0-alpha.
|
33
|
+
* Bootstrap (v4.0.0-alpha.6): util.js
|
34
34
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
35
35
|
* --------------------------------------------------------------------------
|
36
36
|
*/
|
@@ -85,7 +85,9 @@ var Util = function ($) {
|
|
85
85
|
|
86
86
|
for (var name in TransitionEndEvent) {
|
87
87
|
if (el.style[name] !== undefined) {
|
88
|
-
return {
|
88
|
+
return {
|
89
|
+
end: TransitionEndEvent[name]
|
90
|
+
};
|
89
91
|
}
|
90
92
|
}
|
91
93
|
|
@@ -132,9 +134,8 @@ var Util = function ($) {
|
|
132
134
|
|
133
135
|
getUID: function getUID(prefix) {
|
134
136
|
do {
|
135
|
-
|
137
|
+
// eslint-disable-next-line no-bitwise
|
136
138
|
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
|
137
|
-
/* eslint-enable no-bitwise */
|
138
139
|
} while (document.getElementById(prefix));
|
139
140
|
return prefix;
|
140
141
|
},
|
@@ -149,7 +150,7 @@ var Util = function ($) {
|
|
149
150
|
return selector;
|
150
151
|
},
|
151
152
|
reflow: function reflow(element) {
|
152
|
-
|
153
|
+
return element.offsetHeight;
|
153
154
|
},
|
154
155
|
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
155
156
|
$(element).trigger(transition.end);
|
@@ -162,13 +163,7 @@ var Util = function ($) {
|
|
162
163
|
if (configTypes.hasOwnProperty(property)) {
|
163
164
|
var expectedTypes = configTypes[property];
|
164
165
|
var value = config[property];
|
165
|
-
var valueType =
|
166
|
-
|
167
|
-
if (value && isElement(value)) {
|
168
|
-
valueType = 'element';
|
169
|
-
} else {
|
170
|
-
valueType = toType(value);
|
171
|
-
}
|
166
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
172
167
|
|
173
168
|
if (!new RegExp(expectedTypes).test(valueType)) {
|
174
169
|
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
|
@@ -185,7 +180,7 @@ var Util = function ($) {
|
|
185
180
|
|
186
181
|
/**
|
187
182
|
* --------------------------------------------------------------------------
|
188
|
-
* Bootstrap (v4.0.0-alpha.
|
183
|
+
* Bootstrap (v4.0.0-alpha.6): alert.js
|
189
184
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
190
185
|
* --------------------------------------------------------------------------
|
191
186
|
*/
|
@@ -199,7 +194,7 @@ var Alert = function ($) {
|
|
199
194
|
*/
|
200
195
|
|
201
196
|
var NAME = 'alert';
|
202
|
-
var VERSION = '4.0.0-alpha.
|
197
|
+
var VERSION = '4.0.0-alpha.6';
|
203
198
|
var DATA_KEY = 'bs.alert';
|
204
199
|
var EVENT_KEY = '.' + DATA_KEY;
|
205
200
|
var DATA_API_KEY = '.data-api';
|
@@ -219,7 +214,7 @@ var Alert = function ($) {
|
|
219
214
|
var ClassName = {
|
220
215
|
ALERT: 'alert',
|
221
216
|
FADE: 'fade',
|
222
|
-
|
217
|
+
SHOW: 'show'
|
223
218
|
};
|
224
219
|
|
225
220
|
/**
|
@@ -282,14 +277,18 @@ var Alert = function ($) {
|
|
282
277
|
};
|
283
278
|
|
284
279
|
Alert.prototype._removeElement = function _removeElement(element) {
|
285
|
-
|
280
|
+
var _this2 = this;
|
281
|
+
|
282
|
+
$(element).removeClass(ClassName.SHOW);
|
286
283
|
|
287
284
|
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
|
288
285
|
this._destroyElement(element);
|
289
286
|
return;
|
290
287
|
}
|
291
288
|
|
292
|
-
$(element).one(Util.TRANSITION_END,
|
289
|
+
$(element).one(Util.TRANSITION_END, function (event) {
|
290
|
+
return _this2._destroyElement(element, event);
|
291
|
+
}).emulateTransitionEnd(TRANSITION_DURATION);
|
293
292
|
};
|
294
293
|
|
295
294
|
Alert.prototype._destroyElement = function _destroyElement(element) {
|
@@ -360,7 +359,7 @@ var Alert = function ($) {
|
|
360
359
|
|
361
360
|
/**
|
362
361
|
* --------------------------------------------------------------------------
|
363
|
-
* Bootstrap (v4.0.0-alpha.
|
362
|
+
* Bootstrap (v4.0.0-alpha.6): button.js
|
364
363
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
365
364
|
* --------------------------------------------------------------------------
|
366
365
|
*/
|
@@ -374,7 +373,7 @@ var Button = function ($) {
|
|
374
373
|
*/
|
375
374
|
|
376
375
|
var NAME = 'button';
|
377
|
-
var VERSION = '4.0.0-alpha.
|
376
|
+
var VERSION = '4.0.0-alpha.6';
|
378
377
|
var DATA_KEY = 'bs.button';
|
379
378
|
var EVENT_KEY = '.' + DATA_KEY;
|
380
379
|
var DATA_API_KEY = '.data-api';
|
@@ -438,15 +437,15 @@ var Button = function ($) {
|
|
438
437
|
|
439
438
|
if (triggerChangeEvent) {
|
440
439
|
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
|
441
|
-
$(
|
440
|
+
$(input).trigger('change');
|
442
441
|
}
|
443
442
|
|
444
443
|
input.focus();
|
445
444
|
}
|
446
|
-
} else {
|
447
|
-
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
|
448
445
|
}
|
449
446
|
|
447
|
+
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
|
448
|
+
|
450
449
|
if (triggerChangeEvent) {
|
451
450
|
$(this._element).toggleClass(ClassName.ACTIVE);
|
452
451
|
}
|
@@ -523,7 +522,7 @@ var Button = function ($) {
|
|
523
522
|
|
524
523
|
/**
|
525
524
|
* --------------------------------------------------------------------------
|
526
|
-
* Bootstrap (v4.0.0-alpha.
|
525
|
+
* Bootstrap (v4.0.0-alpha.6): carousel.js
|
527
526
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
528
527
|
* --------------------------------------------------------------------------
|
529
528
|
*/
|
@@ -537,7 +536,7 @@ var Carousel = function ($) {
|
|
537
536
|
*/
|
538
537
|
|
539
538
|
var NAME = 'carousel';
|
540
|
-
var VERSION = '4.0.0-alpha.
|
539
|
+
var VERSION = '4.0.0-alpha.6';
|
541
540
|
var DATA_KEY = 'bs.carousel';
|
542
541
|
var EVENT_KEY = '.' + DATA_KEY;
|
543
542
|
var DATA_API_KEY = '.data-api';
|
@@ -564,7 +563,9 @@ var Carousel = function ($) {
|
|
564
563
|
|
565
564
|
var Direction = {
|
566
565
|
NEXT: 'next',
|
567
|
-
|
566
|
+
PREV: 'prev',
|
567
|
+
LEFT: 'left',
|
568
|
+
RIGHT: 'right'
|
568
569
|
};
|
569
570
|
|
570
571
|
var Event = {
|
@@ -581,8 +582,10 @@ var Carousel = function ($) {
|
|
581
582
|
CAROUSEL: 'carousel',
|
582
583
|
ACTIVE: 'active',
|
583
584
|
SLIDE: 'slide',
|
584
|
-
RIGHT: 'right',
|
585
|
-
LEFT: 'left',
|
585
|
+
RIGHT: 'carousel-item-right',
|
586
|
+
LEFT: 'carousel-item-left',
|
587
|
+
NEXT: 'carousel-item-next',
|
588
|
+
PREV: 'carousel-item-prev',
|
586
589
|
ITEM: 'carousel-item'
|
587
590
|
};
|
588
591
|
|
@@ -590,7 +593,7 @@ var Carousel = function ($) {
|
|
590
593
|
ACTIVE: '.active',
|
591
594
|
ACTIVE_ITEM: '.active.carousel-item',
|
592
595
|
ITEM: '.carousel-item',
|
593
|
-
NEXT_PREV: '.next, .prev',
|
596
|
+
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
|
594
597
|
INDICATORS: '.carousel-indicators',
|
595
598
|
DATA_SLIDE: '[data-slide], [data-slide-to]',
|
596
599
|
DATA_RIDE: '[data-ride="carousel"]'
|
@@ -625,9 +628,10 @@ var Carousel = function ($) {
|
|
625
628
|
// public
|
626
629
|
|
627
630
|
Carousel.prototype.next = function next() {
|
628
|
-
if (
|
629
|
-
|
631
|
+
if (this._isSliding) {
|
632
|
+
throw new Error('Carousel is sliding');
|
630
633
|
}
|
634
|
+
this._slide(Direction.NEXT);
|
631
635
|
};
|
632
636
|
|
633
637
|
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
|
@@ -638,9 +642,10 @@ var Carousel = function ($) {
|
|
638
642
|
};
|
639
643
|
|
640
644
|
Carousel.prototype.prev = function prev() {
|
641
|
-
if (
|
642
|
-
|
645
|
+
if (this._isSliding) {
|
646
|
+
throw new Error('Carousel is sliding');
|
643
647
|
}
|
648
|
+
this._slide(Direction.PREVIOUS);
|
644
649
|
};
|
645
650
|
|
646
651
|
Carousel.prototype.pause = function pause(event) {
|
@@ -668,12 +673,12 @@ var Carousel = function ($) {
|
|
668
673
|
}
|
669
674
|
|
670
675
|
if (this._config.interval && !this._isPaused) {
|
671
|
-
this._interval = setInterval(
|
676
|
+
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
|
672
677
|
}
|
673
678
|
};
|
674
679
|
|
675
680
|
Carousel.prototype.to = function to(index) {
|
676
|
-
var
|
681
|
+
var _this3 = this;
|
677
682
|
|
678
683
|
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
|
679
684
|
|
@@ -685,7 +690,7 @@ var Carousel = function ($) {
|
|
685
690
|
|
686
691
|
if (this._isSliding) {
|
687
692
|
$(this._element).one(Event.SLID, function () {
|
688
|
-
return
|
693
|
+
return _this3.to(index);
|
689
694
|
});
|
690
695
|
return;
|
691
696
|
}
|
@@ -724,27 +729,35 @@ var Carousel = function ($) {
|
|
724
729
|
};
|
725
730
|
|
726
731
|
Carousel.prototype._addEventListeners = function _addEventListeners() {
|
732
|
+
var _this4 = this;
|
733
|
+
|
727
734
|
if (this._config.keyboard) {
|
728
|
-
$(this._element).on(Event.KEYDOWN,
|
735
|
+
$(this._element).on(Event.KEYDOWN, function (event) {
|
736
|
+
return _this4._keydown(event);
|
737
|
+
});
|
729
738
|
}
|
730
739
|
|
731
740
|
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
|
732
|
-
$(this._element).on(Event.MOUSEENTER,
|
741
|
+
$(this._element).on(Event.MOUSEENTER, function (event) {
|
742
|
+
return _this4.pause(event);
|
743
|
+
}).on(Event.MOUSELEAVE, function (event) {
|
744
|
+
return _this4.cycle(event);
|
745
|
+
});
|
733
746
|
}
|
734
747
|
};
|
735
748
|
|
736
749
|
Carousel.prototype._keydown = function _keydown(event) {
|
737
|
-
event.preventDefault();
|
738
|
-
|
739
750
|
if (/input|textarea/i.test(event.target.tagName)) {
|
740
751
|
return;
|
741
752
|
}
|
742
753
|
|
743
754
|
switch (event.which) {
|
744
755
|
case ARROW_LEFT_KEYCODE:
|
756
|
+
event.preventDefault();
|
745
757
|
this.prev();
|
746
758
|
break;
|
747
759
|
case ARROW_RIGHT_KEYCODE:
|
760
|
+
event.preventDefault();
|
748
761
|
this.next();
|
749
762
|
break;
|
750
763
|
default:
|
@@ -774,10 +787,10 @@ var Carousel = function ($) {
|
|
774
787
|
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
|
775
788
|
};
|
776
789
|
|
777
|
-
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget,
|
790
|
+
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
|
778
791
|
var slideEvent = $.Event(Event.SLIDE, {
|
779
792
|
relatedTarget: relatedTarget,
|
780
|
-
direction:
|
793
|
+
direction: eventDirectionName
|
781
794
|
});
|
782
795
|
|
783
796
|
$(this._element).trigger(slideEvent);
|
@@ -798,21 +811,33 @@ var Carousel = function ($) {
|
|
798
811
|
};
|
799
812
|
|
800
813
|
Carousel.prototype._slide = function _slide(direction, element) {
|
801
|
-
var
|
814
|
+
var _this5 = this;
|
802
815
|
|
803
816
|
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
|
804
817
|
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
|
805
818
|
|
806
819
|
var isCycling = Boolean(this._interval);
|
807
820
|
|
808
|
-
var directionalClassName =
|
821
|
+
var directionalClassName = void 0;
|
822
|
+
var orderClassName = void 0;
|
823
|
+
var eventDirectionName = void 0;
|
824
|
+
|
825
|
+
if (direction === Direction.NEXT) {
|
826
|
+
directionalClassName = ClassName.LEFT;
|
827
|
+
orderClassName = ClassName.NEXT;
|
828
|
+
eventDirectionName = Direction.LEFT;
|
829
|
+
} else {
|
830
|
+
directionalClassName = ClassName.RIGHT;
|
831
|
+
orderClassName = ClassName.PREV;
|
832
|
+
eventDirectionName = Direction.RIGHT;
|
833
|
+
}
|
809
834
|
|
810
835
|
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
|
811
836
|
this._isSliding = false;
|
812
837
|
return;
|
813
838
|
}
|
814
839
|
|
815
|
-
var slideEvent = this._triggerSlideEvent(nextElement,
|
840
|
+
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
|
816
841
|
if (slideEvent.isDefaultPrevented()) {
|
817
842
|
return;
|
818
843
|
}
|
@@ -832,12 +857,12 @@ var Carousel = function ($) {
|
|
832
857
|
|
833
858
|
var slidEvent = $.Event(Event.SLID, {
|
834
859
|
relatedTarget: nextElement,
|
835
|
-
direction:
|
860
|
+
direction: eventDirectionName
|
836
861
|
});
|
837
862
|
|
838
863
|
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
|
839
864
|
|
840
|
-
$(nextElement).addClass(
|
865
|
+
$(nextElement).addClass(orderClassName);
|
841
866
|
|
842
867
|
Util.reflow(nextElement);
|
843
868
|
|
@@ -845,16 +870,14 @@ var Carousel = function ($) {
|
|
845
870
|
$(nextElement).addClass(directionalClassName);
|
846
871
|
|
847
872
|
$(activeElement).one(Util.TRANSITION_END, function () {
|
848
|
-
$(nextElement).removeClass(directionalClassName).
|
873
|
+
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
|
849
874
|
|
850
|
-
$(
|
875
|
+
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
|
851
876
|
|
852
|
-
|
853
|
-
|
854
|
-
_this3._isSliding = false;
|
877
|
+
_this5._isSliding = false;
|
855
878
|
|
856
879
|
setTimeout(function () {
|
857
|
-
return $(
|
880
|
+
return $(_this5._element).trigger(slidEvent);
|
858
881
|
}, 0);
|
859
882
|
}).emulateTransitionEnd(TRANSITION_DURATION);
|
860
883
|
} else {
|
@@ -979,7 +1002,7 @@ var Carousel = function ($) {
|
|
979
1002
|
|
980
1003
|
/**
|
981
1004
|
* --------------------------------------------------------------------------
|
982
|
-
* Bootstrap (v4.0.0-alpha.
|
1005
|
+
* Bootstrap (v4.0.0-alpha.6): collapse.js
|
983
1006
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
984
1007
|
* --------------------------------------------------------------------------
|
985
1008
|
*/
|
@@ -993,7 +1016,7 @@ var Collapse = function ($) {
|
|
993
1016
|
*/
|
994
1017
|
|
995
1018
|
var NAME = 'collapse';
|
996
|
-
var VERSION = '4.0.0-alpha.
|
1019
|
+
var VERSION = '4.0.0-alpha.6';
|
997
1020
|
var DATA_KEY = 'bs.collapse';
|
998
1021
|
var EVENT_KEY = '.' + DATA_KEY;
|
999
1022
|
var DATA_API_KEY = '.data-api';
|
@@ -1019,7 +1042,7 @@ var Collapse = function ($) {
|
|
1019
1042
|
};
|
1020
1043
|
|
1021
1044
|
var ClassName = {
|
1022
|
-
|
1045
|
+
SHOW: 'show',
|
1023
1046
|
COLLAPSE: 'collapse',
|
1024
1047
|
COLLAPSING: 'collapsing',
|
1025
1048
|
COLLAPSED: 'collapsed'
|
@@ -1031,7 +1054,7 @@ var Collapse = function ($) {
|
|
1031
1054
|
};
|
1032
1055
|
|
1033
1056
|
var Selector = {
|
1034
|
-
ACTIVES: '.card > .
|
1057
|
+
ACTIVES: '.card > .show, .card > .collapsing',
|
1035
1058
|
DATA_TOGGLE: '[data-toggle="collapse"]'
|
1036
1059
|
};
|
1037
1060
|
|
@@ -1066,7 +1089,7 @@ var Collapse = function ($) {
|
|
1066
1089
|
// public
|
1067
1090
|
|
1068
1091
|
Collapse.prototype.toggle = function toggle() {
|
1069
|
-
if ($(this._element).hasClass(ClassName.
|
1092
|
+
if ($(this._element).hasClass(ClassName.SHOW)) {
|
1070
1093
|
this.hide();
|
1071
1094
|
} else {
|
1072
1095
|
this.show();
|
@@ -1074,9 +1097,13 @@ var Collapse = function ($) {
|
|
1074
1097
|
};
|
1075
1098
|
|
1076
1099
|
Collapse.prototype.show = function show() {
|
1077
|
-
var
|
1100
|
+
var _this6 = this;
|
1078
1101
|
|
1079
|
-
if (this._isTransitioning
|
1102
|
+
if (this._isTransitioning) {
|
1103
|
+
throw new Error('Collapse is transitioning');
|
1104
|
+
}
|
1105
|
+
|
1106
|
+
if ($(this._element).hasClass(ClassName.SHOW)) {
|
1080
1107
|
return;
|
1081
1108
|
}
|
1082
1109
|
|
@@ -1084,7 +1111,7 @@ var Collapse = function ($) {
|
|
1084
1111
|
var activesData = void 0;
|
1085
1112
|
|
1086
1113
|
if (this._parent) {
|
1087
|
-
actives = $.makeArray($(Selector.ACTIVES));
|
1114
|
+
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
|
1088
1115
|
if (!actives.length) {
|
1089
1116
|
actives = null;
|
1090
1117
|
}
|
@@ -1124,13 +1151,13 @@ var Collapse = function ($) {
|
|
1124
1151
|
this.setTransitioning(true);
|
1125
1152
|
|
1126
1153
|
var complete = function complete() {
|
1127
|
-
$(
|
1154
|
+
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
|
1128
1155
|
|
1129
|
-
|
1156
|
+
_this6._element.style[dimension] = '';
|
1130
1157
|
|
1131
|
-
|
1158
|
+
_this6.setTransitioning(false);
|
1132
1159
|
|
1133
|
-
$(
|
1160
|
+
$(_this6._element).trigger(Event.SHOWN);
|
1134
1161
|
};
|
1135
1162
|
|
1136
1163
|
if (!Util.supportsTransitionEnd()) {
|
@@ -1147,9 +1174,13 @@ var Collapse = function ($) {
|
|
1147
1174
|
};
|
1148
1175
|
|
1149
1176
|
Collapse.prototype.hide = function hide() {
|
1150
|
-
var
|
1177
|
+
var _this7 = this;
|
1151
1178
|
|
1152
|
-
if (this._isTransitioning
|
1179
|
+
if (this._isTransitioning) {
|
1180
|
+
throw new Error('Collapse is transitioning');
|
1181
|
+
}
|
1182
|
+
|
1183
|
+
if (!$(this._element).hasClass(ClassName.SHOW)) {
|
1153
1184
|
return;
|
1154
1185
|
}
|
1155
1186
|
|
@@ -1166,7 +1197,7 @@ var Collapse = function ($) {
|
|
1166
1197
|
|
1167
1198
|
Util.reflow(this._element);
|
1168
1199
|
|
1169
|
-
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.
|
1200
|
+
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
|
1170
1201
|
|
1171
1202
|
this._element.setAttribute('aria-expanded', false);
|
1172
1203
|
|
@@ -1177,8 +1208,8 @@ var Collapse = function ($) {
|
|
1177
1208
|
this.setTransitioning(true);
|
1178
1209
|
|
1179
1210
|
var complete = function complete() {
|
1180
|
-
|
1181
|
-
$(
|
1211
|
+
_this7.setTransitioning(false);
|
1212
|
+
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
|
1182
1213
|
};
|
1183
1214
|
|
1184
1215
|
this._element.style[dimension] = '';
|
@@ -1220,13 +1251,13 @@ var Collapse = function ($) {
|
|
1220
1251
|
};
|
1221
1252
|
|
1222
1253
|
Collapse.prototype._getParent = function _getParent() {
|
1223
|
-
var
|
1254
|
+
var _this8 = this;
|
1224
1255
|
|
1225
1256
|
var parent = $(this._config.parent)[0];
|
1226
1257
|
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
|
1227
1258
|
|
1228
1259
|
$(parent).find(selector).each(function (i, element) {
|
1229
|
-
|
1260
|
+
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
|
1230
1261
|
});
|
1231
1262
|
|
1232
1263
|
return parent;
|
@@ -1234,7 +1265,7 @@ var Collapse = function ($) {
|
|
1234
1265
|
|
1235
1266
|
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
|
1236
1267
|
if (element) {
|
1237
|
-
var isOpen = $(element).hasClass(ClassName.
|
1268
|
+
var isOpen = $(element).hasClass(ClassName.SHOW);
|
1238
1269
|
element.setAttribute('aria-expanded', isOpen);
|
1239
1270
|
|
1240
1271
|
if (triggerArray.length) {
|
@@ -1323,7 +1354,7 @@ var Collapse = function ($) {
|
|
1323
1354
|
|
1324
1355
|
/**
|
1325
1356
|
* --------------------------------------------------------------------------
|
1326
|
-
* Bootstrap (v4.0.0-alpha.
|
1357
|
+
* Bootstrap (v4.0.0-alpha.6): dropdown.js
|
1327
1358
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1328
1359
|
* --------------------------------------------------------------------------
|
1329
1360
|
*/
|
@@ -1337,7 +1368,7 @@ var Dropdown = function ($) {
|
|
1337
1368
|
*/
|
1338
1369
|
|
1339
1370
|
var NAME = 'dropdown';
|
1340
|
-
var VERSION = '4.0.0-alpha.
|
1371
|
+
var VERSION = '4.0.0-alpha.6';
|
1341
1372
|
var DATA_KEY = 'bs.dropdown';
|
1342
1373
|
var EVENT_KEY = '.' + DATA_KEY;
|
1343
1374
|
var DATA_API_KEY = '.data-api';
|
@@ -1354,13 +1385,14 @@ var Dropdown = function ($) {
|
|
1354
1385
|
SHOWN: 'shown' + EVENT_KEY,
|
1355
1386
|
CLICK: 'click' + EVENT_KEY,
|
1356
1387
|
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
|
1388
|
+
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
|
1357
1389
|
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
|
1358
1390
|
};
|
1359
1391
|
|
1360
1392
|
var ClassName = {
|
1361
1393
|
BACKDROP: 'dropdown-backdrop',
|
1362
1394
|
DISABLED: 'disabled',
|
1363
|
-
|
1395
|
+
SHOW: 'show'
|
1364
1396
|
};
|
1365
1397
|
|
1366
1398
|
var Selector = {
|
@@ -1398,7 +1430,7 @@ var Dropdown = function ($) {
|
|
1398
1430
|
}
|
1399
1431
|
|
1400
1432
|
var parent = Dropdown._getParentFromElement(this);
|
1401
|
-
var isActive = $(parent).hasClass(ClassName.
|
1433
|
+
var isActive = $(parent).hasClass(ClassName.SHOW);
|
1402
1434
|
|
1403
1435
|
Dropdown._clearMenus();
|
1404
1436
|
|
@@ -1415,7 +1447,9 @@ var Dropdown = function ($) {
|
|
1415
1447
|
$(dropdown).on('click', Dropdown._clearMenus);
|
1416
1448
|
}
|
1417
1449
|
|
1418
|
-
var relatedTarget = {
|
1450
|
+
var relatedTarget = {
|
1451
|
+
relatedTarget: this
|
1452
|
+
};
|
1419
1453
|
var showEvent = $.Event(Event.SHOW, relatedTarget);
|
1420
1454
|
|
1421
1455
|
$(parent).trigger(showEvent);
|
@@ -1425,9 +1459,9 @@ var Dropdown = function ($) {
|
|
1425
1459
|
}
|
1426
1460
|
|
1427
1461
|
this.focus();
|
1428
|
-
this.setAttribute('aria-expanded',
|
1462
|
+
this.setAttribute('aria-expanded', true);
|
1429
1463
|
|
1430
|
-
$(parent).toggleClass(ClassName.
|
1464
|
+
$(parent).toggleClass(ClassName.SHOW);
|
1431
1465
|
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
|
1432
1466
|
|
1433
1467
|
return false;
|
@@ -1452,7 +1486,8 @@ var Dropdown = function ($) {
|
|
1452
1486
|
var data = $(this).data(DATA_KEY);
|
1453
1487
|
|
1454
1488
|
if (!data) {
|
1455
|
-
|
1489
|
+
data = new Dropdown(this);
|
1490
|
+
$(this).data(DATA_KEY, data);
|
1456
1491
|
}
|
1457
1492
|
|
1458
1493
|
if (typeof config === 'string') {
|
@@ -1478,13 +1513,15 @@ var Dropdown = function ($) {
|
|
1478
1513
|
|
1479
1514
|
for (var i = 0; i < toggles.length; i++) {
|
1480
1515
|
var parent = Dropdown._getParentFromElement(toggles[i]);
|
1481
|
-
var relatedTarget = {
|
1516
|
+
var relatedTarget = {
|
1517
|
+
relatedTarget: toggles[i]
|
1518
|
+
};
|
1482
1519
|
|
1483
|
-
if (!$(parent).hasClass(ClassName.
|
1520
|
+
if (!$(parent).hasClass(ClassName.SHOW)) {
|
1484
1521
|
continue;
|
1485
1522
|
}
|
1486
1523
|
|
1487
|
-
if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(parent, event.target)) {
|
1524
|
+
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
|
1488
1525
|
continue;
|
1489
1526
|
}
|
1490
1527
|
|
@@ -1496,7 +1533,7 @@ var Dropdown = function ($) {
|
|
1496
1533
|
|
1497
1534
|
toggles[i].setAttribute('aria-expanded', 'false');
|
1498
1535
|
|
1499
|
-
$(parent).removeClass(ClassName.
|
1536
|
+
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
|
1500
1537
|
}
|
1501
1538
|
};
|
1502
1539
|
|
@@ -1524,7 +1561,7 @@ var Dropdown = function ($) {
|
|
1524
1561
|
}
|
1525
1562
|
|
1526
1563
|
var parent = Dropdown._getParentFromElement(this);
|
1527
|
-
var isActive = $(parent).hasClass(ClassName.
|
1564
|
+
var isActive = $(parent).hasClass(ClassName.SHOW);
|
1528
1565
|
|
1529
1566
|
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
|
1530
1567
|
|
@@ -1537,11 +1574,7 @@ var Dropdown = function ($) {
|
|
1537
1574
|
return;
|
1538
1575
|
}
|
1539
1576
|
|
1540
|
-
var items =
|
1541
|
-
|
1542
|
-
items = items.filter(function (item) {
|
1543
|
-
return item.offsetWidth || item.offsetHeight;
|
1544
|
-
});
|
1577
|
+
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
|
1545
1578
|
|
1546
1579
|
if (!items.length) {
|
1547
1580
|
return;
|
@@ -1582,7 +1615,7 @@ var Dropdown = function ($) {
|
|
1582
1615
|
* ------------------------------------------------------------------------
|
1583
1616
|
*/
|
1584
1617
|
|
1585
|
-
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
|
1618
|
+
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
|
1586
1619
|
e.stopPropagation();
|
1587
1620
|
});
|
1588
1621
|
|
@@ -1604,7 +1637,7 @@ var Dropdown = function ($) {
|
|
1604
1637
|
|
1605
1638
|
/**
|
1606
1639
|
* --------------------------------------------------------------------------
|
1607
|
-
* Bootstrap (v4.0.0-alpha.
|
1640
|
+
* Bootstrap (v4.0.0-alpha.6): modal.js
|
1608
1641
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1609
1642
|
* --------------------------------------------------------------------------
|
1610
1643
|
*/
|
@@ -1618,7 +1651,7 @@ var Modal = function ($) {
|
|
1618
1651
|
*/
|
1619
1652
|
|
1620
1653
|
var NAME = 'modal';
|
1621
|
-
var VERSION = '4.0.0-alpha.
|
1654
|
+
var VERSION = '4.0.0-alpha.6';
|
1622
1655
|
var DATA_KEY = 'bs.modal';
|
1623
1656
|
var EVENT_KEY = '.' + DATA_KEY;
|
1624
1657
|
var DATA_API_KEY = '.data-api';
|
@@ -1660,14 +1693,14 @@ var Modal = function ($) {
|
|
1660
1693
|
BACKDROP: 'modal-backdrop',
|
1661
1694
|
OPEN: 'modal-open',
|
1662
1695
|
FADE: 'fade',
|
1663
|
-
|
1696
|
+
SHOW: 'show'
|
1664
1697
|
};
|
1665
1698
|
|
1666
1699
|
var Selector = {
|
1667
1700
|
DIALOG: '.modal-dialog',
|
1668
1701
|
DATA_TOGGLE: '[data-toggle="modal"]',
|
1669
1702
|
DATA_DISMISS: '[data-dismiss="modal"]',
|
1670
|
-
FIXED_CONTENT: '.
|
1703
|
+
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
|
1671
1704
|
};
|
1672
1705
|
|
1673
1706
|
/**
|
@@ -1687,6 +1720,7 @@ var Modal = function ($) {
|
|
1687
1720
|
this._isShown = false;
|
1688
1721
|
this._isBodyOverflowing = false;
|
1689
1722
|
this._ignoreBackdropClick = false;
|
1723
|
+
this._isTransitioning = false;
|
1690
1724
|
this._originalBodyPadding = 0;
|
1691
1725
|
this._scrollbarWidth = 0;
|
1692
1726
|
}
|
@@ -1700,8 +1734,15 @@ var Modal = function ($) {
|
|
1700
1734
|
};
|
1701
1735
|
|
1702
1736
|
Modal.prototype.show = function show(relatedTarget) {
|
1703
|
-
var
|
1737
|
+
var _this9 = this;
|
1704
1738
|
|
1739
|
+
if (this._isTransitioning) {
|
1740
|
+
throw new Error('Modal is transitioning');
|
1741
|
+
}
|
1742
|
+
|
1743
|
+
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
|
1744
|
+
this._isTransitioning = true;
|
1745
|
+
}
|
1705
1746
|
var showEvent = $.Event(Event.SHOW, {
|
1706
1747
|
relatedTarget: relatedTarget
|
1707
1748
|
});
|
@@ -1722,26 +1763,40 @@ var Modal = function ($) {
|
|
1722
1763
|
this._setEscapeEvent();
|
1723
1764
|
this._setResizeEvent();
|
1724
1765
|
|
1725
|
-
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS,
|
1766
|
+
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
|
1767
|
+
return _this9.hide(event);
|
1768
|
+
});
|
1726
1769
|
|
1727
1770
|
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
|
1728
|
-
$(
|
1729
|
-
if ($(event.target).is(
|
1730
|
-
|
1771
|
+
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
|
1772
|
+
if ($(event.target).is(_this9._element)) {
|
1773
|
+
_this9._ignoreBackdropClick = true;
|
1731
1774
|
}
|
1732
1775
|
});
|
1733
1776
|
});
|
1734
1777
|
|
1735
|
-
this._showBackdrop(
|
1778
|
+
this._showBackdrop(function () {
|
1779
|
+
return _this9._showElement(relatedTarget);
|
1780
|
+
});
|
1736
1781
|
};
|
1737
1782
|
|
1738
1783
|
Modal.prototype.hide = function hide(event) {
|
1784
|
+
var _this10 = this;
|
1785
|
+
|
1739
1786
|
if (event) {
|
1740
1787
|
event.preventDefault();
|
1741
1788
|
}
|
1742
1789
|
|
1743
|
-
|
1790
|
+
if (this._isTransitioning) {
|
1791
|
+
throw new Error('Modal is transitioning');
|
1792
|
+
}
|
1793
|
+
|
1794
|
+
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
|
1795
|
+
if (transition) {
|
1796
|
+
this._isTransitioning = true;
|
1797
|
+
}
|
1744
1798
|
|
1799
|
+
var hideEvent = $.Event(Event.HIDE);
|
1745
1800
|
$(this._element).trigger(hideEvent);
|
1746
1801
|
|
1747
1802
|
if (!this._isShown || hideEvent.isDefaultPrevented()) {
|
@@ -1755,14 +1810,15 @@ var Modal = function ($) {
|
|
1755
1810
|
|
1756
1811
|
$(document).off(Event.FOCUSIN);
|
1757
1812
|
|
1758
|
-
$(this._element).removeClass(ClassName.
|
1813
|
+
$(this._element).removeClass(ClassName.SHOW);
|
1759
1814
|
|
1760
1815
|
$(this._element).off(Event.CLICK_DISMISS);
|
1761
1816
|
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
1762
1817
|
|
1763
|
-
if (
|
1764
|
-
|
1765
|
-
|
1818
|
+
if (transition) {
|
1819
|
+
$(this._element).one(Util.TRANSITION_END, function (event) {
|
1820
|
+
return _this10._hideModal(event);
|
1821
|
+
}).emulateTransitionEnd(TRANSITION_DURATION);
|
1766
1822
|
} else {
|
1767
1823
|
this._hideModal();
|
1768
1824
|
}
|
@@ -1771,10 +1827,7 @@ var Modal = function ($) {
|
|
1771
1827
|
Modal.prototype.dispose = function dispose() {
|
1772
1828
|
$.removeData(this._element, DATA_KEY);
|
1773
1829
|
|
1774
|
-
$(window).off(EVENT_KEY);
|
1775
|
-
$(document).off(EVENT_KEY);
|
1776
|
-
$(this._element).off(EVENT_KEY);
|
1777
|
-
$(this._backdrop).off(EVENT_KEY);
|
1830
|
+
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
|
1778
1831
|
|
1779
1832
|
this._config = null;
|
1780
1833
|
this._element = null;
|
@@ -1796,7 +1849,7 @@ var Modal = function ($) {
|
|
1796
1849
|
};
|
1797
1850
|
|
1798
1851
|
Modal.prototype._showElement = function _showElement(relatedTarget) {
|
1799
|
-
var
|
1852
|
+
var _this11 = this;
|
1800
1853
|
|
1801
1854
|
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
|
1802
1855
|
|
@@ -1813,7 +1866,7 @@ var Modal = function ($) {
|
|
1813
1866
|
Util.reflow(this._element);
|
1814
1867
|
}
|
1815
1868
|
|
1816
|
-
$(this._element).addClass(ClassName.
|
1869
|
+
$(this._element).addClass(ClassName.SHOW);
|
1817
1870
|
|
1818
1871
|
if (this._config.focus) {
|
1819
1872
|
this._enforceFocus();
|
@@ -1824,10 +1877,11 @@ var Modal = function ($) {
|
|
1824
1877
|
});
|
1825
1878
|
|
1826
1879
|
var transitionComplete = function transitionComplete() {
|
1827
|
-
if (
|
1828
|
-
|
1880
|
+
if (_this11._config.focus) {
|
1881
|
+
_this11._element.focus();
|
1829
1882
|
}
|
1830
|
-
|
1883
|
+
_this11._isTransitioning = false;
|
1884
|
+
$(_this11._element).trigger(shownEvent);
|
1831
1885
|
};
|
1832
1886
|
|
1833
1887
|
if (transition) {
|
@@ -1838,23 +1892,23 @@ var Modal = function ($) {
|
|
1838
1892
|
};
|
1839
1893
|
|
1840
1894
|
Modal.prototype._enforceFocus = function _enforceFocus() {
|
1841
|
-
var
|
1895
|
+
var _this12 = this;
|
1842
1896
|
|
1843
1897
|
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
|
1844
1898
|
.on(Event.FOCUSIN, function (event) {
|
1845
|
-
if (document !== event.target &&
|
1846
|
-
|
1899
|
+
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
|
1900
|
+
_this12._element.focus();
|
1847
1901
|
}
|
1848
1902
|
});
|
1849
1903
|
};
|
1850
1904
|
|
1851
1905
|
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
|
1852
|
-
var
|
1906
|
+
var _this13 = this;
|
1853
1907
|
|
1854
1908
|
if (this._isShown && this._config.keyboard) {
|
1855
1909
|
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
|
1856
1910
|
if (event.which === ESCAPE_KEYCODE) {
|
1857
|
-
|
1911
|
+
_this13.hide();
|
1858
1912
|
}
|
1859
1913
|
});
|
1860
1914
|
} else if (!this._isShown) {
|
@@ -1863,23 +1917,28 @@ var Modal = function ($) {
|
|
1863
1917
|
};
|
1864
1918
|
|
1865
1919
|
Modal.prototype._setResizeEvent = function _setResizeEvent() {
|
1920
|
+
var _this14 = this;
|
1921
|
+
|
1866
1922
|
if (this._isShown) {
|
1867
|
-
$(window).on(Event.RESIZE,
|
1923
|
+
$(window).on(Event.RESIZE, function (event) {
|
1924
|
+
return _this14._handleUpdate(event);
|
1925
|
+
});
|
1868
1926
|
} else {
|
1869
1927
|
$(window).off(Event.RESIZE);
|
1870
1928
|
}
|
1871
1929
|
};
|
1872
1930
|
|
1873
1931
|
Modal.prototype._hideModal = function _hideModal() {
|
1874
|
-
var
|
1932
|
+
var _this15 = this;
|
1875
1933
|
|
1876
1934
|
this._element.style.display = 'none';
|
1877
1935
|
this._element.setAttribute('aria-hidden', 'true');
|
1936
|
+
this._isTransitioning = false;
|
1878
1937
|
this._showBackdrop(function () {
|
1879
1938
|
$(document.body).removeClass(ClassName.OPEN);
|
1880
|
-
|
1881
|
-
|
1882
|
-
$(
|
1939
|
+
_this15._resetAdjustments();
|
1940
|
+
_this15._resetScrollbar();
|
1941
|
+
$(_this15._element).trigger(Event.HIDDEN);
|
1883
1942
|
});
|
1884
1943
|
};
|
1885
1944
|
|
@@ -1891,7 +1950,7 @@ var Modal = function ($) {
|
|
1891
1950
|
};
|
1892
1951
|
|
1893
1952
|
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
|
1894
|
-
var
|
1953
|
+
var _this16 = this;
|
1895
1954
|
|
1896
1955
|
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
1897
1956
|
|
@@ -1908,17 +1967,17 @@ var Modal = function ($) {
|
|
1908
1967
|
$(this._backdrop).appendTo(document.body);
|
1909
1968
|
|
1910
1969
|
$(this._element).on(Event.CLICK_DISMISS, function (event) {
|
1911
|
-
if (
|
1912
|
-
|
1970
|
+
if (_this16._ignoreBackdropClick) {
|
1971
|
+
_this16._ignoreBackdropClick = false;
|
1913
1972
|
return;
|
1914
1973
|
}
|
1915
1974
|
if (event.target !== event.currentTarget) {
|
1916
1975
|
return;
|
1917
1976
|
}
|
1918
|
-
if (
|
1919
|
-
|
1977
|
+
if (_this16._config.backdrop === 'static') {
|
1978
|
+
_this16._element.focus();
|
1920
1979
|
} else {
|
1921
|
-
|
1980
|
+
_this16.hide();
|
1922
1981
|
}
|
1923
1982
|
});
|
1924
1983
|
|
@@ -1926,7 +1985,7 @@ var Modal = function ($) {
|
|
1926
1985
|
Util.reflow(this._backdrop);
|
1927
1986
|
}
|
1928
1987
|
|
1929
|
-
$(this._backdrop).addClass(ClassName.
|
1988
|
+
$(this._backdrop).addClass(ClassName.SHOW);
|
1930
1989
|
|
1931
1990
|
if (!callback) {
|
1932
1991
|
return;
|
@@ -1939,10 +1998,10 @@ var Modal = function ($) {
|
|
1939
1998
|
|
1940
1999
|
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
1941
2000
|
} else if (!this._isShown && this._backdrop) {
|
1942
|
-
$(this._backdrop).removeClass(ClassName.
|
2001
|
+
$(this._backdrop).removeClass(ClassName.SHOW);
|
1943
2002
|
|
1944
2003
|
var callbackRemove = function callbackRemove() {
|
1945
|
-
|
2004
|
+
_this16._removeBackdrop();
|
1946
2005
|
if (callback) {
|
1947
2006
|
callback();
|
1948
2007
|
}
|
@@ -2058,7 +2117,7 @@ var Modal = function ($) {
|
|
2058
2117
|
*/
|
2059
2118
|
|
2060
2119
|
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
|
2061
|
-
var
|
2120
|
+
var _this17 = this;
|
2062
2121
|
|
2063
2122
|
var target = void 0;
|
2064
2123
|
var selector = Util.getSelectorFromElement(this);
|
@@ -2069,7 +2128,7 @@ var Modal = function ($) {
|
|
2069
2128
|
|
2070
2129
|
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
|
2071
2130
|
|
2072
|
-
if (this.tagName === 'A') {
|
2131
|
+
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
2073
2132
|
event.preventDefault();
|
2074
2133
|
}
|
2075
2134
|
|
@@ -2080,8 +2139,8 @@ var Modal = function ($) {
|
|
2080
2139
|
}
|
2081
2140
|
|
2082
2141
|
$target.one(Event.HIDDEN, function () {
|
2083
|
-
if ($(
|
2084
|
-
|
2142
|
+
if ($(_this17).is(':visible')) {
|
2143
|
+
_this17.focus();
|
2085
2144
|
}
|
2086
2145
|
});
|
2087
2146
|
});
|
@@ -2107,7 +2166,7 @@ var Modal = function ($) {
|
|
2107
2166
|
|
2108
2167
|
/**
|
2109
2168
|
* --------------------------------------------------------------------------
|
2110
|
-
* Bootstrap (v4.0.0-alpha.
|
2169
|
+
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
|
2111
2170
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2112
2171
|
* --------------------------------------------------------------------------
|
2113
2172
|
*/
|
@@ -2121,7 +2180,7 @@ var ScrollSpy = function ($) {
|
|
2121
2180
|
*/
|
2122
2181
|
|
2123
2182
|
var NAME = 'scrollspy';
|
2124
|
-
var VERSION = '4.0.0-alpha.
|
2183
|
+
var VERSION = '4.0.0-alpha.6';
|
2125
2184
|
var DATA_KEY = 'bs.scrollspy';
|
2126
2185
|
var EVENT_KEY = '.' + DATA_KEY;
|
2127
2186
|
var DATA_API_KEY = '.data-api';
|
@@ -2178,6 +2237,8 @@ var ScrollSpy = function ($) {
|
|
2178
2237
|
|
2179
2238
|
var ScrollSpy = function () {
|
2180
2239
|
function ScrollSpy(element, config) {
|
2240
|
+
var _this18 = this;
|
2241
|
+
|
2181
2242
|
_classCallCheck(this, ScrollSpy);
|
2182
2243
|
|
2183
2244
|
this._element = element;
|
@@ -2189,7 +2250,9 @@ var ScrollSpy = function ($) {
|
|
2189
2250
|
this._activeTarget = null;
|
2190
2251
|
this._scrollHeight = 0;
|
2191
2252
|
|
2192
|
-
$(this._scrollElement).on(Event.SCROLL,
|
2253
|
+
$(this._scrollElement).on(Event.SCROLL, function (event) {
|
2254
|
+
return _this18._process(event);
|
2255
|
+
});
|
2193
2256
|
|
2194
2257
|
this.refresh();
|
2195
2258
|
this._process();
|
@@ -2200,7 +2263,7 @@ var ScrollSpy = function ($) {
|
|
2200
2263
|
// public
|
2201
2264
|
|
2202
2265
|
ScrollSpy.prototype.refresh = function refresh() {
|
2203
|
-
var
|
2266
|
+
var _this19 = this;
|
2204
2267
|
|
2205
2268
|
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
|
2206
2269
|
|
@@ -2233,8 +2296,8 @@ var ScrollSpy = function ($) {
|
|
2233
2296
|
}).sort(function (a, b) {
|
2234
2297
|
return a[0] - b[0];
|
2235
2298
|
}).forEach(function (item) {
|
2236
|
-
|
2237
|
-
|
2299
|
+
_this19._offsets.push(item[0]);
|
2300
|
+
_this19._targets.push(item[1]);
|
2238
2301
|
});
|
2239
2302
|
};
|
2240
2303
|
|
@@ -2272,17 +2335,21 @@ var ScrollSpy = function ($) {
|
|
2272
2335
|
};
|
2273
2336
|
|
2274
2337
|
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
|
2275
|
-
return this._scrollElement === window ? this._scrollElement.
|
2338
|
+
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
|
2276
2339
|
};
|
2277
2340
|
|
2278
2341
|
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
|
2279
2342
|
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
|
2280
2343
|
};
|
2281
2344
|
|
2345
|
+
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
|
2346
|
+
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
|
2347
|
+
};
|
2348
|
+
|
2282
2349
|
ScrollSpy.prototype._process = function _process() {
|
2283
2350
|
var scrollTop = this._getScrollTop() + this._config.offset;
|
2284
2351
|
var scrollHeight = this._getScrollHeight();
|
2285
|
-
var maxScroll = this._config.offset + scrollHeight - this.
|
2352
|
+
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
|
2286
2353
|
|
2287
2354
|
if (this._scrollHeight !== scrollHeight) {
|
2288
2355
|
this.refresh();
|
@@ -2294,9 +2361,10 @@ var ScrollSpy = function ($) {
|
|
2294
2361
|
if (this._activeTarget !== target) {
|
2295
2362
|
this._activate(target);
|
2296
2363
|
}
|
2364
|
+
return;
|
2297
2365
|
}
|
2298
2366
|
|
2299
|
-
if (this._activeTarget && scrollTop < this._offsets[0]) {
|
2367
|
+
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
|
2300
2368
|
this._activeTarget = null;
|
2301
2369
|
this._clear();
|
2302
2370
|
return;
|
@@ -2329,7 +2397,7 @@ var ScrollSpy = function ($) {
|
|
2329
2397
|
} else {
|
2330
2398
|
// todo (fat) this is kinda sus...
|
2331
2399
|
// recursively add actives to tested nav-links
|
2332
|
-
$link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
|
2400
|
+
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
|
2333
2401
|
}
|
2334
2402
|
|
2335
2403
|
$(this._scrollElement).trigger(Event.ACTIVATE, {
|
@@ -2346,7 +2414,7 @@ var ScrollSpy = function ($) {
|
|
2346
2414
|
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
|
2347
2415
|
return this.each(function () {
|
2348
2416
|
var data = $(this).data(DATA_KEY);
|
2349
|
-
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config
|
2417
|
+
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
|
2350
2418
|
|
2351
2419
|
if (!data) {
|
2352
2420
|
data = new ScrollSpy(this, _config);
|
@@ -2410,7 +2478,7 @@ var ScrollSpy = function ($) {
|
|
2410
2478
|
|
2411
2479
|
/**
|
2412
2480
|
* --------------------------------------------------------------------------
|
2413
|
-
* Bootstrap (v4.0.0-alpha.
|
2481
|
+
* Bootstrap (v4.0.0-alpha.6): tab.js
|
2414
2482
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2415
2483
|
* --------------------------------------------------------------------------
|
2416
2484
|
*/
|
@@ -2424,7 +2492,7 @@ var Tab = function ($) {
|
|
2424
2492
|
*/
|
2425
2493
|
|
2426
2494
|
var NAME = 'tab';
|
2427
|
-
var VERSION = '4.0.0-alpha.
|
2495
|
+
var VERSION = '4.0.0-alpha.6';
|
2428
2496
|
var DATA_KEY = 'bs.tab';
|
2429
2497
|
var EVENT_KEY = '.' + DATA_KEY;
|
2430
2498
|
var DATA_API_KEY = '.data-api';
|
@@ -2442,15 +2510,16 @@ var Tab = function ($) {
|
|
2442
2510
|
var ClassName = {
|
2443
2511
|
DROPDOWN_MENU: 'dropdown-menu',
|
2444
2512
|
ACTIVE: 'active',
|
2513
|
+
DISABLED: 'disabled',
|
2445
2514
|
FADE: 'fade',
|
2446
|
-
|
2515
|
+
SHOW: 'show'
|
2447
2516
|
};
|
2448
2517
|
|
2449
2518
|
var Selector = {
|
2450
2519
|
A: 'a',
|
2451
2520
|
LI: 'li',
|
2452
2521
|
DROPDOWN: '.dropdown',
|
2453
|
-
|
2522
|
+
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
|
2454
2523
|
FADE_CHILD: '> .nav-item .fade, > .fade',
|
2455
2524
|
ACTIVE: '.active',
|
2456
2525
|
ACTIVE_CHILD: '> .nav-item > .active, > .active',
|
@@ -2477,19 +2546,19 @@ var Tab = function ($) {
|
|
2477
2546
|
// public
|
2478
2547
|
|
2479
2548
|
Tab.prototype.show = function show() {
|
2480
|
-
var
|
2549
|
+
var _this20 = this;
|
2481
2550
|
|
2482
|
-
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) {
|
2551
|
+
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
|
2483
2552
|
return;
|
2484
2553
|
}
|
2485
2554
|
|
2486
2555
|
var target = void 0;
|
2487
2556
|
var previous = void 0;
|
2488
|
-
var
|
2557
|
+
var listElement = $(this._element).closest(Selector.LIST)[0];
|
2489
2558
|
var selector = Util.getSelectorFromElement(this._element);
|
2490
2559
|
|
2491
|
-
if (
|
2492
|
-
previous = $.makeArray($(
|
2560
|
+
if (listElement) {
|
2561
|
+
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
|
2493
2562
|
previous = previous[previous.length - 1];
|
2494
2563
|
}
|
2495
2564
|
|
@@ -2515,11 +2584,11 @@ var Tab = function ($) {
|
|
2515
2584
|
target = $(selector)[0];
|
2516
2585
|
}
|
2517
2586
|
|
2518
|
-
this._activate(this._element,
|
2587
|
+
this._activate(this._element, listElement);
|
2519
2588
|
|
2520
2589
|
var complete = function complete() {
|
2521
2590
|
var hiddenEvent = $.Event(Event.HIDDEN, {
|
2522
|
-
relatedTarget:
|
2591
|
+
relatedTarget: _this20._element
|
2523
2592
|
});
|
2524
2593
|
|
2525
2594
|
var shownEvent = $.Event(Event.SHOWN, {
|
@@ -2527,7 +2596,7 @@ var Tab = function ($) {
|
|
2527
2596
|
});
|
2528
2597
|
|
2529
2598
|
$(previous).trigger(hiddenEvent);
|
2530
|
-
$(
|
2599
|
+
$(_this20._element).trigger(shownEvent);
|
2531
2600
|
};
|
2532
2601
|
|
2533
2602
|
if (target) {
|
@@ -2545,10 +2614,14 @@ var Tab = function ($) {
|
|
2545
2614
|
// private
|
2546
2615
|
|
2547
2616
|
Tab.prototype._activate = function _activate(element, container, callback) {
|
2617
|
+
var _this21 = this;
|
2618
|
+
|
2548
2619
|
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
|
2549
2620
|
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
|
2550
2621
|
|
2551
|
-
var complete =
|
2622
|
+
var complete = function complete() {
|
2623
|
+
return _this21._transitionComplete(element, active, isTransitioning, callback);
|
2624
|
+
};
|
2552
2625
|
|
2553
2626
|
if (active && isTransitioning) {
|
2554
2627
|
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
@@ -2557,7 +2630,7 @@ var Tab = function ($) {
|
|
2557
2630
|
}
|
2558
2631
|
|
2559
2632
|
if (active) {
|
2560
|
-
$(active).removeClass(ClassName.
|
2633
|
+
$(active).removeClass(ClassName.SHOW);
|
2561
2634
|
}
|
2562
2635
|
};
|
2563
2636
|
|
@@ -2565,7 +2638,7 @@ var Tab = function ($) {
|
|
2565
2638
|
if (active) {
|
2566
2639
|
$(active).removeClass(ClassName.ACTIVE);
|
2567
2640
|
|
2568
|
-
var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
|
2641
|
+
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
|
2569
2642
|
|
2570
2643
|
if (dropdownChild) {
|
2571
2644
|
$(dropdownChild).removeClass(ClassName.ACTIVE);
|
@@ -2579,7 +2652,7 @@ var Tab = function ($) {
|
|
2579
2652
|
|
2580
2653
|
if (isTransitioning) {
|
2581
2654
|
Util.reflow(element);
|
2582
|
-
$(element).addClass(ClassName.
|
2655
|
+
$(element).addClass(ClassName.SHOW);
|
2583
2656
|
} else {
|
2584
2657
|
$(element).removeClass(ClassName.FADE);
|
2585
2658
|
}
|
@@ -2607,7 +2680,7 @@ var Tab = function ($) {
|
|
2607
2680
|
var data = $this.data(DATA_KEY);
|
2608
2681
|
|
2609
2682
|
if (!data) {
|
2610
|
-
data =
|
2683
|
+
data = new Tab(this);
|
2611
2684
|
$this.data(DATA_KEY, data);
|
2612
2685
|
}
|
2613
2686
|
|
@@ -2661,7 +2734,7 @@ var Tab = function ($) {
|
|
2661
2734
|
|
2662
2735
|
/**
|
2663
2736
|
* --------------------------------------------------------------------------
|
2664
|
-
* Bootstrap (v4.0.0-alpha.
|
2737
|
+
* Bootstrap (v4.0.0-alpha.6): tooltip.js
|
2665
2738
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2666
2739
|
* --------------------------------------------------------------------------
|
2667
2740
|
*/
|
@@ -2672,7 +2745,7 @@ var Tooltip = function ($) {
|
|
2672
2745
|
* Check for Tether dependency
|
2673
2746
|
* Tether - http://tether.io/
|
2674
2747
|
*/
|
2675
|
-
if (
|
2748
|
+
if (typeof Tether === 'undefined') {
|
2676
2749
|
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
|
2677
2750
|
}
|
2678
2751
|
|
@@ -2683,7 +2756,7 @@ var Tooltip = function ($) {
|
|
2683
2756
|
*/
|
2684
2757
|
|
2685
2758
|
var NAME = 'tooltip';
|
2686
|
-
var VERSION = '4.0.0-alpha.
|
2759
|
+
var VERSION = '4.0.0-alpha.6';
|
2687
2760
|
var DATA_KEY = 'bs.tooltip';
|
2688
2761
|
var EVENT_KEY = '.' + DATA_KEY;
|
2689
2762
|
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
@@ -2700,7 +2773,8 @@ var Tooltip = function ($) {
|
|
2700
2773
|
selector: false,
|
2701
2774
|
placement: 'top',
|
2702
2775
|
offset: '0 0',
|
2703
|
-
constraints: []
|
2776
|
+
constraints: [],
|
2777
|
+
container: false
|
2704
2778
|
};
|
2705
2779
|
|
2706
2780
|
var DefaultType = {
|
@@ -2713,7 +2787,8 @@ var Tooltip = function ($) {
|
|
2713
2787
|
selector: '(string|boolean)',
|
2714
2788
|
placement: '(string|function)',
|
2715
2789
|
offset: 'string',
|
2716
|
-
constraints: 'array'
|
2790
|
+
constraints: 'array',
|
2791
|
+
container: '(string|element|boolean)'
|
2717
2792
|
};
|
2718
2793
|
|
2719
2794
|
var AttachmentMap = {
|
@@ -2724,7 +2799,7 @@ var Tooltip = function ($) {
|
|
2724
2799
|
};
|
2725
2800
|
|
2726
2801
|
var HoverState = {
|
2727
|
-
|
2802
|
+
SHOW: 'show',
|
2728
2803
|
OUT: 'out'
|
2729
2804
|
};
|
2730
2805
|
|
@@ -2743,7 +2818,7 @@ var Tooltip = function ($) {
|
|
2743
2818
|
|
2744
2819
|
var ClassName = {
|
2745
2820
|
FADE: 'fade',
|
2746
|
-
|
2821
|
+
SHOW: 'show'
|
2747
2822
|
};
|
2748
2823
|
|
2749
2824
|
var Selector = {
|
@@ -2778,6 +2853,7 @@ var Tooltip = function ($) {
|
|
2778
2853
|
this._timeout = 0;
|
2779
2854
|
this._hoverState = '';
|
2780
2855
|
this._activeTrigger = {};
|
2856
|
+
this._isTransitioning = false;
|
2781
2857
|
this._tether = null;
|
2782
2858
|
|
2783
2859
|
// protected
|
@@ -2823,7 +2899,7 @@ var Tooltip = function ($) {
|
|
2823
2899
|
}
|
2824
2900
|
} else {
|
2825
2901
|
|
2826
|
-
if ($(this.getTipElement()).hasClass(ClassName.
|
2902
|
+
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
|
2827
2903
|
this._leave(null, this);
|
2828
2904
|
return;
|
2829
2905
|
}
|
@@ -2840,6 +2916,7 @@ var Tooltip = function ($) {
|
|
2840
2916
|
$.removeData(this.element, this.constructor.DATA_KEY);
|
2841
2917
|
|
2842
2918
|
$(this.element).off(this.constructor.EVENT_KEY);
|
2919
|
+
$(this.element).closest('.modal').off('hide.bs.modal');
|
2843
2920
|
|
2844
2921
|
if (this.tip) {
|
2845
2922
|
$(this.tip).remove();
|
@@ -2857,11 +2934,17 @@ var Tooltip = function ($) {
|
|
2857
2934
|
};
|
2858
2935
|
|
2859
2936
|
Tooltip.prototype.show = function show() {
|
2860
|
-
var
|
2937
|
+
var _this22 = this;
|
2861
2938
|
|
2862
|
-
|
2939
|
+
if ($(this.element).css('display') === 'none') {
|
2940
|
+
throw new Error('Please use show on visible elements');
|
2941
|
+
}
|
2863
2942
|
|
2943
|
+
var showEvent = $.Event(this.constructor.Event.SHOW);
|
2864
2944
|
if (this.isWithContent() && this._isEnabled) {
|
2945
|
+
if (this._isTransitioning) {
|
2946
|
+
throw new Error('Tooltip is transitioning');
|
2947
|
+
}
|
2865
2948
|
$(this.element).trigger(showEvent);
|
2866
2949
|
|
2867
2950
|
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
|
@@ -2886,7 +2969,9 @@ var Tooltip = function ($) {
|
|
2886
2969
|
|
2887
2970
|
var attachment = this._getAttachment(placement);
|
2888
2971
|
|
2889
|
-
|
2972
|
+
var container = this.config.container === false ? document.body : $(this.config.container);
|
2973
|
+
|
2974
|
+
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
|
2890
2975
|
|
2891
2976
|
$(this.element).trigger(this.constructor.Event.INSERTED);
|
2892
2977
|
|
@@ -2904,20 +2989,22 @@ var Tooltip = function ($) {
|
|
2904
2989
|
Util.reflow(tip);
|
2905
2990
|
this._tether.position();
|
2906
2991
|
|
2907
|
-
$(tip).addClass(ClassName.
|
2992
|
+
$(tip).addClass(ClassName.SHOW);
|
2908
2993
|
|
2909
2994
|
var complete = function complete() {
|
2910
|
-
var prevHoverState =
|
2911
|
-
|
2995
|
+
var prevHoverState = _this22._hoverState;
|
2996
|
+
_this22._hoverState = null;
|
2997
|
+
_this22._isTransitioning = false;
|
2912
2998
|
|
2913
|
-
$(
|
2999
|
+
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
|
2914
3000
|
|
2915
3001
|
if (prevHoverState === HoverState.OUT) {
|
2916
|
-
|
3002
|
+
_this22._leave(null, _this22);
|
2917
3003
|
}
|
2918
3004
|
};
|
2919
3005
|
|
2920
3006
|
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
|
3007
|
+
this._isTransitioning = true;
|
2921
3008
|
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
2922
3009
|
return;
|
2923
3010
|
}
|
@@ -2927,18 +3014,22 @@ var Tooltip = function ($) {
|
|
2927
3014
|
};
|
2928
3015
|
|
2929
3016
|
Tooltip.prototype.hide = function hide(callback) {
|
2930
|
-
var
|
3017
|
+
var _this23 = this;
|
2931
3018
|
|
2932
3019
|
var tip = this.getTipElement();
|
2933
3020
|
var hideEvent = $.Event(this.constructor.Event.HIDE);
|
3021
|
+
if (this._isTransitioning) {
|
3022
|
+
throw new Error('Tooltip is transitioning');
|
3023
|
+
}
|
2934
3024
|
var complete = function complete() {
|
2935
|
-
if (
|
3025
|
+
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
|
2936
3026
|
tip.parentNode.removeChild(tip);
|
2937
3027
|
}
|
2938
3028
|
|
2939
|
-
|
2940
|
-
$(
|
2941
|
-
|
3029
|
+
_this23.element.removeAttribute('aria-describedby');
|
3030
|
+
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
|
3031
|
+
_this23._isTransitioning = false;
|
3032
|
+
_this23.cleanupTether();
|
2942
3033
|
|
2943
3034
|
if (callback) {
|
2944
3035
|
callback();
|
@@ -2951,10 +3042,14 @@ var Tooltip = function ($) {
|
|
2951
3042
|
return;
|
2952
3043
|
}
|
2953
3044
|
|
2954
|
-
$(tip).removeClass(ClassName.
|
3045
|
+
$(tip).removeClass(ClassName.SHOW);
|
2955
3046
|
|
2956
|
-
|
3047
|
+
this._activeTrigger[Trigger.CLICK] = false;
|
3048
|
+
this._activeTrigger[Trigger.FOCUS] = false;
|
3049
|
+
this._activeTrigger[Trigger.HOVER] = false;
|
2957
3050
|
|
3051
|
+
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
|
3052
|
+
this._isTransitioning = true;
|
2958
3053
|
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
2959
3054
|
} else {
|
2960
3055
|
complete();
|
@@ -2978,7 +3073,7 @@ var Tooltip = function ($) {
|
|
2978
3073
|
|
2979
3074
|
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
|
2980
3075
|
|
2981
|
-
$tip.removeClass(ClassName.FADE
|
3076
|
+
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
|
2982
3077
|
|
2983
3078
|
this.cleanupTether();
|
2984
3079
|
};
|
@@ -3022,19 +3117,29 @@ var Tooltip = function ($) {
|
|
3022
3117
|
};
|
3023
3118
|
|
3024
3119
|
Tooltip.prototype._setListeners = function _setListeners() {
|
3025
|
-
var
|
3120
|
+
var _this24 = this;
|
3026
3121
|
|
3027
3122
|
var triggers = this.config.trigger.split(' ');
|
3028
3123
|
|
3029
3124
|
triggers.forEach(function (trigger) {
|
3030
3125
|
if (trigger === 'click') {
|
3031
|
-
$(
|
3126
|
+
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
|
3127
|
+
return _this24.toggle(event);
|
3128
|
+
});
|
3032
3129
|
} else if (trigger !== Trigger.MANUAL) {
|
3033
|
-
var eventIn = trigger === Trigger.HOVER ?
|
3034
|
-
var eventOut = trigger === Trigger.HOVER ?
|
3130
|
+
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
|
3131
|
+
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
|
3035
3132
|
|
3036
|
-
$(
|
3133
|
+
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
|
3134
|
+
return _this24._enter(event);
|
3135
|
+
}).on(eventOut, _this24.config.selector, function (event) {
|
3136
|
+
return _this24._leave(event);
|
3137
|
+
});
|
3037
3138
|
}
|
3139
|
+
|
3140
|
+
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
|
3141
|
+
return _this24.hide();
|
3142
|
+
});
|
3038
3143
|
});
|
3039
3144
|
|
3040
3145
|
if (this.config.selector) {
|
@@ -3069,14 +3174,14 @@ var Tooltip = function ($) {
|
|
3069
3174
|
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
|
3070
3175
|
}
|
3071
3176
|
|
3072
|
-
if ($(context.getTipElement()).hasClass(ClassName.
|
3073
|
-
context._hoverState = HoverState.
|
3177
|
+
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
|
3178
|
+
context._hoverState = HoverState.SHOW;
|
3074
3179
|
return;
|
3075
3180
|
}
|
3076
3181
|
|
3077
3182
|
clearTimeout(context._timeout);
|
3078
3183
|
|
3079
|
-
context._hoverState = HoverState.
|
3184
|
+
context._hoverState = HoverState.SHOW;
|
3080
3185
|
|
3081
3186
|
if (!context.config.delay || !context.config.delay.show) {
|
3082
3187
|
context.show();
|
@@ -3084,7 +3189,7 @@ var Tooltip = function ($) {
|
|
3084
3189
|
}
|
3085
3190
|
|
3086
3191
|
context._timeout = setTimeout(function () {
|
3087
|
-
if (context._hoverState === HoverState.
|
3192
|
+
if (context._hoverState === HoverState.SHOW) {
|
3088
3193
|
context.show();
|
3089
3194
|
}
|
3090
3195
|
}, context.config.delay.show);
|
@@ -3168,7 +3273,7 @@ var Tooltip = function ($) {
|
|
3168
3273
|
Tooltip._jQueryInterface = function _jQueryInterface(config) {
|
3169
3274
|
return this.each(function () {
|
3170
3275
|
var data = $(this).data(DATA_KEY);
|
3171
|
-
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object'
|
3276
|
+
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
|
3172
3277
|
|
3173
3278
|
if (!data && /dispose|hide/.test(config)) {
|
3174
3279
|
return;
|
@@ -3246,7 +3351,7 @@ var Tooltip = function ($) {
|
|
3246
3351
|
|
3247
3352
|
/**
|
3248
3353
|
* --------------------------------------------------------------------------
|
3249
|
-
* Bootstrap (v4.0.0-alpha.
|
3354
|
+
* Bootstrap (v4.0.0-alpha.6): popover.js
|
3250
3355
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
3251
3356
|
* --------------------------------------------------------------------------
|
3252
3357
|
*/
|
@@ -3260,7 +3365,7 @@ var Popover = function ($) {
|
|
3260
3365
|
*/
|
3261
3366
|
|
3262
3367
|
var NAME = 'popover';
|
3263
|
-
var VERSION = '4.0.0-alpha.
|
3368
|
+
var VERSION = '4.0.0-alpha.6';
|
3264
3369
|
var DATA_KEY = 'bs.popover';
|
3265
3370
|
var EVENT_KEY = '.' + DATA_KEY;
|
3266
3371
|
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
@@ -3278,7 +3383,7 @@ var Popover = function ($) {
|
|
3278
3383
|
|
3279
3384
|
var ClassName = {
|
3280
3385
|
FADE: 'fade',
|
3281
|
-
|
3386
|
+
SHOW: 'show'
|
3282
3387
|
};
|
3283
3388
|
|
3284
3389
|
var Selector = {
|
@@ -3331,7 +3436,7 @@ var Popover = function ($) {
|
|
3331
3436
|
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
|
3332
3437
|
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
|
3333
3438
|
|
3334
|
-
$tip.removeClass(ClassName.FADE
|
3439
|
+
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
|
3335
3440
|
|
3336
3441
|
this.cleanupTether();
|
3337
3442
|
};
|