Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
bootstrap.js4357 linesDownload Raw Back to js
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 () {

Showing the first 1,200 of 4357 lines. Download the file for the rest.

codekingpro/portable-devtools · Team Ai