mekari_ui_toolkit 1.0.8 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/bootstrap/mekari-ui-alert.js +17 -23
- data/lib/assets/javascripts/bootstrap/mekari-ui-alert.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-alert.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-button.js +83 -41
- data/lib/assets/javascripts/bootstrap/mekari-ui-button.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-button.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.js +39 -47
- data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.js +104 -112
- data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-modal.js +145 -109
- data/lib/assets/javascripts/bootstrap/mekari-ui-modal.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-modal.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-popover.js +11 -15
- data/lib/assets/javascripts/bootstrap/mekari-ui-popover.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-popover.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.js +36 -48
- data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-tab.js +42 -48
- data/lib/assets/javascripts/bootstrap/mekari-ui-tab.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-tab.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.js +98 -100
- data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.min.js +2 -2
- data/lib/assets/javascripts/bootstrap/mekari-ui-util.js +25 -4
- data/lib/assets/javascripts/bootstrap/mekari-ui-util.js.map +1 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-util.min.js +1 -1
- data/lib/assets/javascripts/components/mekari-ui-index.js +1 -2
- data/lib/assets/javascripts/components/mekari-ui-index.js.map +1 -1
- data/lib/assets/javascripts/components/mekari-ui-index.min.js +1 -1
- data/lib/assets/javascripts/components/mekari-ui-index.min.js.map +1 -1
- data/lib/assets/javascripts/mekari-ui.bundle.js +750 -1544
- data/lib/assets/javascripts/mekari-ui.bundle.js.map +1 -1
- data/lib/assets/javascripts/mekari-ui.bundle.min.js +2 -2
- data/lib/assets/javascripts/mekari-ui.bundle.min.js.map +1 -1
- data/lib/assets/javascripts/mekari-ui.js +750 -1544
- data/lib/assets/javascripts/mekari-ui.js.map +1 -1
- data/lib/assets/javascripts/mekari-ui.min.js +2 -2
- data/lib/assets/javascripts/mekari-ui.min.js.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-alert-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-alert-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-alert.css +7 -5
- data/lib/assets/stylesheets/css/components/mekari-ui-alert.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-avatar-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-avatar-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-avatar.css +638 -42
- data/lib/assets/stylesheets/css/components/mekari-ui-avatar.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-badge-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-badge-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-badge.css +4 -6
- data/lib/assets/stylesheets/css/components/mekari-ui-badge.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-button-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-button-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-button.css +143 -44
- data/lib/assets/stylesheets/css/components/mekari-ui-button.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-dropdown-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-dropdown-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-dropdown.css +38 -2
- data/lib/assets/stylesheets/css/components/mekari-ui-dropdown.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-form-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-form-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-form.css +9 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-form.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-icons-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-icons-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-icons.css +28 -6
- data/lib/assets/stylesheets/css/components/mekari-ui-icons.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-modal-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-modal.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-navbar.css +2 -2
- data/lib/assets/stylesheets/css/components/mekari-ui-navbar.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css +2 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css.map +1 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-shimmer.css +28 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-shimmer.css.map +1 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-tabs-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-tabs-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-tabs.css +68 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-tabs.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-tooltip-min.css +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-tooltip-min.css.map +1 -1
- data/lib/assets/stylesheets/css/components/mekari-ui-tooltip.css +36 -0
- data/lib/assets/stylesheets/css/components/mekari-ui-tooltip.css.map +1 -1
- data/lib/assets/stylesheets/css/full-bundle/mekari-ui.css +909 -143
- data/lib/assets/stylesheets/css/full-bundle/mekari-ui.css.map +1 -1
- data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css +1 -1
- data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css.map +1 -1
- data/lib/assets/stylesheets/scss/base/_fonts.scss +2 -2
- data/lib/assets/stylesheets/scss/components/button.scss +1 -0
- data/lib/assets/stylesheets/scss/components/config/_alert.scss +7 -5
- data/lib/assets/stylesheets/scss/components/config/_avatar.scss +50 -22
- data/lib/assets/stylesheets/scss/components/config/_badge.scss +5 -7
- data/lib/assets/stylesheets/scss/components/config/_button.scss +80 -47
- data/lib/assets/stylesheets/scss/components/config/_dropdowns.scss +7 -2
- data/lib/assets/stylesheets/scss/components/config/_form.scss +7 -1
- data/lib/assets/stylesheets/scss/components/config/_icons.scss +13 -8
- data/lib/assets/stylesheets/scss/components/config/_shimmer.scss +16 -0
- data/lib/assets/stylesheets/scss/components/config/_tabs.scss +10 -0
- data/lib/assets/stylesheets/scss/components/config/_tooltip.scss +3 -0
- data/lib/assets/stylesheets/scss/components/dropdown.scss +1 -0
- data/lib/assets/stylesheets/scss/components/shimmer.scss +3 -0
- data/lib/assets/stylesheets/scss/components/tooltip.scss +1 -0
- data/lib/assets/stylesheets/scss/main.scss +1 -0
- data/lib/assets/stylesheets/scss/vendor-extensions/_navbar.scss +2 -2
- data/lib/assets/stylesheets/scss/vendors/_button-group.scss +1 -1
- data/lib/assets/stylesheets/scss/vendors/_dropdown.scss +1 -1
- data/lib/assets/stylesheets/scss/vendors/_modal.scss +4 -4
- data/lib/assets/stylesheets/scss/vendors/_nav.scss +2 -2
- data/lib/assets/stylesheets/scss/vendors/_navbar.scss +4 -4
- data/lib/assets/stylesheets/scss/vendors/_tooltip.scss +1 -1
- data/lib/assets/stylesheets/scss/vendors/_transitions.scss +5 -5
- data/lib/assets/stylesheets/scss/vendors/mixins/_buttons.scss +2 -2
- data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.eot +0 -0
- data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.svg +130 -128
- data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.ttf +0 -0
- data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.woff +0 -0
- data/lib/mekari_ui_toolkit/version.rb +1 -1
- metadata +9 -7
- data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.js +0 -632
- data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.js.map +0 -1
- data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js +0 -13
- data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js.map +0 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Mekari UI util.js
|
2
|
+
* Mekari UI util.js (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
|
3
3
|
* Copyright 2011-2020 Mekari
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
*/
|
@@ -11,8 +11,8 @@
|
|
11
11
|
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
12
12
|
/**
|
13
13
|
* --------------------------------------------------------------------------
|
14
|
-
* Bootstrap (v4.
|
15
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
14
|
+
* Bootstrap (v4.5.2): util.js
|
15
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
16
|
* --------------------------------------------------------------------------
|
17
17
|
*/
|
18
18
|
|
@@ -27,6 +27,10 @@
|
|
27
27
|
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
28
28
|
|
29
29
|
function toType(obj) {
|
30
|
+
if (obj === null || typeof obj === 'undefined') {
|
31
|
+
return "" + obj;
|
32
|
+
}
|
33
|
+
|
30
34
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
31
35
|
}
|
32
36
|
|
@@ -39,7 +43,7 @@
|
|
39
43
|
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
40
44
|
}
|
41
45
|
|
42
|
-
return undefined;
|
46
|
+
return undefined;
|
43
47
|
}
|
44
48
|
};
|
45
49
|
}
|
@@ -161,8 +165,25 @@
|
|
161
165
|
}
|
162
166
|
|
163
167
|
return Util.findShadowRoot(element.parentNode);
|
168
|
+
},
|
169
|
+
jQueryDetection: function jQueryDetection() {
|
170
|
+
if (typeof $ === 'undefined') {
|
171
|
+
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
|
172
|
+
}
|
173
|
+
|
174
|
+
var version = $.fn.jquery.split(' ')[0].split('.');
|
175
|
+
var minMajor = 1;
|
176
|
+
var ltMajor = 2;
|
177
|
+
var minMinor = 9;
|
178
|
+
var minPatch = 1;
|
179
|
+
var maxMajor = 4;
|
180
|
+
|
181
|
+
if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
|
182
|
+
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
|
183
|
+
}
|
164
184
|
}
|
165
185
|
};
|
186
|
+
Util.jQueryDetection();
|
166
187
|
setTransitionEndSupport();
|
167
188
|
return Util;
|
168
189
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../node_modules/bootstrap/js/src/util.js"],"names":[],"mappings":"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","file":"mekari-ui-util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n"]}
|
1
|
+
{"version":3,"sources":["../../node_modules/bootstrap/js/src/util.js"],"names":[],"mappings":"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","file":"mekari-ui-util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Mekari UI util.js
|
2
|
+
* Mekari UI util.js (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
|
3
3
|
* Copyright 2011-2020 Mekari
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
*/
|
@@ -2,7 +2,6 @@ import $ from 'jquery'; // Bootstrap
|
|
2
2
|
|
3
3
|
import Alert from '../../node_modules/bootstrap/js/src/alert';
|
4
4
|
import Button from '../../node_modules/bootstrap/js/src/button';
|
5
|
-
import Carousel from '../../node_modules/bootstrap/js/src/carousel';
|
6
5
|
import Collapse from '../../node_modules/bootstrap/js/src/collapse';
|
7
6
|
import Dropdown from '../../node_modules/bootstrap/js/src/dropdown';
|
8
7
|
import Modal from '../../node_modules/bootstrap/js/src/modal';
|
@@ -15,6 +14,6 @@ import Util from '../../node_modules/bootstrap/js/src/util'; // Mekari UI
|
|
15
14
|
import MekariDropdown from './dropdown';
|
16
15
|
import MekariForm from './form';
|
17
16
|
import MekariTooltip from './tooltip';
|
18
|
-
export { Util, Alert, Button,
|
17
|
+
export { Util, Alert, Button, Collapse, Dropdown, Modal, Popover, Scrollspy, Tab, Tooltip, MekariDropdown, MekariForm, MekariTooltip };
|
19
18
|
|
20
19
|
//# sourceMappingURL=mekari-ui-index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../js/src/index.js"],"names":[],"mappings":"AAAA,OAAO,CAAP,MAAc,QAAd,C,CAEA;;AACA,OAAO,KAAP,MAAkB,2CAAlB;AACA,OAAO,MAAP,MAAmB,4CAAnB;AACA,OAAO,QAAP,MAAqB,8CAArB;AACA,OAAO,QAAP,MAAqB,8CAArB;AACA,OAAO,
|
1
|
+
{"version":3,"sources":["../../../js/src/index.js"],"names":[],"mappings":"AAAA,OAAO,CAAP,MAAc,QAAd,C,CAEA;;AACA,OAAO,KAAP,MAAkB,2CAAlB;AACA,OAAO,MAAP,MAAmB,4CAAnB;AACA,OAAO,QAAP,MAAqB,8CAArB;AACA,OAAO,QAAP,MAAqB,8CAArB;AACA,OAAO,KAAP,MAAkB,2CAAlB;AACA,OAAO,OAAP,MAAoB,6CAApB;AACA,OAAO,SAAP,MAAsB,+CAAtB;AACA,OAAO,GAAP,MAAgB,yCAAhB;AACA,OAAO,OAAP,MAAoB,6CAApB;AACA,OAAO,IAAP,MAAiB,0CAAjB,C,CAEA;;AACA,OAAO,cAAP,MAA2B,YAA3B;AACA,OAAO,UAAP,MAAuB,QAAvB;AACA,OAAO,aAAP,MAA0B,WAA1B;AAEA,SACE,IADF,EAEE,KAFF,EAGE,MAHF,EAIE,QAJF,EAKE,QALF,EAME,KANF,EAOE,OAPF,EAQE,SARF,EASE,GATF,EAUE,OAVF,EAWE,cAXF,EAYE,UAZF,EAaE,aAbF","file":"mekari-ui-index.js","sourcesContent":["import $ from 'jquery'\n\n// Bootstrap\nimport Alert from '../../node_modules/bootstrap/js/src/alert'\nimport Button from '../../node_modules/bootstrap/js/src/button'\nimport Collapse from '../../node_modules/bootstrap/js/src/collapse'\nimport Dropdown from '../../node_modules/bootstrap/js/src/dropdown'\nimport Modal from '../../node_modules/bootstrap/js/src/modal'\nimport Popover from '../../node_modules/bootstrap/js/src/popover'\nimport Scrollspy from '../../node_modules/bootstrap/js/src/scrollspy'\nimport Tab from '../../node_modules/bootstrap/js/src/tab'\nimport Tooltip from '../../node_modules/bootstrap/js/src/tooltip'\nimport Util from '../../node_modules/bootstrap/js/src/util'\n\n// Mekari UI\nimport MekariDropdown from './dropdown'\nimport MekariForm from './form'\nimport MekariTooltip from './tooltip'\n\nexport {\n Util,\n Alert,\n Button,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip,\n MekariDropdown,\n MekariForm,\n MekariTooltip\n}"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import $ from"jquery";import Alert from"../../node_modules/bootstrap/js/src/alert";import Button from"../../node_modules/bootstrap/js/src/button";import
|
1
|
+
import $ from"jquery";import Alert from"../../node_modules/bootstrap/js/src/alert";import Button from"../../node_modules/bootstrap/js/src/button";import Collapse from"../../node_modules/bootstrap/js/src/collapse";import Dropdown from"../../node_modules/bootstrap/js/src/dropdown";import Modal from"../../node_modules/bootstrap/js/src/modal";import Popover from"../../node_modules/bootstrap/js/src/popover";import Scrollspy from"../../node_modules/bootstrap/js/src/scrollspy";import Tab from"../../node_modules/bootstrap/js/src/tab";import Tooltip from"../../node_modules/bootstrap/js/src/tooltip";import Util from"../../node_modules/bootstrap/js/src/util";import MekariDropdown from"./dropdown";import MekariForm from"./form";import MekariTooltip from"./tooltip";export{Util,Alert,Button,Collapse,Dropdown,Modal,Popover,Scrollspy,Tab,Tooltip,MekariDropdown,MekariForm,MekariTooltip};
|
2
2
|
//# sourceMappingURL=mekari-ui-index.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../js/src/index.js"],"names":["$","Alert","Button","
|
1
|
+
{"version":3,"sources":["../../../js/src/index.js"],"names":["$","Alert","Button","Collapse","Dropdown","Modal","Popover","Scrollspy","Tab","Tooltip","Util","MekariDropdown","MekariForm","MekariTooltip"],"mappings":"OAAOA,MAAO,gBAGPC,UAAW,mDACXC,WAAY,oDACZC,aAAc,sDACdC,aAAc,sDACdC,UAAW,mDACXC,YAAa,qDACbC,cAAe,uDACfC,QAAS,iDACTC,YAAa,qDACbC,SAAU,kDAGVC,mBAAoB,oBACpBC,eAAgB,gBAChBC,kBAAmB,mBAGxBH,KACAT,MACAC,OACAC,SACAC,SACAC,MACAC,QACAC,UACAC,IACAC,QACAE,eACAC,WACAC","sourcesContent":["import $ from 'jquery'\n\n// Bootstrap\nimport Alert from '../../node_modules/bootstrap/js/src/alert'\nimport Button from '../../node_modules/bootstrap/js/src/button'\nimport Collapse from '../../node_modules/bootstrap/js/src/collapse'\nimport Dropdown from '../../node_modules/bootstrap/js/src/dropdown'\nimport Modal from '../../node_modules/bootstrap/js/src/modal'\nimport Popover from '../../node_modules/bootstrap/js/src/popover'\nimport Scrollspy from '../../node_modules/bootstrap/js/src/scrollspy'\nimport Tab from '../../node_modules/bootstrap/js/src/tab'\nimport Tooltip from '../../node_modules/bootstrap/js/src/tooltip'\nimport Util from '../../node_modules/bootstrap/js/src/util'\n\n// Mekari UI\nimport MekariDropdown from './dropdown'\nimport MekariForm from './form'\nimport MekariTooltip from './tooltip'\n\nexport {\n Util,\n Alert,\n Button,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip,\n MekariDropdown,\n MekariForm,\n MekariTooltip\n}"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Mekari UI
|
2
|
+
* Mekari UI (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
|
3
3
|
* Copyright 2011-2020 Mekari
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
*/
|
@@ -13,8 +13,8 @@
|
|
13
13
|
|
14
14
|
/**
|
15
15
|
* --------------------------------------------------------------------------
|
16
|
-
* Bootstrap (v4.
|
17
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
16
|
+
* Bootstrap (v4.5.2): util.js
|
17
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
18
18
|
* --------------------------------------------------------------------------
|
19
19
|
*/
|
20
20
|
|
@@ -30,6 +30,10 @@
|
|
30
30
|
|
31
31
|
// Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
32
32
|
function toType(obj) {
|
33
|
+
if (obj === null || typeof obj === 'undefined') {
|
34
|
+
return `${obj}`
|
35
|
+
}
|
36
|
+
|
33
37
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase()
|
34
38
|
}
|
35
39
|
|
@@ -41,7 +45,7 @@
|
|
41
45
|
if ($(event.target).is(this)) {
|
42
46
|
return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params
|
43
47
|
}
|
44
|
-
return undefined
|
48
|
+
return undefined
|
45
49
|
}
|
46
50
|
}
|
47
51
|
}
|
@@ -74,7 +78,6 @@
|
|
74
78
|
*/
|
75
79
|
|
76
80
|
const Util = {
|
77
|
-
|
78
81
|
TRANSITION_END: 'bsTransitionEnd',
|
79
82
|
|
80
83
|
getUID(prefix) {
|
@@ -180,15 +183,33 @@
|
|
180
183
|
}
|
181
184
|
|
182
185
|
return Util.findShadowRoot(element.parentNode)
|
186
|
+
},
|
187
|
+
|
188
|
+
jQueryDetection() {
|
189
|
+
if (typeof $ === 'undefined') {
|
190
|
+
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
|
191
|
+
}
|
192
|
+
|
193
|
+
const version = $.fn.jquery.split(' ')[0].split('.');
|
194
|
+
const minMajor = 1;
|
195
|
+
const ltMajor = 2;
|
196
|
+
const minMinor = 9;
|
197
|
+
const minPatch = 1;
|
198
|
+
const maxMajor = 4;
|
199
|
+
|
200
|
+
if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
|
201
|
+
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
|
202
|
+
}
|
183
203
|
}
|
184
204
|
};
|
185
205
|
|
206
|
+
Util.jQueryDetection();
|
186
207
|
setTransitionEndSupport();
|
187
208
|
|
188
209
|
/**
|
189
210
|
* --------------------------------------------------------------------------
|
190
|
-
* Bootstrap (v4.
|
191
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
211
|
+
* Bootstrap (v4.5.2): alert.js
|
212
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
192
213
|
* --------------------------------------------------------------------------
|
193
214
|
*/
|
194
215
|
|
@@ -199,27 +220,21 @@
|
|
199
220
|
*/
|
200
221
|
|
201
222
|
const NAME = 'alert';
|
202
|
-
const VERSION = '4.
|
223
|
+
const VERSION = '4.5.2';
|
203
224
|
const DATA_KEY = 'bs.alert';
|
204
225
|
const EVENT_KEY = `.${DATA_KEY}`;
|
205
226
|
const DATA_API_KEY = '.data-api';
|
206
227
|
const JQUERY_NO_CONFLICT = $.fn[NAME];
|
207
228
|
|
208
|
-
const
|
209
|
-
DISMISS : '[data-dismiss="alert"]'
|
210
|
-
};
|
229
|
+
const SELECTOR_DISMISS = '[data-dismiss="alert"]';
|
211
230
|
|
212
|
-
const
|
213
|
-
|
214
|
-
|
215
|
-
CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
|
216
|
-
};
|
231
|
+
const EVENT_CLOSE = `close${EVENT_KEY}`;
|
232
|
+
const EVENT_CLOSED = `closed${EVENT_KEY}`;
|
233
|
+
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
|
217
234
|
|
218
|
-
const
|
219
|
-
|
220
|
-
|
221
|
-
SHOW : 'show'
|
222
|
-
};
|
235
|
+
const CLASS_NAME_ALERT = 'alert';
|
236
|
+
const CLASS_NAME_FADE = 'fade';
|
237
|
+
const CLASS_NAME_SHOW = 'show';
|
223
238
|
|
224
239
|
/**
|
225
240
|
* ------------------------------------------------------------------------
|
@@ -271,23 +286,23 @@
|
|
271
286
|
}
|
272
287
|
|
273
288
|
if (!parent) {
|
274
|
-
parent = $(element).closest(`.${
|
289
|
+
parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0];
|
275
290
|
}
|
276
291
|
|
277
292
|
return parent
|
278
293
|
}
|
279
294
|
|
280
295
|
_triggerCloseEvent(element) {
|
281
|
-
const closeEvent = $.Event(
|
296
|
+
const closeEvent = $.Event(EVENT_CLOSE);
|
282
297
|
|
283
298
|
$(element).trigger(closeEvent);
|
284
299
|
return closeEvent
|
285
300
|
}
|
286
301
|
|
287
302
|
_removeElement(element) {
|
288
|
-
$(element).removeClass(
|
303
|
+
$(element).removeClass(CLASS_NAME_SHOW);
|
289
304
|
|
290
|
-
if (!$(element).hasClass(
|
305
|
+
if (!$(element).hasClass(CLASS_NAME_FADE)) {
|
291
306
|
this._destroyElement(element);
|
292
307
|
return
|
293
308
|
}
|
@@ -302,7 +317,7 @@
|
|
302
317
|
_destroyElement(element) {
|
303
318
|
$(element)
|
304
319
|
.detach()
|
305
|
-
.trigger(
|
320
|
+
.trigger(EVENT_CLOSED)
|
306
321
|
.remove();
|
307
322
|
}
|
308
323
|
|
@@ -342,8 +357,8 @@
|
|
342
357
|
*/
|
343
358
|
|
344
359
|
$(document).on(
|
345
|
-
|
346
|
-
|
360
|
+
EVENT_CLICK_DATA_API,
|
361
|
+
SELECTOR_DISMISS,
|
347
362
|
Alert._handleDismiss(new Alert())
|
348
363
|
);
|
349
364
|
|
@@ -362,8 +377,8 @@
|
|
362
377
|
|
363
378
|
/**
|
364
379
|
* --------------------------------------------------------------------------
|
365
|
-
* Bootstrap (v4.
|
366
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
380
|
+
* Bootstrap (v4.5.2): button.js
|
381
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
367
382
|
* --------------------------------------------------------------------------
|
368
383
|
*/
|
369
384
|
|
@@ -374,31 +389,28 @@
|
|
374
389
|
*/
|
375
390
|
|
376
391
|
const NAME$1 = 'button';
|
377
|
-
const VERSION$1 = '4.
|
392
|
+
const VERSION$1 = '4.5.2';
|
378
393
|
const DATA_KEY$1 = 'bs.button';
|
379
394
|
const EVENT_KEY$1 = `.${DATA_KEY$1}`;
|
380
395
|
const DATA_API_KEY$1 = '.data-api';
|
381
396
|
const JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
|
382
397
|
|
383
|
-
const
|
384
|
-
|
385
|
-
|
386
|
-
FOCUS : 'focus'
|
387
|
-
};
|
398
|
+
const CLASS_NAME_ACTIVE = 'active';
|
399
|
+
const CLASS_NAME_BUTTON = 'btn';
|
400
|
+
const CLASS_NAME_FOCUS = 'focus';
|
388
401
|
|
389
|
-
const
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
402
|
+
const SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
|
403
|
+
const SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
|
404
|
+
const SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
|
405
|
+
const SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
|
406
|
+
const SELECTOR_INPUT = 'input:not([type="hidden"])';
|
407
|
+
const SELECTOR_ACTIVE = '.active';
|
408
|
+
const SELECTOR_BUTTON = '.btn';
|
396
409
|
|
397
|
-
const
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
};
|
410
|
+
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$1}${DATA_API_KEY$1}`;
|
411
|
+
const EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY$1}${DATA_API_KEY$1} ` +
|
412
|
+
`blur${EVENT_KEY$1}${DATA_API_KEY$1}`;
|
413
|
+
const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}${DATA_API_KEY$1}`;
|
402
414
|
|
403
415
|
/**
|
404
416
|
* ------------------------------------------------------------------------
|
@@ -423,34 +435,31 @@
|
|
423
435
|
let triggerChangeEvent = true;
|
424
436
|
let addAriaPressed = true;
|
425
437
|
const rootElement = $(this._element).closest(
|
426
|
-
|
438
|
+
SELECTOR_DATA_TOGGLES
|
427
439
|
)[0];
|
428
440
|
|
429
441
|
if (rootElement) {
|
430
|
-
const input = this._element.querySelector(
|
442
|
+
const input = this._element.querySelector(SELECTOR_INPUT);
|
431
443
|
|
432
444
|
if (input) {
|
433
445
|
if (input.type === 'radio') {
|
434
446
|
if (input.checked &&
|
435
|
-
this._element.classList.contains(
|
447
|
+
this._element.classList.contains(CLASS_NAME_ACTIVE)) {
|
436
448
|
triggerChangeEvent = false;
|
437
449
|
} else {
|
438
|
-
const activeElement = rootElement.querySelector(
|
450
|
+
const activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
|
439
451
|
|
440
452
|
if (activeElement) {
|
441
|
-
$(activeElement).removeClass(
|
453
|
+
$(activeElement).removeClass(CLASS_NAME_ACTIVE);
|
442
454
|
}
|
443
455
|
}
|
444
456
|
}
|
445
457
|
|
446
458
|
if (triggerChangeEvent) {
|
447
|
-
if
|
448
|
-
|
449
|
-
input.classList.contains(
|
450
|
-
rootElement.classList.contains('disabled')) {
|
451
|
-
return
|
459
|
+
// if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
|
460
|
+
if (input.type === 'checkbox' || input.type === 'radio') {
|
461
|
+
input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
|
452
462
|
}
|
453
|
-
input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
|
454
463
|
$(input).trigger('change');
|
455
464
|
}
|
456
465
|
|
@@ -459,13 +468,15 @@
|
|
459
468
|
}
|
460
469
|
}
|
461
470
|
|
462
|
-
if (
|
463
|
-
|
464
|
-
|
465
|
-
|
471
|
+
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
|
472
|
+
if (addAriaPressed) {
|
473
|
+
this._element.setAttribute('aria-pressed',
|
474
|
+
!this._element.classList.contains(CLASS_NAME_ACTIVE));
|
475
|
+
}
|
466
476
|
|
467
|
-
|
468
|
-
|
477
|
+
if (triggerChangeEvent) {
|
478
|
+
$(this._element).toggleClass(CLASS_NAME_ACTIVE);
|
479
|
+
}
|
469
480
|
}
|
470
481
|
}
|
471
482
|
|
@@ -499,621 +510,58 @@
|
|
499
510
|
*/
|
500
511
|
|
501
512
|
$(document)
|
502
|
-
.on(
|
503
|
-
event.preventDefault();
|
504
|
-
|
513
|
+
.on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
|
505
514
|
let button = event.target;
|
515
|
+
const initialButton = button;
|
506
516
|
|
507
|
-
if (!$(button).hasClass(
|
508
|
-
button = $(button).closest(
|
509
|
-
}
|
510
|
-
|
511
|
-
Button._jQueryInterface.call($(button), 'toggle');
|
512
|
-
})
|
513
|
-
.on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, (event) => {
|
514
|
-
const button = $(event.target).closest(Selector$1.BUTTON)[0];
|
515
|
-
$(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
|
516
|
-
});
|
517
|
-
|
518
|
-
/**
|
519
|
-
* ------------------------------------------------------------------------
|
520
|
-
* jQuery
|
521
|
-
* ------------------------------------------------------------------------
|
522
|
-
*/
|
523
|
-
|
524
|
-
$.fn[NAME$1] = Button._jQueryInterface;
|
525
|
-
$.fn[NAME$1].Constructor = Button;
|
526
|
-
$.fn[NAME$1].noConflict = () => {
|
527
|
-
$.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
|
528
|
-
return Button._jQueryInterface
|
529
|
-
};
|
530
|
-
|
531
|
-
/**
|
532
|
-
* --------------------------------------------------------------------------
|
533
|
-
* Bootstrap (v4.3.1): carousel.js
|
534
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
535
|
-
* --------------------------------------------------------------------------
|
536
|
-
*/
|
537
|
-
|
538
|
-
/**
|
539
|
-
* ------------------------------------------------------------------------
|
540
|
-
* Constants
|
541
|
-
* ------------------------------------------------------------------------
|
542
|
-
*/
|
543
|
-
|
544
|
-
const NAME$2 = 'carousel';
|
545
|
-
const VERSION$2 = '4.3.1';
|
546
|
-
const DATA_KEY$2 = 'bs.carousel';
|
547
|
-
const EVENT_KEY$2 = `.${DATA_KEY$2}`;
|
548
|
-
const DATA_API_KEY$2 = '.data-api';
|
549
|
-
const JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
|
550
|
-
const ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
551
|
-
const ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
552
|
-
const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
|
553
|
-
const SWIPE_THRESHOLD = 40;
|
554
|
-
|
555
|
-
const Default = {
|
556
|
-
interval : 5000,
|
557
|
-
keyboard : true,
|
558
|
-
slide : false,
|
559
|
-
pause : 'hover',
|
560
|
-
wrap : true,
|
561
|
-
touch : true
|
562
|
-
};
|
563
|
-
|
564
|
-
const DefaultType = {
|
565
|
-
interval : '(number|boolean)',
|
566
|
-
keyboard : 'boolean',
|
567
|
-
slide : '(boolean|string)',
|
568
|
-
pause : '(string|boolean)',
|
569
|
-
wrap : 'boolean',
|
570
|
-
touch : 'boolean'
|
571
|
-
};
|
572
|
-
|
573
|
-
const Direction = {
|
574
|
-
NEXT : 'next',
|
575
|
-
PREV : 'prev',
|
576
|
-
LEFT : 'left',
|
577
|
-
RIGHT : 'right'
|
578
|
-
};
|
579
|
-
|
580
|
-
const Event$2 = {
|
581
|
-
SLIDE : `slide${EVENT_KEY$2}`,
|
582
|
-
SLID : `slid${EVENT_KEY$2}`,
|
583
|
-
KEYDOWN : `keydown${EVENT_KEY$2}`,
|
584
|
-
MOUSEENTER : `mouseenter${EVENT_KEY$2}`,
|
585
|
-
MOUSELEAVE : `mouseleave${EVENT_KEY$2}`,
|
586
|
-
TOUCHSTART : `touchstart${EVENT_KEY$2}`,
|
587
|
-
TOUCHMOVE : `touchmove${EVENT_KEY$2}`,
|
588
|
-
TOUCHEND : `touchend${EVENT_KEY$2}`,
|
589
|
-
POINTERDOWN : `pointerdown${EVENT_KEY$2}`,
|
590
|
-
POINTERUP : `pointerup${EVENT_KEY$2}`,
|
591
|
-
DRAG_START : `dragstart${EVENT_KEY$2}`,
|
592
|
-
LOAD_DATA_API : `load${EVENT_KEY$2}${DATA_API_KEY$2}`,
|
593
|
-
CLICK_DATA_API : `click${EVENT_KEY$2}${DATA_API_KEY$2}`
|
594
|
-
};
|
595
|
-
|
596
|
-
const ClassName$2 = {
|
597
|
-
CAROUSEL : 'carousel',
|
598
|
-
ACTIVE : 'active',
|
599
|
-
SLIDE : 'slide',
|
600
|
-
RIGHT : 'carousel-item-right',
|
601
|
-
LEFT : 'carousel-item-left',
|
602
|
-
NEXT : 'carousel-item-next',
|
603
|
-
PREV : 'carousel-item-prev',
|
604
|
-
ITEM : 'carousel-item',
|
605
|
-
POINTER_EVENT : 'pointer-event'
|
606
|
-
};
|
607
|
-
|
608
|
-
const Selector$2 = {
|
609
|
-
ACTIVE : '.active',
|
610
|
-
ACTIVE_ITEM : '.active.carousel-item',
|
611
|
-
ITEM : '.carousel-item',
|
612
|
-
ITEM_IMG : '.carousel-item img',
|
613
|
-
NEXT_PREV : '.carousel-item-next, .carousel-item-prev',
|
614
|
-
INDICATORS : '.carousel-indicators',
|
615
|
-
DATA_SLIDE : '[data-slide], [data-slide-to]',
|
616
|
-
DATA_RIDE : '[data-ride="carousel"]'
|
617
|
-
};
|
618
|
-
|
619
|
-
const PointerType = {
|
620
|
-
TOUCH : 'touch',
|
621
|
-
PEN : 'pen'
|
622
|
-
};
|
623
|
-
|
624
|
-
/**
|
625
|
-
* ------------------------------------------------------------------------
|
626
|
-
* Class Definition
|
627
|
-
* ------------------------------------------------------------------------
|
628
|
-
*/
|
629
|
-
class Carousel {
|
630
|
-
constructor(element, config) {
|
631
|
-
this._items = null;
|
632
|
-
this._interval = null;
|
633
|
-
this._activeElement = null;
|
634
|
-
this._isPaused = false;
|
635
|
-
this._isSliding = false;
|
636
|
-
this.touchTimeout = null;
|
637
|
-
this.touchStartX = 0;
|
638
|
-
this.touchDeltaX = 0;
|
639
|
-
|
640
|
-
this._config = this._getConfig(config);
|
641
|
-
this._element = element;
|
642
|
-
this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
|
643
|
-
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
|
644
|
-
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
|
645
|
-
|
646
|
-
this._addEventListeners();
|
647
|
-
}
|
648
|
-
|
649
|
-
// Getters
|
650
|
-
|
651
|
-
static get VERSION() {
|
652
|
-
return VERSION$2
|
653
|
-
}
|
654
|
-
|
655
|
-
static get Default() {
|
656
|
-
return Default
|
657
|
-
}
|
658
|
-
|
659
|
-
// Public
|
660
|
-
|
661
|
-
next() {
|
662
|
-
if (!this._isSliding) {
|
663
|
-
this._slide(Direction.NEXT);
|
664
|
-
}
|
665
|
-
}
|
666
|
-
|
667
|
-
nextWhenVisible() {
|
668
|
-
// Don't call next when the page isn't visible
|
669
|
-
// or the carousel or its parent isn't visible
|
670
|
-
if (!document.hidden &&
|
671
|
-
($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {
|
672
|
-
this.next();
|
673
|
-
}
|
674
|
-
}
|
675
|
-
|
676
|
-
prev() {
|
677
|
-
if (!this._isSliding) {
|
678
|
-
this._slide(Direction.PREV);
|
679
|
-
}
|
680
|
-
}
|
681
|
-
|
682
|
-
pause(event) {
|
683
|
-
if (!event) {
|
684
|
-
this._isPaused = true;
|
685
|
-
}
|
686
|
-
|
687
|
-
if (this._element.querySelector(Selector$2.NEXT_PREV)) {
|
688
|
-
Util.triggerTransitionEnd(this._element);
|
689
|
-
this.cycle(true);
|
690
|
-
}
|
691
|
-
|
692
|
-
clearInterval(this._interval);
|
693
|
-
this._interval = null;
|
694
|
-
}
|
695
|
-
|
696
|
-
cycle(event) {
|
697
|
-
if (!event) {
|
698
|
-
this._isPaused = false;
|
699
|
-
}
|
700
|
-
|
701
|
-
if (this._interval) {
|
702
|
-
clearInterval(this._interval);
|
703
|
-
this._interval = null;
|
704
|
-
}
|
705
|
-
|
706
|
-
if (this._config.interval && !this._isPaused) {
|
707
|
-
this._interval = setInterval(
|
708
|
-
(document.visibilityState ? this.nextWhenVisible : this.next).bind(this),
|
709
|
-
this._config.interval
|
710
|
-
);
|
711
|
-
}
|
712
|
-
}
|
713
|
-
|
714
|
-
to(index) {
|
715
|
-
this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
|
716
|
-
|
717
|
-
const activeIndex = this._getItemIndex(this._activeElement);
|
718
|
-
|
719
|
-
if (index > this._items.length - 1 || index < 0) {
|
720
|
-
return
|
721
|
-
}
|
722
|
-
|
723
|
-
if (this._isSliding) {
|
724
|
-
$(this._element).one(Event$2.SLID, () => this.to(index));
|
725
|
-
return
|
517
|
+
if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
|
518
|
+
button = $(button).closest(SELECTOR_BUTTON)[0];
|
726
519
|
}
|
727
520
|
|
728
|
-
if (
|
729
|
-
|
730
|
-
this.cycle();
|
731
|
-
return
|
732
|
-
}
|
733
|
-
|
734
|
-
const direction = index > activeIndex
|
735
|
-
? Direction.NEXT
|
736
|
-
: Direction.PREV;
|
737
|
-
|
738
|
-
this._slide(direction, this._items[index]);
|
739
|
-
}
|
740
|
-
|
741
|
-
dispose() {
|
742
|
-
$(this._element).off(EVENT_KEY$2);
|
743
|
-
$.removeData(this._element, DATA_KEY$2);
|
744
|
-
|
745
|
-
this._items = null;
|
746
|
-
this._config = null;
|
747
|
-
this._element = null;
|
748
|
-
this._interval = null;
|
749
|
-
this._isPaused = null;
|
750
|
-
this._isSliding = null;
|
751
|
-
this._activeElement = null;
|
752
|
-
this._indicatorsElement = null;
|
753
|
-
}
|
754
|
-
|
755
|
-
// Private
|
756
|
-
|
757
|
-
_getConfig(config) {
|
758
|
-
config = {
|
759
|
-
...Default,
|
760
|
-
...config
|
761
|
-
};
|
762
|
-
Util.typeCheckConfig(NAME$2, config, DefaultType);
|
763
|
-
return config
|
764
|
-
}
|
765
|
-
|
766
|
-
_handleSwipe() {
|
767
|
-
const absDeltax = Math.abs(this.touchDeltaX);
|
768
|
-
|
769
|
-
if (absDeltax <= SWIPE_THRESHOLD) {
|
770
|
-
return
|
771
|
-
}
|
772
|
-
|
773
|
-
const direction = absDeltax / this.touchDeltaX;
|
774
|
-
|
775
|
-
// swipe left
|
776
|
-
if (direction > 0) {
|
777
|
-
this.prev();
|
778
|
-
}
|
779
|
-
|
780
|
-
// swipe right
|
781
|
-
if (direction < 0) {
|
782
|
-
this.next();
|
783
|
-
}
|
784
|
-
}
|
785
|
-
|
786
|
-
_addEventListeners() {
|
787
|
-
if (this._config.keyboard) {
|
788
|
-
$(this._element)
|
789
|
-
.on(Event$2.KEYDOWN, (event) => this._keydown(event));
|
790
|
-
}
|
791
|
-
|
792
|
-
if (this._config.pause === 'hover') {
|
793
|
-
$(this._element)
|
794
|
-
.on(Event$2.MOUSEENTER, (event) => this.pause(event))
|
795
|
-
.on(Event$2.MOUSELEAVE, (event) => this.cycle(event));
|
796
|
-
}
|
797
|
-
|
798
|
-
if (this._config.touch) {
|
799
|
-
this._addTouchEventListeners();
|
800
|
-
}
|
801
|
-
}
|
802
|
-
|
803
|
-
_addTouchEventListeners() {
|
804
|
-
if (!this._touchSupported) {
|
805
|
-
return
|
806
|
-
}
|
807
|
-
|
808
|
-
const start = (event) => {
|
809
|
-
if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
|
810
|
-
this.touchStartX = event.originalEvent.clientX;
|
811
|
-
} else if (!this._pointerEvent) {
|
812
|
-
this.touchStartX = event.originalEvent.touches[0].clientX;
|
813
|
-
}
|
814
|
-
};
|
815
|
-
|
816
|
-
const move = (event) => {
|
817
|
-
// ensure swiping with one touch and not pinching
|
818
|
-
if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
|
819
|
-
this.touchDeltaX = 0;
|
820
|
-
} else {
|
821
|
-
this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX;
|
822
|
-
}
|
823
|
-
};
|
824
|
-
|
825
|
-
const end = (event) => {
|
826
|
-
if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
|
827
|
-
this.touchDeltaX = event.originalEvent.clientX - this.touchStartX;
|
828
|
-
}
|
829
|
-
|
830
|
-
this._handleSwipe();
|
831
|
-
if (this._config.pause === 'hover') {
|
832
|
-
// If it's a touch-enabled device, mouseenter/leave are fired as
|
833
|
-
// part of the mouse compatibility events on first tap - the carousel
|
834
|
-
// would stop cycling until user tapped out of it;
|
835
|
-
// here, we listen for touchend, explicitly pause the carousel
|
836
|
-
// (as if it's the second time we tap on it, mouseenter compat event
|
837
|
-
// is NOT fired) and after a timeout (to allow for mouse compatibility
|
838
|
-
// events to fire) we explicitly restart cycling
|
839
|
-
|
840
|
-
this.pause();
|
841
|
-
if (this.touchTimeout) {
|
842
|
-
clearTimeout(this.touchTimeout);
|
843
|
-
}
|
844
|
-
this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval);
|
845
|
-
}
|
846
|
-
};
|
847
|
-
|
848
|
-
$(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, (e) => e.preventDefault());
|
849
|
-
if (this._pointerEvent) {
|
850
|
-
$(this._element).on(Event$2.POINTERDOWN, (event) => start(event));
|
851
|
-
$(this._element).on(Event$2.POINTERUP, (event) => end(event));
|
852
|
-
|
853
|
-
this._element.classList.add(ClassName$2.POINTER_EVENT);
|
521
|
+
if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
|
522
|
+
event.preventDefault(); // work around Firefox bug #1540995
|
854
523
|
} else {
|
855
|
-
|
856
|
-
$(this._element).on(Event$2.TOUCHMOVE, (event) => move(event));
|
857
|
-
$(this._element).on(Event$2.TOUCHEND, (event) => end(event));
|
858
|
-
}
|
859
|
-
}
|
860
|
-
|
861
|
-
_keydown(event) {
|
862
|
-
if (/input|textarea/i.test(event.target.tagName)) {
|
863
|
-
return
|
864
|
-
}
|
865
|
-
|
866
|
-
switch (event.which) {
|
867
|
-
case ARROW_LEFT_KEYCODE:
|
868
|
-
event.preventDefault();
|
869
|
-
this.prev();
|
870
|
-
break
|
871
|
-
case ARROW_RIGHT_KEYCODE:
|
872
|
-
event.preventDefault();
|
873
|
-
this.next();
|
874
|
-
break
|
875
|
-
default:
|
876
|
-
}
|
877
|
-
}
|
878
|
-
|
879
|
-
_getItemIndex(element) {
|
880
|
-
this._items = element && element.parentNode
|
881
|
-
? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM))
|
882
|
-
: [];
|
883
|
-
return this._items.indexOf(element)
|
884
|
-
}
|
885
|
-
|
886
|
-
_getItemByDirection(direction, activeElement) {
|
887
|
-
const isNextDirection = direction === Direction.NEXT;
|
888
|
-
const isPrevDirection = direction === Direction.PREV;
|
889
|
-
const activeIndex = this._getItemIndex(activeElement);
|
890
|
-
const lastItemIndex = this._items.length - 1;
|
891
|
-
const isGoingToWrap = isPrevDirection && activeIndex === 0 ||
|
892
|
-
isNextDirection && activeIndex === lastItemIndex;
|
893
|
-
|
894
|
-
if (isGoingToWrap && !this._config.wrap) {
|
895
|
-
return activeElement
|
896
|
-
}
|
897
|
-
|
898
|
-
const delta = direction === Direction.PREV ? -1 : 1;
|
899
|
-
const itemIndex = (activeIndex + delta) % this._items.length;
|
900
|
-
|
901
|
-
return itemIndex === -1
|
902
|
-
? this._items[this._items.length - 1] : this._items[itemIndex]
|
903
|
-
}
|
904
|
-
|
905
|
-
_triggerSlideEvent(relatedTarget, eventDirectionName) {
|
906
|
-
const targetIndex = this._getItemIndex(relatedTarget);
|
907
|
-
const fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
|
908
|
-
const slideEvent = $.Event(Event$2.SLIDE, {
|
909
|
-
relatedTarget,
|
910
|
-
direction: eventDirectionName,
|
911
|
-
from: fromIndex,
|
912
|
-
to: targetIndex
|
913
|
-
});
|
914
|
-
|
915
|
-
$(this._element).trigger(slideEvent);
|
916
|
-
|
917
|
-
return slideEvent
|
918
|
-
}
|
919
|
-
|
920
|
-
_setActiveIndicatorElement(element) {
|
921
|
-
if (this._indicatorsElement) {
|
922
|
-
const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
|
923
|
-
$(indicators)
|
924
|
-
.removeClass(ClassName$2.ACTIVE);
|
524
|
+
const inputBtn = button.querySelector(SELECTOR_INPUT);
|
925
525
|
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
if (nextIndicator) {
|
931
|
-
$(nextIndicator).addClass(ClassName$2.ACTIVE);
|
526
|
+
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
|
527
|
+
event.preventDefault(); // work around Firefox bug #1540995
|
528
|
+
return
|
932
529
|
}
|
933
|
-
}
|
934
|
-
}
|
935
|
-
|
936
|
-
_slide(direction, element) {
|
937
|
-
const activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
|
938
|
-
const activeElementIndex = this._getItemIndex(activeElement);
|
939
|
-
const nextElement = element || activeElement &&
|
940
|
-
this._getItemByDirection(direction, activeElement);
|
941
|
-
const nextElementIndex = this._getItemIndex(nextElement);
|
942
|
-
const isCycling = Boolean(this._interval);
|
943
|
-
|
944
|
-
let directionalClassName;
|
945
|
-
let orderClassName;
|
946
|
-
let eventDirectionName;
|
947
|
-
|
948
|
-
if (direction === Direction.NEXT) {
|
949
|
-
directionalClassName = ClassName$2.LEFT;
|
950
|
-
orderClassName = ClassName$2.NEXT;
|
951
|
-
eventDirectionName = Direction.LEFT;
|
952
|
-
} else {
|
953
|
-
directionalClassName = ClassName$2.RIGHT;
|
954
|
-
orderClassName = ClassName$2.PREV;
|
955
|
-
eventDirectionName = Direction.RIGHT;
|
956
|
-
}
|
957
|
-
|
958
|
-
if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
|
959
|
-
this._isSliding = false;
|
960
|
-
return
|
961
|
-
}
|
962
|
-
|
963
|
-
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
|
964
|
-
if (slideEvent.isDefaultPrevented()) {
|
965
|
-
return
|
966
|
-
}
|
967
|
-
|
968
|
-
if (!activeElement || !nextElement) {
|
969
|
-
// Some weirdness is happening, so we bail
|
970
|
-
return
|
971
|
-
}
|
972
|
-
|
973
|
-
this._isSliding = true;
|
974
|
-
|
975
|
-
if (isCycling) {
|
976
|
-
this.pause();
|
977
|
-
}
|
978
530
|
|
979
|
-
|
980
|
-
|
981
|
-
const slidEvent = $.Event(Event$2.SLID, {
|
982
|
-
relatedTarget: nextElement,
|
983
|
-
direction: eventDirectionName,
|
984
|
-
from: activeElementIndex,
|
985
|
-
to: nextElementIndex
|
986
|
-
});
|
987
|
-
|
988
|
-
if ($(this._element).hasClass(ClassName$2.SLIDE)) {
|
989
|
-
$(nextElement).addClass(orderClassName);
|
990
|
-
|
991
|
-
Util.reflow(nextElement);
|
992
|
-
|
993
|
-
$(activeElement).addClass(directionalClassName);
|
994
|
-
$(nextElement).addClass(directionalClassName);
|
995
|
-
|
996
|
-
const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
|
997
|
-
if (nextElementInterval) {
|
998
|
-
this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
|
999
|
-
this._config.interval = nextElementInterval;
|
1000
|
-
} else {
|
1001
|
-
this._config.interval = this._config.defaultInterval || this._config.interval;
|
531
|
+
if (initialButton.tagName !== 'LABEL' || inputBtn && inputBtn.type !== 'checkbox') {
|
532
|
+
Button._jQueryInterface.call($(button), 'toggle');
|
1002
533
|
}
|
534
|
+
}
|
535
|
+
})
|
536
|
+
.on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
|
537
|
+
const button = $(event.target).closest(SELECTOR_BUTTON)[0];
|
538
|
+
$(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
|
539
|
+
});
|
1003
540
|
|
1004
|
-
|
1005
|
-
|
1006
|
-
$(activeElement)
|
1007
|
-
.one(Util.TRANSITION_END, () => {
|
1008
|
-
$(nextElement)
|
1009
|
-
.removeClass(`${directionalClassName} ${orderClassName}`)
|
1010
|
-
.addClass(ClassName$2.ACTIVE);
|
1011
|
-
|
1012
|
-
$(activeElement).removeClass(`${ClassName$2.ACTIVE} ${orderClassName} ${directionalClassName}`);
|
1013
|
-
|
1014
|
-
this._isSliding = false;
|
541
|
+
$(window).on(EVENT_LOAD_DATA_API, () => {
|
542
|
+
// ensure correct active class is set to match the controls' actual values/states
|
1015
543
|
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
544
|
+
// find all checkboxes/readio buttons inside data-toggle groups
|
545
|
+
let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
|
546
|
+
for (let i = 0, len = buttons.length; i < len; i++) {
|
547
|
+
const button = buttons[i];
|
548
|
+
const input = button.querySelector(SELECTOR_INPUT);
|
549
|
+
if (input.checked || input.hasAttribute('checked')) {
|
550
|
+
button.classList.add(CLASS_NAME_ACTIVE);
|
1019
551
|
} else {
|
1020
|
-
|
1021
|
-
$(nextElement).addClass(ClassName$2.ACTIVE);
|
1022
|
-
|
1023
|
-
this._isSliding = false;
|
1024
|
-
$(this._element).trigger(slidEvent);
|
1025
|
-
}
|
1026
|
-
|
1027
|
-
if (isCycling) {
|
1028
|
-
this.cycle();
|
552
|
+
button.classList.remove(CLASS_NAME_ACTIVE);
|
1029
553
|
}
|
1030
554
|
}
|
1031
555
|
|
1032
|
-
//
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
};
|
1041
|
-
|
1042
|
-
if (typeof config === 'object') {
|
1043
|
-
_config = {
|
1044
|
-
..._config,
|
1045
|
-
...config
|
1046
|
-
};
|
1047
|
-
}
|
1048
|
-
|
1049
|
-
const action = typeof config === 'string' ? config : _config.slide;
|
1050
|
-
|
1051
|
-
if (!data) {
|
1052
|
-
data = new Carousel(this, _config);
|
1053
|
-
$(this).data(DATA_KEY$2, data);
|
1054
|
-
}
|
1055
|
-
|
1056
|
-
if (typeof config === 'number') {
|
1057
|
-
data.to(config);
|
1058
|
-
} else if (typeof action === 'string') {
|
1059
|
-
if (typeof data[action] === 'undefined') {
|
1060
|
-
throw new TypeError(`No method named "${action}"`)
|
1061
|
-
}
|
1062
|
-
data[action]();
|
1063
|
-
} else if (_config.interval && _config.ride) {
|
1064
|
-
data.pause();
|
1065
|
-
data.cycle();
|
1066
|
-
}
|
1067
|
-
})
|
1068
|
-
}
|
1069
|
-
|
1070
|
-
static _dataApiClickHandler(event) {
|
1071
|
-
const selector = Util.getSelectorFromElement(this);
|
1072
|
-
|
1073
|
-
if (!selector) {
|
1074
|
-
return
|
1075
|
-
}
|
1076
|
-
|
1077
|
-
const target = $(selector)[0];
|
1078
|
-
|
1079
|
-
if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
|
1080
|
-
return
|
1081
|
-
}
|
1082
|
-
|
1083
|
-
const config = {
|
1084
|
-
...$(target).data(),
|
1085
|
-
...$(this).data()
|
1086
|
-
};
|
1087
|
-
const slideIndex = this.getAttribute('data-slide-to');
|
1088
|
-
|
1089
|
-
if (slideIndex) {
|
1090
|
-
config.interval = false;
|
1091
|
-
}
|
1092
|
-
|
1093
|
-
Carousel._jQueryInterface.call($(target), config);
|
1094
|
-
|
1095
|
-
if (slideIndex) {
|
1096
|
-
$(target).data(DATA_KEY$2).to(slideIndex);
|
556
|
+
// find all button toggles
|
557
|
+
buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
|
558
|
+
for (let i = 0, len = buttons.length; i < len; i++) {
|
559
|
+
const button = buttons[i];
|
560
|
+
if (button.getAttribute('aria-pressed') === 'true') {
|
561
|
+
button.classList.add(CLASS_NAME_ACTIVE);
|
562
|
+
} else {
|
563
|
+
button.classList.remove(CLASS_NAME_ACTIVE);
|
1097
564
|
}
|
1098
|
-
|
1099
|
-
event.preventDefault();
|
1100
|
-
}
|
1101
|
-
}
|
1102
|
-
|
1103
|
-
/**
|
1104
|
-
* ------------------------------------------------------------------------
|
1105
|
-
* Data Api implementation
|
1106
|
-
* ------------------------------------------------------------------------
|
1107
|
-
*/
|
1108
|
-
|
1109
|
-
$(document)
|
1110
|
-
.on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
|
1111
|
-
|
1112
|
-
$(window).on(Event$2.LOAD_DATA_API, () => {
|
1113
|
-
const carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
|
1114
|
-
for (let i = 0, len = carousels.length; i < len; i++) {
|
1115
|
-
const $carousel = $(carousels[i]);
|
1116
|
-
Carousel._jQueryInterface.call($carousel, $carousel.data());
|
1117
565
|
}
|
1118
566
|
});
|
1119
567
|
|
@@ -1123,17 +571,17 @@
|
|
1123
571
|
* ------------------------------------------------------------------------
|
1124
572
|
*/
|
1125
573
|
|
1126
|
-
$.fn[NAME$
|
1127
|
-
$.fn[NAME$
|
1128
|
-
$.fn[NAME$
|
1129
|
-
$.fn[NAME$
|
1130
|
-
return
|
574
|
+
$.fn[NAME$1] = Button._jQueryInterface;
|
575
|
+
$.fn[NAME$1].Constructor = Button;
|
576
|
+
$.fn[NAME$1].noConflict = () => {
|
577
|
+
$.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
|
578
|
+
return Button._jQueryInterface
|
1131
579
|
};
|
1132
580
|
|
1133
581
|
/**
|
1134
582
|
* --------------------------------------------------------------------------
|
1135
|
-
* Bootstrap (v4.
|
1136
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
583
|
+
* Bootstrap (v4.5.2): collapse.js
|
584
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1137
585
|
* --------------------------------------------------------------------------
|
1138
586
|
*/
|
1139
587
|
|
@@ -1143,47 +591,39 @@
|
|
1143
591
|
* ------------------------------------------------------------------------
|
1144
592
|
*/
|
1145
593
|
|
1146
|
-
const NAME$
|
1147
|
-
const VERSION$
|
1148
|
-
const DATA_KEY$
|
1149
|
-
const EVENT_KEY$
|
1150
|
-
const DATA_API_KEY$
|
1151
|
-
const JQUERY_NO_CONFLICT$
|
594
|
+
const NAME$2 = 'collapse';
|
595
|
+
const VERSION$2 = '4.5.2';
|
596
|
+
const DATA_KEY$2 = 'bs.collapse';
|
597
|
+
const EVENT_KEY$2 = `.${DATA_KEY$2}`;
|
598
|
+
const DATA_API_KEY$2 = '.data-api';
|
599
|
+
const JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
|
1152
600
|
|
1153
|
-
const Default
|
601
|
+
const Default = {
|
1154
602
|
toggle : true,
|
1155
603
|
parent : ''
|
1156
604
|
};
|
1157
605
|
|
1158
|
-
const DefaultType
|
606
|
+
const DefaultType = {
|
1159
607
|
toggle : 'boolean',
|
1160
608
|
parent : '(string|element)'
|
1161
609
|
};
|
1162
610
|
|
1163
|
-
const
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
CLICK_DATA_API : `click${EVENT_KEY$3}${DATA_API_KEY$3}`
|
1169
|
-
};
|
611
|
+
const EVENT_SHOW = `show${EVENT_KEY$2}`;
|
612
|
+
const EVENT_SHOWN = `shown${EVENT_KEY$2}`;
|
613
|
+
const EVENT_HIDE = `hide${EVENT_KEY$2}`;
|
614
|
+
const EVENT_HIDDEN = `hidden${EVENT_KEY$2}`;
|
615
|
+
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$2}${DATA_API_KEY$2}`;
|
1170
616
|
|
1171
|
-
const
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
COLLAPSED : 'collapsed'
|
1176
|
-
};
|
617
|
+
const CLASS_NAME_SHOW$1 = 'show';
|
618
|
+
const CLASS_NAME_COLLAPSE = 'collapse';
|
619
|
+
const CLASS_NAME_COLLAPSING = 'collapsing';
|
620
|
+
const CLASS_NAME_COLLAPSED = 'collapsed';
|
1177
621
|
|
1178
|
-
const
|
1179
|
-
|
1180
|
-
HEIGHT : 'height'
|
1181
|
-
};
|
622
|
+
const DIMENSION_WIDTH = 'width';
|
623
|
+
const DIMENSION_HEIGHT = 'height';
|
1182
624
|
|
1183
|
-
const
|
1184
|
-
|
1185
|
-
DATA_TOGGLE : '[data-toggle="collapse"]'
|
1186
|
-
};
|
625
|
+
const SELECTOR_ACTIVES = '.show, .collapsing';
|
626
|
+
const SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
|
1187
627
|
|
1188
628
|
/**
|
1189
629
|
* ------------------------------------------------------------------------
|
@@ -1201,7 +641,7 @@
|
|
1201
641
|
`[data-toggle="collapse"][data-target="#${element.id}"]`
|
1202
642
|
));
|
1203
643
|
|
1204
|
-
const toggleList = [].slice.call(document.querySelectorAll(
|
644
|
+
const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
|
1205
645
|
for (let i = 0, len = toggleList.length; i < len; i++) {
|
1206
646
|
const elem = toggleList[i];
|
1207
647
|
const selector = Util.getSelectorFromElement(elem);
|
@@ -1228,17 +668,17 @@
|
|
1228
668
|
// Getters
|
1229
669
|
|
1230
670
|
static get VERSION() {
|
1231
|
-
return VERSION$
|
671
|
+
return VERSION$2
|
1232
672
|
}
|
1233
673
|
|
1234
674
|
static get Default() {
|
1235
|
-
return Default
|
675
|
+
return Default
|
1236
676
|
}
|
1237
677
|
|
1238
678
|
// Public
|
1239
679
|
|
1240
680
|
toggle() {
|
1241
|
-
if ($(this._element).hasClass(
|
681
|
+
if ($(this._element).hasClass(CLASS_NAME_SHOW$1)) {
|
1242
682
|
this.hide();
|
1243
683
|
} else {
|
1244
684
|
this.show();
|
@@ -1247,7 +687,7 @@
|
|
1247
687
|
|
1248
688
|
show() {
|
1249
689
|
if (this._isTransitioning ||
|
1250
|
-
$(this._element).hasClass(
|
690
|
+
$(this._element).hasClass(CLASS_NAME_SHOW$1)) {
|
1251
691
|
return
|
1252
692
|
}
|
1253
693
|
|
@@ -1255,13 +695,13 @@
|
|
1255
695
|
let activesData;
|
1256
696
|
|
1257
697
|
if (this._parent) {
|
1258
|
-
actives = [].slice.call(this._parent.querySelectorAll(
|
698
|
+
actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))
|
1259
699
|
.filter((elem) => {
|
1260
700
|
if (typeof this._config.parent === 'string') {
|
1261
701
|
return elem.getAttribute('data-parent') === this._config.parent
|
1262
702
|
}
|
1263
703
|
|
1264
|
-
return elem.classList.contains(
|
704
|
+
return elem.classList.contains(CLASS_NAME_COLLAPSE)
|
1265
705
|
});
|
1266
706
|
|
1267
707
|
if (actives.length === 0) {
|
@@ -1270,13 +710,13 @@
|
|
1270
710
|
}
|
1271
711
|
|
1272
712
|
if (actives) {
|
1273
|
-
activesData = $(actives).not(this._selector).data(DATA_KEY$
|
713
|
+
activesData = $(actives).not(this._selector).data(DATA_KEY$2);
|
1274
714
|
if (activesData && activesData._isTransitioning) {
|
1275
715
|
return
|
1276
716
|
}
|
1277
717
|
}
|
1278
718
|
|
1279
|
-
const startEvent = $.Event(
|
719
|
+
const startEvent = $.Event(EVENT_SHOW);
|
1280
720
|
$(this._element).trigger(startEvent);
|
1281
721
|
if (startEvent.isDefaultPrevented()) {
|
1282
722
|
return
|
@@ -1285,21 +725,21 @@
|
|
1285
725
|
if (actives) {
|
1286
726
|
Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
|
1287
727
|
if (!activesData) {
|
1288
|
-
$(actives).data(DATA_KEY$
|
728
|
+
$(actives).data(DATA_KEY$2, null);
|
1289
729
|
}
|
1290
730
|
}
|
1291
731
|
|
1292
732
|
const dimension = this._getDimension();
|
1293
733
|
|
1294
734
|
$(this._element)
|
1295
|
-
.removeClass(
|
1296
|
-
.addClass(
|
735
|
+
.removeClass(CLASS_NAME_COLLAPSE)
|
736
|
+
.addClass(CLASS_NAME_COLLAPSING);
|
1297
737
|
|
1298
738
|
this._element.style[dimension] = 0;
|
1299
739
|
|
1300
740
|
if (this._triggerArray.length) {
|
1301
741
|
$(this._triggerArray)
|
1302
|
-
.removeClass(
|
742
|
+
.removeClass(CLASS_NAME_COLLAPSED)
|
1303
743
|
.attr('aria-expanded', true);
|
1304
744
|
}
|
1305
745
|
|
@@ -1307,15 +747,14 @@
|
|
1307
747
|
|
1308
748
|
const complete = () => {
|
1309
749
|
$(this._element)
|
1310
|
-
.removeClass(
|
1311
|
-
.addClass(
|
1312
|
-
.addClass(ClassName$3.SHOW);
|
750
|
+
.removeClass(CLASS_NAME_COLLAPSING)
|
751
|
+
.addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW$1}`);
|
1313
752
|
|
1314
753
|
this._element.style[dimension] = '';
|
1315
754
|
|
1316
755
|
this.setTransitioning(false);
|
1317
756
|
|
1318
|
-
$(this._element).trigger(
|
757
|
+
$(this._element).trigger(EVENT_SHOWN);
|
1319
758
|
};
|
1320
759
|
|
1321
760
|
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
@@ -1331,11 +770,11 @@
|
|
1331
770
|
|
1332
771
|
hide() {
|
1333
772
|
if (this._isTransitioning ||
|
1334
|
-
!$(this._element).hasClass(
|
773
|
+
!$(this._element).hasClass(CLASS_NAME_SHOW$1)) {
|
1335
774
|
return
|
1336
775
|
}
|
1337
776
|
|
1338
|
-
const startEvent = $.Event(
|
777
|
+
const startEvent = $.Event(EVENT_HIDE);
|
1339
778
|
$(this._element).trigger(startEvent);
|
1340
779
|
if (startEvent.isDefaultPrevented()) {
|
1341
780
|
return
|
@@ -1348,9 +787,8 @@
|
|
1348
787
|
Util.reflow(this._element);
|
1349
788
|
|
1350
789
|
$(this._element)
|
1351
|
-
.addClass(
|
1352
|
-
.removeClass(
|
1353
|
-
.removeClass(ClassName$3.SHOW);
|
790
|
+
.addClass(CLASS_NAME_COLLAPSING)
|
791
|
+
.removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW$1}`);
|
1354
792
|
|
1355
793
|
const triggerArrayLength = this._triggerArray.length;
|
1356
794
|
if (triggerArrayLength > 0) {
|
@@ -1360,8 +798,8 @@
|
|
1360
798
|
|
1361
799
|
if (selector !== null) {
|
1362
800
|
const $elem = $([].slice.call(document.querySelectorAll(selector)));
|
1363
|
-
if (!$elem.hasClass(
|
1364
|
-
$(trigger).addClass(
|
801
|
+
if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
|
802
|
+
$(trigger).addClass(CLASS_NAME_COLLAPSED)
|
1365
803
|
.attr('aria-expanded', false);
|
1366
804
|
}
|
1367
805
|
}
|
@@ -1373,9 +811,9 @@
|
|
1373
811
|
const complete = () => {
|
1374
812
|
this.setTransitioning(false);
|
1375
813
|
$(this._element)
|
1376
|
-
.removeClass(
|
1377
|
-
.addClass(
|
1378
|
-
.trigger(
|
814
|
+
.removeClass(CLASS_NAME_COLLAPSING)
|
815
|
+
.addClass(CLASS_NAME_COLLAPSE)
|
816
|
+
.trigger(EVENT_HIDDEN);
|
1379
817
|
};
|
1380
818
|
|
1381
819
|
this._element.style[dimension] = '';
|
@@ -1391,7 +829,7 @@
|
|
1391
829
|
}
|
1392
830
|
|
1393
831
|
dispose() {
|
1394
|
-
$.removeData(this._element, DATA_KEY$
|
832
|
+
$.removeData(this._element, DATA_KEY$2);
|
1395
833
|
|
1396
834
|
this._config = null;
|
1397
835
|
this._parent = null;
|
@@ -1404,17 +842,17 @@
|
|
1404
842
|
|
1405
843
|
_getConfig(config) {
|
1406
844
|
config = {
|
1407
|
-
...Default
|
845
|
+
...Default,
|
1408
846
|
...config
|
1409
847
|
};
|
1410
848
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
1411
|
-
Util.typeCheckConfig(NAME$
|
849
|
+
Util.typeCheckConfig(NAME$2, config, DefaultType);
|
1412
850
|
return config
|
1413
851
|
}
|
1414
852
|
|
1415
853
|
_getDimension() {
|
1416
|
-
const hasWidth = $(this._element).hasClass(
|
1417
|
-
return hasWidth ?
|
854
|
+
const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);
|
855
|
+
return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT
|
1418
856
|
}
|
1419
857
|
|
1420
858
|
_getParent() {
|
@@ -1431,10 +869,9 @@
|
|
1431
869
|
parent = document.querySelector(this._config.parent);
|
1432
870
|
}
|
1433
871
|
|
1434
|
-
const selector =
|
1435
|
-
`[data-toggle="collapse"][data-parent="${this._config.parent}"]`;
|
1436
|
-
|
872
|
+
const selector = `[data-toggle="collapse"][data-parent="${this._config.parent}"]`;
|
1437
873
|
const children = [].slice.call(parent.querySelectorAll(selector));
|
874
|
+
|
1438
875
|
$(children).each((i, element) => {
|
1439
876
|
this._addAriaAndCollapsedClass(
|
1440
877
|
Collapse._getTargetFromElement(element),
|
@@ -1446,11 +883,11 @@
|
|
1446
883
|
}
|
1447
884
|
|
1448
885
|
_addAriaAndCollapsedClass(element, triggerArray) {
|
1449
|
-
const isOpen = $(element).hasClass(
|
886
|
+
const isOpen = $(element).hasClass(CLASS_NAME_SHOW$1);
|
1450
887
|
|
1451
888
|
if (triggerArray.length) {
|
1452
889
|
$(triggerArray)
|
1453
|
-
.toggleClass(
|
890
|
+
.toggleClass(CLASS_NAME_COLLAPSED, !isOpen)
|
1454
891
|
.attr('aria-expanded', isOpen);
|
1455
892
|
}
|
1456
893
|
}
|
@@ -1465,20 +902,20 @@
|
|
1465
902
|
static _jQueryInterface(config) {
|
1466
903
|
return this.each(function () {
|
1467
904
|
const $this = $(this);
|
1468
|
-
let data = $this.data(DATA_KEY$
|
905
|
+
let data = $this.data(DATA_KEY$2);
|
1469
906
|
const _config = {
|
1470
|
-
...Default
|
907
|
+
...Default,
|
1471
908
|
...$this.data(),
|
1472
909
|
...typeof config === 'object' && config ? config : {}
|
1473
910
|
};
|
1474
911
|
|
1475
|
-
if (!data && _config.toggle && /show|hide/.test(config)) {
|
912
|
+
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
|
1476
913
|
_config.toggle = false;
|
1477
914
|
}
|
1478
915
|
|
1479
916
|
if (!data) {
|
1480
917
|
data = new Collapse(this, _config);
|
1481
|
-
$this.data(DATA_KEY$
|
918
|
+
$this.data(DATA_KEY$2, data);
|
1482
919
|
}
|
1483
920
|
|
1484
921
|
if (typeof config === 'string') {
|
@@ -1497,7 +934,7 @@
|
|
1497
934
|
* ------------------------------------------------------------------------
|
1498
935
|
*/
|
1499
936
|
|
1500
|
-
$(document).on(
|
937
|
+
$(document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$1, function (event) {
|
1501
938
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
1502
939
|
if (event.currentTarget.tagName === 'A') {
|
1503
940
|
event.preventDefault();
|
@@ -1509,7 +946,7 @@
|
|
1509
946
|
|
1510
947
|
$(selectors).each(function () {
|
1511
948
|
const $target = $(this);
|
1512
|
-
const data = $target.data(DATA_KEY$
|
949
|
+
const data = $target.data(DATA_KEY$2);
|
1513
950
|
const config = data ? 'toggle' : $trigger.data();
|
1514
951
|
Collapse._jQueryInterface.call($target, config);
|
1515
952
|
});
|
@@ -1521,10 +958,10 @@
|
|
1521
958
|
* ------------------------------------------------------------------------
|
1522
959
|
*/
|
1523
960
|
|
1524
|
-
$.fn[NAME$
|
1525
|
-
$.fn[NAME$
|
1526
|
-
$.fn[NAME$
|
1527
|
-
$.fn[NAME$
|
961
|
+
$.fn[NAME$2] = Collapse._jQueryInterface;
|
962
|
+
$.fn[NAME$2].Constructor = Collapse;
|
963
|
+
$.fn[NAME$2].noConflict = () => {
|
964
|
+
$.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
|
1528
965
|
return Collapse._jQueryInterface
|
1529
966
|
};
|
1530
967
|
|
@@ -4132,8 +3569,8 @@
|
|
4132
3569
|
|
4133
3570
|
/**
|
4134
3571
|
* --------------------------------------------------------------------------
|
4135
|
-
* Bootstrap (v4.
|
4136
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
3572
|
+
* Bootstrap (v4.5.2): dropdown.js
|
3573
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4137
3574
|
* --------------------------------------------------------------------------
|
4138
3575
|
*/
|
4139
3576
|
|
@@ -4143,12 +3580,12 @@
|
|
4143
3580
|
* ------------------------------------------------------------------------
|
4144
3581
|
*/
|
4145
3582
|
|
4146
|
-
const NAME$
|
4147
|
-
const VERSION$
|
4148
|
-
const DATA_KEY$
|
4149
|
-
const EVENT_KEY$
|
4150
|
-
const DATA_API_KEY$
|
4151
|
-
const JQUERY_NO_CONFLICT$
|
3583
|
+
const NAME$3 = 'dropdown';
|
3584
|
+
const VERSION$3 = '4.5.2';
|
3585
|
+
const DATA_KEY$3 = 'bs.dropdown';
|
3586
|
+
const EVENT_KEY$3 = `.${DATA_KEY$3}`;
|
3587
|
+
const DATA_API_KEY$3 = '.data-api';
|
3588
|
+
const JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
|
4152
3589
|
const ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
4153
3590
|
const SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
|
4154
3591
|
const TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
|
@@ -4157,61 +3594,52 @@
|
|
4157
3594
|
const RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
|
4158
3595
|
const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`);
|
4159
3596
|
|
4160
|
-
const
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4164
|
-
|
4165
|
-
|
4166
|
-
|
4167
|
-
|
4168
|
-
|
4169
|
-
|
4170
|
-
|
4171
|
-
const
|
4172
|
-
|
4173
|
-
|
4174
|
-
|
4175
|
-
|
4176
|
-
|
4177
|
-
|
4178
|
-
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
|
4183
|
-
|
4184
|
-
|
4185
|
-
|
4186
|
-
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
|
-
const AttachmentMap = {
|
4191
|
-
TOP : 'top-start',
|
4192
|
-
TOPEND : 'top-end',
|
4193
|
-
BOTTOM : 'bottom-start',
|
4194
|
-
BOTTOMEND : 'bottom-end',
|
4195
|
-
RIGHT : 'right-start',
|
4196
|
-
RIGHTEND : 'right-end',
|
4197
|
-
LEFT : 'left-start',
|
4198
|
-
LEFTEND : 'left-end'
|
4199
|
-
};
|
3597
|
+
const EVENT_HIDE$1 = `hide${EVENT_KEY$3}`;
|
3598
|
+
const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$3}`;
|
3599
|
+
const EVENT_SHOW$1 = `show${EVENT_KEY$3}`;
|
3600
|
+
const EVENT_SHOWN$1 = `shown${EVENT_KEY$3}`;
|
3601
|
+
const EVENT_CLICK = `click${EVENT_KEY$3}`;
|
3602
|
+
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$3}${DATA_API_KEY$3}`;
|
3603
|
+
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$3}${DATA_API_KEY$3}`;
|
3604
|
+
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$3}${DATA_API_KEY$3}`;
|
3605
|
+
|
3606
|
+
const CLASS_NAME_DISABLED = 'disabled';
|
3607
|
+
const CLASS_NAME_SHOW$2 = 'show';
|
3608
|
+
const CLASS_NAME_DROPUP = 'dropup';
|
3609
|
+
const CLASS_NAME_DROPRIGHT = 'dropright';
|
3610
|
+
const CLASS_NAME_DROPLEFT = 'dropleft';
|
3611
|
+
const CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
|
3612
|
+
const CLASS_NAME_POSITION_STATIC = 'position-static';
|
3613
|
+
|
3614
|
+
const SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
|
3615
|
+
const SELECTOR_FORM_CHILD = '.dropdown form';
|
3616
|
+
const SELECTOR_MENU = '.dropdown-menu';
|
3617
|
+
const SELECTOR_NAVBAR_NAV = '.navbar-nav';
|
3618
|
+
const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
|
3619
|
+
|
3620
|
+
const PLACEMENT_TOP = 'top-start';
|
3621
|
+
const PLACEMENT_TOPEND = 'top-end';
|
3622
|
+
const PLACEMENT_BOTTOM = 'bottom-start';
|
3623
|
+
const PLACEMENT_BOTTOMEND = 'bottom-end';
|
3624
|
+
const PLACEMENT_RIGHT = 'right-start';
|
3625
|
+
const PLACEMENT_LEFT = 'left-start';
|
4200
3626
|
|
4201
|
-
const Default$
|
4202
|
-
offset
|
4203
|
-
flip
|
4204
|
-
boundary
|
4205
|
-
reference
|
4206
|
-
display
|
3627
|
+
const Default$1 = {
|
3628
|
+
offset : 0,
|
3629
|
+
flip : true,
|
3630
|
+
boundary : 'scrollParent',
|
3631
|
+
reference : 'toggle',
|
3632
|
+
display : 'dynamic',
|
3633
|
+
popperConfig : null
|
4207
3634
|
};
|
4208
3635
|
|
4209
|
-
const DefaultType$
|
4210
|
-
offset
|
4211
|
-
flip
|
4212
|
-
boundary
|
4213
|
-
reference
|
4214
|
-
display
|
3636
|
+
const DefaultType$1 = {
|
3637
|
+
offset : '(number|string|function)',
|
3638
|
+
flip : 'boolean',
|
3639
|
+
boundary : '(string|element)',
|
3640
|
+
reference : '(string|element)',
|
3641
|
+
display : 'string',
|
3642
|
+
popperConfig : '(null|object)'
|
4215
3643
|
};
|
4216
3644
|
|
4217
3645
|
/**
|
@@ -4234,26 +3662,25 @@
|
|
4234
3662
|
// Getters
|
4235
3663
|
|
4236
3664
|
static get VERSION() {
|
4237
|
-
return VERSION$
|
3665
|
+
return VERSION$3
|
4238
3666
|
}
|
4239
3667
|
|
4240
3668
|
static get Default() {
|
4241
|
-
return Default$
|
3669
|
+
return Default$1
|
4242
3670
|
}
|
4243
3671
|
|
4244
3672
|
static get DefaultType() {
|
4245
|
-
return DefaultType$
|
3673
|
+
return DefaultType$1
|
4246
3674
|
}
|
4247
3675
|
|
4248
3676
|
// Public
|
4249
3677
|
|
4250
3678
|
toggle() {
|
4251
|
-
if (this._element.disabled || $(this._element).hasClass(
|
3679
|
+
if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
|
4252
3680
|
return
|
4253
3681
|
}
|
4254
3682
|
|
4255
|
-
const
|
4256
|
-
const isActive = $(this._menu).hasClass(ClassName$4.SHOW);
|
3683
|
+
const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW$2);
|
4257
3684
|
|
4258
3685
|
Dropdown._clearMenus();
|
4259
3686
|
|
@@ -4261,10 +3688,19 @@
|
|
4261
3688
|
return
|
4262
3689
|
}
|
4263
3690
|
|
3691
|
+
this.show(true);
|
3692
|
+
}
|
3693
|
+
|
3694
|
+
show(usePopper = false) {
|
3695
|
+
if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
|
3696
|
+
return
|
3697
|
+
}
|
3698
|
+
|
4264
3699
|
const relatedTarget = {
|
4265
3700
|
relatedTarget: this._element
|
4266
3701
|
};
|
4267
|
-
const showEvent = $.Event(
|
3702
|
+
const showEvent = $.Event(EVENT_SHOW$1, relatedTarget);
|
3703
|
+
const parent = Dropdown._getParentFromElement(this._element);
|
4268
3704
|
|
4269
3705
|
$(parent).trigger(showEvent);
|
4270
3706
|
|
@@ -4273,7 +3709,7 @@
|
|
4273
3709
|
}
|
4274
3710
|
|
4275
3711
|
// Disable totally Popper.js for Dropdown in Navbar
|
4276
|
-
if (!this._inNavbar) {
|
3712
|
+
if (!this._inNavbar && usePopper) {
|
4277
3713
|
/**
|
4278
3714
|
* Check for Popper dependency
|
4279
3715
|
* Popper - https://popper.js.org
|
@@ -4299,7 +3735,7 @@
|
|
4299
3735
|
// to allow the menu to "escape" the scroll parent's boundaries
|
4300
3736
|
// https://github.com/twbs/bootstrap/issues/24251
|
4301
3737
|
if (this._config.boundary !== 'scrollParent') {
|
4302
|
-
$(parent).addClass(
|
3738
|
+
$(parent).addClass(CLASS_NAME_POSITION_STATIC);
|
4303
3739
|
}
|
4304
3740
|
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
4305
3741
|
}
|
@@ -4309,51 +3745,28 @@
|
|
4309
3745
|
// only needed because of broken event delegation on iOS
|
4310
3746
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
4311
3747
|
if ('ontouchstart' in document.documentElement &&
|
4312
|
-
$(parent).closest(
|
3748
|
+
$(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
|
4313
3749
|
$(document.body).children().on('mouseover', null, $.noop);
|
4314
3750
|
}
|
4315
3751
|
|
4316
3752
|
this._element.focus();
|
4317
3753
|
this._element.setAttribute('aria-expanded', true);
|
4318
3754
|
|
4319
|
-
$(this._menu).toggleClass(
|
3755
|
+
$(this._menu).toggleClass(CLASS_NAME_SHOW$2);
|
4320
3756
|
$(parent)
|
4321
|
-
.toggleClass(
|
4322
|
-
.trigger($.Event(
|
4323
|
-
}
|
4324
|
-
|
4325
|
-
show() {
|
4326
|
-
if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
|
4327
|
-
return
|
4328
|
-
}
|
4329
|
-
|
4330
|
-
const relatedTarget = {
|
4331
|
-
relatedTarget: this._element
|
4332
|
-
};
|
4333
|
-
const showEvent = $.Event(Event$4.SHOW, relatedTarget);
|
4334
|
-
const parent = Dropdown._getParentFromElement(this._element);
|
4335
|
-
|
4336
|
-
$(parent).trigger(showEvent);
|
4337
|
-
|
4338
|
-
if (showEvent.isDefaultPrevented()) {
|
4339
|
-
return
|
4340
|
-
}
|
4341
|
-
|
4342
|
-
$(this._menu).toggleClass(ClassName$4.SHOW);
|
4343
|
-
$(parent)
|
4344
|
-
.toggleClass(ClassName$4.SHOW)
|
4345
|
-
.trigger($.Event(Event$4.SHOWN, relatedTarget));
|
3757
|
+
.toggleClass(CLASS_NAME_SHOW$2)
|
3758
|
+
.trigger($.Event(EVENT_SHOWN$1, relatedTarget));
|
4346
3759
|
}
|
4347
3760
|
|
4348
3761
|
hide() {
|
4349
|
-
if (this._element.disabled || $(this._element).hasClass(
|
3762
|
+
if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
|
4350
3763
|
return
|
4351
3764
|
}
|
4352
3765
|
|
4353
3766
|
const relatedTarget = {
|
4354
3767
|
relatedTarget: this._element
|
4355
3768
|
};
|
4356
|
-
const hideEvent = $.Event(
|
3769
|
+
const hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
|
4357
3770
|
const parent = Dropdown._getParentFromElement(this._element);
|
4358
3771
|
|
4359
3772
|
$(parent).trigger(hideEvent);
|
@@ -4362,15 +3775,19 @@
|
|
4362
3775
|
return
|
4363
3776
|
}
|
4364
3777
|
|
4365
|
-
|
3778
|
+
if (this._popper) {
|
3779
|
+
this._popper.destroy();
|
3780
|
+
}
|
3781
|
+
|
3782
|
+
$(this._menu).toggleClass(CLASS_NAME_SHOW$2);
|
4366
3783
|
$(parent)
|
4367
|
-
.toggleClass(
|
4368
|
-
.trigger($.Event(
|
3784
|
+
.toggleClass(CLASS_NAME_SHOW$2)
|
3785
|
+
.trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
|
4369
3786
|
}
|
4370
3787
|
|
4371
3788
|
dispose() {
|
4372
|
-
$.removeData(this._element, DATA_KEY$
|
4373
|
-
$(this._element).off(EVENT_KEY$
|
3789
|
+
$.removeData(this._element, DATA_KEY$3);
|
3790
|
+
$(this._element).off(EVENT_KEY$3);
|
4374
3791
|
this._element = null;
|
4375
3792
|
this._menu = null;
|
4376
3793
|
if (this._popper !== null) {
|
@@ -4389,7 +3806,7 @@
|
|
4389
3806
|
// Private
|
4390
3807
|
|
4391
3808
|
_addEventListeners() {
|
4392
|
-
$(this._element).on(
|
3809
|
+
$(this._element).on(EVENT_CLICK, (event) => {
|
4393
3810
|
event.preventDefault();
|
4394
3811
|
event.stopPropagation();
|
4395
3812
|
this.toggle();
|
@@ -4404,7 +3821,7 @@
|
|
4404
3821
|
};
|
4405
3822
|
|
4406
3823
|
Util.typeCheckConfig(
|
4407
|
-
NAME$
|
3824
|
+
NAME$3,
|
4408
3825
|
config,
|
4409
3826
|
this.constructor.DefaultType
|
4410
3827
|
);
|
@@ -4417,7 +3834,7 @@
|
|
4417
3834
|
const parent = Dropdown._getParentFromElement(this._element);
|
4418
3835
|
|
4419
3836
|
if (parent) {
|
4420
|
-
this._menu = parent.querySelector(
|
3837
|
+
this._menu = parent.querySelector(SELECTOR_MENU);
|
4421
3838
|
}
|
4422
3839
|
}
|
4423
3840
|
return this._menu
|
@@ -4425,20 +3842,19 @@
|
|
4425
3842
|
|
4426
3843
|
_getPlacement() {
|
4427
3844
|
const $parentDropdown = $(this._element.parentNode);
|
4428
|
-
let placement =
|
3845
|
+
let placement = PLACEMENT_BOTTOM;
|
4429
3846
|
|
4430
3847
|
// Handle dropup
|
4431
|
-
if ($parentDropdown.hasClass(
|
4432
|
-
placement =
|
4433
|
-
|
4434
|
-
|
4435
|
-
|
4436
|
-
|
4437
|
-
|
4438
|
-
|
4439
|
-
|
4440
|
-
|
4441
|
-
placement = AttachmentMap.BOTTOMEND;
|
3848
|
+
if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
|
3849
|
+
placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)
|
3850
|
+
? PLACEMENT_TOPEND
|
3851
|
+
: PLACEMENT_TOP;
|
3852
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
|
3853
|
+
placement = PLACEMENT_RIGHT;
|
3854
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
|
3855
|
+
placement = PLACEMENT_LEFT;
|
3856
|
+
} else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
|
3857
|
+
placement = PLACEMENT_BOTTOMEND;
|
4442
3858
|
}
|
4443
3859
|
return placement
|
4444
3860
|
}
|
@@ -4487,19 +3903,22 @@
|
|
4487
3903
|
};
|
4488
3904
|
}
|
4489
3905
|
|
4490
|
-
return
|
3906
|
+
return {
|
3907
|
+
...popperConfig,
|
3908
|
+
...this._config.popperConfig
|
3909
|
+
}
|
4491
3910
|
}
|
4492
3911
|
|
4493
3912
|
// Static
|
4494
3913
|
|
4495
3914
|
static _jQueryInterface(config) {
|
4496
3915
|
return this.each(function () {
|
4497
|
-
let data = $(this).data(DATA_KEY$
|
3916
|
+
let data = $(this).data(DATA_KEY$3);
|
4498
3917
|
const _config = typeof config === 'object' ? config : null;
|
4499
3918
|
|
4500
3919
|
if (!data) {
|
4501
3920
|
data = new Dropdown(this, _config);
|
4502
|
-
$(this).data(DATA_KEY$
|
3921
|
+
$(this).data(DATA_KEY$3, data);
|
4503
3922
|
}
|
4504
3923
|
|
4505
3924
|
if (typeof config === 'string') {
|
@@ -4517,11 +3936,11 @@
|
|
4517
3936
|
return
|
4518
3937
|
}
|
4519
3938
|
|
4520
|
-
const toggles = [].slice.call(document.querySelectorAll(
|
3939
|
+
const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));
|
4521
3940
|
|
4522
3941
|
for (let i = 0, len = toggles.length; i < len; i++) {
|
4523
3942
|
const parent = Dropdown._getParentFromElement(toggles[i]);
|
4524
|
-
const context = $(toggles[i]).data(DATA_KEY$
|
3943
|
+
const context = $(toggles[i]).data(DATA_KEY$3);
|
4525
3944
|
const relatedTarget = {
|
4526
3945
|
relatedTarget: toggles[i]
|
4527
3946
|
};
|
@@ -4535,7 +3954,7 @@
|
|
4535
3954
|
}
|
4536
3955
|
|
4537
3956
|
const dropdownMenu = context._menu;
|
4538
|
-
if (!$(parent).hasClass(
|
3957
|
+
if (!$(parent).hasClass(CLASS_NAME_SHOW$2)) {
|
4539
3958
|
continue
|
4540
3959
|
}
|
4541
3960
|
|
@@ -4545,7 +3964,7 @@
|
|
4545
3964
|
continue
|
4546
3965
|
}
|
4547
3966
|
|
4548
|
-
const hideEvent = $.Event(
|
3967
|
+
const hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
|
4549
3968
|
$(parent).trigger(hideEvent);
|
4550
3969
|
if (hideEvent.isDefaultPrevented()) {
|
4551
3970
|
continue
|
@@ -4559,10 +3978,14 @@
|
|
4559
3978
|
|
4560
3979
|
toggles[i].setAttribute('aria-expanded', 'false');
|
4561
3980
|
|
4562
|
-
|
3981
|
+
if (context._popper) {
|
3982
|
+
context._popper.destroy();
|
3983
|
+
}
|
3984
|
+
|
3985
|
+
$(dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
|
4563
3986
|
$(parent)
|
4564
|
-
.removeClass(
|
4565
|
-
.trigger($.Event(
|
3987
|
+
.removeClass(CLASS_NAME_SHOW$2)
|
3988
|
+
.trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
|
4566
3989
|
}
|
4567
3990
|
}
|
4568
3991
|
|
@@ -4589,31 +4012,35 @@
|
|
4589
4012
|
if (/input|textarea/i.test(event.target.tagName)
|
4590
4013
|
? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&
|
4591
4014
|
(event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||
|
4592
|
-
$(event.target).closest(
|
4015
|
+
$(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
|
4593
4016
|
return
|
4594
4017
|
}
|
4595
4018
|
|
4596
|
-
|
4597
|
-
event.stopPropagation();
|
4598
|
-
|
4599
|
-
if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
|
4019
|
+
if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
|
4600
4020
|
return
|
4601
4021
|
}
|
4602
4022
|
|
4603
4023
|
const parent = Dropdown._getParentFromElement(this);
|
4604
|
-
const isActive = $(parent).hasClass(
|
4024
|
+
const isActive = $(parent).hasClass(CLASS_NAME_SHOW$2);
|
4025
|
+
|
4026
|
+
if (!isActive && event.which === ESCAPE_KEYCODE) {
|
4027
|
+
return
|
4028
|
+
}
|
4029
|
+
|
4030
|
+
event.preventDefault();
|
4031
|
+
event.stopPropagation();
|
4605
4032
|
|
4606
4033
|
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
|
4607
4034
|
if (event.which === ESCAPE_KEYCODE) {
|
4608
|
-
|
4609
|
-
$(toggle).trigger('focus');
|
4035
|
+
$(parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
|
4610
4036
|
}
|
4611
4037
|
|
4612
4038
|
$(this).trigger('click');
|
4613
4039
|
return
|
4614
4040
|
}
|
4615
4041
|
|
4616
|
-
const items = [].slice.call(parent.querySelectorAll(
|
4042
|
+
const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))
|
4043
|
+
.filter((item) => $(item).is(':visible'));
|
4617
4044
|
|
4618
4045
|
if (items.length === 0) {
|
4619
4046
|
return
|
@@ -4644,15 +4071,15 @@
|
|
4644
4071
|
*/
|
4645
4072
|
|
4646
4073
|
$(document)
|
4647
|
-
.on(
|
4648
|
-
.on(
|
4649
|
-
.on(`${
|
4650
|
-
.on(
|
4074
|
+
.on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler)
|
4075
|
+
.on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)
|
4076
|
+
.on(`${EVENT_CLICK_DATA_API$3} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)
|
4077
|
+
.on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$2, function (event) {
|
4651
4078
|
event.preventDefault();
|
4652
4079
|
event.stopPropagation();
|
4653
4080
|
Dropdown._jQueryInterface.call($(this), 'toggle');
|
4654
4081
|
})
|
4655
|
-
.on(
|
4082
|
+
.on(EVENT_CLICK_DATA_API$3, SELECTOR_FORM_CHILD, (e) => {
|
4656
4083
|
e.stopPropagation();
|
4657
4084
|
});
|
4658
4085
|
|
@@ -4662,17 +4089,17 @@
|
|
4662
4089
|
* ------------------------------------------------------------------------
|
4663
4090
|
*/
|
4664
4091
|
|
4665
|
-
$.fn[NAME$
|
4666
|
-
$.fn[NAME$
|
4667
|
-
$.fn[NAME$
|
4668
|
-
$.fn[NAME$
|
4092
|
+
$.fn[NAME$3] = Dropdown._jQueryInterface;
|
4093
|
+
$.fn[NAME$3].Constructor = Dropdown;
|
4094
|
+
$.fn[NAME$3].noConflict = () => {
|
4095
|
+
$.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
|
4669
4096
|
return Dropdown._jQueryInterface
|
4670
4097
|
};
|
4671
4098
|
|
4672
4099
|
/**
|
4673
4100
|
* --------------------------------------------------------------------------
|
4674
|
-
* Bootstrap (v4.
|
4675
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
4101
|
+
* Bootstrap (v4.5.2): modal.js
|
4102
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4676
4103
|
* --------------------------------------------------------------------------
|
4677
4104
|
*/
|
4678
4105
|
|
@@ -4682,59 +4109,55 @@
|
|
4682
4109
|
* ------------------------------------------------------------------------
|
4683
4110
|
*/
|
4684
4111
|
|
4685
|
-
const NAME$
|
4686
|
-
const VERSION$
|
4687
|
-
const DATA_KEY$
|
4688
|
-
const EVENT_KEY$
|
4689
|
-
const DATA_API_KEY$
|
4690
|
-
const JQUERY_NO_CONFLICT$
|
4112
|
+
const NAME$4 = 'modal';
|
4113
|
+
const VERSION$4 = '4.5.2';
|
4114
|
+
const DATA_KEY$4 = 'bs.modal';
|
4115
|
+
const EVENT_KEY$4 = `.${DATA_KEY$4}`;
|
4116
|
+
const DATA_API_KEY$4 = '.data-api';
|
4117
|
+
const JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
|
4691
4118
|
const ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
|
4692
4119
|
|
4693
|
-
const Default$
|
4120
|
+
const Default$2 = {
|
4694
4121
|
backdrop : true,
|
4695
4122
|
keyboard : true,
|
4696
4123
|
focus : true,
|
4697
4124
|
show : true
|
4698
4125
|
};
|
4699
4126
|
|
4700
|
-
const DefaultType$
|
4127
|
+
const DefaultType$2 = {
|
4701
4128
|
backdrop : '(boolean|string)',
|
4702
4129
|
keyboard : 'boolean',
|
4703
4130
|
focus : 'boolean',
|
4704
4131
|
show : 'boolean'
|
4705
4132
|
};
|
4706
4133
|
|
4707
|
-
const
|
4708
|
-
|
4709
|
-
|
4710
|
-
|
4711
|
-
|
4712
|
-
|
4713
|
-
|
4714
|
-
|
4715
|
-
|
4716
|
-
|
4717
|
-
|
4718
|
-
|
4719
|
-
|
4720
|
-
|
4721
|
-
const
|
4722
|
-
|
4723
|
-
|
4724
|
-
|
4725
|
-
|
4726
|
-
|
4727
|
-
|
4728
|
-
|
4729
|
-
|
4730
|
-
const
|
4731
|
-
|
4732
|
-
|
4733
|
-
|
4734
|
-
DATA_DISMISS : '[data-dismiss="modal"]',
|
4735
|
-
FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
|
4736
|
-
STICKY_CONTENT : '.sticky-top'
|
4737
|
-
};
|
4134
|
+
const EVENT_HIDE$2 = `hide${EVENT_KEY$4}`;
|
4135
|
+
const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
|
4136
|
+
const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$4}`;
|
4137
|
+
const EVENT_SHOW$2 = `show${EVENT_KEY$4}`;
|
4138
|
+
const EVENT_SHOWN$2 = `shown${EVENT_KEY$4}`;
|
4139
|
+
const EVENT_FOCUSIN = `focusin${EVENT_KEY$4}`;
|
4140
|
+
const EVENT_RESIZE = `resize${EVENT_KEY$4}`;
|
4141
|
+
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
|
4142
|
+
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
|
4143
|
+
const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY$4}`;
|
4144
|
+
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
|
4145
|
+
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$4}${DATA_API_KEY$4}`;
|
4146
|
+
|
4147
|
+
const CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
|
4148
|
+
const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
|
4149
|
+
const CLASS_NAME_BACKDROP = 'modal-backdrop';
|
4150
|
+
const CLASS_NAME_OPEN = 'modal-open';
|
4151
|
+
const CLASS_NAME_FADE$1 = 'fade';
|
4152
|
+
const CLASS_NAME_SHOW$3 = 'show';
|
4153
|
+
const CLASS_NAME_STATIC = 'modal-static';
|
4154
|
+
|
4155
|
+
const SELECTOR_DIALOG = '.modal-dialog';
|
4156
|
+
const SELECTOR_MODAL_BODY = '.modal-body';
|
4157
|
+
const SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
|
4158
|
+
const SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
|
4159
|
+
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
|
4160
|
+
const SELECTOR_STICKY_CONTENT = '.sticky-top';
|
4738
4161
|
|
4739
4162
|
/**
|
4740
4163
|
* ------------------------------------------------------------------------
|
@@ -4746,7 +4169,7 @@
|
|
4746
4169
|
constructor(element, config) {
|
4747
4170
|
this._config = this._getConfig(config);
|
4748
4171
|
this._element = element;
|
4749
|
-
this._dialog = element.querySelector(
|
4172
|
+
this._dialog = element.querySelector(SELECTOR_DIALOG);
|
4750
4173
|
this._backdrop = null;
|
4751
4174
|
this._isShown = false;
|
4752
4175
|
this._isBodyOverflowing = false;
|
@@ -4758,11 +4181,11 @@
|
|
4758
4181
|
// Getters
|
4759
4182
|
|
4760
4183
|
static get VERSION() {
|
4761
|
-
return VERSION$
|
4184
|
+
return VERSION$4
|
4762
4185
|
}
|
4763
4186
|
|
4764
4187
|
static get Default() {
|
4765
|
-
return Default$
|
4188
|
+
return Default$2
|
4766
4189
|
}
|
4767
4190
|
|
4768
4191
|
// Public
|
@@ -4776,11 +4199,11 @@
|
|
4776
4199
|
return
|
4777
4200
|
}
|
4778
4201
|
|
4779
|
-
if ($(this._element).hasClass(
|
4202
|
+
if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
|
4780
4203
|
this._isTransitioning = true;
|
4781
4204
|
}
|
4782
4205
|
|
4783
|
-
const showEvent = $.Event(
|
4206
|
+
const showEvent = $.Event(EVENT_SHOW$2, {
|
4784
4207
|
relatedTarget
|
4785
4208
|
});
|
4786
4209
|
|
@@ -4801,13 +4224,13 @@
|
|
4801
4224
|
this._setResizeEvent();
|
4802
4225
|
|
4803
4226
|
$(this._element).on(
|
4804
|
-
|
4805
|
-
|
4227
|
+
EVENT_CLICK_DISMISS,
|
4228
|
+
SELECTOR_DATA_DISMISS,
|
4806
4229
|
(event) => this.hide(event)
|
4807
4230
|
);
|
4808
4231
|
|
4809
|
-
$(this._dialog).on(
|
4810
|
-
$(this._element).one(
|
4232
|
+
$(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {
|
4233
|
+
$(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {
|
4811
4234
|
if ($(event.target).is(this._element)) {
|
4812
4235
|
this._ignoreBackdropClick = true;
|
4813
4236
|
}
|
@@ -4826,7 +4249,7 @@
|
|
4826
4249
|
return
|
4827
4250
|
}
|
4828
4251
|
|
4829
|
-
const hideEvent = $.Event(
|
4252
|
+
const hideEvent = $.Event(EVENT_HIDE$2);
|
4830
4253
|
|
4831
4254
|
$(this._element).trigger(hideEvent);
|
4832
4255
|
|
@@ -4835,7 +4258,7 @@
|
|
4835
4258
|
}
|
4836
4259
|
|
4837
4260
|
this._isShown = false;
|
4838
|
-
const transition = $(this._element).hasClass(
|
4261
|
+
const transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
|
4839
4262
|
|
4840
4263
|
if (transition) {
|
4841
4264
|
this._isTransitioning = true;
|
@@ -4844,13 +4267,12 @@
|
|
4844
4267
|
this._setEscapeEvent();
|
4845
4268
|
this._setResizeEvent();
|
4846
4269
|
|
4847
|
-
$(document).off(
|
4848
|
-
|
4849
|
-
$(this._element).removeClass(ClassName$5.SHOW);
|
4270
|
+
$(document).off(EVENT_FOCUSIN);
|
4850
4271
|
|
4851
|
-
$(this._element).
|
4852
|
-
$(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
|
4272
|
+
$(this._element).removeClass(CLASS_NAME_SHOW$3);
|
4853
4273
|
|
4274
|
+
$(this._element).off(EVENT_CLICK_DISMISS);
|
4275
|
+
$(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
|
4854
4276
|
|
4855
4277
|
if (transition) {
|
4856
4278
|
const transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
@@ -4865,16 +4287,16 @@
|
|
4865
4287
|
|
4866
4288
|
dispose() {
|
4867
4289
|
[window, this._element, this._dialog]
|
4868
|
-
.forEach((htmlElement) => $(htmlElement).off(EVENT_KEY$
|
4290
|
+
.forEach((htmlElement) => $(htmlElement).off(EVENT_KEY$4));
|
4869
4291
|
|
4870
4292
|
/**
|
4871
|
-
* `document` has 2 events `
|
4293
|
+
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
4872
4294
|
* Do not move `document` in `htmlElements` array
|
4873
|
-
* It will remove `
|
4295
|
+
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
4874
4296
|
*/
|
4875
|
-
$(document).off(
|
4297
|
+
$(document).off(EVENT_FOCUSIN);
|
4876
4298
|
|
4877
|
-
$.removeData(this._element, DATA_KEY$
|
4299
|
+
$.removeData(this._element, DATA_KEY$4);
|
4878
4300
|
|
4879
4301
|
this._config = null;
|
4880
4302
|
this._element = null;
|
@@ -4895,15 +4317,52 @@
|
|
4895
4317
|
|
4896
4318
|
_getConfig(config) {
|
4897
4319
|
config = {
|
4898
|
-
...Default$
|
4320
|
+
...Default$2,
|
4899
4321
|
...config
|
4900
4322
|
};
|
4901
|
-
Util.typeCheckConfig(NAME$
|
4323
|
+
Util.typeCheckConfig(NAME$4, config, DefaultType$2);
|
4902
4324
|
return config
|
4903
4325
|
}
|
4904
4326
|
|
4327
|
+
_triggerBackdropTransition() {
|
4328
|
+
if (this._config.backdrop === 'static') {
|
4329
|
+
const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
|
4330
|
+
|
4331
|
+
$(this._element).trigger(hideEventPrevented);
|
4332
|
+
if (hideEventPrevented.defaultPrevented) {
|
4333
|
+
return
|
4334
|
+
}
|
4335
|
+
|
4336
|
+
const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
4337
|
+
|
4338
|
+
if (!isModalOverflowing) {
|
4339
|
+
this._element.style.overflowY = 'hidden';
|
4340
|
+
}
|
4341
|
+
|
4342
|
+
this._element.classList.add(CLASS_NAME_STATIC);
|
4343
|
+
|
4344
|
+
const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
|
4345
|
+
$(this._element).off(Util.TRANSITION_END);
|
4346
|
+
|
4347
|
+
$(this._element).one(Util.TRANSITION_END, () => {
|
4348
|
+
this._element.classList.remove(CLASS_NAME_STATIC);
|
4349
|
+
if (!isModalOverflowing) {
|
4350
|
+
$(this._element).one(Util.TRANSITION_END, () => {
|
4351
|
+
this._element.style.overflowY = '';
|
4352
|
+
})
|
4353
|
+
.emulateTransitionEnd(this._element, modalTransitionDuration);
|
4354
|
+
}
|
4355
|
+
})
|
4356
|
+
.emulateTransitionEnd(modalTransitionDuration);
|
4357
|
+
this._element.focus();
|
4358
|
+
} else {
|
4359
|
+
this.hide();
|
4360
|
+
}
|
4361
|
+
}
|
4362
|
+
|
4905
4363
|
_showElement(relatedTarget) {
|
4906
|
-
const transition = $(this._element).hasClass(
|
4364
|
+
const transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
|
4365
|
+
const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
|
4907
4366
|
|
4908
4367
|
if (!this._element.parentNode ||
|
4909
4368
|
this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
@@ -4914,9 +4373,10 @@
|
|
4914
4373
|
this._element.style.display = 'block';
|
4915
4374
|
this._element.removeAttribute('aria-hidden');
|
4916
4375
|
this._element.setAttribute('aria-modal', true);
|
4376
|
+
this._element.setAttribute('role', 'dialog');
|
4917
4377
|
|
4918
|
-
if ($(this._dialog).hasClass(
|
4919
|
-
|
4378
|
+
if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
|
4379
|
+
modalBody.scrollTop = 0;
|
4920
4380
|
} else {
|
4921
4381
|
this._element.scrollTop = 0;
|
4922
4382
|
}
|
@@ -4925,13 +4385,13 @@
|
|
4925
4385
|
Util.reflow(this._element);
|
4926
4386
|
}
|
4927
4387
|
|
4928
|
-
$(this._element).addClass(
|
4388
|
+
$(this._element).addClass(CLASS_NAME_SHOW$3);
|
4929
4389
|
|
4930
4390
|
if (this._config.focus) {
|
4931
4391
|
this._enforceFocus();
|
4932
4392
|
}
|
4933
4393
|
|
4934
|
-
const shownEvent = $.Event(
|
4394
|
+
const shownEvent = $.Event(EVENT_SHOWN$2, {
|
4935
4395
|
relatedTarget
|
4936
4396
|
});
|
4937
4397
|
|
@@ -4956,8 +4416,8 @@
|
|
4956
4416
|
|
4957
4417
|
_enforceFocus() {
|
4958
4418
|
$(document)
|
4959
|
-
.off(
|
4960
|
-
.on(
|
4419
|
+
.off(EVENT_FOCUSIN) // Guard against infinite focus loop
|
4420
|
+
.on(EVENT_FOCUSIN, (event) => {
|
4961
4421
|
if (document !== event.target &&
|
4962
4422
|
this._element !== event.target &&
|
4963
4423
|
$(this._element).has(event.target).length === 0) {
|
@@ -4967,23 +4427,25 @@
|
|
4967
4427
|
}
|
4968
4428
|
|
4969
4429
|
_setEscapeEvent() {
|
4970
|
-
if (this._isShown
|
4971
|
-
$(this._element).on(
|
4972
|
-
if (event.which === ESCAPE_KEYCODE$1) {
|
4430
|
+
if (this._isShown) {
|
4431
|
+
$(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {
|
4432
|
+
if (this._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
|
4973
4433
|
event.preventDefault();
|
4974
4434
|
this.hide();
|
4435
|
+
} else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
|
4436
|
+
this._triggerBackdropTransition();
|
4975
4437
|
}
|
4976
4438
|
});
|
4977
4439
|
} else if (!this._isShown) {
|
4978
|
-
$(this._element).off(
|
4440
|
+
$(this._element).off(EVENT_KEYDOWN_DISMISS);
|
4979
4441
|
}
|
4980
4442
|
}
|
4981
4443
|
|
4982
4444
|
_setResizeEvent() {
|
4983
4445
|
if (this._isShown) {
|
4984
|
-
$(window).on(
|
4446
|
+
$(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event));
|
4985
4447
|
} else {
|
4986
|
-
$(window).off(
|
4448
|
+
$(window).off(EVENT_RESIZE);
|
4987
4449
|
}
|
4988
4450
|
}
|
4989
4451
|
|
@@ -4991,12 +4453,13 @@
|
|
4991
4453
|
this._element.style.display = 'none';
|
4992
4454
|
this._element.setAttribute('aria-hidden', true);
|
4993
4455
|
this._element.removeAttribute('aria-modal');
|
4456
|
+
this._element.removeAttribute('role');
|
4994
4457
|
this._isTransitioning = false;
|
4995
4458
|
this._showBackdrop(() => {
|
4996
|
-
$(document.body).removeClass(
|
4459
|
+
$(document.body).removeClass(CLASS_NAME_OPEN);
|
4997
4460
|
this._resetAdjustments();
|
4998
4461
|
this._resetScrollbar();
|
4999
|
-
$(this._element).trigger(
|
4462
|
+
$(this._element).trigger(EVENT_HIDDEN$2);
|
5000
4463
|
});
|
5001
4464
|
}
|
5002
4465
|
|
@@ -5008,12 +4471,12 @@
|
|
5008
4471
|
}
|
5009
4472
|
|
5010
4473
|
_showBackdrop(callback) {
|
5011
|
-
const animate = $(this._element).hasClass(
|
5012
|
-
?
|
4474
|
+
const animate = $(this._element).hasClass(CLASS_NAME_FADE$1)
|
4475
|
+
? CLASS_NAME_FADE$1 : '';
|
5013
4476
|
|
5014
4477
|
if (this._isShown && this._config.backdrop) {
|
5015
4478
|
this._backdrop = document.createElement('div');
|
5016
|
-
this._backdrop.className =
|
4479
|
+
this._backdrop.className = CLASS_NAME_BACKDROP;
|
5017
4480
|
|
5018
4481
|
if (animate) {
|
5019
4482
|
this._backdrop.classList.add(animate);
|
@@ -5021,7 +4484,7 @@
|
|
5021
4484
|
|
5022
4485
|
$(this._backdrop).appendTo(document.body);
|
5023
4486
|
|
5024
|
-
$(this._element).on(
|
4487
|
+
$(this._element).on(EVENT_CLICK_DISMISS, (event) => {
|
5025
4488
|
if (this._ignoreBackdropClick) {
|
5026
4489
|
this._ignoreBackdropClick = false;
|
5027
4490
|
return
|
@@ -5029,18 +4492,15 @@
|
|
5029
4492
|
if (event.target !== event.currentTarget) {
|
5030
4493
|
return
|
5031
4494
|
}
|
5032
|
-
|
5033
|
-
|
5034
|
-
} else {
|
5035
|
-
this.hide();
|
5036
|
-
}
|
4495
|
+
|
4496
|
+
this._triggerBackdropTransition();
|
5037
4497
|
});
|
5038
4498
|
|
5039
4499
|
if (animate) {
|
5040
4500
|
Util.reflow(this._backdrop);
|
5041
4501
|
}
|
5042
4502
|
|
5043
|
-
$(this._backdrop).addClass(
|
4503
|
+
$(this._backdrop).addClass(CLASS_NAME_SHOW$3);
|
5044
4504
|
|
5045
4505
|
if (!callback) {
|
5046
4506
|
return
|
@@ -5057,7 +4517,7 @@
|
|
5057
4517
|
.one(Util.TRANSITION_END, callback)
|
5058
4518
|
.emulateTransitionEnd(backdropTransitionDuration);
|
5059
4519
|
} else if (!this._isShown && this._backdrop) {
|
5060
|
-
$(this._backdrop).removeClass(
|
4520
|
+
$(this._backdrop).removeClass(CLASS_NAME_SHOW$3);
|
5061
4521
|
|
5062
4522
|
const callbackRemove = () => {
|
5063
4523
|
this._removeBackdrop();
|
@@ -5066,7 +4526,7 @@
|
|
5066
4526
|
}
|
5067
4527
|
};
|
5068
4528
|
|
5069
|
-
if ($(this._element).hasClass(
|
4529
|
+
if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
|
5070
4530
|
const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
5071
4531
|
|
5072
4532
|
$(this._backdrop)
|
@@ -5105,7 +4565,7 @@
|
|
5105
4565
|
|
5106
4566
|
_checkScrollbar() {
|
5107
4567
|
const rect = document.body.getBoundingClientRect();
|
5108
|
-
this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
|
4568
|
+
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
|
5109
4569
|
this._scrollbarWidth = this._getScrollbarWidth();
|
5110
4570
|
}
|
5111
4571
|
|
@@ -5113,8 +4573,8 @@
|
|
5113
4573
|
if (this._isBodyOverflowing) {
|
5114
4574
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
5115
4575
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
5116
|
-
const fixedContent = [].slice.call(document.querySelectorAll(
|
5117
|
-
const stickyContent = [].slice.call(document.querySelectorAll(
|
4576
|
+
const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
|
4577
|
+
const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT));
|
5118
4578
|
|
5119
4579
|
// Adjust fixed content padding
|
5120
4580
|
$(fixedContent).each((index, element) => {
|
@@ -5142,12 +4602,12 @@
|
|
5142
4602
|
.css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`);
|
5143
4603
|
}
|
5144
4604
|
|
5145
|
-
$(document.body).addClass(
|
4605
|
+
$(document.body).addClass(CLASS_NAME_OPEN);
|
5146
4606
|
}
|
5147
4607
|
|
5148
4608
|
_resetScrollbar() {
|
5149
4609
|
// Restore fixed content padding
|
5150
|
-
const fixedContent = [].slice.call(document.querySelectorAll(
|
4610
|
+
const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
|
5151
4611
|
$(fixedContent).each((index, element) => {
|
5152
4612
|
const padding = $(element).data('padding-right');
|
5153
4613
|
$(element).removeData('padding-right');
|
@@ -5155,7 +4615,7 @@
|
|
5155
4615
|
});
|
5156
4616
|
|
5157
4617
|
// Restore sticky content
|
5158
|
-
const elements = [].slice.call(document.querySelectorAll(`${
|
4618
|
+
const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`));
|
5159
4619
|
$(elements).each((index, element) => {
|
5160
4620
|
const margin = $(element).data('margin-right');
|
5161
4621
|
if (typeof margin !== 'undefined') {
|
@@ -5171,7 +4631,7 @@
|
|
5171
4631
|
|
5172
4632
|
_getScrollbarWidth() { // thx d.walsh
|
5173
4633
|
const scrollDiv = document.createElement('div');
|
5174
|
-
scrollDiv.className =
|
4634
|
+
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
|
5175
4635
|
document.body.appendChild(scrollDiv);
|
5176
4636
|
const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
|
5177
4637
|
document.body.removeChild(scrollDiv);
|
@@ -5182,16 +4642,16 @@
|
|
5182
4642
|
|
5183
4643
|
static _jQueryInterface(config, relatedTarget) {
|
5184
4644
|
return this.each(function () {
|
5185
|
-
let data = $(this).data(DATA_KEY$
|
4645
|
+
let data = $(this).data(DATA_KEY$4);
|
5186
4646
|
const _config = {
|
5187
|
-
...Default$
|
4647
|
+
...Default$2,
|
5188
4648
|
...$(this).data(),
|
5189
4649
|
...typeof config === 'object' && config ? config : {}
|
5190
4650
|
};
|
5191
4651
|
|
5192
4652
|
if (!data) {
|
5193
4653
|
data = new Modal(this, _config);
|
5194
|
-
$(this).data(DATA_KEY$
|
4654
|
+
$(this).data(DATA_KEY$4, data);
|
5195
4655
|
}
|
5196
4656
|
|
5197
4657
|
if (typeof config === 'string') {
|
@@ -5212,7 +4672,7 @@
|
|
5212
4672
|
* ------------------------------------------------------------------------
|
5213
4673
|
*/
|
5214
4674
|
|
5215
|
-
$(document).on(
|
4675
|
+
$(document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
|
5216
4676
|
let target;
|
5217
4677
|
const selector = Util.getSelectorFromElement(this);
|
5218
4678
|
|
@@ -5220,7 +4680,7 @@
|
|
5220
4680
|
target = document.querySelector(selector);
|
5221
4681
|
}
|
5222
4682
|
|
5223
|
-
const config = $(target).data(DATA_KEY$
|
4683
|
+
const config = $(target).data(DATA_KEY$4)
|
5224
4684
|
? 'toggle' : {
|
5225
4685
|
...$(target).data(),
|
5226
4686
|
...$(this).data()
|
@@ -5230,13 +4690,13 @@
|
|
5230
4690
|
event.preventDefault();
|
5231
4691
|
}
|
5232
4692
|
|
5233
|
-
const $target = $(target).one(
|
4693
|
+
const $target = $(target).one(EVENT_SHOW$2, (showEvent) => {
|
5234
4694
|
if (showEvent.isDefaultPrevented()) {
|
5235
4695
|
// Only register focus restorer if modal will actually get shown
|
5236
4696
|
return
|
5237
4697
|
}
|
5238
4698
|
|
5239
|
-
$target.one(
|
4699
|
+
$target.one(EVENT_HIDDEN$2, () => {
|
5240
4700
|
if ($(this).is(':visible')) {
|
5241
4701
|
this.focus();
|
5242
4702
|
}
|
@@ -5252,17 +4712,17 @@
|
|
5252
4712
|
* ------------------------------------------------------------------------
|
5253
4713
|
*/
|
5254
4714
|
|
5255
|
-
$.fn[NAME$
|
5256
|
-
$.fn[NAME$
|
5257
|
-
$.fn[NAME$
|
5258
|
-
$.fn[NAME$
|
4715
|
+
$.fn[NAME$4] = Modal._jQueryInterface;
|
4716
|
+
$.fn[NAME$4].Constructor = Modal;
|
4717
|
+
$.fn[NAME$4].noConflict = () => {
|
4718
|
+
$.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
|
5259
4719
|
return Modal._jQueryInterface
|
5260
4720
|
};
|
5261
4721
|
|
5262
4722
|
/**
|
5263
4723
|
* --------------------------------------------------------------------------
|
5264
|
-
* Bootstrap (v4.
|
5265
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
4724
|
+
* Bootstrap (v4.5.2): tools/sanitizer.js
|
4725
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5266
4726
|
* --------------------------------------------------------------------------
|
5267
4727
|
*/
|
5268
4728
|
|
@@ -5298,7 +4758,7 @@
|
|
5298
4758
|
h5: [],
|
5299
4759
|
h6: [],
|
5300
4760
|
i: [],
|
5301
|
-
img: ['src', 'alt', 'title', 'width', 'height'],
|
4761
|
+
img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
|
5302
4762
|
li: [],
|
5303
4763
|
ol: [],
|
5304
4764
|
p: [],
|
@@ -5318,14 +4778,14 @@
|
|
5318
4778
|
*
|
5319
4779
|
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
5320
4780
|
*/
|
5321
|
-
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[
|
4781
|
+
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
|
5322
4782
|
|
5323
4783
|
/**
|
5324
4784
|
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
5325
4785
|
*
|
5326
4786
|
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
5327
4787
|
*/
|
5328
|
-
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-
|
4788
|
+
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
5329
4789
|
|
5330
4790
|
function allowedAttribute(attr, allowedAttributeList) {
|
5331
4791
|
const attrName = attr.nodeName.toLowerCase();
|
@@ -5341,7 +4801,7 @@
|
|
5341
4801
|
const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp);
|
5342
4802
|
|
5343
4803
|
// Check if a regular expression validates the attribute.
|
5344
|
-
for (let i = 0,
|
4804
|
+
for (let i = 0, len = regExp.length; i < len; i++) {
|
5345
4805
|
if (attrName.match(regExp[i])) {
|
5346
4806
|
return true
|
5347
4807
|
}
|
@@ -5389,8 +4849,8 @@
|
|
5389
4849
|
|
5390
4850
|
/**
|
5391
4851
|
* --------------------------------------------------------------------------
|
5392
|
-
* Bootstrap (v4.
|
5393
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
4852
|
+
* Bootstrap (v4.5.2): tooltip.js
|
4853
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5394
4854
|
* --------------------------------------------------------------------------
|
5395
4855
|
*/
|
5396
4856
|
|
@@ -5400,16 +4860,16 @@
|
|
5400
4860
|
* ------------------------------------------------------------------------
|
5401
4861
|
*/
|
5402
4862
|
|
5403
|
-
const NAME$
|
5404
|
-
const VERSION$
|
5405
|
-
const DATA_KEY$
|
5406
|
-
const EVENT_KEY$
|
5407
|
-
const JQUERY_NO_CONFLICT$
|
4863
|
+
const NAME$5 = 'tooltip';
|
4864
|
+
const VERSION$5 = '4.5.2';
|
4865
|
+
const DATA_KEY$5 = 'bs.tooltip';
|
4866
|
+
const EVENT_KEY$5 = `.${DATA_KEY$5}`;
|
4867
|
+
const JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
|
5408
4868
|
const CLASS_PREFIX = 'bs-tooltip';
|
5409
4869
|
const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g');
|
5410
4870
|
const DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
|
5411
4871
|
|
5412
|
-
const DefaultType$
|
4872
|
+
const DefaultType$3 = {
|
5413
4873
|
animation : 'boolean',
|
5414
4874
|
template : 'string',
|
5415
4875
|
title : '(string|element|function)',
|
@@ -5424,10 +4884,11 @@
|
|
5424
4884
|
boundary : '(string|element)',
|
5425
4885
|
sanitize : 'boolean',
|
5426
4886
|
sanitizeFn : '(null|function)',
|
5427
|
-
whiteList : 'object'
|
4887
|
+
whiteList : 'object',
|
4888
|
+
popperConfig : '(null|object)'
|
5428
4889
|
};
|
5429
4890
|
|
5430
|
-
const AttachmentMap
|
4891
|
+
const AttachmentMap = {
|
5431
4892
|
AUTO : 'auto',
|
5432
4893
|
TOP : 'top',
|
5433
4894
|
RIGHT : 'right',
|
@@ -5435,7 +4896,7 @@
|
|
5435
4896
|
LEFT : 'left'
|
5436
4897
|
};
|
5437
4898
|
|
5438
|
-
const Default$
|
4899
|
+
const Default$3 = {
|
5439
4900
|
animation : true,
|
5440
4901
|
template : '<div class="tooltip" role="tooltip">' +
|
5441
4902
|
'<div class="arrow"></div>' +
|
@@ -5450,47 +4911,38 @@
|
|
5450
4911
|
container : false,
|
5451
4912
|
fallbackPlacement : 'flip',
|
5452
4913
|
boundary : 'scrollParent',
|
5453
|
-
sanitize : true,
|
5454
|
-
sanitizeFn : null,
|
5455
|
-
whiteList : DefaultWhitelist
|
5456
|
-
|
5457
|
-
|
5458
|
-
const HoverState = {
|
5459
|
-
SHOW : 'show',
|
5460
|
-
OUT : 'out'
|
5461
|
-
};
|
5462
|
-
|
5463
|
-
const Event$6 = {
|
5464
|
-
HIDE : `hide${EVENT_KEY$6}`,
|
5465
|
-
HIDDEN : `hidden${EVENT_KEY$6}`,
|
5466
|
-
SHOW : `show${EVENT_KEY$6}`,
|
5467
|
-
SHOWN : `shown${EVENT_KEY$6}`,
|
5468
|
-
INSERTED : `inserted${EVENT_KEY$6}`,
|
5469
|
-
CLICK : `click${EVENT_KEY$6}`,
|
5470
|
-
FOCUSIN : `focusin${EVENT_KEY$6}`,
|
5471
|
-
FOCUSOUT : `focusout${EVENT_KEY$6}`,
|
5472
|
-
MOUSEENTER : `mouseenter${EVENT_KEY$6}`,
|
5473
|
-
MOUSELEAVE : `mouseleave${EVENT_KEY$6}`
|
4914
|
+
sanitize : true,
|
4915
|
+
sanitizeFn : null,
|
4916
|
+
whiteList : DefaultWhitelist,
|
4917
|
+
popperConfig : null
|
5474
4918
|
};
|
5475
4919
|
|
5476
|
-
const
|
5477
|
-
|
5478
|
-
SHOW : 'show'
|
5479
|
-
};
|
4920
|
+
const HOVER_STATE_SHOW = 'show';
|
4921
|
+
const HOVER_STATE_OUT = 'out';
|
5480
4922
|
|
5481
|
-
const
|
5482
|
-
|
5483
|
-
|
5484
|
-
|
4923
|
+
const Event = {
|
4924
|
+
HIDE : `hide${EVENT_KEY$5}`,
|
4925
|
+
HIDDEN : `hidden${EVENT_KEY$5}`,
|
4926
|
+
SHOW : `show${EVENT_KEY$5}`,
|
4927
|
+
SHOWN : `shown${EVENT_KEY$5}`,
|
4928
|
+
INSERTED : `inserted${EVENT_KEY$5}`,
|
4929
|
+
CLICK : `click${EVENT_KEY$5}`,
|
4930
|
+
FOCUSIN : `focusin${EVENT_KEY$5}`,
|
4931
|
+
FOCUSOUT : `focusout${EVENT_KEY$5}`,
|
4932
|
+
MOUSEENTER : `mouseenter${EVENT_KEY$5}`,
|
4933
|
+
MOUSELEAVE : `mouseleave${EVENT_KEY$5}`
|
5485
4934
|
};
|
5486
4935
|
|
5487
|
-
const
|
5488
|
-
|
5489
|
-
|
5490
|
-
|
5491
|
-
|
5492
|
-
};
|
4936
|
+
const CLASS_NAME_FADE$2 = 'fade';
|
4937
|
+
const CLASS_NAME_SHOW$4 = 'show';
|
4938
|
+
|
4939
|
+
const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
|
4940
|
+
const SELECTOR_ARROW = '.arrow';
|
5493
4941
|
|
4942
|
+
const TRIGGER_HOVER = 'hover';
|
4943
|
+
const TRIGGER_FOCUS = 'focus';
|
4944
|
+
const TRIGGER_CLICK = 'click';
|
4945
|
+
const TRIGGER_MANUAL = 'manual';
|
5494
4946
|
|
5495
4947
|
/**
|
5496
4948
|
* ------------------------------------------------------------------------
|
@@ -5500,10 +4952,6 @@
|
|
5500
4952
|
|
5501
4953
|
class Tooltip {
|
5502
4954
|
constructor(element, config) {
|
5503
|
-
/**
|
5504
|
-
* Check for Popper dependency
|
5505
|
-
* Popper - https://popper.js.org
|
5506
|
-
*/
|
5507
4955
|
if (typeof Popper === 'undefined') {
|
5508
4956
|
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)')
|
5509
4957
|
}
|
@@ -5526,31 +4974,31 @@
|
|
5526
4974
|
// Getters
|
5527
4975
|
|
5528
4976
|
static get VERSION() {
|
5529
|
-
return VERSION$
|
4977
|
+
return VERSION$5
|
5530
4978
|
}
|
5531
4979
|
|
5532
4980
|
static get Default() {
|
5533
|
-
return Default$
|
4981
|
+
return Default$3
|
5534
4982
|
}
|
5535
4983
|
|
5536
4984
|
static get NAME() {
|
5537
|
-
return NAME$
|
4985
|
+
return NAME$5
|
5538
4986
|
}
|
5539
4987
|
|
5540
4988
|
static get DATA_KEY() {
|
5541
|
-
return DATA_KEY$
|
4989
|
+
return DATA_KEY$5
|
5542
4990
|
}
|
5543
4991
|
|
5544
4992
|
static get Event() {
|
5545
|
-
return Event
|
4993
|
+
return Event
|
5546
4994
|
}
|
5547
4995
|
|
5548
4996
|
static get EVENT_KEY() {
|
5549
|
-
return EVENT_KEY$
|
4997
|
+
return EVENT_KEY$5
|
5550
4998
|
}
|
5551
4999
|
|
5552
5000
|
static get DefaultType() {
|
5553
|
-
return DefaultType$
|
5001
|
+
return DefaultType$3
|
5554
5002
|
}
|
5555
5003
|
|
5556
5004
|
// Public
|
@@ -5592,7 +5040,7 @@
|
|
5592
5040
|
context._leave(null, context);
|
5593
5041
|
}
|
5594
5042
|
} else {
|
5595
|
-
if ($(this.getTipElement()).hasClass(
|
5043
|
+
if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
|
5596
5044
|
this._leave(null, this);
|
5597
5045
|
return
|
5598
5046
|
}
|
@@ -5607,7 +5055,7 @@
|
|
5607
5055
|
$.removeData(this.element, this.constructor.DATA_KEY);
|
5608
5056
|
|
5609
5057
|
$(this.element).off(this.constructor.EVENT_KEY);
|
5610
|
-
$(this.element).closest('.modal').off('hide.bs.modal');
|
5058
|
+
$(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
|
5611
5059
|
|
5612
5060
|
if (this.tip) {
|
5613
5061
|
$(this.tip).remove();
|
@@ -5617,7 +5065,7 @@
|
|
5617
5065
|
this._timeout = null;
|
5618
5066
|
this._hoverState = null;
|
5619
5067
|
this._activeTrigger = null;
|
5620
|
-
if (this._popper
|
5068
|
+
if (this._popper) {
|
5621
5069
|
this._popper.destroy();
|
5622
5070
|
}
|
5623
5071
|
|
@@ -5655,7 +5103,7 @@
|
|
5655
5103
|
this.setContent();
|
5656
5104
|
|
5657
5105
|
if (this.config.animation) {
|
5658
|
-
$(tip).addClass(
|
5106
|
+
$(tip).addClass(CLASS_NAME_FADE$2);
|
5659
5107
|
}
|
5660
5108
|
|
5661
5109
|
const placement = typeof this.config.placement === 'function'
|
@@ -5674,29 +5122,9 @@
|
|
5674
5122
|
|
5675
5123
|
$(this.element).trigger(this.constructor.Event.INSERTED);
|
5676
5124
|
|
5677
|
-
this._popper = new Popper(this.element, tip,
|
5678
|
-
placement: attachment,
|
5679
|
-
modifiers: {
|
5680
|
-
offset: this._getOffset(),
|
5681
|
-
flip: {
|
5682
|
-
behavior: this.config.fallbackPlacement
|
5683
|
-
},
|
5684
|
-
arrow: {
|
5685
|
-
element: Selector$6.ARROW
|
5686
|
-
},
|
5687
|
-
preventOverflow: {
|
5688
|
-
boundariesElement: this.config.boundary
|
5689
|
-
}
|
5690
|
-
},
|
5691
|
-
onCreate: (data) => {
|
5692
|
-
if (data.originalPlacement !== data.placement) {
|
5693
|
-
this._handlePopperPlacementChange(data);
|
5694
|
-
}
|
5695
|
-
},
|
5696
|
-
onUpdate: (data) => this._handlePopperPlacementChange(data)
|
5697
|
-
});
|
5125
|
+
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
|
5698
5126
|
|
5699
|
-
$(tip).addClass(
|
5127
|
+
$(tip).addClass(CLASS_NAME_SHOW$4);
|
5700
5128
|
|
5701
5129
|
// If this is a touch-enabled device we add extra
|
5702
5130
|
// empty mouseover listeners to the body's immediate children;
|
@@ -5715,12 +5143,12 @@
|
|
5715
5143
|
|
5716
5144
|
$(this.element).trigger(this.constructor.Event.SHOWN);
|
5717
5145
|
|
5718
|
-
if (prevHoverState ===
|
5146
|
+
if (prevHoverState === HOVER_STATE_OUT) {
|
5719
5147
|
this._leave(null, this);
|
5720
5148
|
}
|
5721
5149
|
};
|
5722
5150
|
|
5723
|
-
if ($(this.tip).hasClass(
|
5151
|
+
if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
|
5724
5152
|
const transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
5725
5153
|
|
5726
5154
|
$(this.tip)
|
@@ -5736,7 +5164,7 @@
|
|
5736
5164
|
const tip = this.getTipElement();
|
5737
5165
|
const hideEvent = $.Event(this.constructor.Event.HIDE);
|
5738
5166
|
const complete = () => {
|
5739
|
-
if (this._hoverState !==
|
5167
|
+
if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
|
5740
5168
|
tip.parentNode.removeChild(tip);
|
5741
5169
|
}
|
5742
5170
|
|
@@ -5758,7 +5186,7 @@
|
|
5758
5186
|
return
|
5759
5187
|
}
|
5760
5188
|
|
5761
|
-
$(tip).removeClass(
|
5189
|
+
$(tip).removeClass(CLASS_NAME_SHOW$4);
|
5762
5190
|
|
5763
5191
|
// If this is a touch-enabled device we remove the extra
|
5764
5192
|
// empty mouseover listeners we added for iOS support
|
@@ -5766,11 +5194,11 @@
|
|
5766
5194
|
$(document.body).children().off('mouseover', null, $.noop);
|
5767
5195
|
}
|
5768
5196
|
|
5769
|
-
this._activeTrigger[
|
5770
|
-
this._activeTrigger[
|
5771
|
-
this._activeTrigger[
|
5197
|
+
this._activeTrigger[TRIGGER_CLICK] = false;
|
5198
|
+
this._activeTrigger[TRIGGER_FOCUS] = false;
|
5199
|
+
this._activeTrigger[TRIGGER_HOVER] = false;
|
5772
5200
|
|
5773
|
-
if ($(this.tip).hasClass(
|
5201
|
+
if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
|
5774
5202
|
const transitionDuration = Util.getTransitionDurationFromElement(tip);
|
5775
5203
|
|
5776
5204
|
$(tip)
|
@@ -5806,8 +5234,8 @@
|
|
5806
5234
|
|
5807
5235
|
setContent() {
|
5808
5236
|
const tip = this.getTipElement();
|
5809
|
-
this.setElementContent($(tip.querySelectorAll(
|
5810
|
-
$(tip).removeClass(`${
|
5237
|
+
this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
|
5238
|
+
$(tip).removeClass(`${CLASS_NAME_FADE$2} ${CLASS_NAME_SHOW$4}`);
|
5811
5239
|
}
|
5812
5240
|
|
5813
5241
|
setElementContent($element, content) {
|
@@ -5849,6 +5277,35 @@
|
|
5849
5277
|
|
5850
5278
|
// Private
|
5851
5279
|
|
5280
|
+
_getPopperConfig(attachment) {
|
5281
|
+
const defaultBsConfig = {
|
5282
|
+
placement: attachment,
|
5283
|
+
modifiers: {
|
5284
|
+
offset: this._getOffset(),
|
5285
|
+
flip: {
|
5286
|
+
behavior: this.config.fallbackPlacement
|
5287
|
+
},
|
5288
|
+
arrow: {
|
5289
|
+
element: SELECTOR_ARROW
|
5290
|
+
},
|
5291
|
+
preventOverflow: {
|
5292
|
+
boundariesElement: this.config.boundary
|
5293
|
+
}
|
5294
|
+
},
|
5295
|
+
onCreate: (data) => {
|
5296
|
+
if (data.originalPlacement !== data.placement) {
|
5297
|
+
this._handlePopperPlacementChange(data);
|
5298
|
+
}
|
5299
|
+
},
|
5300
|
+
onUpdate: (data) => this._handlePopperPlacementChange(data)
|
5301
|
+
};
|
5302
|
+
|
5303
|
+
return {
|
5304
|
+
...defaultBsConfig,
|
5305
|
+
...this.config.popperConfig
|
5306
|
+
}
|
5307
|
+
}
|
5308
|
+
|
5852
5309
|
_getOffset() {
|
5853
5310
|
const offset = {};
|
5854
5311
|
|
@@ -5881,7 +5338,7 @@
|
|
5881
5338
|
}
|
5882
5339
|
|
5883
5340
|
_getAttachment(placement) {
|
5884
|
-
return AttachmentMap
|
5341
|
+
return AttachmentMap[placement.toUpperCase()]
|
5885
5342
|
}
|
5886
5343
|
|
5887
5344
|
_setListeners() {
|
@@ -5894,36 +5351,27 @@
|
|
5894
5351
|
this.config.selector,
|
5895
5352
|
(event) => this.toggle(event)
|
5896
5353
|
);
|
5897
|
-
} else if (trigger !==
|
5898
|
-
const eventIn = trigger ===
|
5354
|
+
} else if (trigger !== TRIGGER_MANUAL) {
|
5355
|
+
const eventIn = trigger === TRIGGER_HOVER
|
5899
5356
|
? this.constructor.Event.MOUSEENTER
|
5900
5357
|
: this.constructor.Event.FOCUSIN;
|
5901
|
-
const eventOut = trigger ===
|
5358
|
+
const eventOut = trigger === TRIGGER_HOVER
|
5902
5359
|
? this.constructor.Event.MOUSELEAVE
|
5903
5360
|
: this.constructor.Event.FOCUSOUT;
|
5904
5361
|
|
5905
5362
|
$(this.element)
|
5906
|
-
.on(
|
5907
|
-
|
5908
|
-
this.config.selector,
|
5909
|
-
(event) => this._enter(event)
|
5910
|
-
)
|
5911
|
-
.on(
|
5912
|
-
eventOut,
|
5913
|
-
this.config.selector,
|
5914
|
-
(event) => this._leave(event)
|
5915
|
-
);
|
5363
|
+
.on(eventIn, this.config.selector, (event) => this._enter(event))
|
5364
|
+
.on(eventOut, this.config.selector, (event) => this._leave(event));
|
5916
5365
|
}
|
5917
5366
|
});
|
5918
5367
|
|
5919
|
-
|
5920
|
-
|
5921
|
-
|
5922
|
-
if (this.element) {
|
5923
|
-
this.hide();
|
5924
|
-
}
|
5368
|
+
this._hideModalHandler = () => {
|
5369
|
+
if (this.element) {
|
5370
|
+
this.hide();
|
5925
5371
|
}
|
5926
|
-
|
5372
|
+
};
|
5373
|
+
|
5374
|
+
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
|
5927
5375
|
|
5928
5376
|
if (this.config.selector) {
|
5929
5377
|
this.config = {
|
@@ -5963,18 +5411,18 @@
|
|
5963
5411
|
|
5964
5412
|
if (event) {
|
5965
5413
|
context._activeTrigger[
|
5966
|
-
event.type === 'focusin' ?
|
5414
|
+
event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER
|
5967
5415
|
] = true;
|
5968
5416
|
}
|
5969
5417
|
|
5970
|
-
if ($(context.getTipElement()).hasClass(
|
5971
|
-
context._hoverState =
|
5418
|
+
if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
|
5419
|
+
context._hoverState = HOVER_STATE_SHOW;
|
5972
5420
|
return
|
5973
5421
|
}
|
5974
5422
|
|
5975
5423
|
clearTimeout(context._timeout);
|
5976
5424
|
|
5977
|
-
context._hoverState =
|
5425
|
+
context._hoverState = HOVER_STATE_SHOW;
|
5978
5426
|
|
5979
5427
|
if (!context.config.delay || !context.config.delay.show) {
|
5980
5428
|
context.show();
|
@@ -5982,7 +5430,7 @@
|
|
5982
5430
|
}
|
5983
5431
|
|
5984
5432
|
context._timeout = setTimeout(() => {
|
5985
|
-
if (context._hoverState ===
|
5433
|
+
if (context._hoverState === HOVER_STATE_SHOW) {
|
5986
5434
|
context.show();
|
5987
5435
|
}
|
5988
5436
|
}, context.config.delay.show);
|
@@ -6002,7 +5450,7 @@
|
|
6002
5450
|
|
6003
5451
|
if (event) {
|
6004
5452
|
context._activeTrigger[
|
6005
|
-
event.type === 'focusout' ?
|
5453
|
+
event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER
|
6006
5454
|
] = false;
|
6007
5455
|
}
|
6008
5456
|
|
@@ -6012,7 +5460,7 @@
|
|
6012
5460
|
|
6013
5461
|
clearTimeout(context._timeout);
|
6014
5462
|
|
6015
|
-
context._hoverState =
|
5463
|
+
context._hoverState = HOVER_STATE_OUT;
|
6016
5464
|
|
6017
5465
|
if (!context.config.delay || !context.config.delay.hide) {
|
6018
5466
|
context.hide();
|
@@ -6020,7 +5468,7 @@
|
|
6020
5468
|
}
|
6021
5469
|
|
6022
5470
|
context._timeout = setTimeout(() => {
|
6023
|
-
if (context._hoverState ===
|
5471
|
+
if (context._hoverState === HOVER_STATE_OUT) {
|
6024
5472
|
context.hide();
|
6025
5473
|
}
|
6026
5474
|
}, context.config.delay.hide);
|
@@ -6068,7 +5516,7 @@
|
|
6068
5516
|
}
|
6069
5517
|
|
6070
5518
|
Util.typeCheckConfig(
|
6071
|
-
NAME$
|
5519
|
+
NAME$5,
|
6072
5520
|
config,
|
6073
5521
|
this.constructor.DefaultType
|
6074
5522
|
);
|
@@ -6103,8 +5551,7 @@
|
|
6103
5551
|
}
|
6104
5552
|
|
6105
5553
|
_handlePopperPlacementChange(popperData) {
|
6106
|
-
|
6107
|
-
this.tip = popperInstance.popper;
|
5554
|
+
this.tip = popperData.instance.popper;
|
6108
5555
|
this._cleanTipClass();
|
6109
5556
|
this.addAttachmentClass(this._getAttachment(popperData.placement));
|
6110
5557
|
}
|
@@ -6117,7 +5564,7 @@
|
|
6117
5564
|
return
|
6118
5565
|
}
|
6119
5566
|
|
6120
|
-
$(tip).removeClass(
|
5567
|
+
$(tip).removeClass(CLASS_NAME_FADE$2);
|
6121
5568
|
this.config.animation = false;
|
6122
5569
|
this.hide();
|
6123
5570
|
this.show();
|
@@ -6128,7 +5575,7 @@
|
|
6128
5575
|
|
6129
5576
|
static _jQueryInterface(config) {
|
6130
5577
|
return this.each(function () {
|
6131
|
-
let data = $(this).data(DATA_KEY$
|
5578
|
+
let data = $(this).data(DATA_KEY$5);
|
6132
5579
|
const _config = typeof config === 'object' && config;
|
6133
5580
|
|
6134
5581
|
if (!data && /dispose|hide/.test(config)) {
|
@@ -6137,7 +5584,7 @@
|
|
6137
5584
|
|
6138
5585
|
if (!data) {
|
6139
5586
|
data = new Tooltip(this, _config);
|
6140
|
-
$(this).data(DATA_KEY$
|
5587
|
+
$(this).data(DATA_KEY$5, data);
|
6141
5588
|
}
|
6142
5589
|
|
6143
5590
|
if (typeof config === 'string') {
|
@@ -6156,17 +5603,17 @@
|
|
6156
5603
|
* ------------------------------------------------------------------------
|
6157
5604
|
*/
|
6158
5605
|
|
6159
|
-
$.fn[NAME$
|
6160
|
-
$.fn[NAME$
|
6161
|
-
$.fn[NAME$
|
6162
|
-
$.fn[NAME$
|
5606
|
+
$.fn[NAME$5] = Tooltip._jQueryInterface;
|
5607
|
+
$.fn[NAME$5].Constructor = Tooltip;
|
5608
|
+
$.fn[NAME$5].noConflict = () => {
|
5609
|
+
$.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
|
6163
5610
|
return Tooltip._jQueryInterface
|
6164
5611
|
};
|
6165
5612
|
|
6166
5613
|
/**
|
6167
5614
|
* --------------------------------------------------------------------------
|
6168
|
-
* Bootstrap (v4.
|
6169
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
5615
|
+
* Bootstrap (v4.5.2): popover.js
|
5616
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6170
5617
|
* --------------------------------------------------------------------------
|
6171
5618
|
*/
|
6172
5619
|
|
@@ -6176,15 +5623,15 @@
|
|
6176
5623
|
* ------------------------------------------------------------------------
|
6177
5624
|
*/
|
6178
5625
|
|
6179
|
-
const NAME$
|
6180
|
-
const VERSION$
|
6181
|
-
const DATA_KEY$
|
6182
|
-
const EVENT_KEY$
|
6183
|
-
const JQUERY_NO_CONFLICT$
|
5626
|
+
const NAME$6 = 'popover';
|
5627
|
+
const VERSION$6 = '4.5.2';
|
5628
|
+
const DATA_KEY$6 = 'bs.popover';
|
5629
|
+
const EVENT_KEY$6 = `.${DATA_KEY$6}`;
|
5630
|
+
const JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
|
6184
5631
|
const CLASS_PREFIX$1 = 'bs-popover';
|
6185
5632
|
const BSCLS_PREFIX_REGEX$1 = new RegExp(`(^|\\s)${CLASS_PREFIX$1}\\S+`, 'g');
|
6186
5633
|
|
6187
|
-
const Default$
|
5634
|
+
const Default$4 = {
|
6188
5635
|
...Tooltip.Default,
|
6189
5636
|
placement : 'right',
|
6190
5637
|
trigger : 'click',
|
@@ -6195,32 +5642,28 @@
|
|
6195
5642
|
'<div class="popover-body"></div></div>'
|
6196
5643
|
};
|
6197
5644
|
|
6198
|
-
const DefaultType$
|
5645
|
+
const DefaultType$4 = {
|
6199
5646
|
...Tooltip.DefaultType,
|
6200
5647
|
content : '(string|element|function)'
|
6201
5648
|
};
|
6202
5649
|
|
6203
|
-
const
|
6204
|
-
|
6205
|
-
SHOW : 'show'
|
6206
|
-
};
|
5650
|
+
const CLASS_NAME_FADE$3 = 'fade';
|
5651
|
+
const CLASS_NAME_SHOW$5 = 'show';
|
6207
5652
|
|
6208
|
-
const
|
6209
|
-
|
6210
|
-
CONTENT : '.popover-body'
|
6211
|
-
};
|
5653
|
+
const SELECTOR_TITLE = '.popover-header';
|
5654
|
+
const SELECTOR_CONTENT = '.popover-body';
|
6212
5655
|
|
6213
|
-
const Event$
|
6214
|
-
HIDE : `hide${EVENT_KEY$
|
6215
|
-
HIDDEN : `hidden${EVENT_KEY$
|
6216
|
-
SHOW : `show${EVENT_KEY$
|
6217
|
-
SHOWN : `shown${EVENT_KEY$
|
6218
|
-
INSERTED : `inserted${EVENT_KEY$
|
6219
|
-
CLICK : `click${EVENT_KEY$
|
6220
|
-
FOCUSIN : `focusin${EVENT_KEY$
|
6221
|
-
FOCUSOUT : `focusout${EVENT_KEY$
|
6222
|
-
MOUSEENTER : `mouseenter${EVENT_KEY$
|
6223
|
-
MOUSELEAVE : `mouseleave${EVENT_KEY$
|
5656
|
+
const Event$1 = {
|
5657
|
+
HIDE : `hide${EVENT_KEY$6}`,
|
5658
|
+
HIDDEN : `hidden${EVENT_KEY$6}`,
|
5659
|
+
SHOW : `show${EVENT_KEY$6}`,
|
5660
|
+
SHOWN : `shown${EVENT_KEY$6}`,
|
5661
|
+
INSERTED : `inserted${EVENT_KEY$6}`,
|
5662
|
+
CLICK : `click${EVENT_KEY$6}`,
|
5663
|
+
FOCUSIN : `focusin${EVENT_KEY$6}`,
|
5664
|
+
FOCUSOUT : `focusout${EVENT_KEY$6}`,
|
5665
|
+
MOUSEENTER : `mouseenter${EVENT_KEY$6}`,
|
5666
|
+
MOUSELEAVE : `mouseleave${EVENT_KEY$6}`
|
6224
5667
|
};
|
6225
5668
|
|
6226
5669
|
/**
|
@@ -6233,31 +5676,31 @@
|
|
6233
5676
|
// Getters
|
6234
5677
|
|
6235
5678
|
static get VERSION() {
|
6236
|
-
return VERSION$
|
5679
|
+
return VERSION$6
|
6237
5680
|
}
|
6238
5681
|
|
6239
5682
|
static get Default() {
|
6240
|
-
return Default$
|
5683
|
+
return Default$4
|
6241
5684
|
}
|
6242
5685
|
|
6243
5686
|
static get NAME() {
|
6244
|
-
return NAME$
|
5687
|
+
return NAME$6
|
6245
5688
|
}
|
6246
5689
|
|
6247
5690
|
static get DATA_KEY() {
|
6248
|
-
return DATA_KEY$
|
5691
|
+
return DATA_KEY$6
|
6249
5692
|
}
|
6250
5693
|
|
6251
5694
|
static get Event() {
|
6252
|
-
return Event$
|
5695
|
+
return Event$1
|
6253
5696
|
}
|
6254
5697
|
|
6255
5698
|
static get EVENT_KEY() {
|
6256
|
-
return EVENT_KEY$
|
5699
|
+
return EVENT_KEY$6
|
6257
5700
|
}
|
6258
5701
|
|
6259
5702
|
static get DefaultType() {
|
6260
|
-
return DefaultType$
|
5703
|
+
return DefaultType$4
|
6261
5704
|
}
|
6262
5705
|
|
6263
5706
|
// Overrides
|
@@ -6279,14 +5722,14 @@
|
|
6279
5722
|
const $tip = $(this.getTipElement());
|
6280
5723
|
|
6281
5724
|
// We use append for html objects to maintain js events
|
6282
|
-
this.setElementContent($tip.find(
|
5725
|
+
this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
|
6283
5726
|
let content = this._getContent();
|
6284
5727
|
if (typeof content === 'function') {
|
6285
5728
|
content = content.call(this.element);
|
6286
5729
|
}
|
6287
|
-
this.setElementContent($tip.find(
|
5730
|
+
this.setElementContent($tip.find(SELECTOR_CONTENT), content);
|
6288
5731
|
|
6289
|
-
$tip.removeClass(`${
|
5732
|
+
$tip.removeClass(`${CLASS_NAME_FADE$3} ${CLASS_NAME_SHOW$5}`);
|
6290
5733
|
}
|
6291
5734
|
|
6292
5735
|
// Private
|
@@ -6308,7 +5751,7 @@
|
|
6308
5751
|
|
6309
5752
|
static _jQueryInterface(config) {
|
6310
5753
|
return this.each(function () {
|
6311
|
-
let data = $(this).data(DATA_KEY$
|
5754
|
+
let data = $(this).data(DATA_KEY$6);
|
6312
5755
|
const _config = typeof config === 'object' ? config : null;
|
6313
5756
|
|
6314
5757
|
if (!data && /dispose|hide/.test(config)) {
|
@@ -6317,7 +5760,7 @@
|
|
6317
5760
|
|
6318
5761
|
if (!data) {
|
6319
5762
|
data = new Popover(this, _config);
|
6320
|
-
$(this).data(DATA_KEY$
|
5763
|
+
$(this).data(DATA_KEY$6, data);
|
6321
5764
|
}
|
6322
5765
|
|
6323
5766
|
if (typeof config === 'string') {
|
@@ -6336,17 +5779,17 @@
|
|
6336
5779
|
* ------------------------------------------------------------------------
|
6337
5780
|
*/
|
6338
5781
|
|
6339
|
-
$.fn[NAME$
|
6340
|
-
$.fn[NAME$
|
6341
|
-
$.fn[NAME$
|
6342
|
-
$.fn[NAME$
|
5782
|
+
$.fn[NAME$6] = Popover._jQueryInterface;
|
5783
|
+
$.fn[NAME$6].Constructor = Popover;
|
5784
|
+
$.fn[NAME$6].noConflict = () => {
|
5785
|
+
$.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
|
6343
5786
|
return Popover._jQueryInterface
|
6344
5787
|
};
|
6345
5788
|
|
6346
5789
|
/**
|
6347
5790
|
* --------------------------------------------------------------------------
|
6348
|
-
* Bootstrap (v4.
|
6349
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
5791
|
+
* Bootstrap (v4.5.2): scrollspy.js
|
5792
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6350
5793
|
* --------------------------------------------------------------------------
|
6351
5794
|
*/
|
6352
5795
|
|
@@ -6356,53 +5799,43 @@
|
|
6356
5799
|
* ------------------------------------------------------------------------
|
6357
5800
|
*/
|
6358
5801
|
|
6359
|
-
const NAME$
|
6360
|
-
const VERSION$
|
6361
|
-
const DATA_KEY$
|
6362
|
-
const EVENT_KEY$
|
6363
|
-
const DATA_API_KEY$
|
6364
|
-
const JQUERY_NO_CONFLICT$
|
5802
|
+
const NAME$7 = 'scrollspy';
|
5803
|
+
const VERSION$7 = '4.5.2';
|
5804
|
+
const DATA_KEY$7 = 'bs.scrollspy';
|
5805
|
+
const EVENT_KEY$7 = `.${DATA_KEY$7}`;
|
5806
|
+
const DATA_API_KEY$5 = '.data-api';
|
5807
|
+
const JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
|
6365
5808
|
|
6366
|
-
const Default$
|
5809
|
+
const Default$5 = {
|
6367
5810
|
offset : 10,
|
6368
5811
|
method : 'auto',
|
6369
5812
|
target : ''
|
6370
5813
|
};
|
6371
5814
|
|
6372
|
-
const DefaultType$
|
5815
|
+
const DefaultType$5 = {
|
6373
5816
|
offset : 'number',
|
6374
5817
|
method : 'string',
|
6375
5818
|
target : '(string|element)'
|
6376
5819
|
};
|
6377
5820
|
|
6378
|
-
const
|
6379
|
-
|
6380
|
-
|
6381
|
-
LOAD_DATA_API : `load${EVENT_KEY$8}${DATA_API_KEY$6}`
|
6382
|
-
};
|
5821
|
+
const EVENT_ACTIVATE = `activate${EVENT_KEY$7}`;
|
5822
|
+
const EVENT_SCROLL = `scroll${EVENT_KEY$7}`;
|
5823
|
+
const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$7}${DATA_API_KEY$5}`;
|
6383
5824
|
|
6384
|
-
const
|
6385
|
-
|
6386
|
-
DROPDOWN_MENU : 'dropdown-menu',
|
6387
|
-
ACTIVE : 'active'
|
6388
|
-
};
|
5825
|
+
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
5826
|
+
const CLASS_NAME_ACTIVE$1 = 'active';
|
6389
5827
|
|
6390
|
-
const
|
6391
|
-
|
6392
|
-
|
6393
|
-
|
6394
|
-
|
6395
|
-
|
6396
|
-
|
6397
|
-
|
6398
|
-
DROPDOWN_ITEMS : '.dropdown-item',
|
6399
|
-
DROPDOWN_TOGGLE : '.dropdown-toggle'
|
6400
|
-
};
|
5828
|
+
const SELECTOR_DATA_SPY = '[data-spy="scroll"]';
|
5829
|
+
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
5830
|
+
const SELECTOR_NAV_LINKS = '.nav-link';
|
5831
|
+
const SELECTOR_NAV_ITEMS = '.nav-item';
|
5832
|
+
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
5833
|
+
const SELECTOR_DROPDOWN = '.dropdown';
|
5834
|
+
const SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
|
5835
|
+
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
6401
5836
|
|
6402
|
-
const
|
6403
|
-
|
6404
|
-
POSITION : 'position'
|
6405
|
-
};
|
5837
|
+
const METHOD_OFFSET = 'offset';
|
5838
|
+
const METHOD_POSITION = 'position';
|
6406
5839
|
|
6407
5840
|
/**
|
6408
5841
|
* ------------------------------------------------------------------------
|
@@ -6415,15 +5848,15 @@
|
|
6415
5848
|
this._element = element;
|
6416
5849
|
this._scrollElement = element.tagName === 'BODY' ? window : element;
|
6417
5850
|
this._config = this._getConfig(config);
|
6418
|
-
this._selector = `${this._config.target} ${
|
6419
|
-
`${this._config.target} ${
|
6420
|
-
`${this._config.target} ${
|
5851
|
+
this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +
|
5852
|
+
`${this._config.target} ${SELECTOR_LIST_ITEMS},` +
|
5853
|
+
`${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`;
|
6421
5854
|
this._offsets = [];
|
6422
5855
|
this._targets = [];
|
6423
5856
|
this._activeTarget = null;
|
6424
5857
|
this._scrollHeight = 0;
|
6425
5858
|
|
6426
|
-
$(this._scrollElement).on(
|
5859
|
+
$(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event));
|
6427
5860
|
|
6428
5861
|
this.refresh();
|
6429
5862
|
this._process();
|
@@ -6432,23 +5865,23 @@
|
|
6432
5865
|
// Getters
|
6433
5866
|
|
6434
5867
|
static get VERSION() {
|
6435
|
-
return VERSION$
|
5868
|
+
return VERSION$7
|
6436
5869
|
}
|
6437
5870
|
|
6438
5871
|
static get Default() {
|
6439
|
-
return Default$
|
5872
|
+
return Default$5
|
6440
5873
|
}
|
6441
5874
|
|
6442
5875
|
// Public
|
6443
5876
|
|
6444
5877
|
refresh() {
|
6445
5878
|
const autoMethod = this._scrollElement === this._scrollElement.window
|
6446
|
-
?
|
5879
|
+
? METHOD_OFFSET : METHOD_POSITION;
|
6447
5880
|
|
6448
5881
|
const offsetMethod = this._config.method === 'auto'
|
6449
5882
|
? autoMethod : this._config.method;
|
6450
5883
|
|
6451
|
-
const offsetBase = offsetMethod ===
|
5884
|
+
const offsetBase = offsetMethod === METHOD_POSITION
|
6452
5885
|
? this._getScrollTop() : 0;
|
6453
5886
|
|
6454
5887
|
this._offsets = [];
|
@@ -6488,8 +5921,8 @@
|
|
6488
5921
|
}
|
6489
5922
|
|
6490
5923
|
dispose() {
|
6491
|
-
$.removeData(this._element, DATA_KEY$
|
6492
|
-
$(this._scrollElement).off(EVENT_KEY$
|
5924
|
+
$.removeData(this._element, DATA_KEY$7);
|
5925
|
+
$(this._scrollElement).off(EVENT_KEY$7);
|
6493
5926
|
|
6494
5927
|
this._element = null;
|
6495
5928
|
this._scrollElement = null;
|
@@ -6505,20 +5938,20 @@
|
|
6505
5938
|
|
6506
5939
|
_getConfig(config) {
|
6507
5940
|
config = {
|
6508
|
-
...Default$
|
5941
|
+
...Default$5,
|
6509
5942
|
...typeof config === 'object' && config ? config : {}
|
6510
5943
|
};
|
6511
5944
|
|
6512
|
-
if (typeof config.target !== 'string') {
|
5945
|
+
if (typeof config.target !== 'string' && Util.isElement(config.target)) {
|
6513
5946
|
let id = $(config.target).attr('id');
|
6514
5947
|
if (!id) {
|
6515
|
-
id = Util.getUID(NAME$
|
5948
|
+
id = Util.getUID(NAME$7);
|
6516
5949
|
$(config.target).attr('id', id);
|
6517
5950
|
}
|
6518
5951
|
config.target = `#${id}`;
|
6519
5952
|
}
|
6520
5953
|
|
6521
|
-
Util.typeCheckConfig(NAME$
|
5954
|
+
Util.typeCheckConfig(NAME$7, config, DefaultType$5);
|
6522
5955
|
|
6523
5956
|
return config
|
6524
5957
|
}
|
@@ -6543,9 +5976,7 @@
|
|
6543
5976
|
_process() {
|
6544
5977
|
const scrollTop = this._getScrollTop() + this._config.offset;
|
6545
5978
|
const scrollHeight = this._getScrollHeight();
|
6546
|
-
const maxScroll = this._config.offset +
|
6547
|
-
scrollHeight -
|
6548
|
-
this._getOffsetHeight();
|
5979
|
+
const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
|
6549
5980
|
|
6550
5981
|
if (this._scrollHeight !== scrollHeight) {
|
6551
5982
|
this.refresh();
|
@@ -6566,8 +5997,7 @@
|
|
6566
5997
|
return
|
6567
5998
|
}
|
6568
5999
|
|
6569
|
-
|
6570
|
-
for (let i = offsetLength; i--;) {
|
6000
|
+
for (let i = this._offsets.length; i--;) {
|
6571
6001
|
const isActiveTarget = this._activeTarget !== this._targets[i] &&
|
6572
6002
|
scrollTop >= this._offsets[i] &&
|
6573
6003
|
(typeof this._offsets[i + 1] === 'undefined' ||
|
@@ -6590,40 +6020,47 @@
|
|
6590
6020
|
|
6591
6021
|
const $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
|
6592
6022
|
|
6593
|
-
if ($link.hasClass(
|
6594
|
-
$link.closest(
|
6595
|
-
|
6023
|
+
if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
|
6024
|
+
$link.closest(SELECTOR_DROPDOWN)
|
6025
|
+
.find(SELECTOR_DROPDOWN_TOGGLE)
|
6026
|
+
.addClass(CLASS_NAME_ACTIVE$1);
|
6027
|
+
$link.addClass(CLASS_NAME_ACTIVE$1);
|
6596
6028
|
} else {
|
6597
6029
|
// Set triggered link as active
|
6598
|
-
$link.addClass(
|
6030
|
+
$link.addClass(CLASS_NAME_ACTIVE$1);
|
6599
6031
|
// Set triggered links parents as active
|
6600
6032
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
6601
|
-
$link.parents(
|
6033
|
+
$link.parents(SELECTOR_NAV_LIST_GROUP)
|
6034
|
+
.prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)
|
6035
|
+
.addClass(CLASS_NAME_ACTIVE$1);
|
6602
6036
|
// Handle special case when .nav-link is inside .nav-item
|
6603
|
-
$link.parents(
|
6037
|
+
$link.parents(SELECTOR_NAV_LIST_GROUP)
|
6038
|
+
.prev(SELECTOR_NAV_ITEMS)
|
6039
|
+
.children(SELECTOR_NAV_LINKS)
|
6040
|
+
.addClass(CLASS_NAME_ACTIVE$1);
|
6604
6041
|
}
|
6605
6042
|
|
6606
|
-
$(this._scrollElement).trigger(
|
6043
|
+
$(this._scrollElement).trigger(EVENT_ACTIVATE, {
|
6607
6044
|
relatedTarget: target
|
6608
6045
|
});
|
6609
6046
|
}
|
6610
6047
|
|
6611
6048
|
_clear() {
|
6612
6049
|
[].slice.call(document.querySelectorAll(this._selector))
|
6613
|
-
.filter((node) => node.classList.contains(
|
6614
|
-
.forEach((node) => node.classList.remove(
|
6050
|
+
.filter((node) => node.classList.contains(CLASS_NAME_ACTIVE$1))
|
6051
|
+
.forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE$1));
|
6615
6052
|
}
|
6616
6053
|
|
6617
6054
|
// Static
|
6618
6055
|
|
6619
6056
|
static _jQueryInterface(config) {
|
6620
6057
|
return this.each(function () {
|
6621
|
-
let data = $(this).data(DATA_KEY$
|
6058
|
+
let data = $(this).data(DATA_KEY$7);
|
6622
6059
|
const _config = typeof config === 'object' && config;
|
6623
6060
|
|
6624
6061
|
if (!data) {
|
6625
6062
|
data = new ScrollSpy(this, _config);
|
6626
|
-
$(this).data(DATA_KEY$
|
6063
|
+
$(this).data(DATA_KEY$7, data);
|
6627
6064
|
}
|
6628
6065
|
|
6629
6066
|
if (typeof config === 'string') {
|
@@ -6642,8 +6079,8 @@
|
|
6642
6079
|
* ------------------------------------------------------------------------
|
6643
6080
|
*/
|
6644
6081
|
|
6645
|
-
$(window).on(
|
6646
|
-
const scrollSpys = [].slice.call(document.querySelectorAll(
|
6082
|
+
$(window).on(EVENT_LOAD_DATA_API$1, () => {
|
6083
|
+
const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
|
6647
6084
|
const scrollSpysLength = scrollSpys.length;
|
6648
6085
|
|
6649
6086
|
for (let i = scrollSpysLength; i--;) {
|
@@ -6658,17 +6095,17 @@
|
|
6658
6095
|
* ------------------------------------------------------------------------
|
6659
6096
|
*/
|
6660
6097
|
|
6661
|
-
$.fn[NAME$
|
6662
|
-
$.fn[NAME$
|
6663
|
-
$.fn[NAME$
|
6664
|
-
$.fn[NAME$
|
6098
|
+
$.fn[NAME$7] = ScrollSpy._jQueryInterface;
|
6099
|
+
$.fn[NAME$7].Constructor = ScrollSpy;
|
6100
|
+
$.fn[NAME$7].noConflict = () => {
|
6101
|
+
$.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
|
6665
6102
|
return ScrollSpy._jQueryInterface
|
6666
6103
|
};
|
6667
6104
|
|
6668
6105
|
/**
|
6669
6106
|
* --------------------------------------------------------------------------
|
6670
|
-
* Bootstrap (v4.
|
6671
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
6107
|
+
* Bootstrap (v4.5.2): tab.js
|
6108
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6672
6109
|
* --------------------------------------------------------------------------
|
6673
6110
|
*/
|
6674
6111
|
|
@@ -6678,38 +6115,32 @@
|
|
6678
6115
|
* ------------------------------------------------------------------------
|
6679
6116
|
*/
|
6680
6117
|
|
6681
|
-
const NAME$
|
6682
|
-
const VERSION$
|
6683
|
-
const DATA_KEY$
|
6684
|
-
const EVENT_KEY$
|
6685
|
-
const DATA_API_KEY$
|
6686
|
-
const JQUERY_NO_CONFLICT$
|
6687
|
-
|
6688
|
-
const Event$9 = {
|
6689
|
-
HIDE : `hide${EVENT_KEY$9}`,
|
6690
|
-
HIDDEN : `hidden${EVENT_KEY$9}`,
|
6691
|
-
SHOW : `show${EVENT_KEY$9}`,
|
6692
|
-
SHOWN : `shown${EVENT_KEY$9}`,
|
6693
|
-
CLICK_DATA_API : `click${EVENT_KEY$9}${DATA_API_KEY$7}`
|
6694
|
-
};
|
6695
|
-
|
6696
|
-
const ClassName$9 = {
|
6697
|
-
DROPDOWN_MENU : 'dropdown-menu',
|
6698
|
-
ACTIVE : 'active',
|
6699
|
-
DISABLED : 'disabled',
|
6700
|
-
FADE : 'fade',
|
6701
|
-
SHOW : 'show'
|
6702
|
-
};
|
6118
|
+
const NAME$8 = 'tab';
|
6119
|
+
const VERSION$8 = '4.5.2';
|
6120
|
+
const DATA_KEY$8 = 'bs.tab';
|
6121
|
+
const EVENT_KEY$8 = `.${DATA_KEY$8}`;
|
6122
|
+
const DATA_API_KEY$6 = '.data-api';
|
6123
|
+
const JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
|
6703
6124
|
|
6704
|
-
const
|
6705
|
-
|
6706
|
-
|
6707
|
-
|
6708
|
-
|
6709
|
-
|
6710
|
-
|
6711
|
-
|
6712
|
-
|
6125
|
+
const EVENT_HIDE$3 = `hide${EVENT_KEY$8}`;
|
6126
|
+
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$8}`;
|
6127
|
+
const EVENT_SHOW$3 = `show${EVENT_KEY$8}`;
|
6128
|
+
const EVENT_SHOWN$3 = `shown${EVENT_KEY$8}`;
|
6129
|
+
const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$6}`;
|
6130
|
+
|
6131
|
+
const CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
|
6132
|
+
const CLASS_NAME_ACTIVE$2 = 'active';
|
6133
|
+
const CLASS_NAME_DISABLED$1 = 'disabled';
|
6134
|
+
const CLASS_NAME_FADE$4 = 'fade';
|
6135
|
+
const CLASS_NAME_SHOW$6 = 'show';
|
6136
|
+
|
6137
|
+
const SELECTOR_DROPDOWN$1 = '.dropdown';
|
6138
|
+
const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
|
6139
|
+
const SELECTOR_ACTIVE$1 = '.active';
|
6140
|
+
const SELECTOR_ACTIVE_UL = '> li > .active';
|
6141
|
+
const SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
|
6142
|
+
const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
|
6143
|
+
const SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
|
6713
6144
|
|
6714
6145
|
/**
|
6715
6146
|
* ------------------------------------------------------------------------
|
@@ -6725,7 +6156,7 @@
|
|
6725
6156
|
// Getters
|
6726
6157
|
|
6727
6158
|
static get VERSION() {
|
6728
|
-
return VERSION$
|
6159
|
+
return VERSION$8
|
6729
6160
|
}
|
6730
6161
|
|
6731
6162
|
// Public
|
@@ -6733,27 +6164,27 @@
|
|
6733
6164
|
show() {
|
6734
6165
|
if (this._element.parentNode &&
|
6735
6166
|
this._element.parentNode.nodeType === Node.ELEMENT_NODE &&
|
6736
|
-
$(this._element).hasClass(
|
6737
|
-
$(this._element).hasClass(
|
6167
|
+
$(this._element).hasClass(CLASS_NAME_ACTIVE$2) ||
|
6168
|
+
$(this._element).hasClass(CLASS_NAME_DISABLED$1)) {
|
6738
6169
|
return
|
6739
6170
|
}
|
6740
6171
|
|
6741
6172
|
let target;
|
6742
6173
|
let previous;
|
6743
|
-
const listElement = $(this._element).closest(
|
6174
|
+
const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];
|
6744
6175
|
const selector = Util.getSelectorFromElement(this._element);
|
6745
6176
|
|
6746
6177
|
if (listElement) {
|
6747
|
-
const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ?
|
6178
|
+
const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$1;
|
6748
6179
|
previous = $.makeArray($(listElement).find(itemSelector));
|
6749
6180
|
previous = previous[previous.length - 1];
|
6750
6181
|
}
|
6751
6182
|
|
6752
|
-
const hideEvent = $.Event(
|
6183
|
+
const hideEvent = $.Event(EVENT_HIDE$3, {
|
6753
6184
|
relatedTarget: this._element
|
6754
6185
|
});
|
6755
6186
|
|
6756
|
-
const showEvent = $.Event(
|
6187
|
+
const showEvent = $.Event(EVENT_SHOW$3, {
|
6757
6188
|
relatedTarget: previous
|
6758
6189
|
});
|
6759
6190
|
|
@@ -6778,11 +6209,11 @@
|
|
6778
6209
|
);
|
6779
6210
|
|
6780
6211
|
const complete = () => {
|
6781
|
-
const hiddenEvent = $.Event(
|
6212
|
+
const hiddenEvent = $.Event(EVENT_HIDDEN$3, {
|
6782
6213
|
relatedTarget: this._element
|
6783
6214
|
});
|
6784
6215
|
|
6785
|
-
const shownEvent = $.Event(
|
6216
|
+
const shownEvent = $.Event(EVENT_SHOWN$3, {
|
6786
6217
|
relatedTarget: previous
|
6787
6218
|
});
|
6788
6219
|
|
@@ -6798,7 +6229,7 @@
|
|
6798
6229
|
}
|
6799
6230
|
|
6800
6231
|
dispose() {
|
6801
|
-
$.removeData(this._element, DATA_KEY$
|
6232
|
+
$.removeData(this._element, DATA_KEY$8);
|
6802
6233
|
this._element = null;
|
6803
6234
|
}
|
6804
6235
|
|
@@ -6806,11 +6237,11 @@
|
|
6806
6237
|
|
6807
6238
|
_activate(element, container, callback) {
|
6808
6239
|
const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')
|
6809
|
-
? $(container).find(
|
6810
|
-
: $(container).children(
|
6240
|
+
? $(container).find(SELECTOR_ACTIVE_UL)
|
6241
|
+
: $(container).children(SELECTOR_ACTIVE$1);
|
6811
6242
|
|
6812
6243
|
const active = activeElements[0];
|
6813
|
-
const isTransitioning = callback && (active && $(active).hasClass(
|
6244
|
+
const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE$4));
|
6814
6245
|
const complete = () => this._transitionComplete(
|
6815
6246
|
element,
|
6816
6247
|
active,
|
@@ -6821,7 +6252,7 @@
|
|
6821
6252
|
const transitionDuration = Util.getTransitionDurationFromElement(active);
|
6822
6253
|
|
6823
6254
|
$(active)
|
6824
|
-
.removeClass(
|
6255
|
+
.removeClass(CLASS_NAME_SHOW$6)
|
6825
6256
|
.one(Util.TRANSITION_END, complete)
|
6826
6257
|
.emulateTransitionEnd(transitionDuration);
|
6827
6258
|
} else {
|
@@ -6831,14 +6262,14 @@
|
|
6831
6262
|
|
6832
6263
|
_transitionComplete(element, active, callback) {
|
6833
6264
|
if (active) {
|
6834
|
-
$(active).removeClass(
|
6265
|
+
$(active).removeClass(CLASS_NAME_ACTIVE$2);
|
6835
6266
|
|
6836
6267
|
const dropdownChild = $(active.parentNode).find(
|
6837
|
-
|
6268
|
+
SELECTOR_DROPDOWN_ACTIVE_CHILD
|
6838
6269
|
)[0];
|
6839
6270
|
|
6840
6271
|
if (dropdownChild) {
|
6841
|
-
$(dropdownChild).removeClass(
|
6272
|
+
$(dropdownChild).removeClass(CLASS_NAME_ACTIVE$2);
|
6842
6273
|
}
|
6843
6274
|
|
6844
6275
|
if (active.getAttribute('role') === 'tab') {
|
@@ -6846,24 +6277,24 @@
|
|
6846
6277
|
}
|
6847
6278
|
}
|
6848
6279
|
|
6849
|
-
$(element).addClass(
|
6280
|
+
$(element).addClass(CLASS_NAME_ACTIVE$2);
|
6850
6281
|
if (element.getAttribute('role') === 'tab') {
|
6851
6282
|
element.setAttribute('aria-selected', true);
|
6852
6283
|
}
|
6853
6284
|
|
6854
6285
|
Util.reflow(element);
|
6855
6286
|
|
6856
|
-
if (element.classList.contains(
|
6857
|
-
element.classList.add(
|
6287
|
+
if (element.classList.contains(CLASS_NAME_FADE$4)) {
|
6288
|
+
element.classList.add(CLASS_NAME_SHOW$6);
|
6858
6289
|
}
|
6859
6290
|
|
6860
|
-
if (element.parentNode && $(element.parentNode).hasClass(
|
6861
|
-
const dropdownElement = $(element).closest(
|
6291
|
+
if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
|
6292
|
+
const dropdownElement = $(element).closest(SELECTOR_DROPDOWN$1)[0];
|
6862
6293
|
|
6863
6294
|
if (dropdownElement) {
|
6864
|
-
const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(
|
6295
|
+
const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));
|
6865
6296
|
|
6866
|
-
$(dropdownToggleList).addClass(
|
6297
|
+
$(dropdownToggleList).addClass(CLASS_NAME_ACTIVE$2);
|
6867
6298
|
}
|
6868
6299
|
|
6869
6300
|
element.setAttribute('aria-expanded', true);
|
@@ -6879,11 +6310,11 @@
|
|
6879
6310
|
static _jQueryInterface(config) {
|
6880
6311
|
return this.each(function () {
|
6881
6312
|
const $this = $(this);
|
6882
|
-
let data = $this.data(DATA_KEY$
|
6313
|
+
let data = $this.data(DATA_KEY$8);
|
6883
6314
|
|
6884
6315
|
if (!data) {
|
6885
6316
|
data = new Tab(this);
|
6886
|
-
$this.data(DATA_KEY$
|
6317
|
+
$this.data(DATA_KEY$8, data);
|
6887
6318
|
}
|
6888
6319
|
|
6889
6320
|
if (typeof config === 'string') {
|
@@ -6903,7 +6334,7 @@
|
|
6903
6334
|
*/
|
6904
6335
|
|
6905
6336
|
$(document)
|
6906
|
-
.on(
|
6337
|
+
.on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
|
6907
6338
|
event.preventDefault();
|
6908
6339
|
Tab._jQueryInterface.call($(this), 'show');
|
6909
6340
|
});
|
@@ -6914,236 +6345,13 @@
|
|
6914
6345
|
* ------------------------------------------------------------------------
|
6915
6346
|
*/
|
6916
6347
|
|
6917
|
-
$.fn[NAME$
|
6918
|
-
$.fn[NAME$
|
6919
|
-
$.fn[NAME$
|
6920
|
-
$.fn[NAME$
|
6348
|
+
$.fn[NAME$8] = Tab._jQueryInterface;
|
6349
|
+
$.fn[NAME$8].Constructor = Tab;
|
6350
|
+
$.fn[NAME$8].noConflict = () => {
|
6351
|
+
$.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
|
6921
6352
|
return Tab._jQueryInterface
|
6922
6353
|
};
|
6923
6354
|
|
6924
|
-
/**
|
6925
|
-
* --------------------------------------------------------------------------
|
6926
|
-
* Bootstrap (v4.3.1): toast.js
|
6927
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6928
|
-
* --------------------------------------------------------------------------
|
6929
|
-
*/
|
6930
|
-
|
6931
|
-
/**
|
6932
|
-
* ------------------------------------------------------------------------
|
6933
|
-
* Constants
|
6934
|
-
* ------------------------------------------------------------------------
|
6935
|
-
*/
|
6936
|
-
|
6937
|
-
const NAME$a = 'toast';
|
6938
|
-
const VERSION$a = '4.3.1';
|
6939
|
-
const DATA_KEY$a = 'bs.toast';
|
6940
|
-
const EVENT_KEY$a = `.${DATA_KEY$a}`;
|
6941
|
-
const JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
|
6942
|
-
|
6943
|
-
const Event$a = {
|
6944
|
-
CLICK_DISMISS : `click.dismiss${EVENT_KEY$a}`,
|
6945
|
-
HIDE : `hide${EVENT_KEY$a}`,
|
6946
|
-
HIDDEN : `hidden${EVENT_KEY$a}`,
|
6947
|
-
SHOW : `show${EVENT_KEY$a}`,
|
6948
|
-
SHOWN : `shown${EVENT_KEY$a}`
|
6949
|
-
};
|
6950
|
-
|
6951
|
-
const ClassName$a = {
|
6952
|
-
FADE : 'fade',
|
6953
|
-
HIDE : 'hide',
|
6954
|
-
SHOW : 'show',
|
6955
|
-
SHOWING : 'showing'
|
6956
|
-
};
|
6957
|
-
|
6958
|
-
const DefaultType$7 = {
|
6959
|
-
animation : 'boolean',
|
6960
|
-
autohide : 'boolean',
|
6961
|
-
delay : 'number'
|
6962
|
-
};
|
6963
|
-
|
6964
|
-
const Default$7 = {
|
6965
|
-
animation : true,
|
6966
|
-
autohide : true,
|
6967
|
-
delay : 500
|
6968
|
-
};
|
6969
|
-
|
6970
|
-
const Selector$a = {
|
6971
|
-
DATA_DISMISS : '[data-dismiss="toast"]'
|
6972
|
-
};
|
6973
|
-
|
6974
|
-
/**
|
6975
|
-
* ------------------------------------------------------------------------
|
6976
|
-
* Class Definition
|
6977
|
-
* ------------------------------------------------------------------------
|
6978
|
-
*/
|
6979
|
-
|
6980
|
-
class Toast {
|
6981
|
-
constructor(element, config) {
|
6982
|
-
this._element = element;
|
6983
|
-
this._config = this._getConfig(config);
|
6984
|
-
this._timeout = null;
|
6985
|
-
this._setListeners();
|
6986
|
-
}
|
6987
|
-
|
6988
|
-
// Getters
|
6989
|
-
|
6990
|
-
static get VERSION() {
|
6991
|
-
return VERSION$a
|
6992
|
-
}
|
6993
|
-
|
6994
|
-
static get DefaultType() {
|
6995
|
-
return DefaultType$7
|
6996
|
-
}
|
6997
|
-
|
6998
|
-
static get Default() {
|
6999
|
-
return Default$7
|
7000
|
-
}
|
7001
|
-
|
7002
|
-
// Public
|
7003
|
-
|
7004
|
-
show() {
|
7005
|
-
$(this._element).trigger(Event$a.SHOW);
|
7006
|
-
|
7007
|
-
if (this._config.animation) {
|
7008
|
-
this._element.classList.add(ClassName$a.FADE);
|
7009
|
-
}
|
7010
|
-
|
7011
|
-
const complete = () => {
|
7012
|
-
this._element.classList.remove(ClassName$a.SHOWING);
|
7013
|
-
this._element.classList.add(ClassName$a.SHOW);
|
7014
|
-
|
7015
|
-
$(this._element).trigger(Event$a.SHOWN);
|
7016
|
-
|
7017
|
-
if (this._config.autohide) {
|
7018
|
-
this.hide();
|
7019
|
-
}
|
7020
|
-
};
|
7021
|
-
|
7022
|
-
this._element.classList.remove(ClassName$a.HIDE);
|
7023
|
-
this._element.classList.add(ClassName$a.SHOWING);
|
7024
|
-
if (this._config.animation) {
|
7025
|
-
const transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
7026
|
-
|
7027
|
-
$(this._element)
|
7028
|
-
.one(Util.TRANSITION_END, complete)
|
7029
|
-
.emulateTransitionEnd(transitionDuration);
|
7030
|
-
} else {
|
7031
|
-
complete();
|
7032
|
-
}
|
7033
|
-
}
|
7034
|
-
|
7035
|
-
hide(withoutTimeout) {
|
7036
|
-
if (!this._element.classList.contains(ClassName$a.SHOW)) {
|
7037
|
-
return
|
7038
|
-
}
|
7039
|
-
|
7040
|
-
$(this._element).trigger(Event$a.HIDE);
|
7041
|
-
|
7042
|
-
if (withoutTimeout) {
|
7043
|
-
this._close();
|
7044
|
-
} else {
|
7045
|
-
this._timeout = setTimeout(() => {
|
7046
|
-
this._close();
|
7047
|
-
}, this._config.delay);
|
7048
|
-
}
|
7049
|
-
}
|
7050
|
-
|
7051
|
-
dispose() {
|
7052
|
-
clearTimeout(this._timeout);
|
7053
|
-
this._timeout = null;
|
7054
|
-
|
7055
|
-
if (this._element.classList.contains(ClassName$a.SHOW)) {
|
7056
|
-
this._element.classList.remove(ClassName$a.SHOW);
|
7057
|
-
}
|
7058
|
-
|
7059
|
-
$(this._element).off(Event$a.CLICK_DISMISS);
|
7060
|
-
|
7061
|
-
$.removeData(this._element, DATA_KEY$a);
|
7062
|
-
this._element = null;
|
7063
|
-
this._config = null;
|
7064
|
-
}
|
7065
|
-
|
7066
|
-
// Private
|
7067
|
-
|
7068
|
-
_getConfig(config) {
|
7069
|
-
config = {
|
7070
|
-
...Default$7,
|
7071
|
-
...$(this._element).data(),
|
7072
|
-
...typeof config === 'object' && config ? config : {}
|
7073
|
-
};
|
7074
|
-
|
7075
|
-
Util.typeCheckConfig(
|
7076
|
-
NAME$a,
|
7077
|
-
config,
|
7078
|
-
this.constructor.DefaultType
|
7079
|
-
);
|
7080
|
-
|
7081
|
-
return config
|
7082
|
-
}
|
7083
|
-
|
7084
|
-
_setListeners() {
|
7085
|
-
$(this._element).on(
|
7086
|
-
Event$a.CLICK_DISMISS,
|
7087
|
-
Selector$a.DATA_DISMISS,
|
7088
|
-
() => this.hide(true)
|
7089
|
-
);
|
7090
|
-
}
|
7091
|
-
|
7092
|
-
_close() {
|
7093
|
-
const complete = () => {
|
7094
|
-
this._element.classList.add(ClassName$a.HIDE);
|
7095
|
-
$(this._element).trigger(Event$a.HIDDEN);
|
7096
|
-
};
|
7097
|
-
|
7098
|
-
this._element.classList.remove(ClassName$a.SHOW);
|
7099
|
-
if (this._config.animation) {
|
7100
|
-
const transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
7101
|
-
|
7102
|
-
$(this._element)
|
7103
|
-
.one(Util.TRANSITION_END, complete)
|
7104
|
-
.emulateTransitionEnd(transitionDuration);
|
7105
|
-
} else {
|
7106
|
-
complete();
|
7107
|
-
}
|
7108
|
-
}
|
7109
|
-
|
7110
|
-
// Static
|
7111
|
-
|
7112
|
-
static _jQueryInterface(config) {
|
7113
|
-
return this.each(function () {
|
7114
|
-
const $element = $(this);
|
7115
|
-
let data = $element.data(DATA_KEY$a);
|
7116
|
-
const _config = typeof config === 'object' && config;
|
7117
|
-
|
7118
|
-
if (!data) {
|
7119
|
-
data = new Toast(this, _config);
|
7120
|
-
$element.data(DATA_KEY$a, data);
|
7121
|
-
}
|
7122
|
-
|
7123
|
-
if (typeof config === 'string') {
|
7124
|
-
if (typeof data[config] === 'undefined') {
|
7125
|
-
throw new TypeError(`No method named "${config}"`)
|
7126
|
-
}
|
7127
|
-
|
7128
|
-
data[config](this);
|
7129
|
-
}
|
7130
|
-
})
|
7131
|
-
}
|
7132
|
-
}
|
7133
|
-
|
7134
|
-
/**
|
7135
|
-
* ------------------------------------------------------------------------
|
7136
|
-
* jQuery
|
7137
|
-
* ------------------------------------------------------------------------
|
7138
|
-
*/
|
7139
|
-
|
7140
|
-
$.fn[NAME$a] = Toast._jQueryInterface;
|
7141
|
-
$.fn[NAME$a].Constructor = Toast;
|
7142
|
-
$.fn[NAME$a].noConflict = () => {
|
7143
|
-
$.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
|
7144
|
-
return Toast._jQueryInterface
|
7145
|
-
};
|
7146
|
-
|
7147
6355
|
var dropdownInit = function dropdownInit() {
|
7148
6356
|
// find dropdown with pill class
|
7149
6357
|
var $wrapperDropdownPill = $('.dropdown-with-pill'); // find dropdown with select class
|
@@ -7363,7 +6571,6 @@
|
|
7363
6571
|
|
7364
6572
|
exports.Alert = Alert;
|
7365
6573
|
exports.Button = Button;
|
7366
|
-
exports.Carousel = Carousel;
|
7367
6574
|
exports.Collapse = Collapse;
|
7368
6575
|
exports.Dropdown = Dropdown;
|
7369
6576
|
exports.MekariDropdown = dropdownInit;
|
@@ -7373,7 +6580,6 @@
|
|
7373
6580
|
exports.Popover = Popover;
|
7374
6581
|
exports.Scrollspy = ScrollSpy;
|
7375
6582
|
exports.Tab = Tab;
|
7376
|
-
exports.Toast = Toast;
|
7377
6583
|
exports.Tooltip = Tooltip;
|
7378
6584
|
exports.Util = Util;
|
7379
6585
|
|