codekingpro/portable-devtools
115k
1/*!2 * Bootstrap v4.6.2 (https://getbootstrap.com/)3 * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)5 */6(function (global, factory) {7 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :8 typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :9 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));10})(this, (function (exports, $, Popper) { 'use strict';11 12 function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }13 14 var $__default = /*#__PURE__*/_interopDefaultLegacy($);15 var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);16 17 function _defineProperties(target, props) {18 for (var i = 0; i < props.length; i++) {19 var descriptor = props[i];20 descriptor.enumerable = descriptor.enumerable || false;21 descriptor.configurable = true;22 if ("value" in descriptor) descriptor.writable = true;23 Object.defineProperty(target, descriptor.key, descriptor);24 }25 }26 27 function _createClass(Constructor, protoProps, staticProps) {28 if (protoProps) _defineProperties(Constructor.prototype, protoProps);29 if (staticProps) _defineProperties(Constructor, staticProps);30 Object.defineProperty(Constructor, "prototype", {31 writable: false32 });33 return Constructor;34 }35 36 function _extends() {37 _extends = Object.assign ? Object.assign.bind() : function (target) {38 for (var i = 1; i < arguments.length; i++) {39 var source = arguments[i];40 41 for (var key in source) {42 if (Object.prototype.hasOwnProperty.call(source, key)) {43 target[key] = source[key];44 }45 }46 }47 48 return target;49 };50 return _extends.apply(this, arguments);51 }52 53 function _inheritsLoose(subClass, superClass) {54 subClass.prototype = Object.create(superClass.prototype);55 subClass.prototype.constructor = subClass;56 57 _setPrototypeOf(subClass, superClass);58 }59 60 function _setPrototypeOf(o, p) {61 _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {62 o.__proto__ = p;63 return o;64 };65 return _setPrototypeOf(o, p);66 }67 68 /**69 * --------------------------------------------------------------------------70 * Bootstrap (v4.6.2): util.js71 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)72 * --------------------------------------------------------------------------73 */74 /**75 * Private TransitionEnd Helpers76 */77 78 var TRANSITION_END = 'transitionend';79 var MAX_UID = 1000000;80 var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)81 82 function toType(obj) {83 if (obj === null || typeof obj === 'undefined') {84 return "" + obj;85 }86 87 return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();88 }89 90 function getSpecialTransitionEndEvent() {91 return {92 bindType: TRANSITION_END,93 delegateType: TRANSITION_END,94 handle: function handle(event) {95 if ($__default["default"](event.target).is(this)) {96 return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params97 }98 99 return undefined;100 }101 };102 }103 104 function transitionEndEmulator(duration) {105 var _this = this;106 107 var called = false;108 $__default["default"](this).one(Util.TRANSITION_END, function () {109 called = true;110 });111 setTimeout(function () {112 if (!called) {113 Util.triggerTransitionEnd(_this);114 }115 }, duration);116 return this;117 }118 119 function setTransitionEndSupport() {120 $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator;121 $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();122 }123 /**124 * Public Util API125 */126 127 128 var Util = {129 TRANSITION_END: 'bsTransitionEnd',130 getUID: function getUID(prefix) {131 do {132 // eslint-disable-next-line no-bitwise133 prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here134 } while (document.getElementById(prefix));135 136 return prefix;137 },138 getSelectorFromElement: function getSelectorFromElement(element) {139 var selector = element.getAttribute('data-target');140 141 if (!selector || selector === '#') {142 var hrefAttr = element.getAttribute('href');143 selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';144 }145 146 try {147 return document.querySelector(selector) ? selector : null;148 } catch (_) {149 return null;150 }151 },152 getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {153 if (!element) {154 return 0;155 } // Get transition-duration of the element156 157 158 var transitionDuration = $__default["default"](element).css('transition-duration');159 var transitionDelay = $__default["default"](element).css('transition-delay');160 var floatTransitionDuration = parseFloat(transitionDuration);161 var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found162 163 if (!floatTransitionDuration && !floatTransitionDelay) {164 return 0;165 } // If multiple durations are defined, take the first166 167 168 transitionDuration = transitionDuration.split(',')[0];169 transitionDelay = transitionDelay.split(',')[0];170 return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;171 },172 reflow: function reflow(element) {173 return element.offsetHeight;174 },175 triggerTransitionEnd: function triggerTransitionEnd(element) {176 $__default["default"](element).trigger(TRANSITION_END);177 },178 supportsTransitionEnd: function supportsTransitionEnd() {179 return Boolean(TRANSITION_END);180 },181 isElement: function isElement(obj) {182 return (obj[0] || obj).nodeType;183 },184 typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {185 for (var property in configTypes) {186 if (Object.prototype.hasOwnProperty.call(configTypes, property)) {187 var expectedTypes = configTypes[property];188 var value = config[property];189 var valueType = value && Util.isElement(value) ? 'element' : toType(value);190 191 if (!new RegExp(expectedTypes).test(valueType)) {192 throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));193 }194 }195 }196 },197 findShadowRoot: function findShadowRoot(element) {198 if (!document.documentElement.attachShadow) {199 return null;200 } // Can find the shadow root otherwise it'll return the document201 202 203 if (typeof element.getRootNode === 'function') {204 var root = element.getRootNode();205 return root instanceof ShadowRoot ? root : null;206 }207 208 if (element instanceof ShadowRoot) {209 return element;210 } // when we don't find a shadow root211 212 213 if (!element.parentNode) {214 return null;215 }216 217 return Util.findShadowRoot(element.parentNode);218 },219 jQueryDetection: function jQueryDetection() {220 if (typeof $__default["default"] === 'undefined') {221 throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');222 }223 224 var version = $__default["default"].fn.jquery.split(' ')[0].split('.');225 var minMajor = 1;226 var ltMajor = 2;227 var minMinor = 9;228 var minPatch = 1;229 var maxMajor = 4;230 231 if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {232 throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');233 }234 }235 };236 Util.jQueryDetection();237 setTransitionEndSupport();238 239 /**240 * Constants241 */242 243 var NAME$a = 'alert';244 var VERSION$a = '4.6.2';245 var DATA_KEY$a = 'bs.alert';246 var EVENT_KEY$a = "." + DATA_KEY$a;247 var DATA_API_KEY$7 = '.data-api';248 var JQUERY_NO_CONFLICT$a = $__default["default"].fn[NAME$a];249 var CLASS_NAME_ALERT = 'alert';250 var CLASS_NAME_FADE$5 = 'fade';251 var CLASS_NAME_SHOW$7 = 'show';252 var EVENT_CLOSE = "close" + EVENT_KEY$a;253 var EVENT_CLOSED = "closed" + EVENT_KEY$a;254 var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$a + DATA_API_KEY$7;255 var SELECTOR_DISMISS = '[data-dismiss="alert"]';256 /**257 * Class definition258 */259 260 var Alert = /*#__PURE__*/function () {261 function Alert(element) {262 this._element = element;263 } // Getters264 265 266 var _proto = Alert.prototype;267 268 // Public269 _proto.close = function close(element) {270 var rootElement = this._element;271 272 if (element) {273 rootElement = this._getRootElement(element);274 }275 276 var customEvent = this._triggerCloseEvent(rootElement);277 278 if (customEvent.isDefaultPrevented()) {279 return;280 }281 282 this._removeElement(rootElement);283 };284 285 _proto.dispose = function dispose() {286 $__default["default"].removeData(this._element, DATA_KEY$a);287 this._element = null;288 } // Private289 ;290 291 _proto._getRootElement = function _getRootElement(element) {292 var selector = Util.getSelectorFromElement(element);293 var parent = false;294 295 if (selector) {296 parent = document.querySelector(selector);297 }298 299 if (!parent) {300 parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0];301 }302 303 return parent;304 };305 306 _proto._triggerCloseEvent = function _triggerCloseEvent(element) {307 var closeEvent = $__default["default"].Event(EVENT_CLOSE);308 $__default["default"](element).trigger(closeEvent);309 return closeEvent;310 };311 312 _proto._removeElement = function _removeElement(element) {313 var _this = this;314 315 $__default["default"](element).removeClass(CLASS_NAME_SHOW$7);316 317 if (!$__default["default"](element).hasClass(CLASS_NAME_FADE$5)) {318 this._destroyElement(element);319 320 return;321 }322 323 var transitionDuration = Util.getTransitionDurationFromElement(element);324 $__default["default"](element).one(Util.TRANSITION_END, function (event) {325 return _this._destroyElement(element, event);326 }).emulateTransitionEnd(transitionDuration);327 };328 329 _proto._destroyElement = function _destroyElement(element) {330 $__default["default"](element).detach().trigger(EVENT_CLOSED).remove();331 } // Static332 ;333 334 Alert._jQueryInterface = function _jQueryInterface(config) {335 return this.each(function () {336 var $element = $__default["default"](this);337 var data = $element.data(DATA_KEY$a);338 339 if (!data) {340 data = new Alert(this);341 $element.data(DATA_KEY$a, data);342 }343 344 if (config === 'close') {345 data[config](this);346 }347 });348 };349 350 Alert._handleDismiss = function _handleDismiss(alertInstance) {351 return function (event) {352 if (event) {353 event.preventDefault();354 }355 356 alertInstance.close(this);357 };358 };359 360 _createClass(Alert, null, [{361 key: "VERSION",362 get: function get() {363 return VERSION$a;364 }365 }]);366 367 return Alert;368 }();369 /**370 * Data API implementation371 */372 373 374 $__default["default"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));375 /**376 * jQuery377 */378 379 $__default["default"].fn[NAME$a] = Alert._jQueryInterface;380 $__default["default"].fn[NAME$a].Constructor = Alert;381 382 $__default["default"].fn[NAME$a].noConflict = function () {383 $__default["default"].fn[NAME$a] = JQUERY_NO_CONFLICT$a;384 return Alert._jQueryInterface;385 };386 387 /**388 * Constants389 */390 391 var NAME$9 = 'button';392 var VERSION$9 = '4.6.2';393 var DATA_KEY$9 = 'bs.button';394 var EVENT_KEY$9 = "." + DATA_KEY$9;395 var DATA_API_KEY$6 = '.data-api';396 var JQUERY_NO_CONFLICT$9 = $__default["default"].fn[NAME$9];397 var CLASS_NAME_ACTIVE$3 = 'active';398 var CLASS_NAME_BUTTON = 'btn';399 var CLASS_NAME_FOCUS = 'focus';400 var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$9 + DATA_API_KEY$6;401 var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$9 + DATA_API_KEY$6 + " " + ("blur" + EVENT_KEY$9 + DATA_API_KEY$6);402 var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$9 + DATA_API_KEY$6;403 var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';404 var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';405 var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="button"]';406 var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';407 var SELECTOR_INPUT = 'input:not([type="hidden"])';408 var SELECTOR_ACTIVE$2 = '.active';409 var SELECTOR_BUTTON = '.btn';410 /**411 * Class definition412 */413 414 var Button = /*#__PURE__*/function () {415 function Button(element) {416 this._element = element;417 this.shouldAvoidTriggerChange = false;418 } // Getters419 420 421 var _proto = Button.prototype;422 423 // Public424 _proto.toggle = function toggle() {425 var triggerChangeEvent = true;426 var addAriaPressed = true;427 var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];428 429 if (rootElement) {430 var input = this._element.querySelector(SELECTOR_INPUT);431 432 if (input) {433 if (input.type === 'radio') {434 if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) {435 triggerChangeEvent = false;436 } else {437 var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2);438 439 if (activeElement) {440 $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$3);441 }442 }443 }444 445 if (triggerChangeEvent) {446 // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input447 if (input.type === 'checkbox' || input.type === 'radio') {448 input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3);449 }450 451 if (!this.shouldAvoidTriggerChange) {452 $__default["default"](input).trigger('change');453 }454 }455 456 input.focus();457 addAriaPressed = false;458 }459 }460 461 if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {462 if (addAriaPressed) {463 this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3));464 }465 466 if (triggerChangeEvent) {467 $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE$3);468 }469 }470 };471 472 _proto.dispose = function dispose() {473 $__default["default"].removeData(this._element, DATA_KEY$9);474 this._element = null;475 } // Static476 ;477 478 Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {479 return this.each(function () {480 var $element = $__default["default"](this);481 var data = $element.data(DATA_KEY$9);482 483 if (!data) {484 data = new Button(this);485 $element.data(DATA_KEY$9, data);486 }487 488 data.shouldAvoidTriggerChange = avoidTriggerChange;489 490 if (config === 'toggle') {491 data[config]();492 }493 });494 };495 496 _createClass(Button, null, [{497 key: "VERSION",498 get: function get() {499 return VERSION$9;500 }501 }]);502 503 return Button;504 }();505 /**506 * Data API implementation507 */508 509 510 $__default["default"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) {511 var button = event.target;512 var initialButton = button;513 514 if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) {515 button = $__default["default"](button).closest(SELECTOR_BUTTON)[0];516 }517 518 if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {519 event.preventDefault(); // work around Firefox bug #1540995520 } else {521 var inputBtn = button.querySelector(SELECTOR_INPUT);522 523 if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {524 event.preventDefault(); // work around Firefox bug #1540995525 526 return;527 }528 529 if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {530 Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT');531 }532 }533 }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {534 var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0];535 $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));536 });537 $__default["default"](window).on(EVENT_LOAD_DATA_API$2, function () {538 // ensure correct active class is set to match the controls' actual values/states539 // find all checkboxes/readio buttons inside data-toggle groups540 var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));541 542 for (var i = 0, len = buttons.length; i < len; i++) {543 var button = buttons[i];544 var input = button.querySelector(SELECTOR_INPUT);545 546 if (input.checked || input.hasAttribute('checked')) {547 button.classList.add(CLASS_NAME_ACTIVE$3);548 } else {549 button.classList.remove(CLASS_NAME_ACTIVE$3);550 }551 } // find all button toggles552 553 554 buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4));555 556 for (var _i = 0, _len = buttons.length; _i < _len; _i++) {557 var _button = buttons[_i];558 559 if (_button.getAttribute('aria-pressed') === 'true') {560 _button.classList.add(CLASS_NAME_ACTIVE$3);561 } else {562 _button.classList.remove(CLASS_NAME_ACTIVE$3);563 }564 }565 });566 /**567 * jQuery568 */569 570 $__default["default"].fn[NAME$9] = Button._jQueryInterface;571 $__default["default"].fn[NAME$9].Constructor = Button;572 573 $__default["default"].fn[NAME$9].noConflict = function () {574 $__default["default"].fn[NAME$9] = JQUERY_NO_CONFLICT$9;575 return Button._jQueryInterface;576 };577 578 /**579 * Constants580 */581 582 var NAME$8 = 'carousel';583 var VERSION$8 = '4.6.2';584 var DATA_KEY$8 = 'bs.carousel';585 var EVENT_KEY$8 = "." + DATA_KEY$8;586 var DATA_API_KEY$5 = '.data-api';587 var JQUERY_NO_CONFLICT$8 = $__default["default"].fn[NAME$8];588 var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key589 590 var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key591 592 var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch593 594 var SWIPE_THRESHOLD = 40;595 var CLASS_NAME_CAROUSEL = 'carousel';596 var CLASS_NAME_ACTIVE$2 = 'active';597 var CLASS_NAME_SLIDE = 'slide';598 var CLASS_NAME_RIGHT = 'carousel-item-right';599 var CLASS_NAME_LEFT = 'carousel-item-left';600 var CLASS_NAME_NEXT = 'carousel-item-next';601 var CLASS_NAME_PREV = 'carousel-item-prev';602 var CLASS_NAME_POINTER_EVENT = 'pointer-event';603 var DIRECTION_NEXT = 'next';604 var DIRECTION_PREV = 'prev';605 var DIRECTION_LEFT = 'left';606 var DIRECTION_RIGHT = 'right';607 var EVENT_SLIDE = "slide" + EVENT_KEY$8;608 var EVENT_SLID = "slid" + EVENT_KEY$8;609 var EVENT_KEYDOWN = "keydown" + EVENT_KEY$8;610 var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$8;611 var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$8;612 var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$8;613 var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$8;614 var EVENT_TOUCHEND = "touchend" + EVENT_KEY$8;615 var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$8;616 var EVENT_POINTERUP = "pointerup" + EVENT_KEY$8;617 var EVENT_DRAG_START = "dragstart" + EVENT_KEY$8;618 var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$5;619 var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$8 + DATA_API_KEY$5;620 var SELECTOR_ACTIVE$1 = '.active';621 var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';622 var SELECTOR_ITEM = '.carousel-item';623 var SELECTOR_ITEM_IMG = '.carousel-item img';624 var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';625 var SELECTOR_INDICATORS = '.carousel-indicators';626 var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';627 var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';628 var Default$7 = {629 interval: 5000,630 keyboard: true,631 slide: false,632 pause: 'hover',633 wrap: true,634 touch: true635 };636 var DefaultType$7 = {637 interval: '(number|boolean)',638 keyboard: 'boolean',639 slide: '(boolean|string)',640 pause: '(string|boolean)',641 wrap: 'boolean',642 touch: 'boolean'643 };644 var PointerType = {645 TOUCH: 'touch',646 PEN: 'pen'647 };648 /**649 * Class definition650 */651 652 var Carousel = /*#__PURE__*/function () {653 function Carousel(element, config) {654 this._items = null;655 this._interval = null;656 this._activeElement = null;657 this._isPaused = false;658 this._isSliding = false;659 this.touchTimeout = null;660 this.touchStartX = 0;661 this.touchDeltaX = 0;662 this._config = this._getConfig(config);663 this._element = element;664 this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);665 this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;666 this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);667 668 this._addEventListeners();669 } // Getters670 671 672 var _proto = Carousel.prototype;673 674 // Public675 _proto.next = function next() {676 if (!this._isSliding) {677 this._slide(DIRECTION_NEXT);678 }679 };680 681 _proto.nextWhenVisible = function nextWhenVisible() {682 var $element = $__default["default"](this._element); // Don't call next when the page isn't visible683 // or the carousel or its parent isn't visible684 685 if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {686 this.next();687 }688 };689 690 _proto.prev = function prev() {691 if (!this._isSliding) {692 this._slide(DIRECTION_PREV);693 }694 };695 696 _proto.pause = function pause(event) {697 if (!event) {698 this._isPaused = true;699 }700 701 if (this._element.querySelector(SELECTOR_NEXT_PREV)) {702 Util.triggerTransitionEnd(this._element);703 this.cycle(true);704 }705 706 clearInterval(this._interval);707 this._interval = null;708 };709 710 _proto.cycle = function cycle(event) {711 if (!event) {712 this._isPaused = false;713 }714 715 if (this._interval) {716 clearInterval(this._interval);717 this._interval = null;718 }719 720 if (this._config.interval && !this._isPaused) {721 this._updateInterval();722 723 this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);724 }725 };726 727 _proto.to = function to(index) {728 var _this = this;729 730 this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);731 732 var activeIndex = this._getItemIndex(this._activeElement);733 734 if (index > this._items.length - 1 || index < 0) {735 return;736 }737 738 if (this._isSliding) {739 $__default["default"](this._element).one(EVENT_SLID, function () {740 return _this.to(index);741 });742 return;743 }744 745 if (activeIndex === index) {746 this.pause();747 this.cycle();748 return;749 }750 751 var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;752 753 this._slide(direction, this._items[index]);754 };755 756 _proto.dispose = function dispose() {757 $__default["default"](this._element).off(EVENT_KEY$8);758 $__default["default"].removeData(this._element, DATA_KEY$8);759 this._items = null;760 this._config = null;761 this._element = null;762 this._interval = null;763 this._isPaused = null;764 this._isSliding = null;765 this._activeElement = null;766 this._indicatorsElement = null;767 } // Private768 ;769 770 _proto._getConfig = function _getConfig(config) {771 config = _extends({}, Default$7, config);772 Util.typeCheckConfig(NAME$8, config, DefaultType$7);773 return config;774 };775 776 _proto._handleSwipe = function _handleSwipe() {777 var absDeltax = Math.abs(this.touchDeltaX);778 779 if (absDeltax <= SWIPE_THRESHOLD) {780 return;781 }782 783 var direction = absDeltax / this.touchDeltaX;784 this.touchDeltaX = 0; // swipe left785 786 if (direction > 0) {787 this.prev();788 } // swipe right789 790 791 if (direction < 0) {792 this.next();793 }794 };795 796 _proto._addEventListeners = function _addEventListeners() {797 var _this2 = this;798 799 if (this._config.keyboard) {800 $__default["default"](this._element).on(EVENT_KEYDOWN, function (event) {801 return _this2._keydown(event);802 });803 }804 805 if (this._config.pause === 'hover') {806 $__default["default"](this._element).on(EVENT_MOUSEENTER, function (event) {807 return _this2.pause(event);808 }).on(EVENT_MOUSELEAVE, function (event) {809 return _this2.cycle(event);810 });811 }812 813 if (this._config.touch) {814 this._addTouchEventListeners();815 }816 };817 818 _proto._addTouchEventListeners = function _addTouchEventListeners() {819 var _this3 = this;820 821 if (!this._touchSupported) {822 return;823 }824 825 var start = function start(event) {826 if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {827 _this3.touchStartX = event.originalEvent.clientX;828 } else if (!_this3._pointerEvent) {829 _this3.touchStartX = event.originalEvent.touches[0].clientX;830 }831 };832 833 var move = function move(event) {834 // ensure swiping with one touch and not pinching835 _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX;836 };837 838 var end = function end(event) {839 if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {840 _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;841 }842 843 _this3._handleSwipe();844 845 if (_this3._config.pause === 'hover') {846 // If it's a touch-enabled device, mouseenter/leave are fired as847 // part of the mouse compatibility events on first tap - the carousel848 // would stop cycling until user tapped out of it;849 // here, we listen for touchend, explicitly pause the carousel850 // (as if it's the second time we tap on it, mouseenter compat event851 // is NOT fired) and after a timeout (to allow for mouse compatibility852 // events to fire) we explicitly restart cycling853 _this3.pause();854 855 if (_this3.touchTimeout) {856 clearTimeout(_this3.touchTimeout);857 }858 859 _this3.touchTimeout = setTimeout(function (event) {860 return _this3.cycle(event);861 }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);862 }863 };864 865 $__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {866 return e.preventDefault();867 });868 869 if (this._pointerEvent) {870 $__default["default"](this._element).on(EVENT_POINTERDOWN, function (event) {871 return start(event);872 });873 $__default["default"](this._element).on(EVENT_POINTERUP, function (event) {874 return end(event);875 });876 877 this._element.classList.add(CLASS_NAME_POINTER_EVENT);878 } else {879 $__default["default"](this._element).on(EVENT_TOUCHSTART, function (event) {880 return start(event);881 });882 $__default["default"](this._element).on(EVENT_TOUCHMOVE, function (event) {883 return move(event);884 });885 $__default["default"](this._element).on(EVENT_TOUCHEND, function (event) {886 return end(event);887 });888 }889 };890 891 _proto._keydown = function _keydown(event) {892 if (/input|textarea/i.test(event.target.tagName)) {893 return;894 }895 896 switch (event.which) {897 case ARROW_LEFT_KEYCODE:898 event.preventDefault();899 this.prev();900 break;901 902 case ARROW_RIGHT_KEYCODE:903 event.preventDefault();904 this.next();905 break;906 }907 };908 909 _proto._getItemIndex = function _getItemIndex(element) {910 this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];911 return this._items.indexOf(element);912 };913 914 _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {915 var isNextDirection = direction === DIRECTION_NEXT;916 var isPrevDirection = direction === DIRECTION_PREV;917 918 var activeIndex = this._getItemIndex(activeElement);919 920 var lastItemIndex = this._items.length - 1;921 var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;922 923 if (isGoingToWrap && !this._config.wrap) {924 return activeElement;925 }926 927 var delta = direction === DIRECTION_PREV ? -1 : 1;928 var itemIndex = (activeIndex + delta) % this._items.length;929 return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];930 };931 932 _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {933 var targetIndex = this._getItemIndex(relatedTarget);934 935 var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));936 937 var slideEvent = $__default["default"].Event(EVENT_SLIDE, {938 relatedTarget: relatedTarget,939 direction: eventDirectionName,940 from: fromIndex,941 to: targetIndex942 });943 $__default["default"](this._element).trigger(slideEvent);944 return slideEvent;945 };946 947 _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {948 if (this._indicatorsElement) {949 var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));950 $__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$2);951 952 var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];953 954 if (nextIndicator) {955 $__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2);956 }957 }958 };959 960 _proto._updateInterval = function _updateInterval() {961 var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);962 963 if (!element) {964 return;965 }966 967 var elementInterval = parseInt(element.getAttribute('data-interval'), 10);968 969 if (elementInterval) {970 this._config.defaultInterval = this._config.defaultInterval || this._config.interval;971 this._config.interval = elementInterval;972 } else {973 this._config.interval = this._config.defaultInterval || this._config.interval;974 }975 };976 977 _proto._slide = function _slide(direction, element) {978 var _this4 = this;979 980 var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);981 982 var activeElementIndex = this._getItemIndex(activeElement);983 984 var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);985 986 var nextElementIndex = this._getItemIndex(nextElement);987 988 var isCycling = Boolean(this._interval);989 var directionalClassName;990 var orderClassName;991 var eventDirectionName;992 993 if (direction === DIRECTION_NEXT) {994 directionalClassName = CLASS_NAME_LEFT;995 orderClassName = CLASS_NAME_NEXT;996 eventDirectionName = DIRECTION_LEFT;997 } else {998 directionalClassName = CLASS_NAME_RIGHT;999 orderClassName = CLASS_NAME_PREV;1000 eventDirectionName = DIRECTION_RIGHT;1001 }1002 1003 if (nextElement && $__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) {1004 this._isSliding = false;1005 return;1006 }1007 1008 var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);1009 1010 if (slideEvent.isDefaultPrevented()) {1011 return;1012 }1013 1014 if (!activeElement || !nextElement) {1015 // Some weirdness is happening, so we bail1016 return;1017 }1018 1019 this._isSliding = true;1020 1021 if (isCycling) {1022 this.pause();1023 }1024 1025 this._setActiveIndicatorElement(nextElement);1026 1027 this._activeElement = nextElement;1028 var slidEvent = $__default["default"].Event(EVENT_SLID, {1029 relatedTarget: nextElement,1030 direction: eventDirectionName,1031 from: activeElementIndex,1032 to: nextElementIndex1033 });1034 1035 if ($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)) {1036 $__default["default"](nextElement).addClass(orderClassName);1037 Util.reflow(nextElement);1038 $__default["default"](activeElement).addClass(directionalClassName);1039 $__default["default"](nextElement).addClass(directionalClassName);1040 var transitionDuration = Util.getTransitionDurationFromElement(activeElement);1041 $__default["default"](activeElement).one(Util.TRANSITION_END, function () {1042 $__default["default"](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$2);1043 $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + " " + orderClassName + " " + directionalClassName);1044 _this4._isSliding = false;1045 setTimeout(function () {1046 return $__default["default"](_this4._element).trigger(slidEvent);1047 }, 0);1048 }).emulateTransitionEnd(transitionDuration);1049 } else {1050 $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2);1051 $__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$2);1052 this._isSliding = false;1053 $__default["default"](this._element).trigger(slidEvent);1054 }1055 1056 if (isCycling) {1057 this.cycle();1058 }1059 } // Static1060 ;1061 1062 Carousel._jQueryInterface = function _jQueryInterface(config) {1063 return this.each(function () {1064 var data = $__default["default"](this).data(DATA_KEY$8);1065 1066 var _config = _extends({}, Default$7, $__default["default"](this).data());1067 1068 if (typeof config === 'object') {1069 _config = _extends({}, _config, config);1070 }1071 1072 var action = typeof config === 'string' ? config : _config.slide;1073 1074 if (!data) {1075 data = new Carousel(this, _config);1076 $__default["default"](this).data(DATA_KEY$8, data);1077 }1078 1079 if (typeof config === 'number') {1080 data.to(config);1081 } else if (typeof action === 'string') {1082 if (typeof data[action] === 'undefined') {1083 throw new TypeError("No method named \"" + action + "\"");1084 }1085 1086 data[action]();1087 } else if (_config.interval && _config.ride) {1088 data.pause();1089 data.cycle();1090 }1091 });1092 };1093 1094 Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {1095 var selector = Util.getSelectorFromElement(this);1096 1097 if (!selector) {1098 return;1099 }1100 1101 var target = $__default["default"](selector)[0];1102 1103 if (!target || !$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)) {1104 return;1105 }1106 1107 var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data());1108 1109 var slideIndex = this.getAttribute('data-slide-to');1110 1111 if (slideIndex) {1112 config.interval = false;1113 }1114 1115 Carousel._jQueryInterface.call($__default["default"](target), config);1116 1117 if (slideIndex) {1118 $__default["default"](target).data(DATA_KEY$8).to(slideIndex);1119 }1120 1121 event.preventDefault();1122 };1123 1124 _createClass(Carousel, null, [{1125 key: "VERSION",1126 get: function get() {1127 return VERSION$8;1128 }1129 }, {1130 key: "Default",1131 get: function get() {1132 return Default$7;1133 }1134 }]);1135 1136 return Carousel;1137 }();1138 /**1139 * Data API implementation1140 */1141 1142 1143 $__default["default"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);1144 $__default["default"](window).on(EVENT_LOAD_DATA_API$1, function () {1145 var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));1146 1147 for (var i = 0, len = carousels.length; i < len; i++) {1148 var $carousel = $__default["default"](carousels[i]);1149 1150 Carousel._jQueryInterface.call($carousel, $carousel.data());1151 }1152 });1153 /**1154 * jQuery1155 */1156 1157 $__default["default"].fn[NAME$8] = Carousel._jQueryInterface;1158 $__default["default"].fn[NAME$8].Constructor = Carousel;1159 1160 $__default["default"].fn[NAME$8].noConflict = function () {1161 $__default["default"].fn[NAME$8] = JQUERY_NO_CONFLICT$8;1162 return Carousel._jQueryInterface;1163 };1164 1165 /**1166 * Constants1167 */1168 1169 var NAME$7 = 'collapse';1170 var VERSION$7 = '4.6.2';1171 var DATA_KEY$7 = 'bs.collapse';1172 var EVENT_KEY$7 = "." + DATA_KEY$7;1173 var DATA_API_KEY$4 = '.data-api';1174 var JQUERY_NO_CONFLICT$7 = $__default["default"].fn[NAME$7];1175 var CLASS_NAME_SHOW$6 = 'show';1176 var CLASS_NAME_COLLAPSE = 'collapse';1177 var CLASS_NAME_COLLAPSING = 'collapsing';1178 var CLASS_NAME_COLLAPSED = 'collapsed';1179 var DIMENSION_WIDTH = 'width';1180 var DIMENSION_HEIGHT = 'height';1181 var EVENT_SHOW$4 = "show" + EVENT_KEY$7;1182 var EVENT_SHOWN$4 = "shown" + EVENT_KEY$7;1183 var EVENT_HIDE$4 = "hide" + EVENT_KEY$7;1184 var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$7;1185 var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$7 + DATA_API_KEY$4;1186 var SELECTOR_ACTIVES = '.show, .collapsing';1187 var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="collapse"]';1188 var Default$6 = {1189 toggle: true,1190 parent: ''1191 };1192 var DefaultType$6 = {1193 toggle: 'boolean',1194 parent: '(string|element)'1195 };1196 /**1197 * Class definition1198 */1199 1200 var Collapse = /*#__PURE__*/function () {