bootstrap.bundle.js 244 KB
Newer Older
XhmikosR's avatar
Dist    
XhmikosR committed
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
  var DATA_KEY$1 = 'bs.button';
  var EVENT_KEY$1 = "." + DATA_KEY$1;
  var DATA_API_KEY$1 = '.data-api';
  var ClassName$1 = {
    ACTIVE: 'active',
    BUTTON: 'btn',
    FOCUS: 'focus'
  };
  var Selector$1 = {
    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
    DATA_TOGGLE: '[data-toggle="buttons"]',
Mark Otto's avatar
dist    
Mark Otto committed
1012
    INPUT: 'input:not([type="hidden"])',
XhmikosR's avatar
Dist    
XhmikosR committed
1013
1014
1015
    ACTIVE: '.active',
    BUTTON: '.btn'
  };
XhmikosR's avatar
XhmikosR committed
1016
  var Event$2 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1017
    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
XhmikosR's avatar
XhmikosR committed
1018
1019
    FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
    BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
Mark Otto's avatar
dist    
Mark Otto committed
1020
1021
    /**
     * ------------------------------------------------------------------------
XhmikosR's avatar
Dist    
XhmikosR committed
1022
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
1023
1024
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
1025

XhmikosR's avatar
Dist    
XhmikosR committed
1026
  };
Mark Otto's avatar
dist  
Mark Otto committed
1027

XhmikosR's avatar
Dist    
XhmikosR committed
1028
1029
1030
1031
1032
  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
      this._element = element;
XhmikosR's avatar
XhmikosR committed
1033
      Data.setData(element, DATA_KEY$1, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1034
    } // Getters
Mark Otto's avatar
dist  
Mark Otto committed
1035
1036


XhmikosR's avatar
Dist    
XhmikosR committed
1037
    var _proto = Button.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
1038

XhmikosR's avatar
Dist    
XhmikosR committed
1039
1040
1041
1042
    // Public
    _proto.toggle = function toggle() {
      var triggerChangeEvent = true;
      var addAriaPressed = true;
XhmikosR's avatar
XhmikosR committed
1043
      var rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE);
XhmikosR's avatar
Dist    
XhmikosR committed
1044
1045

      if (rootElement) {
XhmikosR's avatar
XhmikosR committed
1046
        var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1047
1048
1049
1050
1051
1052

        if (input) {
          if (input.type === 'radio') {
            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
              triggerChangeEvent = false;
            } else {
XhmikosR's avatar
XhmikosR committed
1053
              var activeElement = SelectorEngine.findOne(Selector$1.ACTIVE, rootElement);
Mark Otto's avatar
dist  
Mark Otto committed
1054

XhmikosR's avatar
Dist    
XhmikosR committed
1055
              if (activeElement) {
XhmikosR's avatar
XhmikosR committed
1056
                activeElement.classList.remove(ClassName$1.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
1057
              }
XhmikosR's avatar
Dist    
XhmikosR committed
1058
1059
            }
          }
Mark Otto's avatar
dist    
Mark Otto committed
1060

XhmikosR's avatar
Dist    
XhmikosR committed
1061
1062
1063
          if (triggerChangeEvent) {
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
              return;
Mark Otto's avatar
dist  
Mark Otto committed
1064
            }
Mark Otto's avatar
dist    
Mark Otto committed
1065

XhmikosR's avatar
Dist    
XhmikosR committed
1066
            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
XhmikosR's avatar
XhmikosR committed
1067
            EventHandler.trigger(input, 'change');
Mark Otto's avatar
dist  
Mark Otto committed
1068
1069
          }

XhmikosR's avatar
Dist    
XhmikosR committed
1070
1071
          input.focus();
          addAriaPressed = false;
Mark Otto's avatar
dist  
Mark Otto committed
1072
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1073
      }
Mark Otto's avatar
dist  
Mark Otto committed
1074

XhmikosR's avatar
Dist    
XhmikosR committed
1075
1076
1077
      if (addAriaPressed) {
        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
      }
Mark Otto's avatar
dist  
Mark Otto committed
1078

XhmikosR's avatar
Dist    
XhmikosR committed
1079
      if (triggerChangeEvent) {
XhmikosR's avatar
XhmikosR committed
1080
        this._element.classList.toggle(ClassName$1.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1081
1082
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1083

XhmikosR's avatar
Dist    
XhmikosR committed
1084
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1085
      Data.removeData(this._element, DATA_KEY$1);
XhmikosR's avatar
Dist    
XhmikosR committed
1086
      this._element = null;
Mark Otto's avatar
Mark Otto committed
1087
1088
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1089

XhmikosR's avatar
Dist    
XhmikosR committed
1090
1091
    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
XhmikosR's avatar
XhmikosR committed
1092
        var data = Data.getData(this, DATA_KEY$1);
Mark Otto's avatar
dist  
Mark Otto committed
1093

XhmikosR's avatar
Dist    
XhmikosR committed
1094
1095
1096
        if (!data) {
          data = new Button(this);
        }
Mark Otto's avatar
dist  
Mark Otto committed
1097

XhmikosR's avatar
Dist    
XhmikosR committed
1098
1099
        if (config === 'toggle') {
          data[config]();
Mark Otto's avatar
dist  
Mark Otto committed
1100
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1101
1102
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1103

XhmikosR's avatar
XhmikosR committed
1104
1105
1106
1107
    Button._getInstance = function _getInstance(element) {
      return Data.getData(element, DATA_KEY$1);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1108
1109
1110
1111
1112
1113
    _createClass(Button, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$1;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
1114

XhmikosR's avatar
Dist    
XhmikosR committed
1115
1116
1117
1118
1119
1120
1121
    return Button;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1122
1123


XhmikosR's avatar
XhmikosR committed
1124
  EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1125
1126
    event.preventDefault();
    var button = event.target;
Mark Otto's avatar
dist  
Mark Otto committed
1127

XhmikosR's avatar
XhmikosR committed
1128
1129
1130
1131
1132
1133
1134
1135
    if (!button.classList.contains(ClassName$1.BUTTON)) {
      button = SelectorEngine.closest(button, Selector$1.BUTTON);
    }

    var data = Data.getData(button, DATA_KEY$1);

    if (!data) {
      data = new Button(button);
XhmikosR's avatar
Dist    
XhmikosR committed
1136
    }
Mark Otto's avatar
dist    
Mark Otto committed
1137

XhmikosR's avatar
XhmikosR committed
1138
1139
1140
1141
    data.toggle();
  });
  EventHandler.on(document, Event$2.FOCUS_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
    var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
XhmikosR's avatar
XhmikosR committed
1142
1143
1144
1145

    if (button) {
      button.classList.add(ClassName$1.FOCUS);
    }
XhmikosR's avatar
XhmikosR committed
1146
1147
1148
  });
  EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
    var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
XhmikosR's avatar
XhmikosR committed
1149
1150
1151
1152

    if (button) {
      button.classList.remove(ClassName$1.FOCUS);
    }
XhmikosR's avatar
Dist    
XhmikosR committed
1153
1154
1155
1156
1157
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1158
   * add .button to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1159
   */
