mirror of https://github.com/twbs/bootstrap.git
dist
This commit is contained in:
parent
f81f419b22
commit
e373fbea92
File diff suppressed because one or more lines are too long
|
@ -1385,6 +1385,12 @@ html {
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
.justify-content-start {
|
.justify-content-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -1541,6 +1547,11 @@ html {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-sm-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-sm-start {
|
.justify-content-sm-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -1677,6 +1688,11 @@ html {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-md-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-md-start {
|
.justify-content-md-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -1813,6 +1829,11 @@ html {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-lg-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-lg-start {
|
.justify-content-lg-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -1949,6 +1970,11 @@ html {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-xl-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-xl-start {
|
.justify-content-xl-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -202,7 +202,7 @@ th {
|
||||||
|
|
||||||
label {
|
label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -232,7 +232,7 @@ th {
|
||||||
|
|
||||||
label {
|
label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
@ -1712,6 +1712,13 @@ pre code {
|
||||||
border-bottom-width: 2px;
|
border-bottom-width: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.table-borderless th,
|
||||||
|
.table-borderless td,
|
||||||
|
.table-borderless thead th,
|
||||||
|
.table-borderless tbody + tbody {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.table-striped tbody tr:nth-of-type(odd) {
|
.table-striped tbody tr:nth-of-type(odd) {
|
||||||
background-color: rgba(0, 0, 0, 0.05);
|
background-color: rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
|
@ -2055,6 +2062,7 @@ select.form-control:focus::-ms-value {
|
||||||
padding-bottom: 0.375rem;
|
padding-bottom: 0.375rem;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
|
color: #212529;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: solid transparent;
|
border: solid transparent;
|
||||||
border-width: 1px 0;
|
border-width: 1px 0;
|
||||||
|
@ -2422,7 +2430,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
|
||||||
.form-inline .form-control-plaintext {
|
.form-inline .form-control-plaintext {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.form-inline .input-group {
|
.form-inline .input-group,
|
||||||
|
.form-inline .custom-select {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
.form-inline .form-check {
|
.form-inline .form-check {
|
||||||
|
@ -3306,6 +3315,12 @@ tbody.collapse.show {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown-item-text {
|
||||||
|
display: block;
|
||||||
|
padding: 0.25rem 1.5rem;
|
||||||
|
color: #212529;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-group,
|
.btn-group,
|
||||||
.btn-group-vertical {
|
.btn-group-vertical {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -4740,6 +4755,7 @@ tbody.collapse.show {
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-link:hover {
|
.page-link:hover {
|
||||||
|
z-index: 2;
|
||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: #e9ecef;
|
background-color: #e9ecef;
|
||||||
|
@ -5929,6 +5945,43 @@ button.close {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.carousel-fade .carousel-item {
|
||||||
|
opacity: 0;
|
||||||
|
transition-duration: .6s;
|
||||||
|
transition-property: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-fade .carousel-item.active,
|
||||||
|
.carousel-fade .carousel-item-next.carousel-item-left,
|
||||||
|
.carousel-fade .carousel-item-prev.carousel-item-right {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-fade .active.carousel-item-left,
|
||||||
|
.carousel-fade .active.carousel-item-right {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-fade .carousel-item-next,
|
||||||
|
.carousel-fade .carousel-item-prev,
|
||||||
|
.carousel-fade .carousel-item.active,
|
||||||
|
.carousel-fade .active.carousel-item-left,
|
||||||
|
.carousel-fade .active.carousel-item-prev {
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
|
||||||
|
.carousel-fade .carousel-item-next,
|
||||||
|
.carousel-fade .carousel-item-prev,
|
||||||
|
.carousel-fade .carousel-item.active,
|
||||||
|
.carousel-fade .active.carousel-item-left,
|
||||||
|
.carousel-fade .active.carousel-item-prev {
|
||||||
|
-webkit-transform: translate3d(0, 0, 0);
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.carousel-control-prev,
|
.carousel-control-prev,
|
||||||
.carousel-control-next {
|
.carousel-control-next {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -6572,6 +6625,12 @@ button.bg-dark:focus {
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
.justify-content-start {
|
.justify-content-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -6728,6 +6787,11 @@ button.bg-dark:focus {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-sm-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-sm-start {
|
.justify-content-sm-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -6864,6 +6928,11 @@ button.bg-dark:focus {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-md-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-md-start {
|
.justify-content-md-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -7000,6 +7069,11 @@ button.bg-dark:focus {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-lg-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-lg-start {
|
.justify-content-lg-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -7136,6 +7210,11 @@ button.bg-dark:focus {
|
||||||
-ms-flex-wrap: wrap-reverse !important;
|
-ms-flex-wrap: wrap-reverse !important;
|
||||||
flex-wrap: wrap-reverse !important;
|
flex-wrap: wrap-reverse !important;
|
||||||
}
|
}
|
||||||
|
.flex-xl-fill {
|
||||||
|
-webkit-box-flex: 1 !important;
|
||||||
|
-ms-flex: 1 1 auto !important;
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
}
|
||||||
.justify-content-xl-start {
|
.justify-content-xl-start {
|
||||||
-webkit-box-pack: start !important;
|
-webkit-box-pack: start !important;
|
||||||
-ms-flex-pack: start !important;
|
-ms-flex-pack: start !important;
|
||||||
|
@ -7381,6 +7460,10 @@ button.bg-dark:focus {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.w-auto {
|
||||||
|
width: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
.h-25 {
|
.h-25 {
|
||||||
height: 25% !important;
|
height: 25% !important;
|
||||||
}
|
}
|
||||||
|
@ -7397,6 +7480,10 @@ button.bg-dark:focus {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.h-auto {
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
.mw-100 {
|
.mw-100 {
|
||||||
max-width: 100% !important;
|
max-width: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -68,7 +68,7 @@ var Util = function ($$$1) {
|
||||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||||
|
|
||||||
function toType(obj) {
|
function toType(obj) {
|
||||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSpecialTransitionEndEvent() {
|
function getSpecialTransitionEndEvent() {
|
||||||
|
@ -118,13 +118,6 @@ var Util = function ($$$1) {
|
||||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function escapeId(selector) {
|
|
||||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
|
||||||
// $.escapeSelector does not exist in jQuery < 3
|
|
||||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
|
||||||
return selector;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* --------------------------------------------------------------------------
|
* --------------------------------------------------------------------------
|
||||||
* Public Util Api
|
* Public Util Api
|
||||||
|
@ -147,11 +140,6 @@ var Util = function ($$$1) {
|
||||||
|
|
||||||
if (!selector || selector === '#') {
|
if (!selector || selector === '#') {
|
||||||
selector = element.getAttribute('href') || '';
|
selector = element.getAttribute('href') || '';
|
||||||
} // If it's an ID
|
|
||||||
|
|
||||||
|
|
||||||
if (selector.charAt(0) === '#') {
|
|
||||||
selector = escapeId(selector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -3901,12 +3889,14 @@ var Dropdown = function ($$$1) {
|
||||||
var Default = {
|
var Default = {
|
||||||
offset: 0,
|
offset: 0,
|
||||||
flip: true,
|
flip: true,
|
||||||
boundary: 'scrollParent'
|
boundary: 'scrollParent',
|
||||||
|
reference: 'toggle'
|
||||||
};
|
};
|
||||||
var DefaultType = {
|
var DefaultType = {
|
||||||
offset: '(number|string|function)',
|
offset: '(number|string|function)',
|
||||||
flip: 'boolean',
|
flip: 'boolean',
|
||||||
boundary: '(string|element)'
|
boundary: '(string|element)',
|
||||||
|
reference: '(string|element)'
|
||||||
/**
|
/**
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
* Class Definition
|
* Class Definition
|
||||||
|
@ -3967,11 +3957,15 @@ var Dropdown = function ($$$1) {
|
||||||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||||
}
|
}
|
||||||
|
|
||||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
var referenceElement = this._element;
|
||||||
|
|
||||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
if (this._config.reference === 'parent') {
|
||||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
referenceElement = parent;
|
||||||
element = parent;
|
} else if (Util.isElement(this._config.reference)) {
|
||||||
|
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||||
|
|
||||||
|
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||||
|
referenceElement = this._config.reference[0];
|
||||||
}
|
}
|
||||||
} // If boundary is not `scrollParent`, then set position to `static`
|
} // If boundary is not `scrollParent`, then set position to `static`
|
||||||
// to allow the menu to "escape" the scroll parent's boundaries
|
// to allow the menu to "escape" the scroll parent's boundaries
|
||||||
|
@ -3982,7 +3976,7 @@ var Dropdown = function ($$$1) {
|
||||||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||||
} // If this is a touch-enabled device we add extra
|
} // If this is a touch-enabled device we add extra
|
||||||
// empty mouseover listeners to the body's immediate children;
|
// empty mouseover listeners to the body's immediate children;
|
||||||
// only needed because of broken event delegation on iOS
|
// only needed because of broken event delegation on iOS
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -69,7 +69,7 @@ var Util = function ($$$1) {
|
||||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||||
|
|
||||||
function toType(obj) {
|
function toType(obj) {
|
||||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSpecialTransitionEndEvent() {
|
function getSpecialTransitionEndEvent() {
|
||||||
|
@ -119,13 +119,6 @@ var Util = function ($$$1) {
|
||||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function escapeId(selector) {
|
|
||||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
|
||||||
// $.escapeSelector does not exist in jQuery < 3
|
|
||||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
|
||||||
return selector;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* --------------------------------------------------------------------------
|
* --------------------------------------------------------------------------
|
||||||
* Public Util Api
|
* Public Util Api
|
||||||
|
@ -148,11 +141,6 @@ var Util = function ($$$1) {
|
||||||
|
|
||||||
if (!selector || selector === '#') {
|
if (!selector || selector === '#') {
|
||||||
selector = element.getAttribute('href') || '';
|
selector = element.getAttribute('href') || '';
|
||||||
} // If it's an ID
|
|
||||||
|
|
||||||
|
|
||||||
if (selector.charAt(0) === '#') {
|
|
||||||
selector = escapeId(selector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -1467,12 +1455,14 @@ var Dropdown = function ($$$1) {
|
||||||
var Default = {
|
var Default = {
|
||||||
offset: 0,
|
offset: 0,
|
||||||
flip: true,
|
flip: true,
|
||||||
boundary: 'scrollParent'
|
boundary: 'scrollParent',
|
||||||
|
reference: 'toggle'
|
||||||
};
|
};
|
||||||
var DefaultType = {
|
var DefaultType = {
|
||||||
offset: '(number|string|function)',
|
offset: '(number|string|function)',
|
||||||
flip: 'boolean',
|
flip: 'boolean',
|
||||||
boundary: '(string|element)'
|
boundary: '(string|element)',
|
||||||
|
reference: '(string|element)'
|
||||||
/**
|
/**
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
* Class Definition
|
* Class Definition
|
||||||
|
@ -1533,11 +1523,15 @@ var Dropdown = function ($$$1) {
|
||||||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||||
}
|
}
|
||||||
|
|
||||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
var referenceElement = this._element;
|
||||||
|
|
||||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
if (this._config.reference === 'parent') {
|
||||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
referenceElement = parent;
|
||||||
element = parent;
|
} else if (Util.isElement(this._config.reference)) {
|
||||||
|
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||||
|
|
||||||
|
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||||
|
referenceElement = this._config.reference[0];
|
||||||
}
|
}
|
||||||
} // If boundary is not `scrollParent`, then set position to `static`
|
} // If boundary is not `scrollParent`, then set position to `static`
|
||||||
// to allow the menu to "escape" the scroll parent's boundaries
|
// to allow the menu to "escape" the scroll parent's boundaries
|
||||||
|
@ -1548,7 +1542,7 @@ var Dropdown = function ($$$1) {
|
||||||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||||
} // If this is a touch-enabled device we add extra
|
} // If this is a touch-enabled device we add extra
|
||||||
// empty mouseover listeners to the body's immediate children;
|
// empty mouseover listeners to the body's immediate children;
|
||||||
// only needed because of broken event delegation on iOS
|
// only needed because of broken event delegation on iOS
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -75,12 +75,14 @@ var Dropdown = function ($) {
|
||||||
var Default = {
|
var Default = {
|
||||||
offset: 0,
|
offset: 0,
|
||||||
flip: true,
|
flip: true,
|
||||||
boundary: 'scrollParent'
|
boundary: 'scrollParent',
|
||||||
|
reference: 'toggle'
|
||||||
};
|
};
|
||||||
var DefaultType = {
|
var DefaultType = {
|
||||||
offset: '(number|string|function)',
|
offset: '(number|string|function)',
|
||||||
flip: 'boolean',
|
flip: 'boolean',
|
||||||
boundary: '(string|element)'
|
boundary: '(string|element)',
|
||||||
|
reference: '(string|element)'
|
||||||
/**
|
/**
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
* Class Definition
|
* Class Definition
|
||||||
|
@ -141,11 +143,15 @@ var Dropdown = function ($) {
|
||||||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||||
}
|
}
|
||||||
|
|
||||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
var referenceElement = this._element;
|
||||||
|
|
||||||
if ($(parent).hasClass(ClassName.DROPUP)) {
|
if (this._config.reference === 'parent') {
|
||||||
if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
|
referenceElement = parent;
|
||||||
element = parent;
|
} else if (Util.isElement(this._config.reference)) {
|
||||||
|
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||||
|
|
||||||
|
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||||
|
referenceElement = this._config.reference[0];
|
||||||
}
|
}
|
||||||
} // If boundary is not `scrollParent`, then set position to `static`
|
} // If boundary is not `scrollParent`, then set position to `static`
|
||||||
// to allow the menu to "escape" the scroll parent's boundaries
|
// to allow the menu to "escape" the scroll parent's boundaries
|
||||||
|
@ -156,7 +162,7 @@ var Dropdown = function ($) {
|
||||||
$(parent).addClass(ClassName.POSITION_STATIC);
|
$(parent).addClass(ClassName.POSITION_STATIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||||
} // If this is a touch-enabled device we add extra
|
} // If this is a touch-enabled device we add extra
|
||||||
// empty mouseover listeners to the body's immediate children;
|
// empty mouseover listeners to the body's immediate children;
|
||||||
// only needed because of broken event delegation on iOS
|
// only needed because of broken event delegation on iOS
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -14,7 +14,7 @@ var Util = function ($) {
|
||||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||||
|
|
||||||
function toType(obj) {
|
function toType(obj) {
|
||||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSpecialTransitionEndEvent() {
|
function getSpecialTransitionEndEvent() {
|
||||||
|
@ -64,13 +64,6 @@ var Util = function ($) {
|
||||||
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function escapeId(selector) {
|
|
||||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
|
||||||
// $.escapeSelector does not exist in jQuery < 3
|
|
||||||
selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
|
||||||
return selector;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* --------------------------------------------------------------------------
|
* --------------------------------------------------------------------------
|
||||||
* Public Util Api
|
* Public Util Api
|
||||||
|
@ -93,11 +86,6 @@ var Util = function ($) {
|
||||||
|
|
||||||
if (!selector || selector === '#') {
|
if (!selector || selector === '#') {
|
||||||
selector = element.getAttribute('href') || '';
|
selector = element.getAttribute('href') || '';
|
||||||
} // If it's an ID
|
|
||||||
|
|
||||||
|
|
||||||
if (selector.charAt(0) === '#') {
|
|
||||||
selector = escapeId(selector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue