mumuki-styles 3.0.2.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/fonts/dev-awesome.eot +0 -0
- data/app/assets/fonts/dev-awesome.ttf +0 -0
- data/app/assets/fonts/dev-awesome.woff +0 -0
- data/app/assets/fonts/dev-awesome.woff2 +0 -0
- data/app/assets/javascripts/mumuki-styles.js +802 -815
- data/app/assets/stylesheets/css/mumuki-styles.css +56 -59
- data/app/assets/stylesheets/scss/_fonts.scss +0 -4
- data/app/assets/stylesheets/vendor/bootstrap/_accordion.scss +2 -4
- data/app/assets/stylesheets/vendor/bootstrap/_dropdown.scss +13 -7
- data/app/assets/stylesheets/vendor/bootstrap/_list-group.scss +5 -5
- data/app/assets/stylesheets/vendor/bootstrap/_mixins.scss +0 -1
- data/app/assets/stylesheets/vendor/bootstrap/_modal.scss +20 -2
- data/app/assets/stylesheets/vendor/bootstrap/_offcanvas.scss +11 -11
- data/app/assets/stylesheets/vendor/bootstrap/_spinners.scss +2 -2
- data/app/assets/stylesheets/vendor/bootstrap/_tables.scss +0 -1
- data/app/assets/stylesheets/vendor/bootstrap/_variables.scss +7 -7
- data/app/assets/stylesheets/vendor/bootstrap/bootstrap-utilities.scss +1 -1
- data/app/assets/stylesheets/vendor/bootstrap/bootstrap.scss +1 -1
- data/app/assets/stylesheets/vendor/bootstrap/mixins/_forms.scss +5 -15
- data/app/assets/stylesheets/vendor/bootstrap/mixins/_grid.scss +3 -8
- data/lib/mumuki/styles/version.rb +1 -1
- metadata +2 -3
- data/app/assets/stylesheets/vendor/bootstrap/mixins/_color-scheme.scss +0 -7
@@ -10220,7 +10220,7 @@ return jQuery;
|
|
10220
10220
|
} );
|
10221
10221
|
|
10222
10222
|
/**
|
10223
|
-
* @popperjs/core v2.9.
|
10223
|
+
* @popperjs/core v2.9.1 - MIT License
|
10224
10224
|
*/
|
10225
10225
|
|
10226
10226
|
(function (global, factory) {
|
@@ -10473,17 +10473,6 @@ return jQuery;
|
|
10473
10473
|
|
10474
10474
|
function getContainingBlock(element) {
|
10475
10475
|
var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
|
10476
|
-
var isIE = navigator.userAgent.indexOf('Trident') !== -1;
|
10477
|
-
|
10478
|
-
if (isIE && isHTMLElement(element)) {
|
10479
|
-
// In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
|
10480
|
-
var elementCss = getComputedStyle(element);
|
10481
|
-
|
10482
|
-
if (elementCss.position === 'fixed') {
|
10483
|
-
return null;
|
10484
|
-
}
|
10485
|
-
}
|
10486
|
-
|
10487
10476
|
var currentNode = getParentNode(element);
|
10488
10477
|
|
10489
10478
|
while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
|
@@ -12132,7 +12121,7 @@ return jQuery;
|
|
12132
12121
|
//# sourceMappingURL=popper.js.map
|
12133
12122
|
|
12134
12123
|
/*!
|
12135
|
-
* Bootstrap v5.0.
|
12124
|
+
* Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)
|
12136
12125
|
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
12137
12126
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12138
12127
|
*/
|
@@ -12166,82 +12155,10 @@ return jQuery;
|
|
12166
12155
|
|
12167
12156
|
/**
|
12168
12157
|
* --------------------------------------------------------------------------
|
12169
|
-
* Bootstrap (v5.0.
|
12170
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12171
|
-
* --------------------------------------------------------------------------
|
12172
|
-
*/
|
12173
|
-
|
12174
|
-
/**
|
12175
|
-
* ------------------------------------------------------------------------
|
12176
|
-
* Constants
|
12177
|
-
* ------------------------------------------------------------------------
|
12178
|
-
*/
|
12179
|
-
const NODE_TEXT = 3;
|
12180
|
-
const SelectorEngine = {
|
12181
|
-
find(selector, element = document.documentElement) {
|
12182
|
-
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
12183
|
-
},
|
12184
|
-
|
12185
|
-
findOne(selector, element = document.documentElement) {
|
12186
|
-
return Element.prototype.querySelector.call(element, selector);
|
12187
|
-
},
|
12188
|
-
|
12189
|
-
children(element, selector) {
|
12190
|
-
return [].concat(...element.children).filter(child => child.matches(selector));
|
12191
|
-
},
|
12192
|
-
|
12193
|
-
parents(element, selector) {
|
12194
|
-
const parents = [];
|
12195
|
-
let ancestor = element.parentNode;
|
12196
|
-
|
12197
|
-
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
12198
|
-
if (ancestor.matches(selector)) {
|
12199
|
-
parents.push(ancestor);
|
12200
|
-
}
|
12201
|
-
|
12202
|
-
ancestor = ancestor.parentNode;
|
12203
|
-
}
|
12204
|
-
|
12205
|
-
return parents;
|
12206
|
-
},
|
12207
|
-
|
12208
|
-
prev(element, selector) {
|
12209
|
-
let previous = element.previousElementSibling;
|
12210
|
-
|
12211
|
-
while (previous) {
|
12212
|
-
if (previous.matches(selector)) {
|
12213
|
-
return [previous];
|
12214
|
-
}
|
12215
|
-
|
12216
|
-
previous = previous.previousElementSibling;
|
12217
|
-
}
|
12218
|
-
|
12219
|
-
return [];
|
12220
|
-
},
|
12221
|
-
|
12222
|
-
next(element, selector) {
|
12223
|
-
let next = element.nextElementSibling;
|
12224
|
-
|
12225
|
-
while (next) {
|
12226
|
-
if (next.matches(selector)) {
|
12227
|
-
return [next];
|
12228
|
-
}
|
12229
|
-
|
12230
|
-
next = next.nextElementSibling;
|
12231
|
-
}
|
12232
|
-
|
12233
|
-
return [];
|
12234
|
-
}
|
12235
|
-
|
12236
|
-
};
|
12237
|
-
|
12238
|
-
/**
|
12239
|
-
* --------------------------------------------------------------------------
|
12240
|
-
* Bootstrap (v5.0.1): util/index.js
|
12158
|
+
* Bootstrap (v5.0.0-beta3): util/index.js
|
12241
12159
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12242
12160
|
* --------------------------------------------------------------------------
|
12243
12161
|
*/
|
12244
|
-
|
12245
12162
|
const MAX_UID = 1000000;
|
12246
12163
|
const MILLISECONDS_MULTIPLIER = 1000;
|
12247
12164
|
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
@@ -12283,7 +12200,7 @@ return jQuery;
|
|
12283
12200
|
|
12284
12201
|
|
12285
12202
|
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
|
12286
|
-
hrefAttr =
|
12203
|
+
hrefAttr = '#' + hrefAttr.split('#')[1];
|
12287
12204
|
}
|
12288
12205
|
|
12289
12206
|
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
@@ -12334,30 +12251,7 @@ return jQuery;
|
|
12334
12251
|
element.dispatchEvent(new Event(TRANSITION_END));
|
12335
12252
|
};
|
12336
12253
|
|
12337
|
-
const isElement = obj =>
|
12338
|
-
if (!obj || typeof obj !== 'object') {
|
12339
|
-
return false;
|
12340
|
-
}
|
12341
|
-
|
12342
|
-
if (typeof obj.jquery !== 'undefined') {
|
12343
|
-
obj = obj[0];
|
12344
|
-
}
|
12345
|
-
|
12346
|
-
return typeof obj.nodeType !== 'undefined';
|
12347
|
-
};
|
12348
|
-
|
12349
|
-
const getElement = obj => {
|
12350
|
-
if (isElement(obj)) {
|
12351
|
-
// it's a jQuery object or a node element
|
12352
|
-
return obj.jquery ? obj[0] : obj;
|
12353
|
-
}
|
12354
|
-
|
12355
|
-
if (typeof obj === 'string' && obj.length > 0) {
|
12356
|
-
return SelectorEngine.findOne(obj);
|
12357
|
-
}
|
12358
|
-
|
12359
|
-
return null;
|
12360
|
-
};
|
12254
|
+
const isElement = obj => (obj[0] || obj).nodeType;
|
12361
12255
|
|
12362
12256
|
const emulateTransitionEnd = (element, duration) => {
|
12363
12257
|
let called = false;
|
@@ -12384,7 +12278,7 @@ return jQuery;
|
|
12384
12278
|
const valueType = value && isElement(value) ? 'element' : toType(value);
|
12385
12279
|
|
12386
12280
|
if (!new RegExp(expectedTypes).test(valueType)) {
|
12387
|
-
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
12281
|
+
throw new TypeError(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`);
|
12388
12282
|
}
|
12389
12283
|
});
|
12390
12284
|
};
|
@@ -12442,7 +12336,7 @@ return jQuery;
|
|
12442
12336
|
return findShadowRoot(element.parentNode);
|
12443
12337
|
};
|
12444
12338
|
|
12445
|
-
const noop = () => {};
|
12339
|
+
const noop = () => function () {};
|
12446
12340
|
|
12447
12341
|
const reflow = element => element.offsetHeight;
|
12448
12342
|
|
@@ -12468,13 +12362,12 @@ return jQuery;
|
|
12468
12362
|
|
12469
12363
|
const isRTL = () => document.documentElement.dir === 'rtl';
|
12470
12364
|
|
12471
|
-
const defineJQueryPlugin = plugin => {
|
12365
|
+
const defineJQueryPlugin = (name, plugin) => {
|
12472
12366
|
onDOMContentLoaded(() => {
|
12473
12367
|
const $ = getjQuery();
|
12474
12368
|
/* istanbul ignore if */
|
12475
12369
|
|
12476
12370
|
if ($) {
|
12477
|
-
const name = plugin.NAME;
|
12478
12371
|
const JQUERY_NO_CONFLICT = $.fn[name];
|
12479
12372
|
$.fn[name] = plugin.jQueryInterface;
|
12480
12373
|
$.fn[name].Constructor = plugin;
|
@@ -12487,15 +12380,9 @@ return jQuery;
|
|
12487
12380
|
});
|
12488
12381
|
};
|
12489
12382
|
|
12490
|
-
const execute = callback => {
|
12491
|
-
if (typeof callback === 'function') {
|
12492
|
-
callback();
|
12493
|
-
}
|
12494
|
-
};
|
12495
|
-
|
12496
12383
|
/**
|
12497
12384
|
* --------------------------------------------------------------------------
|
12498
|
-
* Bootstrap (v5.0.
|
12385
|
+
* Bootstrap (v5.0.0-beta3): dom/data.js
|
12499
12386
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12500
12387
|
* --------------------------------------------------------------------------
|
12501
12388
|
*/
|
@@ -12549,7 +12436,7 @@ return jQuery;
|
|
12549
12436
|
|
12550
12437
|
/**
|
12551
12438
|
* --------------------------------------------------------------------------
|
12552
|
-
* Bootstrap (v5.0.
|
12439
|
+
* Bootstrap (v5.0.0-beta3): dom/event-handler.js
|
12553
12440
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12554
12441
|
* --------------------------------------------------------------------------
|
12555
12442
|
*/
|
@@ -12569,7 +12456,6 @@ return jQuery;
|
|
12569
12456
|
mouseenter: 'mouseover',
|
12570
12457
|
mouseleave: 'mouseout'
|
12571
12458
|
};
|
12572
|
-
const customEventsRegex = /^(mouseenter|mouseleave)/i;
|
12573
12459
|
const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
|
12574
12460
|
/**
|
12575
12461
|
* ------------------------------------------------------------------------
|
@@ -12613,7 +12499,7 @@ return jQuery;
|
|
12613
12499
|
|
12614
12500
|
if (handler.oneOff) {
|
12615
12501
|
// eslint-disable-next-line unicorn/consistent-destructuring
|
12616
|
-
EventHandler.off(element, event.type,
|
12502
|
+
EventHandler.off(element, event.type, fn);
|
12617
12503
|
}
|
12618
12504
|
|
12619
12505
|
return fn.apply(target, [event]);
|
@@ -12642,8 +12528,15 @@ return jQuery;
|
|
12642
12528
|
|
12643
12529
|
function normalizeParams(originalTypeEvent, handler, delegationFn) {
|
12644
12530
|
const delegation = typeof handler === 'string';
|
12645
|
-
const originalHandler = delegation ? delegationFn : handler;
|
12646
|
-
|
12531
|
+
const originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
|
12532
|
+
|
12533
|
+
let typeEvent = originalTypeEvent.replace(stripNameRegex, '');
|
12534
|
+
const custom = customEvents[typeEvent];
|
12535
|
+
|
12536
|
+
if (custom) {
|
12537
|
+
typeEvent = custom;
|
12538
|
+
}
|
12539
|
+
|
12647
12540
|
const isNative = nativeEvents.has(typeEvent);
|
12648
12541
|
|
12649
12542
|
if (!isNative) {
|
@@ -12661,24 +12554,6 @@ return jQuery;
|
|
12661
12554
|
if (!handler) {
|
12662
12555
|
handler = delegationFn;
|
12663
12556
|
delegationFn = null;
|
12664
|
-
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
12665
|
-
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
|
12666
|
-
|
12667
|
-
|
12668
|
-
if (customEventsRegex.test(originalTypeEvent)) {
|
12669
|
-
const wrapFn = fn => {
|
12670
|
-
return function (event) {
|
12671
|
-
if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {
|
12672
|
-
return fn.call(this, event);
|
12673
|
-
}
|
12674
|
-
};
|
12675
|
-
};
|
12676
|
-
|
12677
|
-
if (delegationFn) {
|
12678
|
-
delegationFn = wrapFn(delegationFn);
|
12679
|
-
} else {
|
12680
|
-
handler = wrapFn(handler);
|
12681
|
-
}
|
12682
12557
|
}
|
12683
12558
|
|
12684
12559
|
const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
|
@@ -12722,12 +12597,6 @@ return jQuery;
|
|
12722
12597
|
});
|
12723
12598
|
}
|
12724
12599
|
|
12725
|
-
function getTypeEvent(event) {
|
12726
|
-
// allow to get the native events from namespaced events ('click.bs.button' --> 'click')
|
12727
|
-
event = event.replace(stripNameRegex, '');
|
12728
|
-
return customEvents[event] || event;
|
12729
|
-
}
|
12730
|
-
|
12731
12600
|
const EventHandler = {
|
12732
12601
|
on(element, event, handler, delegationFn) {
|
12733
12602
|
addHandler(element, event, handler, delegationFn, false);
|
@@ -12780,7 +12649,7 @@ return jQuery;
|
|
12780
12649
|
}
|
12781
12650
|
|
12782
12651
|
const $ = getjQuery();
|
12783
|
-
const typeEvent =
|
12652
|
+
const typeEvent = event.replace(stripNameRegex, '');
|
12784
12653
|
const inNamespace = event !== typeEvent;
|
12785
12654
|
const isNative = nativeEvents.has(typeEvent);
|
12786
12655
|
let jQueryEvent;
|
@@ -12838,7 +12707,7 @@ return jQuery;
|
|
12838
12707
|
|
12839
12708
|
/**
|
12840
12709
|
* --------------------------------------------------------------------------
|
12841
|
-
* Bootstrap (v5.0.
|
12710
|
+
* Bootstrap (v5.0.0-beta3): base-component.js
|
12842
12711
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12843
12712
|
* --------------------------------------------------------------------------
|
12844
12713
|
*/
|
@@ -12848,11 +12717,11 @@ return jQuery;
|
|
12848
12717
|
* ------------------------------------------------------------------------
|
12849
12718
|
*/
|
12850
12719
|
|
12851
|
-
const VERSION = '5.0.
|
12720
|
+
const VERSION = '5.0.0-beta3';
|
12852
12721
|
|
12853
12722
|
class BaseComponent {
|
12854
12723
|
constructor(element) {
|
12855
|
-
element =
|
12724
|
+
element = typeof element === 'string' ? document.querySelector(element) : element;
|
12856
12725
|
|
12857
12726
|
if (!element) {
|
12858
12727
|
return;
|
@@ -12864,21 +12733,7 @@ return jQuery;
|
|
12864
12733
|
|
12865
12734
|
dispose() {
|
12866
12735
|
Data.remove(this._element, this.constructor.DATA_KEY);
|
12867
|
-
|
12868
|
-
Object.getOwnPropertyNames(this).forEach(propertyName => {
|
12869
|
-
this[propertyName] = null;
|
12870
|
-
});
|
12871
|
-
}
|
12872
|
-
|
12873
|
-
_queueCallback(callback, element, isAnimated = true) {
|
12874
|
-
if (!isAnimated) {
|
12875
|
-
execute(callback);
|
12876
|
-
return;
|
12877
|
-
}
|
12878
|
-
|
12879
|
-
const transitionDuration = getTransitionDurationFromElement(element);
|
12880
|
-
EventHandler.one(element, 'transitionend', () => execute(callback));
|
12881
|
-
emulateTransitionEnd(element, transitionDuration);
|
12736
|
+
this._element = null;
|
12882
12737
|
}
|
12883
12738
|
/** Static */
|
12884
12739
|
|
@@ -12891,23 +12746,11 @@ return jQuery;
|
|
12891
12746
|
return VERSION;
|
12892
12747
|
}
|
12893
12748
|
|
12894
|
-
static get NAME() {
|
12895
|
-
throw new Error('You have to implement the static method "NAME", for each component!');
|
12896
|
-
}
|
12897
|
-
|
12898
|
-
static get DATA_KEY() {
|
12899
|
-
return `bs.${this.NAME}`;
|
12900
|
-
}
|
12901
|
-
|
12902
|
-
static get EVENT_KEY() {
|
12903
|
-
return `.${this.DATA_KEY}`;
|
12904
|
-
}
|
12905
|
-
|
12906
12749
|
}
|
12907
12750
|
|
12908
12751
|
/**
|
12909
12752
|
* --------------------------------------------------------------------------
|
12910
|
-
* Bootstrap (v5.0.
|
12753
|
+
* Bootstrap (v5.0.0-beta3): alert.js
|
12911
12754
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
12912
12755
|
* --------------------------------------------------------------------------
|
12913
12756
|
*/
|
@@ -12917,7 +12760,7 @@ return jQuery;
|
|
12917
12760
|
* ------------------------------------------------------------------------
|
12918
12761
|
*/
|
12919
12762
|
|
12920
|
-
const NAME$
|
12763
|
+
const NAME$b = 'alert';
|
12921
12764
|
const DATA_KEY$b = 'bs.alert';
|
12922
12765
|
const EVENT_KEY$b = `.${DATA_KEY$b}`;
|
12923
12766
|
const DATA_API_KEY$8 = '.data-api';
|
@@ -12926,8 +12769,8 @@ return jQuery;
|
|
12926
12769
|
const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
|
12927
12770
|
const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$8}`;
|
12928
12771
|
const CLASS_NAME_ALERT = 'alert';
|
12929
|
-
const CLASS_NAME_FADE$
|
12930
|
-
const CLASS_NAME_SHOW$
|
12772
|
+
const CLASS_NAME_FADE$5 = 'fade';
|
12773
|
+
const CLASS_NAME_SHOW$8 = 'show';
|
12931
12774
|
/**
|
12932
12775
|
* ------------------------------------------------------------------------
|
12933
12776
|
* Class Definition
|
@@ -12936,8 +12779,8 @@ return jQuery;
|
|
12936
12779
|
|
12937
12780
|
class Alert extends BaseComponent {
|
12938
12781
|
// Getters
|
12939
|
-
static get
|
12940
|
-
return
|
12782
|
+
static get DATA_KEY() {
|
12783
|
+
return DATA_KEY$b;
|
12941
12784
|
} // Public
|
12942
12785
|
|
12943
12786
|
|
@@ -12963,10 +12806,17 @@ return jQuery;
|
|
12963
12806
|
}
|
12964
12807
|
|
12965
12808
|
_removeElement(element) {
|
12966
|
-
element.classList.remove(CLASS_NAME_SHOW$
|
12967
|
-
|
12809
|
+
element.classList.remove(CLASS_NAME_SHOW$8);
|
12810
|
+
|
12811
|
+
if (!element.classList.contains(CLASS_NAME_FADE$5)) {
|
12812
|
+
this._destroyElement(element);
|
12968
12813
|
|
12969
|
-
|
12814
|
+
return;
|
12815
|
+
}
|
12816
|
+
|
12817
|
+
const transitionDuration = getTransitionDurationFromElement(element);
|
12818
|
+
EventHandler.one(element, 'transitionend', () => this._destroyElement(element));
|
12819
|
+
emulateTransitionEnd(element, transitionDuration);
|
12970
12820
|
}
|
12971
12821
|
|
12972
12822
|
_destroyElement(element) {
|
@@ -13018,11 +12868,11 @@ return jQuery;
|
|
13018
12868
|
* add .Alert to jQuery only if jQuery is present
|
13019
12869
|
*/
|
13020
12870
|
|
13021
|
-
defineJQueryPlugin(Alert);
|
12871
|
+
defineJQueryPlugin(NAME$b, Alert);
|
13022
12872
|
|
13023
12873
|
/**
|
13024
12874
|
* --------------------------------------------------------------------------
|
13025
|
-
* Bootstrap (v5.0.
|
12875
|
+
* Bootstrap (v5.0.0-beta3): button.js
|
13026
12876
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
13027
12877
|
* --------------------------------------------------------------------------
|
13028
12878
|
*/
|
@@ -13032,7 +12882,7 @@ return jQuery;
|
|
13032
12882
|
* ------------------------------------------------------------------------
|
13033
12883
|
*/
|
13034
12884
|
|
13035
|
-
const NAME$
|
12885
|
+
const NAME$a = 'button';
|
13036
12886
|
const DATA_KEY$a = 'bs.button';
|
13037
12887
|
const EVENT_KEY$a = `.${DATA_KEY$a}`;
|
13038
12888
|
const DATA_API_KEY$7 = '.data-api';
|
@@ -13047,8 +12897,8 @@ return jQuery;
|
|
13047
12897
|
|
13048
12898
|
class Button extends BaseComponent {
|
13049
12899
|
// Getters
|
13050
|
-
static get
|
13051
|
-
return
|
12900
|
+
static get DATA_KEY() {
|
12901
|
+
return DATA_KEY$a;
|
13052
12902
|
} // Public
|
13053
12903
|
|
13054
12904
|
|
@@ -13098,11 +12948,11 @@ return jQuery;
|
|
13098
12948
|
* add .Button to jQuery only if jQuery is present
|
13099
12949
|
*/
|
13100
12950
|
|
13101
|
-
defineJQueryPlugin(Button);
|
12951
|
+
defineJQueryPlugin(NAME$a, Button);
|
13102
12952
|
|
13103
12953
|
/**
|
13104
12954
|
* --------------------------------------------------------------------------
|
13105
|
-
* Bootstrap (v5.0.
|
12955
|
+
* Bootstrap (v5.0.0-beta3): dom/manipulator.js
|
13106
12956
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
13107
12957
|
* --------------------------------------------------------------------------
|
13108
12958
|
*/
|
@@ -13176,7 +13026,78 @@ return jQuery;
|
|
13176
13026
|
|
13177
13027
|
/**
|
13178
13028
|
* --------------------------------------------------------------------------
|
13179
|
-
* Bootstrap (v5.0.
|
13029
|
+
* Bootstrap (v5.0.0-beta3): dom/selector-engine.js
|
13030
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
13031
|
+
* --------------------------------------------------------------------------
|
13032
|
+
*/
|
13033
|
+
|
13034
|
+
/**
|
13035
|
+
* ------------------------------------------------------------------------
|
13036
|
+
* Constants
|
13037
|
+
* ------------------------------------------------------------------------
|
13038
|
+
*/
|
13039
|
+
const NODE_TEXT = 3;
|
13040
|
+
const SelectorEngine = {
|
13041
|
+
find(selector, element = document.documentElement) {
|
13042
|
+
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
13043
|
+
},
|
13044
|
+
|
13045
|
+
findOne(selector, element = document.documentElement) {
|
13046
|
+
return Element.prototype.querySelector.call(element, selector);
|
13047
|
+
},
|
13048
|
+
|
13049
|
+
children(element, selector) {
|
13050
|
+
return [].concat(...element.children).filter(child => child.matches(selector));
|
13051
|
+
},
|
13052
|
+
|
13053
|
+
parents(element, selector) {
|
13054
|
+
const parents = [];
|
13055
|
+
let ancestor = element.parentNode;
|
13056
|
+
|
13057
|
+
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
13058
|
+
if (ancestor.matches(selector)) {
|
13059
|
+
parents.push(ancestor);
|
13060
|
+
}
|
13061
|
+
|
13062
|
+
ancestor = ancestor.parentNode;
|
13063
|
+
}
|
13064
|
+
|
13065
|
+
return parents;
|
13066
|
+
},
|
13067
|
+
|
13068
|
+
prev(element, selector) {
|
13069
|
+
let previous = element.previousElementSibling;
|
13070
|
+
|
13071
|
+
while (previous) {
|
13072
|
+
if (previous.matches(selector)) {
|
13073
|
+
return [previous];
|
13074
|
+
}
|
13075
|
+
|
13076
|
+
previous = previous.previousElementSibling;
|
13077
|
+
}
|
13078
|
+
|
13079
|
+
return [];
|
13080
|
+
},
|
13081
|
+
|
13082
|
+
next(element, selector) {
|
13083
|
+
let next = element.nextElementSibling;
|
13084
|
+
|
13085
|
+
while (next) {
|
13086
|
+
if (next.matches(selector)) {
|
13087
|
+
return [next];
|
13088
|
+
}
|
13089
|
+
|
13090
|
+
next = next.nextElementSibling;
|
13091
|
+
}
|
13092
|
+
|
13093
|
+
return [];
|
13094
|
+
}
|
13095
|
+
|
13096
|
+
};
|
13097
|
+
|
13098
|
+
/**
|
13099
|
+
* --------------------------------------------------------------------------
|
13100
|
+
* Bootstrap (v5.0.0-beta3): carousel.js
|
13180
13101
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
13181
13102
|
* --------------------------------------------------------------------------
|
13182
13103
|
*/
|
@@ -13186,7 +13107,7 @@ return jQuery;
|
|
13186
13107
|
* ------------------------------------------------------------------------
|
13187
13108
|
*/
|
13188
13109
|
|
13189
|
-
const NAME$
|
13110
|
+
const NAME$9 = 'carousel';
|
13190
13111
|
const DATA_KEY$9 = 'bs.carousel';
|
13191
13112
|
const EVENT_KEY$9 = `.${DATA_KEY$9}`;
|
13192
13113
|
const DATA_API_KEY$6 = '.data-api';
|
@@ -13195,7 +13116,7 @@ return jQuery;
|
|
13195
13116
|
const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
|
13196
13117
|
|
13197
13118
|
const SWIPE_THRESHOLD = 40;
|
13198
|
-
const Default$
|
13119
|
+
const Default$8 = {
|
13199
13120
|
interval: 5000,
|
13200
13121
|
keyboard: true,
|
13201
13122
|
slide: false,
|
@@ -13203,7 +13124,7 @@ return jQuery;
|
|
13203
13124
|
wrap: true,
|
13204
13125
|
touch: true
|
13205
13126
|
};
|
13206
|
-
const DefaultType$
|
13127
|
+
const DefaultType$8 = {
|
13207
13128
|
interval: '(number|boolean)',
|
13208
13129
|
keyboard: 'boolean',
|
13209
13130
|
slide: '(boolean|string)',
|
@@ -13274,11 +13195,11 @@ return jQuery;
|
|
13274
13195
|
|
13275
13196
|
|
13276
13197
|
static get Default() {
|
13277
|
-
return Default$
|
13198
|
+
return Default$8;
|
13278
13199
|
}
|
13279
13200
|
|
13280
|
-
static get
|
13281
|
-
return
|
13201
|
+
static get DATA_KEY() {
|
13202
|
+
return DATA_KEY$9;
|
13282
13203
|
} // Public
|
13283
13204
|
|
13284
13205
|
|
@@ -13356,14 +13277,26 @@ return jQuery;
|
|
13356
13277
|
const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;
|
13357
13278
|
|
13358
13279
|
this._slide(order, this._items[index]);
|
13280
|
+
}
|
13281
|
+
|
13282
|
+
dispose() {
|
13283
|
+
EventHandler.off(this._element, EVENT_KEY$9);
|
13284
|
+
this._items = null;
|
13285
|
+
this._config = null;
|
13286
|
+
this._interval = null;
|
13287
|
+
this._isPaused = null;
|
13288
|
+
this._isSliding = null;
|
13289
|
+
this._activeElement = null;
|
13290
|
+
this._indicatorsElement = null;
|
13291
|
+
super.dispose();
|
13359
13292
|
} // Private
|
13360
13293
|
|
13361
13294
|
|
13362
13295
|
_getConfig(config) {
|
13363
|
-
config = { ...Default$
|
13296
|
+
config = { ...Default$8,
|
13364
13297
|
...config
|
13365
13298
|
};
|
13366
|
-
typeCheckConfig(NAME$
|
13299
|
+
typeCheckConfig(NAME$9, config, DefaultType$8);
|
13367
13300
|
return config;
|
13368
13301
|
}
|
13369
13302
|
|
@@ -13462,11 +13395,11 @@ return jQuery;
|
|
13462
13395
|
if (event.key === ARROW_LEFT_KEY) {
|
13463
13396
|
event.preventDefault();
|
13464
13397
|
|
13465
|
-
this._slide(
|
13398
|
+
this._slide(DIRECTION_LEFT);
|
13466
13399
|
} else if (event.key === ARROW_RIGHT_KEY) {
|
13467
13400
|
event.preventDefault();
|
13468
13401
|
|
13469
|
-
this._slide(
|
13402
|
+
this._slide(DIRECTION_RIGHT);
|
13470
13403
|
}
|
13471
13404
|
}
|
13472
13405
|
|
@@ -13584,35 +13517,37 @@ return jQuery;
|
|
13584
13517
|
|
13585
13518
|
this._activeElement = nextElement;
|
13586
13519
|
|
13587
|
-
const triggerSlidEvent = () => {
|
13588
|
-
EventHandler.trigger(this._element, EVENT_SLID, {
|
13589
|
-
relatedTarget: nextElement,
|
13590
|
-
direction: eventDirectionName,
|
13591
|
-
from: activeElementIndex,
|
13592
|
-
to: nextElementIndex
|
13593
|
-
});
|
13594
|
-
};
|
13595
|
-
|
13596
13520
|
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
|
13597
13521
|
nextElement.classList.add(orderClassName);
|
13598
13522
|
reflow(nextElement);
|
13599
13523
|
activeElement.classList.add(directionalClassName);
|
13600
13524
|
nextElement.classList.add(directionalClassName);
|
13601
|
-
|
13602
|
-
|
13525
|
+
const transitionDuration = getTransitionDurationFromElement(activeElement);
|
13526
|
+
EventHandler.one(activeElement, 'transitionend', () => {
|
13603
13527
|
nextElement.classList.remove(directionalClassName, orderClassName);
|
13604
13528
|
nextElement.classList.add(CLASS_NAME_ACTIVE$2);
|
13605
13529
|
activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
|
13606
13530
|
this._isSliding = false;
|
13607
|
-
setTimeout(
|
13608
|
-
|
13609
|
-
|
13610
|
-
|
13531
|
+
setTimeout(() => {
|
13532
|
+
EventHandler.trigger(this._element, EVENT_SLID, {
|
13533
|
+
relatedTarget: nextElement,
|
13534
|
+
direction: eventDirectionName,
|
13535
|
+
from: activeElementIndex,
|
13536
|
+
to: nextElementIndex
|
13537
|
+
});
|
13538
|
+
}, 0);
|
13539
|
+
});
|
13540
|
+
emulateTransitionEnd(activeElement, transitionDuration);
|
13611
13541
|
} else {
|
13612
13542
|
activeElement.classList.remove(CLASS_NAME_ACTIVE$2);
|
13613
13543
|
nextElement.classList.add(CLASS_NAME_ACTIVE$2);
|
13614
13544
|
this._isSliding = false;
|
13615
|
-
|
13545
|
+
EventHandler.trigger(this._element, EVENT_SLID, {
|
13546
|
+
relatedTarget: nextElement,
|
13547
|
+
direction: eventDirectionName,
|
13548
|
+
from: activeElementIndex,
|
13549
|
+
to: nextElementIndex
|
13550
|
+
});
|
13616
13551
|
}
|
13617
13552
|
|
13618
13553
|
if (isCycling) {
|
@@ -13626,10 +13561,10 @@ return jQuery;
|
|
13626
13561
|
}
|
13627
13562
|
|
13628
13563
|
if (isRTL()) {
|
13629
|
-
return direction ===
|
13564
|
+
return direction === DIRECTION_RIGHT ? ORDER_PREV : ORDER_NEXT;
|
13630
13565
|
}
|
13631
13566
|
|
13632
|
-
return direction ===
|
13567
|
+
return direction === DIRECTION_RIGHT ? ORDER_NEXT : ORDER_PREV;
|
13633
13568
|
}
|
13634
13569
|
|
13635
13570
|
_orderToDirection(order) {
|
@@ -13638,16 +13573,16 @@ return jQuery;
|
|
13638
13573
|
}
|
13639
13574
|
|
13640
13575
|
if (isRTL()) {
|
13641
|
-
return order ===
|
13576
|
+
return order === ORDER_NEXT ? DIRECTION_LEFT : DIRECTION_RIGHT;
|
13642
13577
|
}
|
13643
13578
|
|
13644
|
-
return order ===
|
13579
|
+
return order === ORDER_NEXT ? DIRECTION_RIGHT : DIRECTION_LEFT;
|
13645
13580
|
} // Static
|
13646
13581
|
|
13647
13582
|
|
13648
13583
|
static carouselInterface(element, config) {
|
13649
13584
|
let data = Data.get(element, DATA_KEY$9);
|
13650
|
-
let _config = { ...Default$
|
13585
|
+
let _config = { ...Default$8,
|
13651
13586
|
...Manipulator.getDataAttributes(element)
|
13652
13587
|
};
|
13653
13588
|
|
@@ -13731,11 +13666,11 @@ return jQuery;
|
|
13731
13666
|
* add .Carousel to jQuery only if jQuery is present
|
13732
13667
|
*/
|
13733
13668
|
|
13734
|
-
defineJQueryPlugin(Carousel);
|
13669
|
+
defineJQueryPlugin(NAME$9, Carousel);
|
13735
13670
|
|
13736
13671
|
/**
|
13737
13672
|
* --------------------------------------------------------------------------
|
13738
|
-
* Bootstrap (v5.0.
|
13673
|
+
* Bootstrap (v5.0.0-beta3): collapse.js
|
13739
13674
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
13740
13675
|
* --------------------------------------------------------------------------
|
13741
13676
|
*/
|
@@ -13745,15 +13680,15 @@ return jQuery;
|
|
13745
13680
|
* ------------------------------------------------------------------------
|
13746
13681
|
*/
|
13747
13682
|
|
13748
|
-
const NAME$
|
13683
|
+
const NAME$8 = 'collapse';
|
13749
13684
|
const DATA_KEY$8 = 'bs.collapse';
|
13750
13685
|
const EVENT_KEY$8 = `.${DATA_KEY$8}`;
|
13751
13686
|
const DATA_API_KEY$5 = '.data-api';
|
13752
|
-
const Default$
|
13687
|
+
const Default$7 = {
|
13753
13688
|
toggle: true,
|
13754
13689
|
parent: ''
|
13755
13690
|
};
|
13756
|
-
const DefaultType$
|
13691
|
+
const DefaultType$7 = {
|
13757
13692
|
toggle: 'boolean',
|
13758
13693
|
parent: '(string|element)'
|
13759
13694
|
};
|
@@ -13762,7 +13697,7 @@ return jQuery;
|
|
13762
13697
|
const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
|
13763
13698
|
const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
|
13764
13699
|
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
13765
|
-
const CLASS_NAME_SHOW$
|
13700
|
+
const CLASS_NAME_SHOW$7 = 'show';
|
13766
13701
|
const CLASS_NAME_COLLAPSE = 'collapse';
|
13767
13702
|
const CLASS_NAME_COLLAPSING = 'collapsing';
|
13768
13703
|
const CLASS_NAME_COLLAPSED = 'collapsed';
|
@@ -13809,16 +13744,16 @@ return jQuery;
|
|
13809
13744
|
|
13810
13745
|
|
13811
13746
|
static get Default() {
|
13812
|
-
return Default$
|
13747
|
+
return Default$7;
|
13813
13748
|
}
|
13814
13749
|
|
13815
|
-
static get
|
13816
|
-
return
|
13750
|
+
static get DATA_KEY() {
|
13751
|
+
return DATA_KEY$8;
|
13817
13752
|
} // Public
|
13818
13753
|
|
13819
13754
|
|
13820
13755
|
toggle() {
|
13821
|
-
if (this._element.classList.contains(CLASS_NAME_SHOW$
|
13756
|
+
if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
|
13822
13757
|
this.hide();
|
13823
13758
|
} else {
|
13824
13759
|
this.show();
|
@@ -13826,7 +13761,7 @@ return jQuery;
|
|
13826
13761
|
}
|
13827
13762
|
|
13828
13763
|
show() {
|
13829
|
-
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW$
|
13764
|
+
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW$7)) {
|
13830
13765
|
return;
|
13831
13766
|
}
|
13832
13767
|
|
@@ -13896,7 +13831,7 @@ return jQuery;
|
|
13896
13831
|
const complete = () => {
|
13897
13832
|
this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
13898
13833
|
|
13899
|
-
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$
|
13834
|
+
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
|
13900
13835
|
|
13901
13836
|
this._element.style[dimension] = '';
|
13902
13837
|
this.setTransitioning(false);
|
@@ -13905,14 +13840,14 @@ return jQuery;
|
|
13905
13840
|
|
13906
13841
|
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
13907
13842
|
const scrollSize = `scroll${capitalizedDimension}`;
|
13908
|
-
|
13909
|
-
|
13910
|
-
|
13843
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
13844
|
+
EventHandler.one(this._element, 'transitionend', complete);
|
13845
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
13911
13846
|
this._element.style[dimension] = `${this._element[scrollSize]}px`;
|
13912
13847
|
}
|
13913
13848
|
|
13914
13849
|
hide() {
|
13915
|
-
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW$
|
13850
|
+
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW$7)) {
|
13916
13851
|
return;
|
13917
13852
|
}
|
13918
13853
|
|
@@ -13929,7 +13864,7 @@ return jQuery;
|
|
13929
13864
|
|
13930
13865
|
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
13931
13866
|
|
13932
|
-
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$
|
13867
|
+
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
|
13933
13868
|
|
13934
13869
|
const triggerArrayLength = this._triggerArray.length;
|
13935
13870
|
|
@@ -13938,7 +13873,7 @@ return jQuery;
|
|
13938
13873
|
const trigger = this._triggerArray[i];
|
13939
13874
|
const elem = getElementFromSelector(trigger);
|
13940
13875
|
|
13941
|
-
if (elem && !elem.classList.contains(CLASS_NAME_SHOW$
|
13876
|
+
if (elem && !elem.classList.contains(CLASS_NAME_SHOW$7)) {
|
13942
13877
|
trigger.classList.add(CLASS_NAME_COLLAPSED);
|
13943
13878
|
trigger.setAttribute('aria-expanded', false);
|
13944
13879
|
}
|
@@ -13958,22 +13893,31 @@ return jQuery;
|
|
13958
13893
|
};
|
13959
13894
|
|
13960
13895
|
this._element.style[dimension] = '';
|
13961
|
-
|
13962
|
-
|
13896
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
13897
|
+
EventHandler.one(this._element, 'transitionend', complete);
|
13898
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
13963
13899
|
}
|
13964
13900
|
|
13965
13901
|
setTransitioning(isTransitioning) {
|
13966
13902
|
this._isTransitioning = isTransitioning;
|
13903
|
+
}
|
13904
|
+
|
13905
|
+
dispose() {
|
13906
|
+
super.dispose();
|
13907
|
+
this._config = null;
|
13908
|
+
this._parent = null;
|
13909
|
+
this._triggerArray = null;
|
13910
|
+
this._isTransitioning = null;
|
13967
13911
|
} // Private
|
13968
13912
|
|
13969
13913
|
|
13970
13914
|
_getConfig(config) {
|
13971
|
-
config = { ...Default$
|
13915
|
+
config = { ...Default$7,
|
13972
13916
|
...config
|
13973
13917
|
};
|
13974
13918
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
13975
13919
|
|
13976
|
-
typeCheckConfig(NAME$
|
13920
|
+
typeCheckConfig(NAME$8, config, DefaultType$7);
|
13977
13921
|
return config;
|
13978
13922
|
}
|
13979
13923
|
|
@@ -13985,7 +13929,16 @@ return jQuery;
|
|
13985
13929
|
let {
|
13986
13930
|
parent
|
13987
13931
|
} = this._config;
|
13988
|
-
|
13932
|
+
|
13933
|
+
if (isElement(parent)) {
|
13934
|
+
// it's a jQuery object
|
13935
|
+
if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
|
13936
|
+
parent = parent[0];
|
13937
|
+
}
|
13938
|
+
} else {
|
13939
|
+
parent = SelectorEngine.findOne(parent);
|
13940
|
+
}
|
13941
|
+
|
13989
13942
|
const selector = `${SELECTOR_DATA_TOGGLE$4}[data-bs-parent="${parent}"]`;
|
13990
13943
|
SelectorEngine.find(selector, parent).forEach(element => {
|
13991
13944
|
const selected = getElementFromSelector(element);
|
@@ -14000,7 +13953,7 @@ return jQuery;
|
|
14000
13953
|
return;
|
14001
13954
|
}
|
14002
13955
|
|
14003
|
-
const isOpen = element.classList.contains(CLASS_NAME_SHOW$
|
13956
|
+
const isOpen = element.classList.contains(CLASS_NAME_SHOW$7);
|
14004
13957
|
triggerArray.forEach(elem => {
|
14005
13958
|
if (isOpen) {
|
14006
13959
|
elem.classList.remove(CLASS_NAME_COLLAPSED);
|
@@ -14015,7 +13968,7 @@ return jQuery;
|
|
14015
13968
|
|
14016
13969
|
static collapseInterface(element, config) {
|
14017
13970
|
let data = Data.get(element, DATA_KEY$8);
|
14018
|
-
const _config = { ...Default$
|
13971
|
+
const _config = { ...Default$7,
|
14019
13972
|
...Manipulator.getDataAttributes(element),
|
14020
13973
|
...(typeof config === 'object' && config ? config : {})
|
14021
13974
|
};
|
@@ -14086,11 +14039,11 @@ return jQuery;
|
|
14086
14039
|
* add .Collapse to jQuery only if jQuery is present
|
14087
14040
|
*/
|
14088
14041
|
|
14089
|
-
defineJQueryPlugin(Collapse);
|
14042
|
+
defineJQueryPlugin(NAME$8, Collapse);
|
14090
14043
|
|
14091
14044
|
/**
|
14092
14045
|
* --------------------------------------------------------------------------
|
14093
|
-
* Bootstrap (v5.0.
|
14046
|
+
* Bootstrap (v5.0.0-beta3): dropdown.js
|
14094
14047
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
14095
14048
|
* --------------------------------------------------------------------------
|
14096
14049
|
*/
|
@@ -14100,7 +14053,7 @@ return jQuery;
|
|
14100
14053
|
* ------------------------------------------------------------------------
|
14101
14054
|
*/
|
14102
14055
|
|
14103
|
-
const NAME$
|
14056
|
+
const NAME$7 = 'dropdown';
|
14104
14057
|
const DATA_KEY$7 = 'bs.dropdown';
|
14105
14058
|
const EVENT_KEY$7 = `.${DATA_KEY$7}`;
|
14106
14059
|
const DATA_API_KEY$4 = '.data-api';
|
@@ -14120,7 +14073,8 @@ return jQuery;
|
|
14120
14073
|
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
|
14121
14074
|
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$7}${DATA_API_KEY$4}`;
|
14122
14075
|
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$7}${DATA_API_KEY$4}`;
|
14123
|
-
const
|
14076
|
+
const CLASS_NAME_DISABLED = 'disabled';
|
14077
|
+
const CLASS_NAME_SHOW$6 = 'show';
|
14124
14078
|
const CLASS_NAME_DROPUP = 'dropup';
|
14125
14079
|
const CLASS_NAME_DROPEND = 'dropend';
|
14126
14080
|
const CLASS_NAME_DROPSTART = 'dropstart';
|
@@ -14135,21 +14089,19 @@ return jQuery;
|
|
14135
14089
|
const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
|
14136
14090
|
const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
|
14137
14091
|
const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
|
14138
|
-
const Default$
|
14092
|
+
const Default$6 = {
|
14139
14093
|
offset: [0, 2],
|
14140
14094
|
boundary: 'clippingParents',
|
14141
14095
|
reference: 'toggle',
|
14142
14096
|
display: 'dynamic',
|
14143
|
-
popperConfig: null
|
14144
|
-
autoClose: true
|
14097
|
+
popperConfig: null
|
14145
14098
|
};
|
14146
|
-
const DefaultType$
|
14099
|
+
const DefaultType$6 = {
|
14147
14100
|
offset: '(array|string|function)',
|
14148
14101
|
boundary: '(string|element)',
|
14149
14102
|
reference: '(string|element|object)',
|
14150
14103
|
display: 'string',
|
14151
|
-
popperConfig: '(null|object|function)'
|
14152
|
-
autoClose: '(boolean|string)'
|
14104
|
+
popperConfig: '(null|object|function)'
|
14153
14105
|
};
|
14154
14106
|
/**
|
14155
14107
|
* ------------------------------------------------------------------------
|
@@ -14170,27 +14122,28 @@ return jQuery;
|
|
14170
14122
|
|
14171
14123
|
|
14172
14124
|
static get Default() {
|
14173
|
-
return Default$
|
14125
|
+
return Default$6;
|
14174
14126
|
}
|
14175
14127
|
|
14176
14128
|
static get DefaultType() {
|
14177
|
-
return DefaultType$
|
14129
|
+
return DefaultType$6;
|
14178
14130
|
}
|
14179
14131
|
|
14180
|
-
static get
|
14181
|
-
return
|
14132
|
+
static get DATA_KEY() {
|
14133
|
+
return DATA_KEY$7;
|
14182
14134
|
} // Public
|
14183
14135
|
|
14184
14136
|
|
14185
14137
|
toggle() {
|
14186
|
-
if (
|
14138
|
+
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
|
14187
14139
|
return;
|
14188
14140
|
}
|
14189
14141
|
|
14190
|
-
const isActive = this._element.classList.contains(CLASS_NAME_SHOW$
|
14142
|
+
const isActive = this._element.classList.contains(CLASS_NAME_SHOW$6);
|
14143
|
+
|
14144
|
+
Dropdown.clearMenus();
|
14191
14145
|
|
14192
14146
|
if (isActive) {
|
14193
|
-
this.hide();
|
14194
14147
|
return;
|
14195
14148
|
}
|
14196
14149
|
|
@@ -14198,7 +14151,7 @@ return jQuery;
|
|
14198
14151
|
}
|
14199
14152
|
|
14200
14153
|
show() {
|
14201
|
-
if (
|
14154
|
+
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$6)) {
|
14202
14155
|
return;
|
14203
14156
|
}
|
14204
14157
|
|
@@ -14225,7 +14178,11 @@ return jQuery;
|
|
14225
14178
|
if (this._config.reference === 'parent') {
|
14226
14179
|
referenceElement = parent;
|
14227
14180
|
} else if (isElement(this._config.reference)) {
|
14228
|
-
referenceElement =
|
14181
|
+
referenceElement = this._config.reference; // Check if it's jQuery element
|
14182
|
+
|
14183
|
+
if (typeof this._config.reference.jquery !== 'undefined') {
|
14184
|
+
referenceElement = this._config.reference[0];
|
14185
|
+
}
|
14229
14186
|
} else if (typeof this._config.reference === 'object') {
|
14230
14187
|
referenceElement = this._config.reference;
|
14231
14188
|
}
|
@@ -14245,35 +14202,54 @@ return jQuery;
|
|
14245
14202
|
|
14246
14203
|
|
14247
14204
|
if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {
|
14248
|
-
[].concat(...document.body.children).forEach(elem => EventHandler.on(elem, 'mouseover', noop));
|
14205
|
+
[].concat(...document.body.children).forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()));
|
14249
14206
|
}
|
14250
14207
|
|
14251
14208
|
this._element.focus();
|
14252
14209
|
|
14253
14210
|
this._element.setAttribute('aria-expanded', true);
|
14254
14211
|
|
14255
|
-
this._menu.classList.toggle(CLASS_NAME_SHOW$
|
14212
|
+
this._menu.classList.toggle(CLASS_NAME_SHOW$6);
|
14256
14213
|
|
14257
|
-
this._element.classList.toggle(CLASS_NAME_SHOW$
|
14214
|
+
this._element.classList.toggle(CLASS_NAME_SHOW$6);
|
14258
14215
|
|
14259
14216
|
EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
|
14260
14217
|
}
|
14261
14218
|
|
14262
14219
|
hide() {
|
14263
|
-
if (
|
14220
|
+
if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$6)) {
|
14264
14221
|
return;
|
14265
14222
|
}
|
14266
14223
|
|
14267
14224
|
const relatedTarget = {
|
14268
14225
|
relatedTarget: this._element
|
14269
14226
|
};
|
14227
|
+
const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);
|
14228
|
+
|
14229
|
+
if (hideEvent.defaultPrevented) {
|
14230
|
+
return;
|
14231
|
+
}
|
14232
|
+
|
14233
|
+
if (this._popper) {
|
14234
|
+
this._popper.destroy();
|
14235
|
+
}
|
14236
|
+
|
14237
|
+
this._menu.classList.toggle(CLASS_NAME_SHOW$6);
|
14270
14238
|
|
14271
|
-
this.
|
14239
|
+
this._element.classList.toggle(CLASS_NAME_SHOW$6);
|
14240
|
+
|
14241
|
+
Manipulator.removeDataAttribute(this._menu, 'popper');
|
14242
|
+
EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);
|
14272
14243
|
}
|
14273
14244
|
|
14274
14245
|
dispose() {
|
14246
|
+
EventHandler.off(this._element, EVENT_KEY$7);
|
14247
|
+
this._menu = null;
|
14248
|
+
|
14275
14249
|
if (this._popper) {
|
14276
14250
|
this._popper.destroy();
|
14251
|
+
|
14252
|
+
this._popper = null;
|
14277
14253
|
}
|
14278
14254
|
|
14279
14255
|
super.dispose();
|
@@ -14295,43 +14271,16 @@ return jQuery;
|
|
14295
14271
|
});
|
14296
14272
|
}
|
14297
14273
|
|
14298
|
-
_completeHide(relatedTarget) {
|
14299
|
-
const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);
|
14300
|
-
|
14301
|
-
if (hideEvent.defaultPrevented) {
|
14302
|
-
return;
|
14303
|
-
} // If this is a touch-enabled device we remove the extra
|
14304
|
-
// empty mouseover listeners we added for iOS support
|
14305
|
-
|
14306
|
-
|
14307
|
-
if ('ontouchstart' in document.documentElement) {
|
14308
|
-
[].concat(...document.body.children).forEach(elem => EventHandler.off(elem, 'mouseover', noop));
|
14309
|
-
}
|
14310
|
-
|
14311
|
-
if (this._popper) {
|
14312
|
-
this._popper.destroy();
|
14313
|
-
}
|
14314
|
-
|
14315
|
-
this._menu.classList.remove(CLASS_NAME_SHOW$7);
|
14316
|
-
|
14317
|
-
this._element.classList.remove(CLASS_NAME_SHOW$7);
|
14318
|
-
|
14319
|
-
this._element.setAttribute('aria-expanded', 'false');
|
14320
|
-
|
14321
|
-
Manipulator.removeDataAttribute(this._menu, 'popper');
|
14322
|
-
EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);
|
14323
|
-
}
|
14324
|
-
|
14325
14274
|
_getConfig(config) {
|
14326
14275
|
config = { ...this.constructor.Default,
|
14327
14276
|
...Manipulator.getDataAttributes(this._element),
|
14328
14277
|
...config
|
14329
14278
|
};
|
14330
|
-
typeCheckConfig(NAME$
|
14279
|
+
typeCheckConfig(NAME$7, config, this.constructor.DefaultType);
|
14331
14280
|
|
14332
14281
|
if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
|
14333
14282
|
// Popper virtual elements require a getBoundingClientRect method
|
14334
|
-
throw new TypeError(`${NAME$
|
14283
|
+
throw new TypeError(`${NAME$7.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
|
14335
14284
|
}
|
14336
14285
|
|
14337
14286
|
return config;
|
@@ -14408,29 +14357,6 @@ return jQuery;
|
|
14408
14357
|
return { ...defaultBsPopperConfig,
|
14409
14358
|
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
|
14410
14359
|
};
|
14411
|
-
}
|
14412
|
-
|
14413
|
-
_selectMenuItem(event) {
|
14414
|
-
const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
|
14415
|
-
|
14416
|
-
if (!items.length) {
|
14417
|
-
return;
|
14418
|
-
}
|
14419
|
-
|
14420
|
-
let index = items.indexOf(event.target); // Up
|
14421
|
-
|
14422
|
-
if (event.key === ARROW_UP_KEY && index > 0) {
|
14423
|
-
index--;
|
14424
|
-
} // Down
|
14425
|
-
|
14426
|
-
|
14427
|
-
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
|
14428
|
-
index++;
|
14429
|
-
} // index is -1 if the first keydown is an ArrowUp
|
14430
|
-
|
14431
|
-
|
14432
|
-
index = index === -1 ? 0 : index;
|
14433
|
-
items[index].focus();
|
14434
14360
|
} // Static
|
14435
14361
|
|
14436
14362
|
|
@@ -14459,46 +14385,72 @@ return jQuery;
|
|
14459
14385
|
}
|
14460
14386
|
|
14461
14387
|
static clearMenus(event) {
|
14462
|
-
if (event
|
14463
|
-
|
14388
|
+
if (event) {
|
14389
|
+
if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
|
14390
|
+
return;
|
14391
|
+
}
|
14392
|
+
|
14393
|
+
if (/input|select|textarea|form/i.test(event.target.tagName)) {
|
14394
|
+
return;
|
14395
|
+
}
|
14464
14396
|
}
|
14465
14397
|
|
14466
14398
|
const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
|
14467
14399
|
|
14468
14400
|
for (let i = 0, len = toggles.length; i < len; i++) {
|
14469
14401
|
const context = Data.get(toggles[i], DATA_KEY$7);
|
14402
|
+
const relatedTarget = {
|
14403
|
+
relatedTarget: toggles[i]
|
14404
|
+
};
|
14470
14405
|
|
14471
|
-
if (
|
14472
|
-
|
14406
|
+
if (event && event.type === 'click') {
|
14407
|
+
relatedTarget.clickEvent = event;
|
14473
14408
|
}
|
14474
14409
|
|
14475
|
-
if (!context
|
14410
|
+
if (!context) {
|
14476
14411
|
continue;
|
14477
14412
|
}
|
14478
14413
|
|
14479
|
-
const
|
14480
|
-
relatedTarget: context._element
|
14481
|
-
};
|
14414
|
+
const dropdownMenu = context._menu;
|
14482
14415
|
|
14483
|
-
if (
|
14484
|
-
|
14485
|
-
|
14416
|
+
if (!toggles[i].classList.contains(CLASS_NAME_SHOW$6)) {
|
14417
|
+
continue;
|
14418
|
+
}
|
14486
14419
|
|
14487
|
-
|
14420
|
+
if (event) {
|
14421
|
+
// Don't close the menu if the clicked element or one of its parents is the dropdown button
|
14422
|
+
if ([context._element].some(element => event.composedPath().includes(element))) {
|
14488
14423
|
continue;
|
14489
|
-
} // Tab navigation through the dropdown menu
|
14424
|
+
} // Tab navigation through the dropdown menu shouldn't close the menu
|
14490
14425
|
|
14491
14426
|
|
14492
|
-
if (
|
14427
|
+
if (event.type === 'keyup' && event.key === TAB_KEY && dropdownMenu.contains(event.target)) {
|
14493
14428
|
continue;
|
14494
14429
|
}
|
14430
|
+
}
|
14495
14431
|
|
14496
|
-
|
14497
|
-
|
14498
|
-
|
14432
|
+
const hideEvent = EventHandler.trigger(toggles[i], EVENT_HIDE$4, relatedTarget);
|
14433
|
+
|
14434
|
+
if (hideEvent.defaultPrevented) {
|
14435
|
+
continue;
|
14436
|
+
} // If this is a touch-enabled device we remove the extra
|
14437
|
+
// empty mouseover listeners we added for iOS support
|
14438
|
+
|
14439
|
+
|
14440
|
+
if ('ontouchstart' in document.documentElement) {
|
14441
|
+
[].concat(...document.body.children).forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()));
|
14442
|
+
}
|
14443
|
+
|
14444
|
+
toggles[i].setAttribute('aria-expanded', 'false');
|
14445
|
+
|
14446
|
+
if (context._popper) {
|
14447
|
+
context._popper.destroy();
|
14499
14448
|
}
|
14500
14449
|
|
14501
|
-
|
14450
|
+
dropdownMenu.classList.remove(CLASS_NAME_SHOW$6);
|
14451
|
+
toggles[i].classList.remove(CLASS_NAME_SHOW$6);
|
14452
|
+
Manipulator.removeDataAttribute(dropdownMenu, 'popper');
|
14453
|
+
EventHandler.trigger(toggles[i], EVENT_HIDDEN$4, relatedTarget);
|
14502
14454
|
}
|
14503
14455
|
}
|
14504
14456
|
|
@@ -14518,29 +14470,26 @@ return jQuery;
|
|
14518
14470
|
return;
|
14519
14471
|
}
|
14520
14472
|
|
14521
|
-
const isActive = this.classList.contains(CLASS_NAME_SHOW$7);
|
14522
|
-
|
14523
|
-
if (!isActive && event.key === ESCAPE_KEY$2) {
|
14524
|
-
return;
|
14525
|
-
}
|
14526
|
-
|
14527
14473
|
event.preventDefault();
|
14528
14474
|
event.stopPropagation();
|
14529
14475
|
|
14530
|
-
if (
|
14476
|
+
if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {
|
14531
14477
|
return;
|
14532
14478
|
}
|
14533
14479
|
|
14534
|
-
const
|
14480
|
+
const parent = Dropdown.getParentFromElement(this);
|
14481
|
+
const isActive = this.classList.contains(CLASS_NAME_SHOW$6);
|
14535
14482
|
|
14536
14483
|
if (event.key === ESCAPE_KEY$2) {
|
14537
|
-
|
14484
|
+
const button = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0];
|
14485
|
+
button.focus();
|
14538
14486
|
Dropdown.clearMenus();
|
14539
14487
|
return;
|
14540
14488
|
}
|
14541
14489
|
|
14542
14490
|
if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
|
14543
|
-
|
14491
|
+
const button = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0];
|
14492
|
+
button.click();
|
14544
14493
|
return;
|
14545
14494
|
}
|
14546
14495
|
|
@@ -14549,7 +14498,26 @@ return jQuery;
|
|
14549
14498
|
return;
|
14550
14499
|
}
|
14551
14500
|
|
14552
|
-
|
14501
|
+
const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
|
14502
|
+
|
14503
|
+
if (!items.length) {
|
14504
|
+
return;
|
14505
|
+
}
|
14506
|
+
|
14507
|
+
let index = items.indexOf(event.target); // Up
|
14508
|
+
|
14509
|
+
if (event.key === ARROW_UP_KEY && index > 0) {
|
14510
|
+
index--;
|
14511
|
+
} // Down
|
14512
|
+
|
14513
|
+
|
14514
|
+
if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
|
14515
|
+
index++;
|
14516
|
+
} // index is -1 if the first keydown is an ArrowUp
|
14517
|
+
|
14518
|
+
|
14519
|
+
index = index === -1 ? 0 : index;
|
14520
|
+
items[index].focus();
|
14553
14521
|
}
|
14554
14522
|
|
14555
14523
|
}
|
@@ -14575,214 +14543,11 @@ return jQuery;
|
|
14575
14543
|
* add .Dropdown to jQuery only if jQuery is present
|
14576
14544
|
*/
|
14577
14545
|
|
14578
|
-
defineJQueryPlugin(Dropdown);
|
14546
|
+
defineJQueryPlugin(NAME$7, Dropdown);
|
14579
14547
|
|
14580
14548
|
/**
|
14581
14549
|
* --------------------------------------------------------------------------
|
14582
|
-
* Bootstrap (v5.0.
|
14583
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
14584
|
-
* --------------------------------------------------------------------------
|
14585
|
-
*/
|
14586
|
-
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
|
14587
|
-
const SELECTOR_STICKY_CONTENT = '.sticky-top';
|
14588
|
-
|
14589
|
-
const getWidth = () => {
|
14590
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
14591
|
-
const documentWidth = document.documentElement.clientWidth;
|
14592
|
-
return Math.abs(window.innerWidth - documentWidth);
|
14593
|
-
};
|
14594
|
-
|
14595
|
-
const hide = (width = getWidth()) => {
|
14596
|
-
_disableOverFlow(); // give padding to element to balances the hidden scrollbar width
|
14597
|
-
|
14598
|
-
|
14599
|
-
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth
|
14600
|
-
|
14601
|
-
|
14602
|
-
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
|
14603
|
-
|
14604
|
-
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
|
14605
|
-
};
|
14606
|
-
|
14607
|
-
const _disableOverFlow = () => {
|
14608
|
-
const actualValue = document.body.style.overflow;
|
14609
|
-
|
14610
|
-
if (actualValue) {
|
14611
|
-
Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
|
14612
|
-
}
|
14613
|
-
|
14614
|
-
document.body.style.overflow = 'hidden';
|
14615
|
-
};
|
14616
|
-
|
14617
|
-
const _setElementAttributes = (selector, styleProp, callback) => {
|
14618
|
-
const scrollbarWidth = getWidth();
|
14619
|
-
SelectorEngine.find(selector).forEach(element => {
|
14620
|
-
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
|
14621
|
-
return;
|
14622
|
-
}
|
14623
|
-
|
14624
|
-
const actualValue = element.style[styleProp];
|
14625
|
-
const calculatedValue = window.getComputedStyle(element)[styleProp];
|
14626
|
-
Manipulator.setDataAttribute(element, styleProp, actualValue);
|
14627
|
-
element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;
|
14628
|
-
});
|
14629
|
-
};
|
14630
|
-
|
14631
|
-
const reset = () => {
|
14632
|
-
_resetElementAttributes('body', 'overflow');
|
14633
|
-
|
14634
|
-
_resetElementAttributes('body', 'paddingRight');
|
14635
|
-
|
14636
|
-
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
|
14637
|
-
|
14638
|
-
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
|
14639
|
-
};
|
14640
|
-
|
14641
|
-
const _resetElementAttributes = (selector, styleProp) => {
|
14642
|
-
SelectorEngine.find(selector).forEach(element => {
|
14643
|
-
const value = Manipulator.getDataAttribute(element, styleProp);
|
14644
|
-
|
14645
|
-
if (typeof value === 'undefined') {
|
14646
|
-
element.style.removeProperty(styleProp);
|
14647
|
-
} else {
|
14648
|
-
Manipulator.removeDataAttribute(element, styleProp);
|
14649
|
-
element.style[styleProp] = value;
|
14650
|
-
}
|
14651
|
-
});
|
14652
|
-
};
|
14653
|
-
|
14654
|
-
/**
|
14655
|
-
* --------------------------------------------------------------------------
|
14656
|
-
* Bootstrap (v5.0.1): util/backdrop.js
|
14657
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
14658
|
-
* --------------------------------------------------------------------------
|
14659
|
-
*/
|
14660
|
-
const Default$6 = {
|
14661
|
-
isVisible: true,
|
14662
|
-
// if false, we use the backdrop helper without adding any element to the dom
|
14663
|
-
isAnimated: false,
|
14664
|
-
rootElement: document.body,
|
14665
|
-
// give the choice to place backdrop under different elements
|
14666
|
-
clickCallback: null
|
14667
|
-
};
|
14668
|
-
const DefaultType$6 = {
|
14669
|
-
isVisible: 'boolean',
|
14670
|
-
isAnimated: 'boolean',
|
14671
|
-
rootElement: 'element',
|
14672
|
-
clickCallback: '(function|null)'
|
14673
|
-
};
|
14674
|
-
const NAME$7 = 'backdrop';
|
14675
|
-
const CLASS_NAME_BACKDROP = 'modal-backdrop';
|
14676
|
-
const CLASS_NAME_FADE$5 = 'fade';
|
14677
|
-
const CLASS_NAME_SHOW$6 = 'show';
|
14678
|
-
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$7}`;
|
14679
|
-
|
14680
|
-
class Backdrop {
|
14681
|
-
constructor(config) {
|
14682
|
-
this._config = this._getConfig(config);
|
14683
|
-
this._isAppended = false;
|
14684
|
-
this._element = null;
|
14685
|
-
}
|
14686
|
-
|
14687
|
-
show(callback) {
|
14688
|
-
if (!this._config.isVisible) {
|
14689
|
-
execute(callback);
|
14690
|
-
return;
|
14691
|
-
}
|
14692
|
-
|
14693
|
-
this._append();
|
14694
|
-
|
14695
|
-
if (this._config.isAnimated) {
|
14696
|
-
reflow(this._getElement());
|
14697
|
-
}
|
14698
|
-
|
14699
|
-
this._getElement().classList.add(CLASS_NAME_SHOW$6);
|
14700
|
-
|
14701
|
-
this._emulateAnimation(() => {
|
14702
|
-
execute(callback);
|
14703
|
-
});
|
14704
|
-
}
|
14705
|
-
|
14706
|
-
hide(callback) {
|
14707
|
-
if (!this._config.isVisible) {
|
14708
|
-
execute(callback);
|
14709
|
-
return;
|
14710
|
-
}
|
14711
|
-
|
14712
|
-
this._getElement().classList.remove(CLASS_NAME_SHOW$6);
|
14713
|
-
|
14714
|
-
this._emulateAnimation(() => {
|
14715
|
-
this.dispose();
|
14716
|
-
execute(callback);
|
14717
|
-
});
|
14718
|
-
} // Private
|
14719
|
-
|
14720
|
-
|
14721
|
-
_getElement() {
|
14722
|
-
if (!this._element) {
|
14723
|
-
const backdrop = document.createElement('div');
|
14724
|
-
backdrop.className = CLASS_NAME_BACKDROP;
|
14725
|
-
|
14726
|
-
if (this._config.isAnimated) {
|
14727
|
-
backdrop.classList.add(CLASS_NAME_FADE$5);
|
14728
|
-
}
|
14729
|
-
|
14730
|
-
this._element = backdrop;
|
14731
|
-
}
|
14732
|
-
|
14733
|
-
return this._element;
|
14734
|
-
}
|
14735
|
-
|
14736
|
-
_getConfig(config) {
|
14737
|
-
config = { ...Default$6,
|
14738
|
-
...(typeof config === 'object' ? config : {})
|
14739
|
-
};
|
14740
|
-
config.rootElement = config.rootElement || document.body;
|
14741
|
-
typeCheckConfig(NAME$7, config, DefaultType$6);
|
14742
|
-
return config;
|
14743
|
-
}
|
14744
|
-
|
14745
|
-
_append() {
|
14746
|
-
if (this._isAppended) {
|
14747
|
-
return;
|
14748
|
-
}
|
14749
|
-
|
14750
|
-
this._config.rootElement.appendChild(this._getElement());
|
14751
|
-
|
14752
|
-
EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {
|
14753
|
-
execute(this._config.clickCallback);
|
14754
|
-
});
|
14755
|
-
this._isAppended = true;
|
14756
|
-
}
|
14757
|
-
|
14758
|
-
dispose() {
|
14759
|
-
if (!this._isAppended) {
|
14760
|
-
return;
|
14761
|
-
}
|
14762
|
-
|
14763
|
-
EventHandler.off(this._element, EVENT_MOUSEDOWN);
|
14764
|
-
|
14765
|
-
this._getElement().parentNode.removeChild(this._element);
|
14766
|
-
|
14767
|
-
this._isAppended = false;
|
14768
|
-
}
|
14769
|
-
|
14770
|
-
_emulateAnimation(callback) {
|
14771
|
-
if (!this._config.isAnimated) {
|
14772
|
-
execute(callback);
|
14773
|
-
return;
|
14774
|
-
}
|
14775
|
-
|
14776
|
-
const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
|
14777
|
-
EventHandler.one(this._getElement(), 'transitionend', () => execute(callback));
|
14778
|
-
emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
|
14779
|
-
}
|
14780
|
-
|
14781
|
-
}
|
14782
|
-
|
14783
|
-
/**
|
14784
|
-
* --------------------------------------------------------------------------
|
14785
|
-
* Bootstrap (v5.0.1): modal.js
|
14550
|
+
* Bootstrap (v5.0.0-beta3): modal.js
|
14786
14551
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
14787
14552
|
* --------------------------------------------------------------------------
|
14788
14553
|
*/
|
@@ -14812,13 +14577,15 @@ return jQuery;
|
|
14812
14577
|
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`;
|
14813
14578
|
const EVENT_SHOW$3 = `show${EVENT_KEY$6}`;
|
14814
14579
|
const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`;
|
14815
|
-
const EVENT_FOCUSIN$
|
14580
|
+
const EVENT_FOCUSIN$1 = `focusin${EVENT_KEY$6}`;
|
14816
14581
|
const EVENT_RESIZE = `resize${EVENT_KEY$6}`;
|
14817
14582
|
const EVENT_CLICK_DISMISS$2 = `click.dismiss${EVENT_KEY$6}`;
|
14818
|
-
const EVENT_KEYDOWN_DISMISS
|
14583
|
+
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$6}`;
|
14819
14584
|
const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY$6}`;
|
14820
14585
|
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`;
|
14821
14586
|
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
|
14587
|
+
const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
|
14588
|
+
const CLASS_NAME_BACKDROP = 'modal-backdrop';
|
14822
14589
|
const CLASS_NAME_OPEN = 'modal-open';
|
14823
14590
|
const CLASS_NAME_FADE$4 = 'fade';
|
14824
14591
|
const CLASS_NAME_SHOW$5 = 'show';
|
@@ -14827,6 +14594,8 @@ return jQuery;
|
|
14827
14594
|
const SELECTOR_MODAL_BODY = '.modal-body';
|
14828
14595
|
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
14829
14596
|
const SELECTOR_DATA_DISMISS$2 = '[data-bs-dismiss="modal"]';
|
14597
|
+
const SELECTOR_FIXED_CONTENT$1 = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
|
14598
|
+
const SELECTOR_STICKY_CONTENT$1 = '.sticky-top';
|
14830
14599
|
/**
|
14831
14600
|
* ------------------------------------------------------------------------
|
14832
14601
|
* Class Definition
|
@@ -14838,10 +14607,12 @@ return jQuery;
|
|
14838
14607
|
super(element);
|
14839
14608
|
this._config = this._getConfig(config);
|
14840
14609
|
this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);
|
14841
|
-
this._backdrop =
|
14610
|
+
this._backdrop = null;
|
14842
14611
|
this._isShown = false;
|
14612
|
+
this._isBodyOverflowing = false;
|
14843
14613
|
this._ignoreBackdropClick = false;
|
14844
14614
|
this._isTransitioning = false;
|
14615
|
+
this._scrollbarWidth = 0;
|
14845
14616
|
} // Getters
|
14846
14617
|
|
14847
14618
|
|
@@ -14849,8 +14620,8 @@ return jQuery;
|
|
14849
14620
|
return Default$5;
|
14850
14621
|
}
|
14851
14622
|
|
14852
|
-
static get
|
14853
|
-
return
|
14623
|
+
static get DATA_KEY() {
|
14624
|
+
return DATA_KEY$6;
|
14854
14625
|
} // Public
|
14855
14626
|
|
14856
14627
|
|
@@ -14876,8 +14647,10 @@ return jQuery;
|
|
14876
14647
|
}
|
14877
14648
|
|
14878
14649
|
this._isShown = true;
|
14879
|
-
|
14880
|
-
|
14650
|
+
|
14651
|
+
this._checkScrollbar();
|
14652
|
+
|
14653
|
+
this._setScrollbar();
|
14881
14654
|
|
14882
14655
|
this._adjustDialog();
|
14883
14656
|
|
@@ -14924,21 +14697,24 @@ return jQuery;
|
|
14924
14697
|
|
14925
14698
|
this._setResizeEvent();
|
14926
14699
|
|
14927
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
14700
|
+
EventHandler.off(document, EVENT_FOCUSIN$1);
|
14928
14701
|
|
14929
14702
|
this._element.classList.remove(CLASS_NAME_SHOW$5);
|
14930
14703
|
|
14931
14704
|
EventHandler.off(this._element, EVENT_CLICK_DISMISS$2);
|
14932
14705
|
EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
|
14933
14706
|
|
14934
|
-
|
14707
|
+
if (isAnimated) {
|
14708
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
14709
|
+
EventHandler.one(this._element, 'transitionend', event => this._hideModal(event));
|
14710
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
14711
|
+
} else {
|
14712
|
+
this._hideModal();
|
14713
|
+
}
|
14935
14714
|
}
|
14936
14715
|
|
14937
14716
|
dispose() {
|
14938
|
-
[window, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$6));
|
14939
|
-
|
14940
|
-
this._backdrop.dispose();
|
14941
|
-
|
14717
|
+
[window, this._element, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$6));
|
14942
14718
|
super.dispose();
|
14943
14719
|
/**
|
14944
14720
|
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
@@ -14946,7 +14722,15 @@ return jQuery;
|
|
14946
14722
|
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
14947
14723
|
*/
|
14948
14724
|
|
14949
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
14725
|
+
EventHandler.off(document, EVENT_FOCUSIN$1);
|
14726
|
+
this._config = null;
|
14727
|
+
this._dialog = null;
|
14728
|
+
this._backdrop = null;
|
14729
|
+
this._isShown = null;
|
14730
|
+
this._isBodyOverflowing = null;
|
14731
|
+
this._ignoreBackdropClick = null;
|
14732
|
+
this._isTransitioning = null;
|
14733
|
+
this._scrollbarWidth = null;
|
14950
14734
|
}
|
14951
14735
|
|
14952
14736
|
handleUpdate() {
|
@@ -14954,17 +14738,8 @@ return jQuery;
|
|
14954
14738
|
} // Private
|
14955
14739
|
|
14956
14740
|
|
14957
|
-
_initializeBackDrop() {
|
14958
|
-
return new Backdrop({
|
14959
|
-
isVisible: Boolean(this._config.backdrop),
|
14960
|
-
// 'static' option will be translated to true, and booleans will keep their value
|
14961
|
-
isAnimated: this._isAnimated()
|
14962
|
-
});
|
14963
|
-
}
|
14964
|
-
|
14965
14741
|
_getConfig(config) {
|
14966
14742
|
config = { ...Default$5,
|
14967
|
-
...Manipulator.getDataAttributes(this._element),
|
14968
14743
|
...config
|
14969
14744
|
};
|
14970
14745
|
typeCheckConfig(NAME$6, config, DefaultType$5);
|
@@ -15016,13 +14791,19 @@ return jQuery;
|
|
15016
14791
|
});
|
15017
14792
|
};
|
15018
14793
|
|
15019
|
-
|
14794
|
+
if (isAnimated) {
|
14795
|
+
const transitionDuration = getTransitionDurationFromElement(this._dialog);
|
14796
|
+
EventHandler.one(this._dialog, 'transitionend', transitionComplete);
|
14797
|
+
emulateTransitionEnd(this._dialog, transitionDuration);
|
14798
|
+
} else {
|
14799
|
+
transitionComplete();
|
14800
|
+
}
|
15020
14801
|
}
|
15021
14802
|
|
15022
14803
|
_enforceFocus() {
|
15023
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
14804
|
+
EventHandler.off(document, EVENT_FOCUSIN$1); // guard against infinite focus loop
|
15024
14805
|
|
15025
|
-
EventHandler.on(document, EVENT_FOCUSIN$
|
14806
|
+
EventHandler.on(document, EVENT_FOCUSIN$1, event => {
|
15026
14807
|
if (document !== event.target && this._element !== event.target && !this._element.contains(event.target)) {
|
15027
14808
|
this._element.focus();
|
15028
14809
|
}
|
@@ -15031,7 +14812,7 @@ return jQuery;
|
|
15031
14812
|
|
15032
14813
|
_setEscapeEvent() {
|
15033
14814
|
if (this._isShown) {
|
15034
|
-
EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS
|
14815
|
+
EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
|
15035
14816
|
if (this._config.keyboard && event.key === ESCAPE_KEY$1) {
|
15036
14817
|
event.preventDefault();
|
15037
14818
|
this.hide();
|
@@ -15040,7 +14821,7 @@ return jQuery;
|
|
15040
14821
|
}
|
15041
14822
|
});
|
15042
14823
|
} else {
|
15043
|
-
EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS
|
14824
|
+
EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);
|
15044
14825
|
}
|
15045
14826
|
}
|
15046
14827
|
|
@@ -15063,35 +14844,85 @@ return jQuery;
|
|
15063
14844
|
|
15064
14845
|
this._isTransitioning = false;
|
15065
14846
|
|
15066
|
-
this.
|
14847
|
+
this._showBackdrop(() => {
|
15067
14848
|
document.body.classList.remove(CLASS_NAME_OPEN);
|
15068
14849
|
|
15069
14850
|
this._resetAdjustments();
|
15070
14851
|
|
15071
|
-
|
14852
|
+
this._resetScrollbar();
|
14853
|
+
|
15072
14854
|
EventHandler.trigger(this._element, EVENT_HIDDEN$3);
|
15073
14855
|
});
|
15074
14856
|
}
|
15075
14857
|
|
14858
|
+
_removeBackdrop() {
|
14859
|
+
this._backdrop.parentNode.removeChild(this._backdrop);
|
14860
|
+
|
14861
|
+
this._backdrop = null;
|
14862
|
+
}
|
14863
|
+
|
15076
14864
|
_showBackdrop(callback) {
|
15077
|
-
|
15078
|
-
|
15079
|
-
|
15080
|
-
|
14865
|
+
const isAnimated = this._isAnimated();
|
14866
|
+
|
14867
|
+
if (this._isShown && this._config.backdrop) {
|
14868
|
+
this._backdrop = document.createElement('div');
|
14869
|
+
this._backdrop.className = CLASS_NAME_BACKDROP;
|
14870
|
+
|
14871
|
+
if (isAnimated) {
|
14872
|
+
this._backdrop.classList.add(CLASS_NAME_FADE$4);
|
15081
14873
|
}
|
15082
14874
|
|
15083
|
-
|
15084
|
-
|
14875
|
+
document.body.appendChild(this._backdrop);
|
14876
|
+
EventHandler.on(this._element, EVENT_CLICK_DISMISS$2, event => {
|
14877
|
+
if (this._ignoreBackdropClick) {
|
14878
|
+
this._ignoreBackdropClick = false;
|
14879
|
+
return;
|
14880
|
+
}
|
14881
|
+
|
14882
|
+
if (event.target !== event.currentTarget) {
|
14883
|
+
return;
|
14884
|
+
}
|
14885
|
+
|
14886
|
+
if (this._config.backdrop === 'static') {
|
14887
|
+
this._triggerBackdropTransition();
|
14888
|
+
} else {
|
14889
|
+
this.hide();
|
14890
|
+
}
|
14891
|
+
});
|
14892
|
+
|
14893
|
+
if (isAnimated) {
|
14894
|
+
reflow(this._backdrop);
|
15085
14895
|
}
|
15086
14896
|
|
15087
|
-
|
15088
|
-
|
15089
|
-
|
15090
|
-
|
14897
|
+
this._backdrop.classList.add(CLASS_NAME_SHOW$5);
|
14898
|
+
|
14899
|
+
if (!isAnimated) {
|
14900
|
+
callback();
|
14901
|
+
return;
|
15091
14902
|
}
|
15092
|
-
});
|
15093
14903
|
|
15094
|
-
|
14904
|
+
const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
14905
|
+
EventHandler.one(this._backdrop, 'transitionend', callback);
|
14906
|
+
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
|
14907
|
+
} else if (!this._isShown && this._backdrop) {
|
14908
|
+
this._backdrop.classList.remove(CLASS_NAME_SHOW$5);
|
14909
|
+
|
14910
|
+
const callbackRemove = () => {
|
14911
|
+
this._removeBackdrop();
|
14912
|
+
|
14913
|
+
callback();
|
14914
|
+
};
|
14915
|
+
|
14916
|
+
if (isAnimated) {
|
14917
|
+
const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
14918
|
+
EventHandler.one(this._backdrop, 'transitionend', callbackRemove);
|
14919
|
+
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
|
14920
|
+
} else {
|
14921
|
+
callbackRemove();
|
14922
|
+
}
|
14923
|
+
} else {
|
14924
|
+
callback();
|
14925
|
+
}
|
15095
14926
|
}
|
15096
14927
|
|
15097
14928
|
_isAnimated() {
|
@@ -15135,37 +14966,103 @@ return jQuery;
|
|
15135
14966
|
|
15136
14967
|
_adjustDialog() {
|
15137
14968
|
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
15138
|
-
const scrollbarWidth = getWidth();
|
15139
|
-
const isBodyOverflowing = scrollbarWidth > 0;
|
15140
14969
|
|
15141
|
-
if (!
|
15142
|
-
this._element.style.paddingLeft = `${
|
14970
|
+
if (!this._isBodyOverflowing && isModalOverflowing && !isRTL() || this._isBodyOverflowing && !isModalOverflowing && isRTL()) {
|
14971
|
+
this._element.style.paddingLeft = `${this._scrollbarWidth}px`;
|
15143
14972
|
}
|
15144
14973
|
|
15145
|
-
if (
|
15146
|
-
this._element.style.paddingRight = `${
|
14974
|
+
if (this._isBodyOverflowing && !isModalOverflowing && !isRTL() || !this._isBodyOverflowing && isModalOverflowing && isRTL()) {
|
14975
|
+
this._element.style.paddingRight = `${this._scrollbarWidth}px`;
|
15147
14976
|
}
|
15148
14977
|
}
|
15149
14978
|
|
15150
14979
|
_resetAdjustments() {
|
15151
14980
|
this._element.style.paddingLeft = '';
|
15152
14981
|
this._element.style.paddingRight = '';
|
14982
|
+
}
|
14983
|
+
|
14984
|
+
_checkScrollbar() {
|
14985
|
+
const rect = document.body.getBoundingClientRect();
|
14986
|
+
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
|
14987
|
+
this._scrollbarWidth = this._getScrollbarWidth();
|
14988
|
+
}
|
14989
|
+
|
14990
|
+
_setScrollbar() {
|
14991
|
+
if (this._isBodyOverflowing) {
|
14992
|
+
this._setElementAttributes(SELECTOR_FIXED_CONTENT$1, 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth);
|
14993
|
+
|
14994
|
+
this._setElementAttributes(SELECTOR_STICKY_CONTENT$1, 'marginRight', calculatedValue => calculatedValue - this._scrollbarWidth);
|
14995
|
+
|
14996
|
+
this._setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth);
|
14997
|
+
}
|
14998
|
+
|
14999
|
+
document.body.classList.add(CLASS_NAME_OPEN);
|
15000
|
+
}
|
15001
|
+
|
15002
|
+
_setElementAttributes(selector, styleProp, callback) {
|
15003
|
+
SelectorEngine.find(selector).forEach(element => {
|
15004
|
+
if (element !== document.body && window.innerWidth > element.clientWidth + this._scrollbarWidth) {
|
15005
|
+
return;
|
15006
|
+
}
|
15007
|
+
|
15008
|
+
const actualValue = element.style[styleProp];
|
15009
|
+
const calculatedValue = window.getComputedStyle(element)[styleProp];
|
15010
|
+
Manipulator.setDataAttribute(element, styleProp, actualValue);
|
15011
|
+
element.style[styleProp] = callback(Number.parseFloat(calculatedValue)) + 'px';
|
15012
|
+
});
|
15013
|
+
}
|
15014
|
+
|
15015
|
+
_resetScrollbar() {
|
15016
|
+
this._resetElementAttributes(SELECTOR_FIXED_CONTENT$1, 'paddingRight');
|
15017
|
+
|
15018
|
+
this._resetElementAttributes(SELECTOR_STICKY_CONTENT$1, 'marginRight');
|
15019
|
+
|
15020
|
+
this._resetElementAttributes('body', 'paddingRight');
|
15021
|
+
}
|
15022
|
+
|
15023
|
+
_resetElementAttributes(selector, styleProp) {
|
15024
|
+
SelectorEngine.find(selector).forEach(element => {
|
15025
|
+
const value = Manipulator.getDataAttribute(element, styleProp);
|
15026
|
+
|
15027
|
+
if (typeof value === 'undefined' && element === document.body) {
|
15028
|
+
element.style[styleProp] = '';
|
15029
|
+
} else {
|
15030
|
+
Manipulator.removeDataAttribute(element, styleProp);
|
15031
|
+
element.style[styleProp] = value;
|
15032
|
+
}
|
15033
|
+
});
|
15034
|
+
}
|
15035
|
+
|
15036
|
+
_getScrollbarWidth() {
|
15037
|
+
// thx d.walsh
|
15038
|
+
const scrollDiv = document.createElement('div');
|
15039
|
+
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
|
15040
|
+
document.body.appendChild(scrollDiv);
|
15041
|
+
const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
|
15042
|
+
document.body.removeChild(scrollDiv);
|
15043
|
+
return scrollbarWidth;
|
15153
15044
|
} // Static
|
15154
15045
|
|
15155
15046
|
|
15156
15047
|
static jQueryInterface(config, relatedTarget) {
|
15157
15048
|
return this.each(function () {
|
15158
|
-
|
15049
|
+
let data = Data.get(this, DATA_KEY$6);
|
15050
|
+
const _config = { ...Default$5,
|
15051
|
+
...Manipulator.getDataAttributes(this),
|
15052
|
+
...(typeof config === 'object' && config ? config : {})
|
15053
|
+
};
|
15159
15054
|
|
15160
|
-
if (
|
15161
|
-
|
15055
|
+
if (!data) {
|
15056
|
+
data = new Modal(this, _config);
|
15162
15057
|
}
|
15163
15058
|
|
15164
|
-
if (typeof
|
15165
|
-
|
15166
|
-
|
15059
|
+
if (typeof config === 'string') {
|
15060
|
+
if (typeof data[config] === 'undefined') {
|
15061
|
+
throw new TypeError(`No method named "${config}"`);
|
15062
|
+
}
|
15167
15063
|
|
15168
|
-
|
15064
|
+
data[config](relatedTarget);
|
15065
|
+
}
|
15169
15066
|
});
|
15170
15067
|
}
|
15171
15068
|
|
@@ -15180,7 +15077,7 @@ return jQuery;
|
|
15180
15077
|
EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
|
15181
15078
|
const target = getElementFromSelector(this);
|
15182
15079
|
|
15183
|
-
if (
|
15080
|
+
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
15184
15081
|
event.preventDefault();
|
15185
15082
|
}
|
15186
15083
|
|
@@ -15196,7 +15093,15 @@ return jQuery;
|
|
15196
15093
|
}
|
15197
15094
|
});
|
15198
15095
|
});
|
15199
|
-
|
15096
|
+
let data = Data.get(target, DATA_KEY$6);
|
15097
|
+
|
15098
|
+
if (!data) {
|
15099
|
+
const config = { ...Manipulator.getDataAttributes(target),
|
15100
|
+
...Manipulator.getDataAttributes(this)
|
15101
|
+
};
|
15102
|
+
data = new Modal(target, config);
|
15103
|
+
}
|
15104
|
+
|
15200
15105
|
data.toggle(this);
|
15201
15106
|
});
|
15202
15107
|
/**
|
@@ -15206,11 +15111,73 @@ return jQuery;
|
|
15206
15111
|
* add .Modal to jQuery only if jQuery is present
|
15207
15112
|
*/
|
15208
15113
|
|
15209
|
-
defineJQueryPlugin(Modal);
|
15114
|
+
defineJQueryPlugin(NAME$6, Modal);
|
15115
|
+
|
15116
|
+
/**
|
15117
|
+
* --------------------------------------------------------------------------
|
15118
|
+
* Bootstrap (v5.0.0-beta3): util/scrollBar.js
|
15119
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
15120
|
+
* --------------------------------------------------------------------------
|
15121
|
+
*/
|
15122
|
+
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed';
|
15123
|
+
const SELECTOR_STICKY_CONTENT = '.sticky-top';
|
15124
|
+
|
15125
|
+
const getWidth = () => {
|
15126
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
15127
|
+
const documentWidth = document.documentElement.clientWidth;
|
15128
|
+
return Math.abs(window.innerWidth - documentWidth);
|
15129
|
+
};
|
15130
|
+
|
15131
|
+
const hide = (width = getWidth()) => {
|
15132
|
+
document.body.style.overflow = 'hidden';
|
15133
|
+
|
15134
|
+
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width);
|
15135
|
+
|
15136
|
+
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width);
|
15137
|
+
|
15138
|
+
_setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width);
|
15139
|
+
};
|
15140
|
+
|
15141
|
+
const _setElementAttributes = (selector, styleProp, callback) => {
|
15142
|
+
const scrollbarWidth = getWidth();
|
15143
|
+
SelectorEngine.find(selector).forEach(element => {
|
15144
|
+
if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {
|
15145
|
+
return;
|
15146
|
+
}
|
15147
|
+
|
15148
|
+
const actualValue = element.style[styleProp];
|
15149
|
+
const calculatedValue = window.getComputedStyle(element)[styleProp];
|
15150
|
+
Manipulator.setDataAttribute(element, styleProp, actualValue);
|
15151
|
+
element.style[styleProp] = callback(Number.parseFloat(calculatedValue)) + 'px';
|
15152
|
+
});
|
15153
|
+
};
|
15154
|
+
|
15155
|
+
const reset = () => {
|
15156
|
+
document.body.style.overflow = 'auto';
|
15157
|
+
|
15158
|
+
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
|
15159
|
+
|
15160
|
+
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
|
15161
|
+
|
15162
|
+
_resetElementAttributes('body', 'paddingRight');
|
15163
|
+
};
|
15164
|
+
|
15165
|
+
const _resetElementAttributes = (selector, styleProp) => {
|
15166
|
+
SelectorEngine.find(selector).forEach(element => {
|
15167
|
+
const value = Manipulator.getDataAttribute(element, styleProp);
|
15168
|
+
|
15169
|
+
if (typeof value === 'undefined' && element === document.body) {
|
15170
|
+
element.style.removeProperty(styleProp);
|
15171
|
+
} else {
|
15172
|
+
Manipulator.removeDataAttribute(element, styleProp);
|
15173
|
+
element.style[styleProp] = value;
|
15174
|
+
}
|
15175
|
+
});
|
15176
|
+
};
|
15210
15177
|
|
15211
15178
|
/**
|
15212
15179
|
* --------------------------------------------------------------------------
|
15213
|
-
* Bootstrap (v5.0.
|
15180
|
+
* Bootstrap (v5.0.0-beta3): offcanvas.js
|
15214
15181
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
15215
15182
|
* --------------------------------------------------------------------------
|
15216
15183
|
*/
|
@@ -15236,16 +15203,18 @@ return jQuery;
|
|
15236
15203
|
keyboard: 'boolean',
|
15237
15204
|
scroll: 'boolean'
|
15238
15205
|
};
|
15206
|
+
const CLASS_NAME_BACKDROP_BODY = 'offcanvas-backdrop';
|
15239
15207
|
const CLASS_NAME_SHOW$4 = 'show';
|
15208
|
+
const CLASS_NAME_TOGGLING = 'offcanvas-toggling';
|
15240
15209
|
const OPEN_SELECTOR = '.offcanvas.show';
|
15210
|
+
const ACTIVE_SELECTOR = `${OPEN_SELECTOR}, .${CLASS_NAME_TOGGLING}`;
|
15241
15211
|
const EVENT_SHOW$2 = `show${EVENT_KEY$5}`;
|
15242
15212
|
const EVENT_SHOWN$2 = `shown${EVENT_KEY$5}`;
|
15243
15213
|
const EVENT_HIDE$2 = `hide${EVENT_KEY$5}`;
|
15244
15214
|
const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$5}`;
|
15245
|
-
const EVENT_FOCUSIN
|
15215
|
+
const EVENT_FOCUSIN = `focusin${EVENT_KEY$5}`;
|
15246
15216
|
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`;
|
15247
15217
|
const EVENT_CLICK_DISMISS$1 = `click.dismiss${EVENT_KEY$5}`;
|
15248
|
-
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
|
15249
15218
|
const SELECTOR_DATA_DISMISS$1 = '[data-bs-dismiss="offcanvas"]';
|
15250
15219
|
const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
|
15251
15220
|
/**
|
@@ -15259,18 +15228,17 @@ return jQuery;
|
|
15259
15228
|
super(element);
|
15260
15229
|
this._config = this._getConfig(config);
|
15261
15230
|
this._isShown = false;
|
15262
|
-
this._backdrop = this._initializeBackDrop();
|
15263
15231
|
|
15264
15232
|
this._addEventListeners();
|
15265
15233
|
} // Getters
|
15266
15234
|
|
15267
15235
|
|
15268
|
-
static get NAME() {
|
15269
|
-
return NAME$5;
|
15270
|
-
}
|
15271
|
-
|
15272
15236
|
static get Default() {
|
15273
15237
|
return Default$4;
|
15238
|
+
}
|
15239
|
+
|
15240
|
+
static get DATA_KEY() {
|
15241
|
+
return DATA_KEY$5;
|
15274
15242
|
} // Public
|
15275
15243
|
|
15276
15244
|
|
@@ -15294,14 +15262,16 @@ return jQuery;
|
|
15294
15262
|
this._isShown = true;
|
15295
15263
|
this._element.style.visibility = 'visible';
|
15296
15264
|
|
15297
|
-
this.
|
15265
|
+
if (this._config.backdrop) {
|
15266
|
+
document.body.classList.add(CLASS_NAME_BACKDROP_BODY);
|
15267
|
+
}
|
15298
15268
|
|
15299
15269
|
if (!this._config.scroll) {
|
15300
15270
|
hide();
|
15301
|
-
|
15302
|
-
this._enforceFocusOnElement(this._element);
|
15303
15271
|
}
|
15304
15272
|
|
15273
|
+
this._element.classList.add(CLASS_NAME_TOGGLING);
|
15274
|
+
|
15305
15275
|
this._element.removeAttribute('aria-hidden');
|
15306
15276
|
|
15307
15277
|
this._element.setAttribute('aria-modal', true);
|
@@ -15311,12 +15281,16 @@ return jQuery;
|
|
15311
15281
|
this._element.classList.add(CLASS_NAME_SHOW$4);
|
15312
15282
|
|
15313
15283
|
const completeCallBack = () => {
|
15284
|
+
this._element.classList.remove(CLASS_NAME_TOGGLING);
|
15285
|
+
|
15314
15286
|
EventHandler.trigger(this._element, EVENT_SHOWN$2, {
|
15315
15287
|
relatedTarget
|
15316
15288
|
});
|
15289
|
+
|
15290
|
+
this._enforceFocusOnElement(this._element);
|
15317
15291
|
};
|
15318
15292
|
|
15319
|
-
|
15293
|
+
setTimeout(completeCallBack, getTransitionDurationFromElement(this._element));
|
15320
15294
|
}
|
15321
15295
|
|
15322
15296
|
hide() {
|
@@ -15330,7 +15304,9 @@ return jQuery;
|
|
15330
15304
|
return;
|
15331
15305
|
}
|
15332
15306
|
|
15333
|
-
|
15307
|
+
this._element.classList.add(CLASS_NAME_TOGGLING);
|
15308
|
+
|
15309
|
+
EventHandler.off(document, EVENT_FOCUSIN);
|
15334
15310
|
|
15335
15311
|
this._element.blur();
|
15336
15312
|
|
@@ -15338,8 +15314,6 @@ return jQuery;
|
|
15338
15314
|
|
15339
15315
|
this._element.classList.remove(CLASS_NAME_SHOW$4);
|
15340
15316
|
|
15341
|
-
this._backdrop.hide();
|
15342
|
-
|
15343
15317
|
const completeCallback = () => {
|
15344
15318
|
this._element.setAttribute('aria-hidden', true);
|
15345
15319
|
|
@@ -15349,21 +15323,20 @@ return jQuery;
|
|
15349
15323
|
|
15350
15324
|
this._element.style.visibility = 'hidden';
|
15351
15325
|
|
15326
|
+
if (this._config.backdrop) {
|
15327
|
+
document.body.classList.remove(CLASS_NAME_BACKDROP_BODY);
|
15328
|
+
}
|
15329
|
+
|
15352
15330
|
if (!this._config.scroll) {
|
15353
15331
|
reset();
|
15354
15332
|
}
|
15355
15333
|
|
15356
15334
|
EventHandler.trigger(this._element, EVENT_HIDDEN$2);
|
15357
|
-
};
|
15358
15335
|
|
15359
|
-
|
15360
|
-
|
15361
|
-
|
15362
|
-
dispose() {
|
15363
|
-
this._backdrop.dispose();
|
15336
|
+
this._element.classList.remove(CLASS_NAME_TOGGLING);
|
15337
|
+
};
|
15364
15338
|
|
15365
|
-
|
15366
|
-
EventHandler.off(document, EVENT_FOCUSIN$1);
|
15339
|
+
setTimeout(completeCallback, getTransitionDurationFromElement(this._element));
|
15367
15340
|
} // Private
|
15368
15341
|
|
15369
15342
|
|
@@ -15376,19 +15349,10 @@ return jQuery;
|
|
15376
15349
|
return config;
|
15377
15350
|
}
|
15378
15351
|
|
15379
|
-
_initializeBackDrop() {
|
15380
|
-
return new Backdrop({
|
15381
|
-
isVisible: this._config.backdrop,
|
15382
|
-
isAnimated: true,
|
15383
|
-
rootElement: this._element.parentNode,
|
15384
|
-
clickCallback: () => this.hide()
|
15385
|
-
});
|
15386
|
-
}
|
15387
|
-
|
15388
15352
|
_enforceFocusOnElement(element) {
|
15389
|
-
EventHandler.off(document, EVENT_FOCUSIN
|
15353
|
+
EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop
|
15390
15354
|
|
15391
|
-
EventHandler.on(document, EVENT_FOCUSIN
|
15355
|
+
EventHandler.on(document, EVENT_FOCUSIN, event => {
|
15392
15356
|
if (document !== event.target && element !== event.target && !element.contains(event.target)) {
|
15393
15357
|
element.focus();
|
15394
15358
|
}
|
@@ -15398,11 +15362,18 @@ return jQuery;
|
|
15398
15362
|
|
15399
15363
|
_addEventListeners() {
|
15400
15364
|
EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, () => this.hide());
|
15401
|
-
EventHandler.on(
|
15365
|
+
EventHandler.on(document, 'keydown', event => {
|
15402
15366
|
if (this._config.keyboard && event.key === ESCAPE_KEY) {
|
15403
15367
|
this.hide();
|
15404
15368
|
}
|
15405
15369
|
});
|
15370
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API$1, event => {
|
15371
|
+
const target = SelectorEngine.findOne(getSelectorFromElement(event.target));
|
15372
|
+
|
15373
|
+
if (!this._element.contains(event.target) && target !== this._element) {
|
15374
|
+
this.hide();
|
15375
|
+
}
|
15376
|
+
});
|
15406
15377
|
} // Static
|
15407
15378
|
|
15408
15379
|
|
@@ -15448,10 +15419,10 @@ return jQuery;
|
|
15448
15419
|
}
|
15449
15420
|
}); // avoid conflict when clicking a toggler of an offcanvas, while another is open
|
15450
15421
|
|
15451
|
-
const allReadyOpen = SelectorEngine.findOne(
|
15422
|
+
const allReadyOpen = SelectorEngine.findOne(ACTIVE_SELECTOR);
|
15452
15423
|
|
15453
15424
|
if (allReadyOpen && allReadyOpen !== target) {
|
15454
|
-
|
15425
|
+
return;
|
15455
15426
|
}
|
15456
15427
|
|
15457
15428
|
const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
|
@@ -15466,11 +15437,11 @@ return jQuery;
|
|
15466
15437
|
* ------------------------------------------------------------------------
|
15467
15438
|
*/
|
15468
15439
|
|
15469
|
-
defineJQueryPlugin(Offcanvas);
|
15440
|
+
defineJQueryPlugin(NAME$5, Offcanvas);
|
15470
15441
|
|
15471
15442
|
/**
|
15472
15443
|
* --------------------------------------------------------------------------
|
15473
|
-
* Bootstrap (v5.0.
|
15444
|
+
* Bootstrap (v5.0.0-beta3): util/sanitizer.js
|
15474
15445
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
15475
15446
|
* --------------------------------------------------------------------------
|
15476
15447
|
*/
|
@@ -15583,7 +15554,7 @@ return jQuery;
|
|
15583
15554
|
|
15584
15555
|
/**
|
15585
15556
|
* --------------------------------------------------------------------------
|
15586
|
-
* Bootstrap (v5.0.
|
15557
|
+
* Bootstrap (v5.0.0-beta3): tooltip.js
|
15587
15558
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
15588
15559
|
* --------------------------------------------------------------------------
|
15589
15560
|
*/
|
@@ -15686,7 +15657,7 @@ return jQuery;
|
|
15686
15657
|
this._activeTrigger = {};
|
15687
15658
|
this._popper = null; // Protected
|
15688
15659
|
|
15689
|
-
this.
|
15660
|
+
this.config = this._getConfig(config);
|
15690
15661
|
this.tip = null;
|
15691
15662
|
|
15692
15663
|
this._setListeners();
|
@@ -15701,10 +15672,18 @@ return jQuery;
|
|
15701
15672
|
return NAME$4;
|
15702
15673
|
}
|
15703
15674
|
|
15675
|
+
static get DATA_KEY() {
|
15676
|
+
return DATA_KEY$4;
|
15677
|
+
}
|
15678
|
+
|
15704
15679
|
static get Event() {
|
15705
15680
|
return Event$2;
|
15706
15681
|
}
|
15707
15682
|
|
15683
|
+
static get EVENT_KEY() {
|
15684
|
+
return EVENT_KEY$4;
|
15685
|
+
}
|
15686
|
+
|
15708
15687
|
static get DefaultType() {
|
15709
15688
|
return DefaultType$3;
|
15710
15689
|
} // Public
|
@@ -15750,16 +15729,25 @@ return jQuery;
|
|
15750
15729
|
|
15751
15730
|
dispose() {
|
15752
15731
|
clearTimeout(this._timeout);
|
15732
|
+
EventHandler.off(this._element, this.constructor.EVENT_KEY);
|
15753
15733
|
EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
|
15754
15734
|
|
15755
15735
|
if (this.tip && this.tip.parentNode) {
|
15756
15736
|
this.tip.parentNode.removeChild(this.tip);
|
15757
15737
|
}
|
15758
15738
|
|
15739
|
+
this._isEnabled = null;
|
15740
|
+
this._timeout = null;
|
15741
|
+
this._hoverState = null;
|
15742
|
+
this._activeTrigger = null;
|
15743
|
+
|
15759
15744
|
if (this._popper) {
|
15760
15745
|
this._popper.destroy();
|
15761
15746
|
}
|
15762
15747
|
|
15748
|
+
this._popper = null;
|
15749
|
+
this.config = null;
|
15750
|
+
this.tip = null;
|
15763
15751
|
super.dispose();
|
15764
15752
|
}
|
15765
15753
|
|
@@ -15788,19 +15776,18 @@ return jQuery;
|
|
15788
15776
|
|
15789
15777
|
this.setContent();
|
15790
15778
|
|
15791
|
-
if (this.
|
15779
|
+
if (this.config.animation) {
|
15792
15780
|
tip.classList.add(CLASS_NAME_FADE$3);
|
15793
15781
|
}
|
15794
15782
|
|
15795
|
-
const placement = typeof this.
|
15783
|
+
const placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
|
15796
15784
|
|
15797
15785
|
const attachment = this._getAttachment(placement);
|
15798
15786
|
|
15799
15787
|
this._addAttachmentClass(attachment);
|
15800
15788
|
|
15801
|
-
const
|
15802
|
-
|
15803
|
-
} = this._config;
|
15789
|
+
const container = this._getContainer();
|
15790
|
+
|
15804
15791
|
Data.set(tip, this.constructor.DATA_KEY, this);
|
15805
15792
|
|
15806
15793
|
if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
|
@@ -15815,7 +15802,7 @@ return jQuery;
|
|
15815
15802
|
}
|
15816
15803
|
|
15817
15804
|
tip.classList.add(CLASS_NAME_SHOW$3);
|
15818
|
-
const customClass = typeof this.
|
15805
|
+
const customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
|
15819
15806
|
|
15820
15807
|
if (customClass) {
|
15821
15808
|
tip.classList.add(...customClass.split(' '));
|
@@ -15827,7 +15814,7 @@ return jQuery;
|
|
15827
15814
|
|
15828
15815
|
if ('ontouchstart' in document.documentElement) {
|
15829
15816
|
[].concat(...document.body.children).forEach(element => {
|
15830
|
-
EventHandler.on(element, 'mouseover', noop);
|
15817
|
+
EventHandler.on(element, 'mouseover', noop());
|
15831
15818
|
});
|
15832
15819
|
}
|
15833
15820
|
|
@@ -15841,9 +15828,13 @@ return jQuery;
|
|
15841
15828
|
}
|
15842
15829
|
};
|
15843
15830
|
|
15844
|
-
|
15845
|
-
|
15846
|
-
|
15831
|
+
if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
|
15832
|
+
const transitionDuration = getTransitionDurationFromElement(this.tip);
|
15833
|
+
EventHandler.one(this.tip, 'transitionend', complete);
|
15834
|
+
emulateTransitionEnd(this.tip, transitionDuration);
|
15835
|
+
} else {
|
15836
|
+
complete();
|
15837
|
+
}
|
15847
15838
|
}
|
15848
15839
|
|
15849
15840
|
hide() {
|
@@ -15891,9 +15882,14 @@ return jQuery;
|
|
15891
15882
|
this._activeTrigger[TRIGGER_CLICK] = false;
|
15892
15883
|
this._activeTrigger[TRIGGER_FOCUS] = false;
|
15893
15884
|
this._activeTrigger[TRIGGER_HOVER] = false;
|
15894
|
-
const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$3);
|
15895
15885
|
|
15896
|
-
|
15886
|
+
if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
|
15887
|
+
const transitionDuration = getTransitionDurationFromElement(tip);
|
15888
|
+
EventHandler.one(tip, 'transitionend', complete);
|
15889
|
+
emulateTransitionEnd(tip, transitionDuration);
|
15890
|
+
} else {
|
15891
|
+
complete();
|
15892
|
+
}
|
15897
15893
|
|
15898
15894
|
this._hoverState = '';
|
15899
15895
|
}
|
@@ -15915,7 +15911,7 @@ return jQuery;
|
|
15915
15911
|
}
|
15916
15912
|
|
15917
15913
|
const element = document.createElement('div');
|
15918
|
-
element.innerHTML = this.
|
15914
|
+
element.innerHTML = this.config.template;
|
15919
15915
|
this.tip = element.children[0];
|
15920
15916
|
return this.tip;
|
15921
15917
|
}
|
@@ -15931,10 +15927,13 @@ return jQuery;
|
|
15931
15927
|
return;
|
15932
15928
|
}
|
15933
15929
|
|
15934
|
-
if (isElement(content)) {
|
15935
|
-
|
15930
|
+
if (typeof content === 'object' && isElement(content)) {
|
15931
|
+
if (content.jquery) {
|
15932
|
+
content = content[0];
|
15933
|
+
} // content is a DOM node or a jQuery
|
15934
|
+
|
15936
15935
|
|
15937
|
-
if (this.
|
15936
|
+
if (this.config.html) {
|
15938
15937
|
if (content.parentNode !== element) {
|
15939
15938
|
element.innerHTML = '';
|
15940
15939
|
element.appendChild(content);
|
@@ -15946,9 +15945,9 @@ return jQuery;
|
|
15946
15945
|
return;
|
15947
15946
|
}
|
15948
15947
|
|
15949
|
-
if (this.
|
15950
|
-
if (this.
|
15951
|
-
content = sanitizeHtml(content, this.
|
15948
|
+
if (this.config.html) {
|
15949
|
+
if (this.config.sanitize) {
|
15950
|
+
content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn);
|
15952
15951
|
}
|
15953
15952
|
|
15954
15953
|
element.innerHTML = content;
|
@@ -15961,7 +15960,7 @@ return jQuery;
|
|
15961
15960
|
let title = this._element.getAttribute('data-bs-original-title');
|
15962
15961
|
|
15963
15962
|
if (!title) {
|
15964
|
-
title = typeof this.
|
15963
|
+
title = typeof this.config.title === 'function' ? this.config.title.call(this._element) : this.config.title;
|
15965
15964
|
}
|
15966
15965
|
|
15967
15966
|
return title;
|
@@ -15995,7 +15994,7 @@ return jQuery;
|
|
15995
15994
|
_getOffset() {
|
15996
15995
|
const {
|
15997
15996
|
offset
|
15998
|
-
} = this.
|
15997
|
+
} = this.config;
|
15999
15998
|
|
16000
15999
|
if (typeof offset === 'string') {
|
16001
16000
|
return offset.split(',').map(val => Number.parseInt(val, 10));
|
@@ -16014,7 +16013,8 @@ return jQuery;
|
|
16014
16013
|
modifiers: [{
|
16015
16014
|
name: 'flip',
|
16016
16015
|
options: {
|
16017
|
-
|
16016
|
+
altBoundary: true,
|
16017
|
+
fallbackPlacements: this.config.fallbackPlacements
|
16018
16018
|
}
|
16019
16019
|
}, {
|
16020
16020
|
name: 'offset',
|
@@ -16024,7 +16024,7 @@ return jQuery;
|
|
16024
16024
|
}, {
|
16025
16025
|
name: 'preventOverflow',
|
16026
16026
|
options: {
|
16027
|
-
boundary: this.
|
16027
|
+
boundary: this.config.boundary
|
16028
16028
|
}
|
16029
16029
|
}, {
|
16030
16030
|
name: 'arrow',
|
@@ -16044,7 +16044,7 @@ return jQuery;
|
|
16044
16044
|
}
|
16045
16045
|
};
|
16046
16046
|
return { ...defaultBsPopperConfig,
|
16047
|
-
...(typeof this.
|
16047
|
+
...(typeof this.config.popperConfig === 'function' ? this.config.popperConfig(defaultBsPopperConfig) : this.config.popperConfig)
|
16048
16048
|
};
|
16049
16049
|
}
|
16050
16050
|
|
@@ -16052,21 +16052,32 @@ return jQuery;
|
|
16052
16052
|
this.getTipElement().classList.add(`${CLASS_PREFIX$1}-${this.updateAttachment(attachment)}`);
|
16053
16053
|
}
|
16054
16054
|
|
16055
|
+
_getContainer() {
|
16056
|
+
if (this.config.container === false) {
|
16057
|
+
return document.body;
|
16058
|
+
}
|
16059
|
+
|
16060
|
+
if (isElement(this.config.container)) {
|
16061
|
+
return this.config.container;
|
16062
|
+
}
|
16063
|
+
|
16064
|
+
return SelectorEngine.findOne(this.config.container);
|
16065
|
+
}
|
16066
|
+
|
16055
16067
|
_getAttachment(placement) {
|
16056
16068
|
return AttachmentMap[placement.toUpperCase()];
|
16057
16069
|
}
|
16058
16070
|
|
16059
16071
|
_setListeners() {
|
16060
|
-
const triggers = this.
|
16061
|
-
|
16072
|
+
const triggers = this.config.trigger.split(' ');
|
16062
16073
|
triggers.forEach(trigger => {
|
16063
16074
|
if (trigger === 'click') {
|
16064
|
-
EventHandler.on(this._element, this.constructor.Event.CLICK, this.
|
16075
|
+
EventHandler.on(this._element, this.constructor.Event.CLICK, this.config.selector, event => this.toggle(event));
|
16065
16076
|
} else if (trigger !== TRIGGER_MANUAL) {
|
16066
16077
|
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN;
|
16067
16078
|
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT;
|
16068
|
-
EventHandler.on(this._element, eventIn, this.
|
16069
|
-
EventHandler.on(this._element, eventOut, this.
|
16079
|
+
EventHandler.on(this._element, eventIn, this.config.selector, event => this._enter(event));
|
16080
|
+
EventHandler.on(this._element, eventOut, this.config.selector, event => this._leave(event));
|
16070
16081
|
}
|
16071
16082
|
});
|
16072
16083
|
|
@@ -16078,8 +16089,8 @@ return jQuery;
|
|
16078
16089
|
|
16079
16090
|
EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
|
16080
16091
|
|
16081
|
-
if (this.
|
16082
|
-
this.
|
16092
|
+
if (this.config.selector) {
|
16093
|
+
this.config = { ...this.config,
|
16083
16094
|
trigger: 'manual',
|
16084
16095
|
selector: ''
|
16085
16096
|
};
|
@@ -16119,7 +16130,7 @@ return jQuery;
|
|
16119
16130
|
clearTimeout(context._timeout);
|
16120
16131
|
context._hoverState = HOVER_STATE_SHOW;
|
16121
16132
|
|
16122
|
-
if (!context.
|
16133
|
+
if (!context.config.delay || !context.config.delay.show) {
|
16123
16134
|
context.show();
|
16124
16135
|
return;
|
16125
16136
|
}
|
@@ -16128,7 +16139,7 @@ return jQuery;
|
|
16128
16139
|
if (context._hoverState === HOVER_STATE_SHOW) {
|
16129
16140
|
context.show();
|
16130
16141
|
}
|
16131
|
-
}, context.
|
16142
|
+
}, context.config.delay.show);
|
16132
16143
|
}
|
16133
16144
|
|
16134
16145
|
_leave(event, context) {
|
@@ -16145,7 +16156,7 @@ return jQuery;
|
|
16145
16156
|
clearTimeout(context._timeout);
|
16146
16157
|
context._hoverState = HOVER_STATE_OUT;
|
16147
16158
|
|
16148
|
-
if (!context.
|
16159
|
+
if (!context.config.delay || !context.config.delay.hide) {
|
16149
16160
|
context.hide();
|
16150
16161
|
return;
|
16151
16162
|
}
|
@@ -16154,7 +16165,7 @@ return jQuery;
|
|
16154
16165
|
if (context._hoverState === HOVER_STATE_OUT) {
|
16155
16166
|
context.hide();
|
16156
16167
|
}
|
16157
|
-
}, context.
|
16168
|
+
}, context.config.delay.hide);
|
16158
16169
|
}
|
16159
16170
|
|
16160
16171
|
_isWithActiveTrigger() {
|
@@ -16174,11 +16185,15 @@ return jQuery;
|
|
16174
16185
|
delete dataAttributes[dataAttr];
|
16175
16186
|
}
|
16176
16187
|
});
|
16188
|
+
|
16189
|
+
if (config && typeof config.container === 'object' && config.container.jquery) {
|
16190
|
+
config.container = config.container[0];
|
16191
|
+
}
|
16192
|
+
|
16177
16193
|
config = { ...this.constructor.Default,
|
16178
16194
|
...dataAttributes,
|
16179
16195
|
...(typeof config === 'object' && config ? config : {})
|
16180
16196
|
};
|
16181
|
-
config.container = config.container === false ? document.body : getElement(config.container);
|
16182
16197
|
|
16183
16198
|
if (typeof config.delay === 'number') {
|
16184
16199
|
config.delay = {
|
@@ -16207,10 +16222,10 @@ return jQuery;
|
|
16207
16222
|
_getDelegateConfig() {
|
16208
16223
|
const config = {};
|
16209
16224
|
|
16210
|
-
if (this.
|
16211
|
-
for (const key in this.
|
16212
|
-
if (this.constructor.Default[key] !== this.
|
16213
|
-
config[key] = this.
|
16225
|
+
if (this.config) {
|
16226
|
+
for (const key in this.config) {
|
16227
|
+
if (this.constructor.Default[key] !== this.config[key]) {
|
16228
|
+
config[key] = this.config[key];
|
16214
16229
|
}
|
16215
16230
|
}
|
16216
16231
|
}
|
@@ -16277,11 +16292,11 @@ return jQuery;
|
|
16277
16292
|
*/
|
16278
16293
|
|
16279
16294
|
|
16280
|
-
defineJQueryPlugin(Tooltip);
|
16295
|
+
defineJQueryPlugin(NAME$4, Tooltip);
|
16281
16296
|
|
16282
16297
|
/**
|
16283
16298
|
* --------------------------------------------------------------------------
|
16284
|
-
* Bootstrap (v5.0.
|
16299
|
+
* Bootstrap (v5.0.0-beta3): popover.js
|
16285
16300
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16286
16301
|
* --------------------------------------------------------------------------
|
16287
16302
|
*/
|
@@ -16338,10 +16353,18 @@ return jQuery;
|
|
16338
16353
|
return NAME$3;
|
16339
16354
|
}
|
16340
16355
|
|
16356
|
+
static get DATA_KEY() {
|
16357
|
+
return DATA_KEY$3;
|
16358
|
+
}
|
16359
|
+
|
16341
16360
|
static get Event() {
|
16342
16361
|
return Event$1;
|
16343
16362
|
}
|
16344
16363
|
|
16364
|
+
static get EVENT_KEY() {
|
16365
|
+
return EVENT_KEY$3;
|
16366
|
+
}
|
16367
|
+
|
16345
16368
|
static get DefaultType() {
|
16346
16369
|
return DefaultType$2;
|
16347
16370
|
} // Overrides
|
@@ -16372,7 +16395,7 @@ return jQuery;
|
|
16372
16395
|
}
|
16373
16396
|
|
16374
16397
|
_getContent() {
|
16375
|
-
return this._element.getAttribute('data-bs-content') || this.
|
16398
|
+
return this._element.getAttribute('data-bs-content') || this.config.content;
|
16376
16399
|
}
|
16377
16400
|
|
16378
16401
|
_cleanTipClass() {
|
@@ -16419,11 +16442,11 @@ return jQuery;
|
|
16419
16442
|
*/
|
16420
16443
|
|
16421
16444
|
|
16422
|
-
defineJQueryPlugin(Popover);
|
16445
|
+
defineJQueryPlugin(NAME$3, Popover);
|
16423
16446
|
|
16424
16447
|
/**
|
16425
16448
|
* --------------------------------------------------------------------------
|
16426
|
-
* Bootstrap (v5.0.
|
16449
|
+
* Bootstrap (v5.0.0-beta3): scrollspy.js
|
16427
16450
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16428
16451
|
* --------------------------------------------------------------------------
|
16429
16452
|
*/
|
@@ -16488,8 +16511,8 @@ return jQuery;
|
|
16488
16511
|
return Default$1;
|
16489
16512
|
}
|
16490
16513
|
|
16491
|
-
static get
|
16492
|
-
return
|
16514
|
+
static get DATA_KEY() {
|
16515
|
+
return DATA_KEY$2;
|
16493
16516
|
} // Public
|
16494
16517
|
|
16495
16518
|
|
@@ -16522,14 +16545,20 @@ return jQuery;
|
|
16522
16545
|
}
|
16523
16546
|
|
16524
16547
|
dispose() {
|
16525
|
-
EventHandler.off(this._scrollElement, EVENT_KEY$2);
|
16526
16548
|
super.dispose();
|
16549
|
+
EventHandler.off(this._scrollElement, EVENT_KEY$2);
|
16550
|
+
this._scrollElement = null;
|
16551
|
+
this._config = null;
|
16552
|
+
this._selector = null;
|
16553
|
+
this._offsets = null;
|
16554
|
+
this._targets = null;
|
16555
|
+
this._activeTarget = null;
|
16556
|
+
this._scrollHeight = null;
|
16527
16557
|
} // Private
|
16528
16558
|
|
16529
16559
|
|
16530
16560
|
_getConfig(config) {
|
16531
16561
|
config = { ...Default$1,
|
16532
|
-
...Manipulator.getDataAttributes(this._element),
|
16533
16562
|
...(typeof config === 'object' && config ? config : {})
|
16534
16563
|
};
|
16535
16564
|
|
@@ -16638,17 +16667,21 @@ return jQuery;
|
|
16638
16667
|
|
16639
16668
|
static jQueryInterface(config) {
|
16640
16669
|
return this.each(function () {
|
16641
|
-
|
16670
|
+
let data = Data.get(this, DATA_KEY$2);
|
16642
16671
|
|
16643
|
-
|
16644
|
-
return;
|
16645
|
-
}
|
16672
|
+
const _config = typeof config === 'object' && config;
|
16646
16673
|
|
16647
|
-
if (
|
16648
|
-
|
16674
|
+
if (!data) {
|
16675
|
+
data = new ScrollSpy(this, _config);
|
16649
16676
|
}
|
16650
16677
|
|
16651
|
-
|
16678
|
+
if (typeof config === 'string') {
|
16679
|
+
if (typeof data[config] === 'undefined') {
|
16680
|
+
throw new TypeError(`No method named "${config}"`);
|
16681
|
+
}
|
16682
|
+
|
16683
|
+
data[config]();
|
16684
|
+
}
|
16652
16685
|
});
|
16653
16686
|
}
|
16654
16687
|
|
@@ -16661,7 +16694,7 @@ return jQuery;
|
|
16661
16694
|
|
16662
16695
|
|
16663
16696
|
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
16664
|
-
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
|
16697
|
+
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)));
|
16665
16698
|
});
|
16666
16699
|
/**
|
16667
16700
|
* ------------------------------------------------------------------------
|
@@ -16670,11 +16703,11 @@ return jQuery;
|
|
16670
16703
|
* add .ScrollSpy to jQuery only if jQuery is present
|
16671
16704
|
*/
|
16672
16705
|
|
16673
|
-
defineJQueryPlugin(ScrollSpy);
|
16706
|
+
defineJQueryPlugin(NAME$2, ScrollSpy);
|
16674
16707
|
|
16675
16708
|
/**
|
16676
16709
|
* --------------------------------------------------------------------------
|
16677
|
-
* Bootstrap (v5.0.
|
16710
|
+
* Bootstrap (v5.0.0-beta3): tab.js
|
16678
16711
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16679
16712
|
* --------------------------------------------------------------------------
|
16680
16713
|
*/
|
@@ -16712,13 +16745,13 @@ return jQuery;
|
|
16712
16745
|
|
16713
16746
|
class Tab extends BaseComponent {
|
16714
16747
|
// Getters
|
16715
|
-
static get
|
16716
|
-
return
|
16748
|
+
static get DATA_KEY() {
|
16749
|
+
return DATA_KEY$1;
|
16717
16750
|
} // Public
|
16718
16751
|
|
16719
16752
|
|
16720
16753
|
show() {
|
16721
|
-
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
|
16754
|
+
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE) || isDisabled(this._element)) {
|
16722
16755
|
return;
|
16723
16756
|
}
|
16724
16757
|
|
@@ -16771,9 +16804,10 @@ return jQuery;
|
|
16771
16804
|
const complete = () => this._transitionComplete(element, active, callback);
|
16772
16805
|
|
16773
16806
|
if (active && isTransitioning) {
|
16807
|
+
const transitionDuration = getTransitionDurationFromElement(active);
|
16774
16808
|
active.classList.remove(CLASS_NAME_SHOW$1);
|
16775
|
-
|
16776
|
-
|
16809
|
+
EventHandler.one(active, 'transitionend', complete);
|
16810
|
+
emulateTransitionEnd(active, transitionDuration);
|
16777
16811
|
} else {
|
16778
16812
|
complete();
|
16779
16813
|
}
|
@@ -16805,17 +16839,11 @@ return jQuery;
|
|
16805
16839
|
element.classList.add(CLASS_NAME_SHOW$1);
|
16806
16840
|
}
|
16807
16841
|
|
16808
|
-
|
16809
|
-
|
16810
|
-
if (parent && parent.nodeName === 'LI') {
|
16811
|
-
parent = parent.parentNode;
|
16812
|
-
}
|
16813
|
-
|
16814
|
-
if (parent && parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
|
16842
|
+
if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
|
16815
16843
|
const dropdownElement = element.closest(SELECTOR_DROPDOWN);
|
16816
16844
|
|
16817
16845
|
if (dropdownElement) {
|
16818
|
-
SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE
|
16846
|
+
SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE));
|
16819
16847
|
}
|
16820
16848
|
|
16821
16849
|
element.setAttribute('aria-expanded', true);
|
@@ -16850,14 +16878,7 @@ return jQuery;
|
|
16850
16878
|
|
16851
16879
|
|
16852
16880
|
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
16853
|
-
|
16854
|
-
event.preventDefault();
|
16855
|
-
}
|
16856
|
-
|
16857
|
-
if (isDisabled(this)) {
|
16858
|
-
return;
|
16859
|
-
}
|
16860
|
-
|
16881
|
+
event.preventDefault();
|
16861
16882
|
const data = Data.get(this, DATA_KEY$1) || new Tab(this);
|
16862
16883
|
data.show();
|
16863
16884
|
});
|
@@ -16868,11 +16889,11 @@ return jQuery;
|
|
16868
16889
|
* add .Tab to jQuery only if jQuery is present
|
16869
16890
|
*/
|
16870
16891
|
|
16871
|
-
defineJQueryPlugin(Tab);
|
16892
|
+
defineJQueryPlugin(NAME$1, Tab);
|
16872
16893
|
|
16873
16894
|
/**
|
16874
16895
|
* --------------------------------------------------------------------------
|
16875
|
-
* Bootstrap (v5.0.
|
16896
|
+
* Bootstrap (v5.0.0-beta3): toast.js
|
16876
16897
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16877
16898
|
* --------------------------------------------------------------------------
|
16878
16899
|
*/
|
@@ -16886,10 +16907,6 @@ return jQuery;
|
|
16886
16907
|
const DATA_KEY = 'bs.toast';
|
16887
16908
|
const EVENT_KEY = `.${DATA_KEY}`;
|
16888
16909
|
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
|
16889
|
-
const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
|
16890
|
-
const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
|
16891
|
-
const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
|
16892
|
-
const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
|
16893
16910
|
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
16894
16911
|
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
|
16895
16912
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
@@ -16920,8 +16937,6 @@ return jQuery;
|
|
16920
16937
|
super(element);
|
16921
16938
|
this._config = this._getConfig(config);
|
16922
16939
|
this._timeout = null;
|
16923
|
-
this._hasMouseInteraction = false;
|
16924
|
-
this._hasKeyboardInteraction = false;
|
16925
16940
|
|
16926
16941
|
this._setListeners();
|
16927
16942
|
} // Getters
|
@@ -16935,8 +16950,8 @@ return jQuery;
|
|
16935
16950
|
return Default;
|
16936
16951
|
}
|
16937
16952
|
|
16938
|
-
static get
|
16939
|
-
return
|
16953
|
+
static get DATA_KEY() {
|
16954
|
+
return DATA_KEY;
|
16940
16955
|
} // Public
|
16941
16956
|
|
16942
16957
|
|
@@ -16960,7 +16975,11 @@ return jQuery;
|
|
16960
16975
|
|
16961
16976
|
EventHandler.trigger(this._element, EVENT_SHOWN);
|
16962
16977
|
|
16963
|
-
this.
|
16978
|
+
if (this._config.autohide) {
|
16979
|
+
this._timeout = setTimeout(() => {
|
16980
|
+
this.hide();
|
16981
|
+
}, this._config.delay);
|
16982
|
+
}
|
16964
16983
|
};
|
16965
16984
|
|
16966
16985
|
this._element.classList.remove(CLASS_NAME_HIDE);
|
@@ -16969,7 +16988,13 @@ return jQuery;
|
|
16969
16988
|
|
16970
16989
|
this._element.classList.add(CLASS_NAME_SHOWING);
|
16971
16990
|
|
16972
|
-
|
16991
|
+
if (this._config.animation) {
|
16992
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
16993
|
+
EventHandler.one(this._element, 'transitionend', complete);
|
16994
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
16995
|
+
} else {
|
16996
|
+
complete();
|
16997
|
+
}
|
16973
16998
|
}
|
16974
16999
|
|
16975
17000
|
hide() {
|
@@ -16991,7 +17016,13 @@ return jQuery;
|
|
16991
17016
|
|
16992
17017
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
16993
17018
|
|
16994
|
-
|
17019
|
+
if (this._config.animation) {
|
17020
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
17021
|
+
EventHandler.one(this._element, 'transitionend', complete);
|
17022
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
17023
|
+
} else {
|
17024
|
+
complete();
|
17025
|
+
}
|
16995
17026
|
}
|
16996
17027
|
|
16997
17028
|
dispose() {
|
@@ -17001,7 +17032,9 @@ return jQuery;
|
|
17001
17032
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
17002
17033
|
}
|
17003
17034
|
|
17035
|
+
EventHandler.off(this._element, EVENT_CLICK_DISMISS);
|
17004
17036
|
super.dispose();
|
17037
|
+
this._config = null;
|
17005
17038
|
} // Private
|
17006
17039
|
|
17007
17040
|
|
@@ -17014,54 +17047,8 @@ return jQuery;
|
|
17014
17047
|
return config;
|
17015
17048
|
}
|
17016
17049
|
|
17017
|
-
_maybeScheduleHide() {
|
17018
|
-
if (!this._config.autohide) {
|
17019
|
-
return;
|
17020
|
-
}
|
17021
|
-
|
17022
|
-
if (this._hasMouseInteraction || this._hasKeyboardInteraction) {
|
17023
|
-
return;
|
17024
|
-
}
|
17025
|
-
|
17026
|
-
this._timeout = setTimeout(() => {
|
17027
|
-
this.hide();
|
17028
|
-
}, this._config.delay);
|
17029
|
-
}
|
17030
|
-
|
17031
|
-
_onInteraction(event, isInteracting) {
|
17032
|
-
switch (event.type) {
|
17033
|
-
case 'mouseover':
|
17034
|
-
case 'mouseout':
|
17035
|
-
this._hasMouseInteraction = isInteracting;
|
17036
|
-
break;
|
17037
|
-
|
17038
|
-
case 'focusin':
|
17039
|
-
case 'focusout':
|
17040
|
-
this._hasKeyboardInteraction = isInteracting;
|
17041
|
-
break;
|
17042
|
-
}
|
17043
|
-
|
17044
|
-
if (isInteracting) {
|
17045
|
-
this._clearTimeout();
|
17046
|
-
|
17047
|
-
return;
|
17048
|
-
}
|
17049
|
-
|
17050
|
-
const nextElement = event.relatedTarget;
|
17051
|
-
|
17052
|
-
if (this._element === nextElement || this._element.contains(nextElement)) {
|
17053
|
-
return;
|
17054
|
-
}
|
17055
|
-
|
17056
|
-
this._maybeScheduleHide();
|
17057
|
-
}
|
17058
|
-
|
17059
17050
|
_setListeners() {
|
17060
17051
|
EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
|
17061
|
-
EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));
|
17062
|
-
EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));
|
17063
|
-
EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));
|
17064
|
-
EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));
|
17065
17052
|
}
|
17066
17053
|
|
17067
17054
|
_clearTimeout() {
|
@@ -17099,11 +17086,11 @@ return jQuery;
|
|
17099
17086
|
*/
|
17100
17087
|
|
17101
17088
|
|
17102
|
-
defineJQueryPlugin(Toast);
|
17089
|
+
defineJQueryPlugin(NAME, Toast);
|
17103
17090
|
|
17104
17091
|
/**
|
17105
17092
|
* --------------------------------------------------------------------------
|
17106
|
-
* Bootstrap (v5.0.
|
17093
|
+
* Bootstrap (v5.0.0-beta3): index.umd.js
|
17107
17094
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
17108
17095
|
* --------------------------------------------------------------------------
|
17109
17096
|
*/
|
@@ -17593,22 +17580,22 @@ mumuki.load(function () {
|
|
17593
17580
|
})
|
17594
17581
|
}
|
17595
17582
|
|
17596
|
-
function getBrowserMain($browser) {
|
17597
|
-
return $(
|
17598
|
-
|
17599
|
-
|
17600
|
-
|
17601
|
-
|
17583
|
+
function getBrowserMain($browser, options) {
|
17584
|
+
return $(`
|
17585
|
+
<main>
|
17586
|
+
<iframe srcdoc="${escapeHTML($browser.data('srcdoc'))}" frameborder="0" ${options.allowScript ? '' : 'sandbox'}></iframe>
|
17587
|
+
</main>
|
17588
|
+
`);
|
17602
17589
|
}
|
17603
17590
|
|
17604
|
-
$.fn.renderWebBrowser = function () {
|
17591
|
+
$.fn.renderWebBrowser = function (options = {}) {
|
17605
17592
|
var self = this;
|
17606
17593
|
self.empty();
|
17607
17594
|
self.each(function (i) {
|
17608
17595
|
var $browser = $(self[i]);
|
17609
17596
|
|
17610
17597
|
var $header = getBrowserHeader($browser);
|
17611
|
-
var $main = getBrowserMain($browser);
|
17598
|
+
var $main = getBrowserMain($browser, options);
|
17612
17599
|
|
17613
17600
|
$browser.empty();
|
17614
17601
|
|
@@ -17840,10 +17827,10 @@ mumuki.load(function () {
|
|
17840
17827
|
|
17841
17828
|
mumuki.load(function () {
|
17842
17829
|
|
17843
|
-
$.fn.renderMuComponents = function () {
|
17830
|
+
$.fn.renderMuComponents = function (options = {}) {
|
17844
17831
|
this.find('.mu-erd').renderERD();
|
17845
17832
|
this.find('pre').renderCopyPaste();
|
17846
|
-
this.find('.mu-browser').renderWebBrowser();
|
17833
|
+
this.find('.mu-browser').renderWebBrowser(options.webBrowser);
|
17847
17834
|
this.find('.mu-sql-table').renderSqlTable();
|
17848
17835
|
this.find('.mu-file-browser').renderFileBrowser();
|
17849
17836
|
this.find('.mu-sql-table-rendered').renderPrerenderedSqlTable();
|