Mark Otto's avatar
dist  
Mark Otto committed
1160

1161
1162
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$1 = jQuery.fn[NAME$1];
    jQuery.fn[NAME$1] = Button._jQueryInterface;
    jQuery.fn[NAME$1].Constructor = Button;

    jQuery.fn[NAME$1].noConflict = function () {
      jQuery.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
      return Button._jQueryInterface;
    };
  }

  /**
   * --------------------------------------------------------------------------
   * Bootstrap (v4.3.1): dom/manipulator.js
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
   * --------------------------------------------------------------------------
   */
  function normalizeData(val) {
    if (val === 'true') {
      return true;
    }

    if (val === 'false') {
      return false;
    }

    if (val === Number(val).toString()) {
      return Number(val);
    }

    if (val === '' || val === 'null') {
      return null;
    }

    return val;
  }

  function normalizeDataKey(key) {
    return key.replace(/[A-Z]/g, function (chr) {
      return chr.toLowerCase();
    });
  }

  var Manipulator = {
    setDataAttribute: function setDataAttribute(element, key, value) {
      element.setAttribute("data-" + normalizeDataKey(key), value);
    },
    removeDataAttribute: function removeDataAttribute(element, key) {
      element.removeAttribute("data-" + normalizeDataKey(key));
    },
    getDataAttributes: function getDataAttributes(element) {
      if (!element) {
        return {};
      }

1218
      var attributes = _objectSpread2({}, element.dataset);
Mark Otto's avatar
dist  
Mark Otto committed
1219

XhmikosR's avatar
XhmikosR committed
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
      Object.keys(attributes).forEach(function (key) {
        attributes[key] = normalizeData(attributes[key]);
      });
      return attributes;
    },
    getDataAttribute: function getDataAttribute(element, key) {
      return normalizeData(element.getAttribute("data-" + normalizeDataKey(key)));
    },
    offset: function offset(element) {
      var rect = element.getBoundingClientRect();
      return {
        top: rect.top + document.body.scrollTop,
        left: rect.left + document.body.scrollLeft
      };
    },
    position: function position(element) {
      return {
        top: element.offsetTop,
        left: element.offsetLeft
      };
    },
    toggleClass: function toggleClass(element, className) {
      if (!element) {
        return;
      }

      if (element.classList.contains(className)) {
        element.classList.remove(className);
      } else {
        element.classList.add(className);
      }
    }
XhmikosR's avatar
Dist    
XhmikosR committed
1252
  };
Mark Otto's avatar
dist  
Mark Otto committed
1253
1254

  /**
XhmikosR's avatar
Dist    
XhmikosR committed
1255
1256
1257
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
1258
   */
Mark Otto's avatar
dist    
Mark Otto committed
1259

XhmikosR's avatar
Dist    
XhmikosR committed
1260
  var NAME$2 = 'carousel';
XhmikosR's avatar
XhmikosR committed
1261
  var VERSION$2 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
  var DATA_KEY$2 = 'bs.carousel';
  var EVENT_KEY$2 = "." + DATA_KEY$2;
  var DATA_API_KEY$2 = '.data-api';
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key

  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key

  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch

  var SWIPE_THRESHOLD = 40;
  var Default = {
    interval: 5000,
    keyboard: true,
    slide: false,
    pause: 'hover',
    wrap: true,
    touch: true
  };
  var DefaultType = {
    interval: '(number|boolean)',
    keyboard: 'boolean',
    slide: '(boolean|string)',
    pause: '(string|boolean)',
    wrap: 'boolean',
    touch: 'boolean'
  };
  var Direction = {
    NEXT: 'next',
    PREV: 'prev',
    LEFT: 'left',
    RIGHT: 'right'
  };
