11/*!
2- * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
3- * Copyright 2011-2016 Twitter, Inc.
2+ * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)
3+ * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
44 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
55 */
66
@@ -10,8 +10,8 @@ if (typeof jQuery === 'undefined') {
1010
1111+ function ( $ ) {
1212 var version = $ . fn . jquery . split ( ' ' ) [ 0 ] . split ( '.' )
13- if ( ( version [ 0 ] < 2 && version [ 1 ] < 9 ) || ( version [ 0 ] == 1 && version [ 1 ] == 9 && version [ 2 ] < 1 ) || ( version [ 0 ] >= 3 ) ) {
14- throw new Error ( 'Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v3 .0.0' )
13+ if ( ( version [ 0 ] < 2 && version [ 1 ] < 9 ) || ( version [ 0 ] == 1 && version [ 1 ] == 9 && version [ 2 ] < 1 ) || ( version [ 0 ] >= 4 ) ) {
14+ throw new Error ( 'Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4 .0.0' )
1515 }
1616} ( jQuery ) ;
1717
@@ -20,7 +20,7 @@ if (typeof jQuery === 'undefined') {
2020
2121/**
2222 * --------------------------------------------------------------------------
23- * Bootstrap (v4.0.0-alpha.2 ): util.js
23+ * Bootstrap (v4.0.0-alpha.3 ): util.js
2424 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2525 * --------------------------------------------------------------------------
2626 */
@@ -45,6 +45,8 @@ var Util = (function ($) {
4545
4646 var transition = false ;
4747
48+ var MAX_UID = 1000000 ;
49+
4850 var TransitionEndEvent = {
4951 WebkitTransition : 'webkitTransitionEnd' ,
5052 MozTransition : 'transitionend' ,
@@ -67,8 +69,9 @@ var Util = (function ($) {
6769 delegateType : transition . end ,
6870 handle : function handle ( event ) {
6971 if ( $ ( event . target ) . is ( this ) ) {
70- return event . handleObj . handler . apply ( this , arguments ) ;
72+ return event . handleObj . handler . apply ( this , arguments ) ; // eslint-disable-line prefer-rest-params
7173 }
74+ return undefined ;
7275 }
7376 } ;
7477 }
@@ -130,7 +133,7 @@ var Util = (function ($) {
130133 getUID : function getUID ( prefix ) {
131134 do {
132135 /* eslint-disable no-bitwise */
133- prefix += ~ ~ ( Math . random ( ) * 1000000 ) ; // "~~" acts like a faster Math.floor() here
136+ prefix += ~ ~ ( Math . random ( ) * MAX_UID ) ; // "~~" acts like a faster Math.floor() here
134137 /* eslint-enable no-bitwise */
135138 } while ( document . getElementById ( prefix ) ) ;
136139 return prefix ;
@@ -187,7 +190,7 @@ var Util = (function ($) {
187190
188191/**
189192 * --------------------------------------------------------------------------
190- * Bootstrap (v4.0.0-alpha.2 ): alert.js
193+ * Bootstrap (v4.0.0-alpha.3 ): alert.js
191194 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
192195 * --------------------------------------------------------------------------
193196 */
@@ -201,7 +204,7 @@ var Alert = (function ($) {
201204 */
202205
203206 var NAME = 'alert' ;
204- var VERSION = '4.0.0-alpha.2 ' ;
207+ var VERSION = '4.0.0-alpha.3 ' ;
205208 var DATA_KEY = 'bs.alert' ;
206209 var EVENT_KEY = '.' + DATA_KEY ;
207210 var DATA_API_KEY = '.data-api' ;
@@ -373,7 +376,7 @@ var Alert = (function ($) {
373376
374377/**
375378 * --------------------------------------------------------------------------
376- * Bootstrap (v4.0.0-alpha.2 ): button.js
379+ * Bootstrap (v4.0.0-alpha.3 ): button.js
377380 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
378381 * --------------------------------------------------------------------------
379382 */
@@ -387,7 +390,7 @@ var Button = (function ($) {
387390 */
388391
389392 var NAME = 'button' ;
390- var VERSION = '4.0.0-alpha.2 ' ;
393+ var VERSION = '4.0.0-alpha.3 ' ;
391394 var DATA_KEY = 'bs.button' ;
392395 var EVENT_KEY = '.' + DATA_KEY ;
393396 var DATA_API_KEY = '.data-api' ;
@@ -541,7 +544,7 @@ var Button = (function ($) {
541544
542545/**
543546 * --------------------------------------------------------------------------
544- * Bootstrap (v4.0.0-alpha.2 ): carousel.js
547+ * Bootstrap (v4.0.0-alpha.3 ): carousel.js
545548 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
546549 * --------------------------------------------------------------------------
547550 */
@@ -555,12 +558,14 @@ var Carousel = (function ($) {
555558 */
556559
557560 var NAME = 'carousel' ;
558- var VERSION = '4.0.0-alpha.2 ' ;
561+ var VERSION = '4.0.0-alpha.3 ' ;
559562 var DATA_KEY = 'bs.carousel' ;
560563 var EVENT_KEY = '.' + DATA_KEY ;
561564 var DATA_API_KEY = '.data-api' ;
562565 var JQUERY_NO_CONFLICT = $ . fn [ NAME ] ;
563566 var TRANSITION_DURATION = 600 ;
567+ var ARROW_LEFT_KEYCODE = 37 ; // KeyboardEvent.which value for left arrow key
568+ var ARROW_RIGHT_KEYCODE = 39 ; // KeyboardEvent.which value for right arrow key
564569
565570 var Default = {
566571 interval : 5000 ,
@@ -776,10 +781,12 @@ var Carousel = (function ($) {
776781 }
777782
778783 switch ( event . which ) {
779- case 37 :
780- this . prev ( ) ; break ;
781- case 39 :
782- this . next ( ) ; break ;
784+ case ARROW_LEFT_KEYCODE :
785+ this . prev ( ) ;
786+ break ;
787+ case ARROW_RIGHT_KEYCODE :
788+ this . next ( ) ;
789+ break ;
783790 default :
784791 return ;
785792 }
@@ -1013,7 +1020,7 @@ var Carousel = (function ($) {
10131020
10141021/**
10151022 * --------------------------------------------------------------------------
1016- * Bootstrap (v4.0.0-alpha.2 ): collapse.js
1023+ * Bootstrap (v4.0.0-alpha.3 ): collapse.js
10171024 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
10181025 * --------------------------------------------------------------------------
10191026 */
@@ -1027,7 +1034,7 @@ var Collapse = (function ($) {
10271034 */
10281035
10291036 var NAME = 'collapse' ;
1030- var VERSION = '4.0.0-alpha.2 ' ;
1037+ var VERSION = '4.0.0-alpha.3 ' ;
10311038 var DATA_KEY = 'bs.collapse' ;
10321039 var EVENT_KEY = '.' + DATA_KEY ;
10331040 var DATA_API_KEY = '.data-api' ;
@@ -1371,7 +1378,7 @@ var Collapse = (function ($) {
13711378
13721379/**
13731380 * --------------------------------------------------------------------------
1374- * Bootstrap (v4.0.0-alpha.2 ): dropdown.js
1381+ * Bootstrap (v4.0.0-alpha.3 ): dropdown.js
13751382 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
13761383 * --------------------------------------------------------------------------
13771384 */
@@ -1385,11 +1392,15 @@ var Dropdown = (function ($) {
13851392 */
13861393
13871394 var NAME = 'dropdown' ;
1388- var VERSION = '4.0.0-alpha.2 ' ;
1395+ var VERSION = '4.0.0-alpha.3 ' ;
13891396 var DATA_KEY = 'bs.dropdown' ;
13901397 var EVENT_KEY = '.' + DATA_KEY ;
13911398 var DATA_API_KEY = '.data-api' ;
13921399 var JQUERY_NO_CONFLICT = $ . fn [ NAME ] ;
1400+ var ESCAPE_KEYCODE = 27 ; // KeyboardEvent.which value for Escape (Esc) key
1401+ var ARROW_UP_KEYCODE = 38 ; // KeyboardEvent.which value for up arrow key
1402+ var ARROW_DOWN_KEYCODE = 40 ; // KeyboardEvent.which value for down arrow key
1403+ var RIGHT_MOUSE_BUTTON_WHICH = 3 ; // MouseEvent.which value for the right button (assuming a right-handed mouse)
13931404
13941405 var Event = {
13951406 HIDE : 'hide' + EVENT_KEY ,
@@ -1524,7 +1535,7 @@ var Dropdown = (function ($) {
15241535 } , {
15251536 key : '_clearMenus' ,
15261537 value : function _clearMenus ( event ) {
1527- if ( event && event . which === 3 ) {
1538+ if ( event && event . which === RIGHT_MOUSE_BUTTON_WHICH ) {
15281539 return ;
15291540 }
15301541
@@ -1587,9 +1598,9 @@ var Dropdown = (function ($) {
15871598 var parent = Dropdown . _getParentFromElement ( this ) ;
15881599 var isActive = $ ( parent ) . hasClass ( ClassName . OPEN ) ;
15891600
1590- if ( ! isActive && event . which !== 27 || isActive && event . which === 27 ) {
1601+ if ( ! isActive && event . which !== ESCAPE_KEYCODE || isActive && event . which === ESCAPE_KEYCODE ) {
15911602
1592- if ( event . which === 27 ) {
1603+ if ( event . which === ESCAPE_KEYCODE ) {
15931604 var toggle = $ ( parent ) . find ( Selector . DATA_TOGGLE ) [ 0 ] ;
15941605 $ ( toggle ) . trigger ( 'focus' ) ;
15951606 }
@@ -1610,12 +1621,12 @@ var Dropdown = (function ($) {
16101621
16111622 var index = items . indexOf ( event . target ) ;
16121623
1613- if ( event . which === 38 && index > 0 ) {
1624+ if ( event . which === ARROW_UP_KEYCODE && index > 0 ) {
16141625 // up
16151626 index -- ;
16161627 }
16171628
1618- if ( event . which === 40 && index < items . length - 1 ) {
1629+ if ( event . which === ARROW_DOWN_KEYCODE && index < items . length - 1 ) {
16191630 // down
16201631 index ++ ;
16211632 }
@@ -1658,7 +1669,7 @@ var Dropdown = (function ($) {
16581669
16591670/**
16601671 * --------------------------------------------------------------------------
1661- * Bootstrap (v4.0.0-alpha.2 ): modal.js
1672+ * Bootstrap (v4.0.0-alpha.3 ): modal.js
16621673 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
16631674 * --------------------------------------------------------------------------
16641675 */
@@ -1672,13 +1683,14 @@ var Modal = (function ($) {
16721683 */
16731684
16741685 var NAME = 'modal' ;
1675- var VERSION = '4.0.0-alpha.2 ' ;
1686+ var VERSION = '4.0.0-alpha.3 ' ;
16761687 var DATA_KEY = 'bs.modal' ;
16771688 var EVENT_KEY = '.' + DATA_KEY ;
16781689 var DATA_API_KEY = '.data-api' ;
16791690 var JQUERY_NO_CONFLICT = $ . fn [ NAME ] ;
16801691 var TRANSITION_DURATION = 300 ;
16811692 var BACKDROP_TRANSITION_DURATION = 150 ;
1693+ var ESCAPE_KEYCODE = 27 ; // KeyboardEvent.which value for Escape (Esc) key
16821694
16831695 var Default = {
16841696 backdrop : true ,
@@ -1874,6 +1886,7 @@ var Modal = (function ($) {
18741886 }
18751887
18761888 this . _element . style . display = 'block' ;
1889+ this . _element . removeAttribute ( 'aria-hidden' ) ;
18771890 this . _element . scrollTop = 0 ;
18781891
18791892 if ( transition ) {
@@ -1922,7 +1935,7 @@ var Modal = (function ($) {
19221935
19231936 if ( this . _isShown && this . _config . keyboard ) {
19241937 $ ( this . _element ) . on ( Event . KEYDOWN_DISMISS , function ( event ) {
1925- if ( event . which === 27 ) {
1938+ if ( event . which === ESCAPE_KEYCODE ) {
19261939 _this10 . hide ( ) ;
19271940 }
19281941 } ) ;
@@ -1945,6 +1958,7 @@ var Modal = (function ($) {
19451958 var _this11 = this ;
19461959
19471960 this . _element . style . display = 'none' ;
1961+ this . _element . setAttribute ( 'aria-hidden' , 'true' ) ;
19481962 this . _showBackdrop ( function ( ) {
19491963 $ ( document . body ) . removeClass ( ClassName . OPEN ) ;
19501964 _this11 . _resetAdjustments ( ) ;
@@ -2050,7 +2064,7 @@ var Modal = (function ($) {
20502064 }
20512065
20522066 if ( this . _isBodyOverflowing && ! isModalOverflowing ) {
2053- this . _element . style . paddingRight = this . _scrollbarWidth + 'px~ ' ;
2067+ this . _element . style . paddingRight = this . _scrollbarWidth + 'px' ;
20542068 }
20552069 }
20562070 } , {
@@ -2182,7 +2196,7 @@ var Modal = (function ($) {
21822196
21832197/**
21842198 * --------------------------------------------------------------------------
2185- * Bootstrap (v4.0.0-alpha.2 ): scrollspy.js
2199+ * Bootstrap (v4.0.0-alpha.3 ): scrollspy.js
21862200 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
21872201 * --------------------------------------------------------------------------
21882202 */
@@ -2196,7 +2210,7 @@ var ScrollSpy = (function ($) {
21962210 */
21972211
21982212 var NAME = 'scrollspy' ;
2199- var VERSION = '4.0.0-alpha.2 ' ;
2213+ var VERSION = '4.0.0-alpha.3 ' ;
22002214 var DATA_KEY = 'bs.scrollspy' ;
22012215 var EVENT_KEY = '.' + DATA_KEY ;
22022216 var DATA_API_KEY = '.data-api' ;
@@ -2311,6 +2325,7 @@ var ScrollSpy = (function ($) {
23112325 // todo (fat): remove sketch reliance on jQuery position/offset
23122326 return [ $ ( target ) [ offsetMethod ] ( ) . top + offsetBase , targetSelector ] ;
23132327 }
2328+ return null ;
23142329 } ) . filter ( function ( item ) {
23152330 return item ;
23162331 } ) . sort ( function ( a , b ) {
@@ -2496,7 +2511,7 @@ var ScrollSpy = (function ($) {
24962511
24972512/**
24982513 * --------------------------------------------------------------------------
2499- * Bootstrap (v4.0.0-alpha.2 ): tab.js
2514+ * Bootstrap (v4.0.0-alpha.3 ): tab.js
25002515 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
25012516 * --------------------------------------------------------------------------
25022517 */
@@ -2510,7 +2525,7 @@ var Tab = (function ($) {
25102525 */
25112526
25122527 var NAME = 'tab' ;
2513- var VERSION = '4.0.0-alpha.2 ' ;
2528+ var VERSION = '4.0.0-alpha.3 ' ;
25142529 var DATA_KEY = 'bs.tab' ;
25152530 var EVENT_KEY = '.' + DATA_KEY ;
25162531 var DATA_API_KEY = '.data-api' ;
@@ -2755,7 +2770,7 @@ var Tab = (function ($) {
27552770
27562771/**
27572772 * --------------------------------------------------------------------------
2758- * Bootstrap (v4.0.0-alpha.2 ): tooltip.js
2773+ * Bootstrap (v4.0.0-alpha.3 ): tooltip.js
27592774 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
27602775 * --------------------------------------------------------------------------
27612776 */
@@ -2777,7 +2792,7 @@ var Tooltip = (function ($) {
27772792 */
27782793
27792794 var NAME = 'tooltip' ;
2780- var VERSION = '4.0.0-alpha.2 ' ;
2795+ var VERSION = '4.0.0-alpha.3 ' ;
27812796 var DATA_KEY = 'bs.tooltip' ;
27822797 var EVENT_KEY = '.' + DATA_KEY ;
27832798 var JQUERY_NO_CONFLICT = $ . fn [ NAME ] ;
@@ -3366,7 +3381,7 @@ var Tooltip = (function ($) {
33663381
33673382/**
33683383 * --------------------------------------------------------------------------
3369- * Bootstrap (v4.0.0-alpha.2 ): popover.js
3384+ * Bootstrap (v4.0.0-alpha.3 ): popover.js
33703385 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
33713386 * --------------------------------------------------------------------------
33723387 */
@@ -3380,7 +3395,7 @@ var Popover = (function ($) {
33803395 */
33813396
33823397 var NAME = 'popover' ;
3383- var VERSION = '4.0.0-alpha.2 ' ;
3398+ var VERSION = '4.0.0-alpha.3 ' ;
33843399 var DATA_KEY = 'bs.popover' ;
33853400 var EVENT_KEY = '.' + DATA_KEY ;
33863401 var JQUERY_NO_CONFLICT = $ . fn [ NAME ] ;
0 commit comments