2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-14 18:42:30 +03:00
[ci skip]
This commit is contained in:
Chris Rebert
2016-06-04 18:21:15 -07:00
parent eb350d1a7c
commit 0f3d427bbd
35 changed files with 176 additions and 87 deletions
+8 -3
View File
@@ -1,5 +1,6 @@
/*! /*!
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
* Copyright 2011-2016 The Bootstrap Authors
* Copyright 2011-2016 Twitter, Inc. * Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -396,17 +397,17 @@ a:focus {
outline-offset: -2px; outline-offset: -2px;
} }
a:not([href]) { a:not([href]):not([tabindex]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
a:not([href]):focus, a:not([href]):hover { a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
a:not([href]):focus { a:not([href]):not([tabindex]):focus {
outline: none; outline: none;
} }
@@ -5666,6 +5667,10 @@ button.close {
border-radius: 0.2375rem 0.2375rem 0 0; border-radius: 0.2375rem 0.2375rem 0 0;
} }
.popover-title:empty {
display: none;
}
.popover-content { .popover-content {
padding: 9px 14px; padding: 9px 14px;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+28 -13
View File
@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc. * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -45,6 +45,8 @@ var Util = (function ($) {
var transition = false; var transition = false;
var MAX_UID = 1000000;
var TransitionEndEvent = { var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd', WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend', MozTransition: 'transitionend',
@@ -69,6 +71,7 @@ var Util = (function ($) {
if ($(event.target).is(this)) { if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); return event.handleObj.handler.apply(this, arguments);
} }
return undefined;
} }
}; };
} }
@@ -130,7 +133,7 @@ var Util = (function ($) {
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do { do {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here prefix += ~ ~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
/* eslint-enable no-bitwise */ /* eslint-enable no-bitwise */
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
return prefix; return prefix;
@@ -561,6 +564,8 @@ var Carousel = (function ($) {
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600; var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var Default = { var Default = {
interval: 5000, interval: 5000,
@@ -776,10 +781,12 @@ var Carousel = (function ($) {
} }
switch (event.which) { switch (event.which) {
case 37: case ARROW_LEFT_KEYCODE:
this.prev();break; this.prev();
case 39: break;
this.next();break; case ARROW_RIGHT_KEYCODE:
this.next();
break;
default: default:
return; return;
} }
@@ -1390,6 +1397,10 @@ var Dropdown = (function ($) {
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = { var Event = {
HIDE: 'hide' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY,
@@ -1524,7 +1535,7 @@ var Dropdown = (function ($) {
}, { }, {
key: '_clearMenus', key: '_clearMenus',
value: function _clearMenus(event) { value: function _clearMenus(event) {
if (event && event.which === 3) { if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return; return;
} }
@@ -1587,9 +1598,9 @@ var Dropdown = (function ($) {
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN); var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) { if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus'); $(toggle).trigger('focus');
} }
@@ -1610,12 +1621,12 @@ var Dropdown = (function ($) {
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) { if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up // up
index--; index--;
} }
if (event.which === 40 && index < items.length - 1) { if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down // down
index++; index++;
} }
@@ -1679,6 +1690,7 @@ var Modal = (function ($) {
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300; var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150; var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
backdrop: true, backdrop: true,
@@ -1874,6 +1886,7 @@ var Modal = (function ($) {
} }
this._element.style.display = 'block'; this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0; this._element.scrollTop = 0;
if (transition) { if (transition) {
@@ -1922,7 +1935,7 @@ var Modal = (function ($) {
if (this._isShown && this._config.keyboard) { if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
_this10.hide(); _this10.hide();
} }
}); });
@@ -1945,6 +1958,7 @@ var Modal = (function ($) {
var _this11 = this; var _this11 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._showBackdrop(function () { this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN); $(document.body).removeClass(ClassName.OPEN);
_this11._resetAdjustments(); _this11._resetAdjustments();
@@ -2050,7 +2064,7 @@ var Modal = (function ($) {
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~'; this._element.style.paddingRight = this._scrollbarWidth + 'px';
} }
} }
}, { }, {
@@ -2311,6 +2325,7 @@ var ScrollSpy = (function ($) {
// todo (fat): remove sketch reliance on jQuery position/offset // todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
} }
return null;
}).filter(function (item) { }).filter(function (item) {
return item; return item;
}).sort(function (a, b) { }).sort(function (a, b) {
+3 -3
View File
File diff suppressed because one or more lines are too long
+8 -4
View File
@@ -43,6 +43,8 @@
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600; var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var Default = { var Default = {
interval: 5000, interval: 5000,
@@ -258,10 +260,12 @@
} }
switch (event.which) { switch (event.which) {
case 37: case ARROW_LEFT_KEYCODE:
this.prev();break; this.prev();
case 39: break;
this.next();break; case ARROW_RIGHT_KEYCODE:
this.next();
break;
default: default:
return; return;
} }
+9 -5
View File
@@ -42,6 +42,10 @@
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = { var Event = {
HIDE: 'hide' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY,
@@ -176,7 +180,7 @@
}, { }, {
key: '_clearMenus', key: '_clearMenus',
value: function _clearMenus(event) { value: function _clearMenus(event) {
if (event && event.which === 3) { if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return; return;
} }
@@ -239,9 +243,9 @@
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN); var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) { if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus'); $(toggle).trigger('focus');
} }
@@ -262,12 +266,12 @@
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) { if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up // up
index--; index--;
} }
if (event.which === 40 && index < items.length - 1) { if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down // down
index++; index++;
} }
+5 -2
View File
@@ -44,6 +44,7 @@
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300; var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150; var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
backdrop: true, backdrop: true,
@@ -239,6 +240,7 @@
} }
this._element.style.display = 'block'; this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0; this._element.scrollTop = 0;
if (transition) { if (transition) {
@@ -287,7 +289,7 @@
if (this._isShown && this._config.keyboard) { if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
_this4.hide(); _this4.hide();
} }
}); });
@@ -310,6 +312,7 @@
var _this5 = this; var _this5 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._showBackdrop(function () { this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN); $(document.body).removeClass(ClassName.OPEN);
_this5._resetAdjustments(); _this5._resetAdjustments();
@@ -415,7 +418,7 @@
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~'; this._element.style.paddingRight = this._scrollbarWidth + 'px';
} }
} }
}, { }, {
+1
View File
@@ -152,6 +152,7 @@
// todo (fat): remove sketch reliance on jQuery position/offset // todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
} }
return null;
}).filter(function (item) { }).filter(function (item) {
return item; return item;
}).sort(function (a, b) { }).sort(function (a, b) {
+4 -1
View File
@@ -30,6 +30,8 @@
var transition = false; var transition = false;
var MAX_UID = 1000000;
var TransitionEndEvent = { var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd', WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend', MozTransition: 'transitionend',
@@ -54,6 +56,7 @@
if ($(event.target).is(this)) { if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); return event.handleObj.handler.apply(this, arguments);
} }
return undefined;
} }
}; };
} }
@@ -115,7 +118,7 @@
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do { do {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here prefix += ~ ~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
/* eslint-enable no-bitwise */ /* eslint-enable no-bitwise */
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
return prefix; return prefix;
+1
View File
@@ -1,5 +1,6 @@
/*! /*!
* Bootstrap Docs (http://getbootstrap.com) * Bootstrap Docs (http://getbootstrap.com)
* Copyright 2011-2016 The Bootstrap Authors
* Copyright 2011-2016 Twitter, Inc. * Copyright 2011-2016 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For * Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see https://creativecommons.org/licenses/by/3.0/. * details, see https://creativecommons.org/licenses/by/3.0/.
File diff suppressed because one or more lines are too long
+2 -1
View File
File diff suppressed because one or more lines are too long
+8 -3
View File
@@ -1,5 +1,6 @@
/*! /*!
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
* Copyright 2011-2016 The Bootstrap Authors
* Copyright 2011-2016 Twitter, Inc. * Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -396,17 +397,17 @@ a:focus {
outline-offset: -2px; outline-offset: -2px;
} }
a:not([href]) { a:not([href]):not([tabindex]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
a:not([href]):focus, a:not([href]):hover { a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
a:not([href]):focus { a:not([href]):not([tabindex]):focus {
outline: none; outline: none;
} }
@@ -5666,6 +5667,10 @@ button.close {
border-radius: 0.2375rem 0.2375rem 0 0; border-radius: 0.2375rem 0.2375rem 0 0;
} }
.popover-title:empty {
display: none;
}
.popover-content { .popover-content {
padding: 9px 14px; padding: 9px 14px;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+28 -13
View File
@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc. * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -45,6 +45,8 @@ var Util = (function ($) {
var transition = false; var transition = false;
var MAX_UID = 1000000;
var TransitionEndEvent = { var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd', WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend', MozTransition: 'transitionend',
@@ -69,6 +71,7 @@ var Util = (function ($) {
if ($(event.target).is(this)) { if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); return event.handleObj.handler.apply(this, arguments);
} }
return undefined;
} }
}; };
} }
@@ -130,7 +133,7 @@ var Util = (function ($) {
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do { do {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here prefix += ~ ~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
/* eslint-enable no-bitwise */ /* eslint-enable no-bitwise */
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
return prefix; return prefix;
@@ -561,6 +564,8 @@ var Carousel = (function ($) {
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600; var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var Default = { var Default = {
interval: 5000, interval: 5000,
@@ -776,10 +781,12 @@ var Carousel = (function ($) {
} }
switch (event.which) { switch (event.which) {
case 37: case ARROW_LEFT_KEYCODE:
this.prev();break; this.prev();
case 39: break;
this.next();break; case ARROW_RIGHT_KEYCODE:
this.next();
break;
default: default:
return; return;
} }
@@ -1390,6 +1397,10 @@ var Dropdown = (function ($) {
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = { var Event = {
HIDE: 'hide' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY,
@@ -1524,7 +1535,7 @@ var Dropdown = (function ($) {
}, { }, {
key: '_clearMenus', key: '_clearMenus',
value: function _clearMenus(event) { value: function _clearMenus(event) {
if (event && event.which === 3) { if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return; return;
} }
@@ -1587,9 +1598,9 @@ var Dropdown = (function ($) {
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN); var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) { if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus'); $(toggle).trigger('focus');
} }
@@ -1610,12 +1621,12 @@ var Dropdown = (function ($) {
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) { if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up // up
index--; index--;
} }
if (event.which === 40 && index < items.length - 1) { if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down // down
index++; index++;
} }
@@ -1679,6 +1690,7 @@ var Modal = (function ($) {
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300; var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150; var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
backdrop: true, backdrop: true,
@@ -1874,6 +1886,7 @@ var Modal = (function ($) {
} }
this._element.style.display = 'block'; this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0; this._element.scrollTop = 0;
if (transition) { if (transition) {
@@ -1922,7 +1935,7 @@ var Modal = (function ($) {
if (this._isShown && this._config.keyboard) { if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
_this10.hide(); _this10.hide();
} }
}); });
@@ -1945,6 +1958,7 @@ var Modal = (function ($) {
var _this11 = this; var _this11 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._showBackdrop(function () { this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN); $(document.body).removeClass(ClassName.OPEN);
_this11._resetAdjustments(); _this11._resetAdjustments();
@@ -2050,7 +2064,7 @@ var Modal = (function ($) {
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~'; this._element.style.paddingRight = this._scrollbarWidth + 'px';
} }
} }
}, { }, {
@@ -2311,6 +2325,7 @@ var ScrollSpy = (function ($) {
// todo (fat): remove sketch reliance on jQuery position/offset // todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
} }
return null;
}).filter(function (item) { }).filter(function (item) {
return item; return item;
}).sort(function (a, b) { }).sort(function (a, b) {
+3 -3
View File
File diff suppressed because one or more lines are too long
+8 -4
View File
@@ -43,6 +43,8 @@
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600; var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var Default = { var Default = {
interval: 5000, interval: 5000,
@@ -258,10 +260,12 @@
} }
switch (event.which) { switch (event.which) {
case 37: case ARROW_LEFT_KEYCODE:
this.prev();break; this.prev();
case 39: break;
this.next();break; case ARROW_RIGHT_KEYCODE:
this.next();
break;
default: default:
return; return;
} }
+9 -5
View File
@@ -42,6 +42,10 @@
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = { var Event = {
HIDE: 'hide' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY,
@@ -176,7 +180,7 @@
}, { }, {
key: '_clearMenus', key: '_clearMenus',
value: function _clearMenus(event) { value: function _clearMenus(event) {
if (event && event.which === 3) { if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return; return;
} }
@@ -239,9 +243,9 @@
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN); var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) { if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus'); $(toggle).trigger('focus');
} }
@@ -262,12 +266,12 @@
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) { if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up // up
index--; index--;
} }
if (event.which === 40 && index < items.length - 1) { if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down // down
index++; index++;
} }
+5 -2
View File
@@ -44,6 +44,7 @@
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300; var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150; var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
backdrop: true, backdrop: true,
@@ -239,6 +240,7 @@
} }
this._element.style.display = 'block'; this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0; this._element.scrollTop = 0;
if (transition) { if (transition) {
@@ -287,7 +289,7 @@
if (this._isShown && this._config.keyboard) { if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
_this4.hide(); _this4.hide();
} }
}); });
@@ -310,6 +312,7 @@
var _this5 = this; var _this5 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._showBackdrop(function () { this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN); $(document.body).removeClass(ClassName.OPEN);
_this5._resetAdjustments(); _this5._resetAdjustments();
@@ -415,7 +418,7 @@
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~'; this._element.style.paddingRight = this._scrollbarWidth + 'px';
} }
} }
}, { }, {
+1
View File
@@ -152,6 +152,7 @@
// todo (fat): remove sketch reliance on jQuery position/offset // todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
} }
return null;
}).filter(function (item) { }).filter(function (item) {
return item; return item;
}).sort(function (a, b) { }).sort(function (a, b) {
+4 -1
View File
@@ -30,6 +30,8 @@
var transition = false; var transition = false;
var MAX_UID = 1000000;
var TransitionEndEvent = { var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd', WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend', MozTransition: 'transitionend',
@@ -54,6 +56,7 @@
if ($(event.target).is(this)) { if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); return event.handleObj.handler.apply(this, arguments);
} }
return undefined;
} }
}; };
} }
@@ -115,7 +118,7 @@
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do { do {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here prefix += ~ ~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
/* eslint-enable no-bitwise */ /* eslint-enable no-bitwise */
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
return prefix; return prefix;
+8 -4
View File
@@ -26,6 +26,8 @@ var Carousel = (function ($) {
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600; var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var Default = { var Default = {
interval: 5000, interval: 5000,
@@ -241,10 +243,12 @@ var Carousel = (function ($) {
} }
switch (event.which) { switch (event.which) {
case 37: case ARROW_LEFT_KEYCODE:
this.prev();break; this.prev();
case 39: break;
this.next();break; case ARROW_RIGHT_KEYCODE:
this.next();
break;
default: default:
return; return;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -5
View File
@@ -25,6 +25,10 @@ var Dropdown = (function ($) {
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = { var Event = {
HIDE: 'hide' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY,
@@ -159,7 +163,7 @@ var Dropdown = (function ($) {
}, { }, {
key: '_clearMenus', key: '_clearMenus',
value: function _clearMenus(event) { value: function _clearMenus(event) {
if (event && event.which === 3) { if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return; return;
} }
@@ -222,9 +226,9 @@ var Dropdown = (function ($) {
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN); var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) { if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus'); $(toggle).trigger('focus');
} }
@@ -245,12 +249,12 @@ var Dropdown = (function ($) {
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) { if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up // up
index--; index--;
} }
if (event.which === 40 && index < items.length - 1) { if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down // down
index++; index++;
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+5 -2
View File
@@ -27,6 +27,7 @@ var Modal = (function ($) {
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300; var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150; var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
backdrop: true, backdrop: true,
@@ -222,6 +223,7 @@ var Modal = (function ($) {
} }
this._element.style.display = 'block'; this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0; this._element.scrollTop = 0;
if (transition) { if (transition) {
@@ -270,7 +272,7 @@ var Modal = (function ($) {
if (this._isShown && this._config.keyboard) { if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) { if (event.which === ESCAPE_KEYCODE) {
_this4.hide(); _this4.hide();
} }
}); });
@@ -293,6 +295,7 @@ var Modal = (function ($) {
var _this5 = this; var _this5 = this;
this._element.style.display = 'none'; this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._showBackdrop(function () { this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN); $(document.body).removeClass(ClassName.OPEN);
_this5._resetAdjustments(); _this5._resetAdjustments();
@@ -398,7 +401,7 @@ var Modal = (function ($) {
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~'; this._element.style.paddingRight = this._scrollbarWidth + 'px';
} }
} }
}, { }, {
+1 -1
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -135,6 +135,7 @@ var ScrollSpy = (function ($) {
// todo (fat): remove sketch reliance on jQuery position/offset // todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
} }
return null;
}).filter(function (item) { }).filter(function (item) {
return item; return item;
}).sort(function (a, b) { }).sort(function (a, b) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -1
View File
@@ -17,6 +17,8 @@ var Util = (function ($) {
var transition = false; var transition = false;
var MAX_UID = 1000000;
var TransitionEndEvent = { var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd', WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend', MozTransition: 'transitionend',
@@ -41,6 +43,7 @@ var Util = (function ($) {
if ($(event.target).is(this)) { if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); return event.handleObj.handler.apply(this, arguments);
} }
return undefined;
} }
}; };
} }
@@ -102,7 +105,7 @@ var Util = (function ($) {
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do { do {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here prefix += ~ ~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
/* eslint-enable no-bitwise */ /* eslint-enable no-bitwise */
} while (document.getElementById(prefix)); } while (document.getElementById(prefix));
return prefix; return prefix;
+1 -1
View File
File diff suppressed because one or more lines are too long