XhmikosR's avatar
XhmikosR committed
1294
  var Event$3 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
    SLIDE: "slide" + EVENT_KEY$2,
    SLID: "slid" + EVENT_KEY$2,
    KEYDOWN: "keydown" + EVENT_KEY$2,
    MOUSEENTER: "mouseenter" + EVENT_KEY$2,
    MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
    TOUCHSTART: "touchstart" + EVENT_KEY$2,
    TOUCHMOVE: "touchmove" + EVENT_KEY$2,
    TOUCHEND: "touchend" + EVENT_KEY$2,
    POINTERDOWN: "pointerdown" + EVENT_KEY$2,
    POINTERUP: "pointerup" + EVENT_KEY$2,
    DRAG_START: "dragstart" + EVENT_KEY$2,
    LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
    CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
  };
  var ClassName$2 = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
    ITEM: 'carousel-item',
    POINTER_EVENT: 'pointer-event'
  };
  var Selector$2 = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
    ITEM_IMG: '.carousel-item img',
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
  };
  var PointerType = {
    TOUCH: 'touch',
    PEN: 'pen'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
1336
1337
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
1338

XhmikosR's avatar
Dist    
XhmikosR committed
1339
  };
Mark Otto's avatar
dist    
Mark Otto committed
1340

XhmikosR's avatar
Dist    
XhmikosR committed
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
  var Carousel =
  /*#__PURE__*/
  function () {
    function Carousel(element, config) {
      this._items = null;
      this._interval = null;
      this._activeElement = null;
      this._isPaused = false;
      this._isSliding = false;
      this.touchTimeout = null;
      this.touchStartX = 0;
      this.touchDeltaX = 0;
      this._config = this._getConfig(config);
      this._element = element;
XhmikosR's avatar
XhmikosR committed
1355
      this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1356
1357
1358
1359
      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);

      this._addEventListeners();
XhmikosR's avatar
XhmikosR committed
1360
1361

      Data.setData(element, DATA_KEY$2, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
    } // Getters


    var _proto = Carousel.prototype;

    // Public
    _proto.next = function next() {
      if (!this._isSliding) {
        this._slide(Direction.NEXT);
      }
Mark Otto's avatar
dist    
Mark Otto committed
1372
    };
Mark Otto's avatar
dist  
Mark Otto committed
1373

XhmikosR's avatar
Dist    
XhmikosR committed
1374
1375
1376
    _proto.nextWhenVisible = function nextWhenVisible() {
      // Don't call next when the page isn't visible
      // or the carousel or its parent isn't visible
XhmikosR's avatar
XhmikosR committed
1377
      if (!document.hidden && isVisible(this._element)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1378
1379
        this.next();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1380
1381
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1382
1383
1384
1385
1386
    _proto.prev = function prev() {
      if (!this._isSliding) {
        this._slide(Direction.PREV);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1387

XhmikosR's avatar
Dist    
XhmikosR committed
1388
1389
1390
1391
    _proto.pause = function pause(event) {
      if (!event) {
        this._isPaused = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1392

XhmikosR's avatar
XhmikosR committed
1393
1394
      if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
        triggerTransitionEnd(this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1395
1396
        this.cycle(true);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1397

XhmikosR's avatar
Dist    
XhmikosR committed
1398
1399
1400
      clearInterval(this._interval);
      this._interval = null;
    };
Mark Otto's avatar
dist  
Mark Otto committed
1401

XhmikosR's avatar
Dist    
XhmikosR committed
1402
1403
1404
1405
    _proto.cycle = function cycle(event) {
      if (!event) {
        this._isPaused = false;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1406

XhmikosR's avatar
Dist    
XhmikosR committed
1407
      if (this._interval) {
Mark Otto's avatar
dist    
Mark Otto committed
1408
1409
        clearInterval(this._interval);
        this._interval = null;
XhmikosR's avatar
Dist    
XhmikosR committed
1410
      }
Mark Otto's avatar
dist  
Mark Otto committed
1411

XhmikosR's avatar
XhmikosR committed
1412
      if (this._config && this._config.interval && !this._isPaused) {
XhmikosR's avatar
Dist    
XhmikosR committed
1413
1414
1415
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1416

XhmikosR's avatar
Dist    
XhmikosR committed
1417
1418
    _proto.to = function to(index) {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1419

XhmikosR's avatar
XhmikosR committed
1420
      this._activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1421

XhmikosR's avatar
Dist    
XhmikosR committed
1422
      var activeIndex = this._getItemIndex(this._activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
1423

XhmikosR's avatar
Dist    
XhmikosR committed
1424
1425
1426
      if (index > this._items.length - 1 || index < 0) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1427

XhmikosR's avatar
Dist    
XhmikosR committed
1428
      if (this._isSliding) {
XhmikosR's avatar
XhmikosR committed
1429
        EventHandler.one(this._element, Event$3.SLID, function () {
XhmikosR's avatar
Dist    
XhmikosR committed
1430
1431
1432
1433
          return _this.to(index);
        });
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1434

XhmikosR's avatar
Dist    
XhmikosR committed
1435
1436
1437
1438
1439
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1440

XhmikosR's avatar
Dist    
XhmikosR committed
1441
      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
Mark Otto's avatar
dist  
Mark Otto committed
1442

XhmikosR's avatar
Dist    
XhmikosR committed
1443
1444
      this._slide(direction, this._items[index]);
    };
Mark Otto's avatar
dist  
Mark Otto committed
1445

XhmikosR's avatar
Dist    
XhmikosR committed
1446
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1447
1448
      EventHandler.off(this._element, EVENT_KEY$2);
      Data.removeData(this._element, DATA_KEY$2);
XhmikosR's avatar
Dist    
XhmikosR committed
1449
1450
1451
1452
1453
1454
1455
1456
      this._items = null;
      this._config = null;
      this._element = null;
      this._interval = null;
      this._isPaused = null;
      this._isSliding = null;
      this._activeElement = null;
      this._indicatorsElement = null;
Mark Otto's avatar
Mark Otto committed
1457
1458
    } // Private
    ;
XhmikosR's avatar
Dist    
XhmikosR committed
1459
1460

    _proto._getConfig = function _getConfig(config) {
1461
      config = _objectSpread2({}, Default, {}, config);
XhmikosR's avatar
XhmikosR committed
1462
      typeCheckConfig(NAME$2, config, DefaultType);
XhmikosR's avatar
Dist    
XhmikosR committed
1463
1464
      return config;
    };
Mark Otto's avatar
dist    
Mark Otto committed
1465

XhmikosR's avatar
Dist    
XhmikosR committed
1466
1467
    _proto._handleSwipe = function _handleSwipe() {
      var absDeltax = Math.abs(this.touchDeltaX);
Mark Otto's avatar
dist    
Mark Otto committed
1468

XhmikosR's avatar
Dist    
XhmikosR committed
1469
1470
1471
      if (absDeltax <= SWIPE_THRESHOLD) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1472

XhmikosR's avatar
XhmikosR committed
1473
1474
      var direction = absDeltax / this.touchDeltaX;
      this.touchDeltaX = 0; // swipe left
Mark Otto's avatar
dist    
Mark Otto committed
1475

XhmikosR's avatar
Dist    
XhmikosR committed
1476
1477
1478
      if (direction > 0) {
        this.prev();
      } // swipe right
Mark Otto's avatar
dist    
Mark Otto committed
1479

Mark Otto's avatar
dist    
Mark Otto committed
1480

XhmikosR's avatar
Dist    
XhmikosR committed
1481
1482
1483
1484
      if (direction < 0) {
        this.next();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1485

XhmikosR's avatar
Dist    
XhmikosR committed
1486
1487
    _proto._addEventListeners = function _addEventListeners() {
      var _this2 = this;
Mark Otto's avatar
dist  
Mark Otto committed
1488

XhmikosR's avatar
Dist    
XhmikosR committed
1489
      if (this._config.keyboard) {
XhmikosR's avatar
XhmikosR committed
1490
        EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1491
1492
1493
          return _this2._keydown(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1494

XhmikosR's avatar
Dist    
XhmikosR committed
1495
      if (this._config.pause === 'hover') {
XhmikosR's avatar
XhmikosR committed
1496
        EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1497
          return _this2.pause(event);
XhmikosR's avatar
XhmikosR committed
1498
1499
        });
        EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1500
1501
1502
          return _this2.cycle(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1503

1504
      if (this._config.touch && this._touchSupported) {
Mark Otto's avatar
Mark Otto committed
1505
1506
        this._addTouchEventListeners();
      }
XhmikosR's avatar
Dist    
XhmikosR committed
1507
    };
Mark Otto's avatar
dist  
Mark Otto committed
1508

XhmikosR's avatar
Dist    
XhmikosR committed
1509
1510
    _proto._addTouchEventListeners = function _addTouchEventListeners() {
      var _this3 = this;
Mark Otto's avatar
dist    
Mark Otto committed
1511

XhmikosR's avatar
Dist    
XhmikosR committed
1512
      var start = function start(event) {
XhmikosR's avatar
XhmikosR committed
1513
1514
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchStartX = event.clientX;
XhmikosR's avatar
Dist    
XhmikosR committed
1515
        } else if (!_this3._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1516
          _this3.touchStartX = event.touches[0].clientX;
Mark Otto's avatar
dist    
Mark Otto committed
1517
1518
        }
      };
Mark Otto's avatar
dist  
Mark Otto committed
1519

XhmikosR's avatar
Dist    
XhmikosR committed
1520
1521
      var move = function move(event) {
        // ensure swiping with one touch and not pinching
XhmikosR's avatar
XhmikosR committed
1522
        if (event.touches && event.touches.length > 1) {
XhmikosR's avatar
Dist    
XhmikosR committed
1523
1524
          _this3.touchDeltaX = 0;
        } else {
XhmikosR's avatar
XhmikosR committed
1525
          _this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1526
        }
Mark Otto's avatar
dist    
Mark Otto committed
1527
      };
Mark Otto's avatar
dist    
Mark Otto committed
1528

XhmikosR's avatar
Dist    
XhmikosR committed
1529
      var end = function end(event) {
XhmikosR's avatar
XhmikosR committed
1530
1531
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchDeltaX = event.clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1532
1533
1534
        }

        _this3._handleSwipe();
Mark Otto's avatar
dist    
Mark Otto committed
1535

XhmikosR's avatar
Dist    
XhmikosR committed
1536
1537
1538
1539
1540
1541
1542
1543
1544
        if (_this3._config.pause === 'hover') {
          // If it's a touch-enabled device, mouseenter/leave are fired as
          // part of the mouse compatibility events on first tap - the carousel
          // would stop cycling until user tapped out of it;
          // here, we listen for touchend, explicitly pause the carousel
          // (as if it's the second time we tap on it, mouseenter compat event
          // is NOT fired) and after a timeout (to allow for mouse compatibility
          // events to fire) we explicitly restart cycling
          _this3.pause();
Mark Otto's avatar
dist  
Mark Otto committed
1545

XhmikosR's avatar
Dist    
XhmikosR committed
1546
1547
1548
          if (_this3.touchTimeout) {
            clearTimeout(_this3.touchTimeout);
          }
Mark Otto's avatar
dist  
Mark Otto committed
1549

XhmikosR's avatar
Dist    
XhmikosR committed
1550
1551
1552
          _this3.touchTimeout = setTimeout(function (event) {
            return _this3.cycle(event);
          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
Mark Otto's avatar
dist    
Mark Otto committed
1553
1554
        }
      };
Mark Otto's avatar
dist    
Mark Otto committed
1555

XhmikosR's avatar
XhmikosR committed
1556
1557
1558
1559
      makeArray(SelectorEngine.find(Selector$2.ITEM_IMG, this._element)).forEach(function (itemImg) {
        EventHandler.on(itemImg, Event$3.DRAG_START, function (e) {
          return e.preventDefault();
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1560
      });
Mark Otto's avatar
dist    
Mark Otto committed
1561

XhmikosR's avatar
Dist    
XhmikosR committed
1562
      if (this._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1563
        EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1564
1565
          return start(event);
        });
XhmikosR's avatar
XhmikosR committed
1566
        EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1567
1568
          return end(event);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1569

XhmikosR's avatar
Dist    
XhmikosR committed
1570
1571
        this._element.classList.add(ClassName$2.POINTER_EVENT);
      } else {
XhmikosR's avatar
XhmikosR committed
1572
        EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1573
          return start(event);
Mark Otto's avatar
dist    
Mark Otto committed
1574
        });
XhmikosR's avatar
XhmikosR committed
1575
        EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1576
1577
          return move(event);
        });
XhmikosR's avatar
XhmikosR committed
1578
        EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1579
1580
1581
1582
          return end(event);
        });
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1583

XhmikosR's avatar
Dist    
XhmikosR committed
1584
1585
1586
1587
    _proto._keydown = function _keydown(event) {
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1588

XhmikosR's avatar
Dist    
XhmikosR committed
1589
1590
1591
1592
1593
      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
          event.preventDefault();
          this.prev();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1594

XhmikosR's avatar
Dist    
XhmikosR committed
1595
1596
1597
1598
        case ARROW_RIGHT_KEYCODE:
          event.preventDefault();
          this.next();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1599

XhmikosR's avatar
Dist    
XhmikosR committed
1600
1601
1602
        default:
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1603

XhmikosR's avatar
Dist    
XhmikosR committed
1604
    _proto._getItemIndex = function _getItemIndex(element) {
XhmikosR's avatar
XhmikosR committed
1605
      this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
XhmikosR's avatar
Dist    
XhmikosR committed
1606
1607
      return this._items.indexOf(element);
    };
Mark Otto's avatar
dist    
Mark Otto committed
1608

XhmikosR's avatar
Dist    
XhmikosR committed
1609
1610
1611
    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
      var isNextDirection = direction === Direction.NEXT;
      var isPrevDirection = direction === Direction.PREV;
Mark Otto's avatar
dist    
Mark Otto committed
1612

XhmikosR's avatar
Dist    
XhmikosR committed
1613
      var activeIndex = this._getItemIndex(activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
1614

XhmikosR's avatar
Dist    
XhmikosR committed
1615
1616
      var lastItemIndex = this._items.length - 1;
      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
Mark Otto's avatar
dist  
Mark Otto committed
1617

XhmikosR's avatar
Dist    
XhmikosR committed
1618
1619
1620
      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1621

XhmikosR's avatar
Dist    
XhmikosR committed
1622
1623
1624
1625
      var delta = direction === Direction.PREV ? -1 : 1;
      var itemIndex = (activeIndex + delta) % this._items.length;
      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
    };
Mark Otto's avatar
dist  
Mark Otto committed
1626

XhmikosR's avatar
Dist    
XhmikosR committed
1627
1628
    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
      var targetIndex = this._getItemIndex(relatedTarget);
Mark Otto's avatar
dist  
Mark Otto committed
1629

XhmikosR's avatar
XhmikosR committed
1630
      var fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element));
Mark Otto's avatar
dist    
Mark Otto committed
1631

XhmikosR's avatar
XhmikosR committed
1632
      return EventHandler.trigger(this._element, Event$3.SLIDE, {
XhmikosR's avatar
Dist    
XhmikosR committed
1633
1634
1635
1636
1637
1638
        relatedTarget: relatedTarget,
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1639

XhmikosR's avatar
Dist    
XhmikosR committed
1640
1641
    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
      if (this._indicatorsElement) {
XhmikosR's avatar
XhmikosR committed
1642
1643
1644
1645
1646
        var indicators = SelectorEngine.find(Selector$2.ACTIVE, this._indicatorsElement);

        for (var i = 0; i < indicators.length; i++) {
          indicators[i].classList.remove(ClassName$2.ACTIVE);
        }
Mark Otto's avatar
dist  
Mark Otto committed
1647

XhmikosR's avatar
Dist    
XhmikosR committed
1648
        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
Mark Otto's avatar
dist  
Mark Otto committed
1649

XhmikosR's avatar
Dist    
XhmikosR committed
1650
        if (nextIndicator) {
XhmikosR's avatar
XhmikosR committed
1651
          nextIndicator.classList.add(ClassName$2.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
1652
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1653
1654
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1655

XhmikosR's avatar
Dist    
XhmikosR committed
1656
1657
    _proto._slide = function _slide(direction, element) {
      var _this4 = this;
Mark Otto's avatar
dist  
Mark Otto committed
1658

XhmikosR's avatar
XhmikosR committed
1659
      var activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
Mark Otto's avatar
dist  
Mark Otto committed
1660

XhmikosR's avatar
Dist    
XhmikosR committed
1661
      var activeElementIndex = this._getItemIndex(activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
1662

XhmikosR's avatar
Dist    
XhmikosR committed
1663
      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
1664

XhmikosR's avatar
Dist    
XhmikosR committed
1665
      var nextElementIndex = this._getItemIndex(nextElement);
Mark Otto's avatar
dist  
Mark Otto committed
1666

XhmikosR's avatar
Dist    
XhmikosR committed
1667
1668
1669
1670
      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;
Mark Otto's avatar
dist  
Mark Otto committed
1671

XhmikosR's avatar
Dist    
XhmikosR committed
1672
1673
1674
1675
1676
1677
1678
1679
1680
      if (direction === Direction.NEXT) {
        directionalClassName = ClassName$2.LEFT;
        orderClassName = ClassName$2.NEXT;
        eventDirectionName = Direction.LEFT;
      } else {
        directionalClassName = ClassName$2.RIGHT;
        orderClassName = ClassName$2.PREV;
        eventDirectionName = Direction.RIGHT;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1681

XhmikosR's avatar
XhmikosR committed
1682
      if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1683
1684
1685
        this._isSliding = false;
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1686

XhmikosR's avatar
Dist    
XhmikosR committed
1687
      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
Mark Otto's avatar
dist  
Mark Otto committed
1688

XhmikosR's avatar
XhmikosR committed
1689
      if (slideEvent.defaultPrevented) {
XhmikosR's avatar
Dist    
XhmikosR committed
1690
1691
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1692

XhmikosR's avatar
Dist    
XhmikosR committed
1693
1694
1695
1696
      if (!activeElement || !nextElement) {
        // Some weirdness is happening, so we bail
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1697

XhmikosR's avatar
Dist    
XhmikosR committed
1698
      this._isSliding = true;
Mark Otto's avatar
dist    
Mark Otto committed
1699

XhmikosR's avatar
Dist    
XhmikosR committed
1700
1701
1702
      if (isCycling) {
        this.pause();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1703

XhmikosR's avatar
Dist    
XhmikosR committed
1704
      this._setActiveIndicatorElement(nextElement);
Mark Otto's avatar
dist    
Mark Otto committed
1705

XhmikosR's avatar
XhmikosR committed
1706
1707
1708
1709
1710
      if (this._element.classList.contains(ClassName$2.SLIDE)) {
        nextElement.classList.add(orderClassName);
        reflow(nextElement);
        activeElement.classList.add(directionalClassName);
        nextElement.classList.add(directionalClassName);
XhmikosR's avatar
Dist    
XhmikosR committed
1711
1712
1713
1714
1715
1716
1717
        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);

        if (nextElementInterval) {
          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
          this._config.interval = nextElementInterval;
        } else {
          this._config.interval = this._config.defaultInterval || this._config.interval;
Mark Otto's avatar
dist  
Mark Otto committed
1718
1719
        }

XhmikosR's avatar
XhmikosR committed
1720
1721
1722
1723
1724
1725
1726
1727
        var transitionDuration = getTransitionDurationFromElement(activeElement);
        EventHandler.one(activeElement, TRANSITION_END, function () {
          nextElement.classList.remove(directionalClassName);
          nextElement.classList.remove(orderClassName);
          nextElement.classList.add(ClassName$2.ACTIVE);
          activeElement.classList.remove(ClassName$2.ACTIVE);
          activeElement.classList.remove(orderClassName);
          activeElement.classList.remove(directionalClassName);
XhmikosR's avatar
Dist    
XhmikosR committed
1728
1729
          _this4._isSliding = false;
          setTimeout(function () {
XhmikosR's avatar
XhmikosR committed
1730
1731
1732
1733
1734
1735
            EventHandler.trigger(_this4._element, Event$3.SLID, {
              relatedTarget: nextElement,
              direction: eventDirectionName,
              from: activeElementIndex,
              to: nextElementIndex
            });
XhmikosR's avatar
Dist    
XhmikosR committed
1736
          }, 0);
XhmikosR's avatar
XhmikosR committed
1737
1738
        });
        emulateTransitionEnd(activeElement, transitionDuration);
XhmikosR's avatar
Dist    
XhmikosR committed
1739
      } else {
XhmikosR's avatar
XhmikosR committed
1740
1741
        activeElement.classList.remove(ClassName$2.ACTIVE);
        nextElement.classList.add(ClassName$2.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1742
        this._isSliding = false;
XhmikosR's avatar
XhmikosR committed
1743
1744
1745
1746
1747
1748
        EventHandler.trigger(this._element, Event$3.SLID, {
          relatedTarget: nextElement,
          direction: eventDirectionName,
          from: activeElementIndex,
          to: nextElementIndex
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1749
1750
1751
1752
1753
      }

      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
Mark Otto committed
1754
1755
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1756

XhmikosR's avatar
XhmikosR committed
1757
1758
    Carousel._carouselInterface = function _carouselInterface(element, config) {
      var data = Data.getData(element, DATA_KEY$2);
Mark Otto's avatar
dist  
Mark Otto committed
1759

1760
      var _config = _objectSpread2({}, Default, {}, Manipulator.getDataAttributes(element));
Mark Otto's avatar
dist  
Mark Otto committed
1761

XhmikosR's avatar
XhmikosR committed
1762
      if (typeof config === 'object') {
1763
        _config = _objectSpread2({}, _config, {}, config);
XhmikosR's avatar
XhmikosR committed
1764
      }
Mark Otto's avatar
dist  
Mark Otto committed
1765

XhmikosR's avatar
XhmikosR committed
1766
      var action = typeof config === 'string' ? config : _config.slide;
Mark Otto's avatar
dist  
Mark Otto committed
1767

XhmikosR's avatar
XhmikosR committed
1768
1769
1770
1771
1772
1773
1774
1775
      if (!data) {
        data = new Carousel(element, _config);
      }

      if (typeof config === 'number') {
        data.to(config);
      } else if (typeof action === 'string') {
        if (typeof data[action] === 'undefined') {
XhmikosR's avatar
Dist.    
XhmikosR committed
1776
          throw new TypeError("No method named \"" + action + "\"");
Mark Otto's avatar
dist    
Mark Otto committed
1777
        }
Mark Otto's avatar
dist  
Mark Otto committed
1778

XhmikosR's avatar
XhmikosR committed
1779
1780
1781
1782
1783
1784
        data[action]();
      } else if (_config.interval && _config.ride) {
        data.pause();
        data.cycle();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1785

XhmikosR's avatar
XhmikosR committed
1786
1787
1788
    Carousel._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        Carousel._carouselInterface(this, config);
XhmikosR's avatar
Dist    
XhmikosR committed
1789
1790
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1791

XhmikosR's avatar
Dist    
XhmikosR committed
1792
    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
XhmikosR's avatar
XhmikosR committed
1793
      var selector = getSelectorFromElement(this);
Mark Otto's avatar
dist  
Mark Otto committed
1794

XhmikosR's avatar
Dist    
XhmikosR committed
1795
1796
1797
1798
      if (!selector) {
        return;
      }

XhmikosR's avatar
XhmikosR committed
1799
      var target = SelectorEngine.findOne(selector);
XhmikosR's avatar
Dist    
XhmikosR committed
1800

XhmikosR's avatar
XhmikosR committed
1801
      if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1802
1803
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1804

1805
      var config = _objectSpread2({}, Manipulator.getDataAttributes(target), {}, Manipulator.getDataAttributes(this));
Mark Otto's avatar
dist    
Mark Otto committed
1806

XhmikosR's avatar
Dist    
XhmikosR committed
1807
      var slideIndex = this.getAttribute('data-slide-to');
Mark Otto's avatar
dist    
Mark Otto committed
1808

XhmikosR's avatar
Dist    
XhmikosR committed
1809
1810
      if (slideIndex) {
        config.interval = false;
Mark Otto's avatar
dist    
Mark Otto committed
1811
      }
Mark Otto's avatar
dist    
Mark Otto committed
1812

XhmikosR's avatar
XhmikosR committed
1813
      Carousel._carouselInterface(target, config);
Mark Otto's avatar
dist  
Mark Otto committed
1814

XhmikosR's avatar
Dist    
XhmikosR committed
1815
      if (slideIndex) {
XhmikosR's avatar
XhmikosR committed
1816
        Data.getData(target, DATA_KEY$2).to(slideIndex);
XhmikosR's avatar
Dist    
XhmikosR committed
1817
1818
1819
      }

      event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
1820
    };
Mark Otto's avatar
dist  
Mark Otto committed
1821

XhmikosR's avatar
XhmikosR committed
1822
1823
1824
1825
    Carousel._getInstance = function _getInstance(element) {
      return Data.getData(element, DATA_KEY$2);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
    _createClass(Carousel, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$2;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }]);

Mark Otto's avatar
dist    
Mark Otto committed
1838
    return Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1839
1840
1841
1842
1843
1844
1845
1846
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


XhmikosR's avatar
XhmikosR committed
1847
1848
1849
  EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
  EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
    var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
XhmikosR's avatar
Dist    
XhmikosR committed
1850
1851

    for (var i = 0, len = carousels.length; i < len; i++) {
XhmikosR's avatar
XhmikosR committed
1852
      Carousel._carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
XhmikosR's avatar
Dist    
XhmikosR committed
1853
1854
1855
1856
1857
1858
    }
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1859
   * add .carousel to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1860
1861
   */

1862
1863
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
1864
1865
1866
1867
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$2 = jQuery.fn[NAME$2];
    jQuery.fn[NAME$2] = Carousel._jQueryInterface;
    jQuery.fn[NAME$2].Constructor = Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1868

XhmikosR's avatar
XhmikosR committed
1869
1870
1871
1872
1873
    jQuery.fn[NAME$2].noConflict = function () {
      jQuery.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
      return Carousel._jQueryInterface;
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
1874

XhmikosR's avatar
Dist    
XhmikosR committed
1875
1876
1877
1878
1879
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1880

XhmikosR's avatar
Dist    
XhmikosR committed
1881
  var NAME$3 = 'collapse';
XhmikosR's avatar
XhmikosR committed
1882
  var VERSION$3 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
  var DATA_KEY$3 = 'bs.collapse';
  var EVENT_KEY$3 = "." + DATA_KEY$3;
  var DATA_API_KEY$3 = '.data-api';
  var Default$1 = {
    toggle: true,
    parent: ''
  };
  var DefaultType$1 = {
    toggle: 'boolean',
    parent: '(string|element)'
  };
XhmikosR's avatar
XhmikosR committed
1894
  var Event$4 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
    SHOW: "show" + EVENT_KEY$3,
    SHOWN: "shown" + EVENT_KEY$3,
    HIDE: "hide" + EVENT_KEY$3,
    HIDDEN: "hidden" + EVENT_KEY$3,
    CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
  };
  var ClassName$3 = {
    SHOW: 'show',
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector$3 = {
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
1919

XhmikosR's avatar
Dist    
XhmikosR committed
1920
  };
Mark Otto's avatar
dist    
Mark Otto committed
1921

XhmikosR's avatar
Dist    
XhmikosR committed
1922
1923
1924
1925
1926
1927
1928
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
XhmikosR's avatar
XhmikosR committed
1929
1930
      this._triggerArray = makeArray(SelectorEngine.find("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
      var toggleList = makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE));
XhmikosR's avatar
Dist    
XhmikosR committed
1931
1932
1933

      for (var i = 0, len = toggleList.length; i < len; i++) {
        var elem = toggleList[i];
XhmikosR's avatar
XhmikosR committed
1934
1935
        var selector = getSelectorFromElement(elem);
        var filterElement = makeArray(SelectorEngine.find(selector)).filter(function (foundElem) {
XhmikosR's avatar
Dist    
XhmikosR committed
1936
1937
          return foundElem === element;
        });
Mark Otto's avatar
dist  
Mark Otto committed
1938

XhmikosR's avatar
XhmikosR committed
1939
        if (selector !== null && filterElement.length) {
XhmikosR's avatar
Dist    
XhmikosR committed
1940
          this._selector = selector;
Mark Otto's avatar
dist  
Mark Otto committed
1941

XhmikosR's avatar
Dist    
XhmikosR committed
1942
          this._triggerArray.push(elem);
Mark Otto's avatar
dist    
Mark Otto committed
1943
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1944
      }
Mark Otto's avatar
dist  
Mark Otto committed
1945

XhmikosR's avatar
Dist    
XhmikosR committed
1946
      this._parent = this._config.parent ? this._getParent() : null;
Mark Otto's avatar
dist  
Mark Otto committed
1947

XhmikosR's avatar
Dist    
XhmikosR committed
1948
1949
1950
      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1951

XhmikosR's avatar
Dist    
XhmikosR committed
1952
1953
1954
      if (this._config.toggle) {
        this.toggle();
      }
XhmikosR's avatar
XhmikosR committed
1955
1956

      Data.setData(element, DATA_KEY$3, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1957
    } // Getters
Mark Otto's avatar
dist  
Mark Otto committed
1958
1959


XhmikosR's avatar
Dist    
XhmikosR committed
1960
    var _proto = Collapse.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
1961

XhmikosR's avatar
Dist    
XhmikosR committed
1962
1963
    // Public
    _proto.toggle = function toggle() {
XhmikosR's avatar
XhmikosR committed
1964
      if (this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1965
1966
1967
1968
1969
        this.hide();
      } else {
        this.show();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1970

XhmikosR's avatar
Dist    
XhmikosR committed
1971
1972
    _proto.show = function show() {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1973

XhmikosR's avatar
XhmikosR committed
1974
      if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1975
1976
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1977

XhmikosR's avatar
Dist    
XhmikosR committed
1978
1979
      var actives;
      var activesData;
Mark Otto's avatar
dist    
Mark Otto committed
1980

XhmikosR's avatar
Dist    
XhmikosR committed
1981
      if (this._parent) {
XhmikosR's avatar
XhmikosR committed
1982
        actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(function (elem) {
XhmikosR's avatar
Dist    
XhmikosR committed
1983
1984
          if (typeof _this._config.parent === 'string') {
            return elem.getAttribute('data-parent') === _this._config.parent;
Mark Otto's avatar
dist    
Mark Otto committed
1985
          }
Mark Otto's avatar
dist  
Mark Otto committed
1986

XhmikosR's avatar
Dist    
XhmikosR committed
1987
1988
          return elem.classList.contains(ClassName$3.COLLAPSE);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1989

XhmikosR's avatar
Dist    
XhmikosR committed
1990
1991
        if (actives.length === 0) {
          actives = null;
Mark Otto's avatar
dist  
Mark Otto committed
1992
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1993
      }
Mark Otto's avatar
dist  
Mark Otto committed
1994

XhmikosR's avatar
XhmikosR committed
1995
1996
      var container = SelectorEngine.findOne(this._selector);

XhmikosR's avatar
Dist    
XhmikosR committed
1997
      if (actives) {
XhmikosR's avatar
XhmikosR committed
1998
1999
2000
        var tempActiveData = actives.filter(function (elem) {
          return container !== elem;
        });
For faster browsing, not all history is shown. View entire blame