bootstrap.bundle.js 243 KB
Newer Older
XhmikosR's avatar
XhmikosR committed
1001
1002
1003
    $$1.fn[NAME].noConflict = function () {
      $$1.fn[NAME] = JQUERY_NO_CONFLICT;
      return Alert.jQueryInterface;
XhmikosR's avatar
XhmikosR committed
1004
1005
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
1006

XhmikosR's avatar
Dist    
XhmikosR committed
1007
1008
1009
1010
1011
1012
1013
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME$1 = 'button';
XhmikosR's avatar
XhmikosR committed
1014
  var VERSION$1 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
  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
1026
    INPUT: 'input:not([type="hidden"])',
XhmikosR's avatar
Dist    
XhmikosR committed
1027
1028
1029
    ACTIVE: '.active',
    BUTTON: '.btn'
  };
XhmikosR's avatar
XhmikosR committed
1030
  var Event$2 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1031
    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
XhmikosR's avatar
XhmikosR committed
1032
1033
    FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
    BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
XhmikosR's avatar
Dist    
XhmikosR committed
1034
  };
XhmikosR's avatar
XhmikosR committed
1035
1036
1037
1038
1039
  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1040

XhmikosR's avatar
Dist    
XhmikosR committed
1041
1042
1043
1044
1045
  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
      this._element = element;
XhmikosR's avatar
XhmikosR committed
1046
      Data.setData(element, DATA_KEY$1, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1047
    } // Getters
Mark Otto's avatar
dist  
Mark Otto committed
1048
1049


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

XhmikosR's avatar
Dist    
XhmikosR committed
1052
1053
1054
1055
    // Public
    _proto.toggle = function toggle() {
      var triggerChangeEvent = true;
      var addAriaPressed = true;
XhmikosR's avatar
XhmikosR committed
1056
      var rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE);
XhmikosR's avatar
Dist    
XhmikosR committed
1057
1058

      if (rootElement) {
XhmikosR's avatar
XhmikosR committed
1059
        var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1060

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

XhmikosR's avatar
XhmikosR committed
1067
1068
            if (activeElement) {
              activeElement.classList.remove(ClassName$1.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1069
1070
            }
          }
Mark Otto's avatar
dist    
Mark Otto committed
1071

XhmikosR's avatar
Dist    
XhmikosR committed
1072
1073
1074
          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
1075
            }
Mark Otto's avatar
dist    
Mark Otto committed
1076

XhmikosR's avatar
Dist    
XhmikosR committed
1077
            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
XhmikosR's avatar
XhmikosR committed
1078
            EventHandler.trigger(input, 'change');
Mark Otto's avatar
dist  
Mark Otto committed
1079
1080
          }

XhmikosR's avatar
Dist    
XhmikosR committed
1081
1082
          input.focus();
          addAriaPressed = false;
Mark Otto's avatar
dist  
Mark Otto committed
1083
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1084
      }
Mark Otto's avatar
dist  
Mark Otto committed
1085

XhmikosR's avatar
Dist    
XhmikosR committed
1086
1087
1088
      if (addAriaPressed) {
        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
      }
Mark Otto's avatar
dist  
Mark Otto committed
1089

XhmikosR's avatar
Dist    
XhmikosR committed
1090
      if (triggerChangeEvent) {
XhmikosR's avatar
XhmikosR committed
1091
        this._element.classList.toggle(ClassName$1.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1092
1093
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1094

XhmikosR's avatar
Dist    
XhmikosR committed
1095
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1096
      Data.removeData(this._element, DATA_KEY$1);
XhmikosR's avatar
Dist    
XhmikosR committed
1097
      this._element = null;
Mark Otto's avatar
Mark Otto committed
1098
1099
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1100

XhmikosR's avatar
XhmikosR committed
1101
    Button.jQueryInterface = function jQueryInterface(config) {
XhmikosR's avatar
Dist    
XhmikosR committed
1102
      return this.each(function () {
XhmikosR's avatar
XhmikosR committed
1103
        var data = Data.getData(this, DATA_KEY$1);
Mark Otto's avatar
dist  
Mark Otto committed
1104

XhmikosR's avatar
Dist    
XhmikosR committed
1105
1106
1107
        if (!data) {
          data = new Button(this);
        }
Mark Otto's avatar
dist  
Mark Otto committed
1108

XhmikosR's avatar
Dist    
XhmikosR committed
1109
1110
        if (config === 'toggle') {
          data[config]();
Mark Otto's avatar
dist  
Mark Otto committed
1111
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1112
1113
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1114

XhmikosR's avatar
XhmikosR committed
1115
    Button.getInstance = function getInstance(element) {
XhmikosR's avatar
XhmikosR committed
1116
1117
1118
      return Data.getData(element, DATA_KEY$1);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1119
1120
1121
1122
1123
1124
    _createClass(Button, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$1;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
1125

XhmikosR's avatar
Dist    
XhmikosR committed
1126
1127
1128
1129
1130
1131
1132
    return Button;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1133
1134


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

XhmikosR's avatar
XhmikosR committed
1139
1140
1141
1142
1143
1144
1145
1146
    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
1147
    }
Mark Otto's avatar
dist    
Mark Otto committed
1148

XhmikosR's avatar
XhmikosR committed
1149
1150
1151
1152
    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
1153
1154
1155
1156

    if (button) {
      button.classList.add(ClassName$1.FOCUS);
    }
XhmikosR's avatar
XhmikosR committed
1157
1158
1159
  });
  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
1160
1161
1162
1163

    if (button) {
      button.classList.remove(ClassName$1.FOCUS);
    }
XhmikosR's avatar
Dist    
XhmikosR committed
1164
  });
XhmikosR's avatar
XhmikosR committed
1165
  var $$2 = getjQuery();
XhmikosR's avatar
Dist    
XhmikosR committed
1166
1167
1168
1169
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1170
   * add .button to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1171
   */
Mark Otto's avatar
dist  
Mark Otto committed
1172

1173
1174
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
1175
1176
1177
1178
  if ($$2) {
    var JQUERY_NO_CONFLICT$1 = $$2.fn[NAME$1];
    $$2.fn[NAME$1] = Button.jQueryInterface;
    $$2.fn[NAME$1].Constructor = Button;
XhmikosR's avatar
XhmikosR committed
1179

XhmikosR's avatar
XhmikosR committed
1180
1181
1182
    $$2.fn[NAME$1].noConflict = function () {
      $$2.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
      return Button.jQueryInterface;
XhmikosR's avatar
XhmikosR committed
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
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
    };
  }

  /**
   * --------------------------------------------------------------------------
   * 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 {};
      }

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

XhmikosR's avatar
XhmikosR committed
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
      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
1264
  };
Mark Otto's avatar
dist  
Mark Otto committed
1265
1266

  /**
XhmikosR's avatar
Dist    
XhmikosR committed
1267
1268
1269
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
1270
   */
Mark Otto's avatar
dist    
Mark Otto committed
1271

XhmikosR's avatar
Dist    
XhmikosR committed
1272
  var NAME$2 = 'carousel';
XhmikosR's avatar
XhmikosR committed
1273
  var VERSION$2 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
  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
1306
  var Event$3 = {
XhmikosR's avatar
Dist    
XhmikosR committed
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
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
    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'
  };
XhmikosR's avatar
XhmikosR committed
1346
1347
1348
1349
1350
  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
1351

XhmikosR's avatar
Dist    
XhmikosR committed
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
  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
1366
      this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1367
1368
1369
1370
      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);

      this._addEventListeners();
XhmikosR's avatar
XhmikosR committed
1371
1372

      Data.setData(element, DATA_KEY$2, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
    } // 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
1383
    };
Mark Otto's avatar
dist  
Mark Otto committed
1384

XhmikosR's avatar
Dist    
XhmikosR committed
1385
1386
1387
    _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
1388
      if (!document.hidden && isVisible(this._element)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1389
1390
        this.next();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1391
1392
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1393
1394
1395
1396
1397
    _proto.prev = function prev() {
      if (!this._isSliding) {
        this._slide(Direction.PREV);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1398

XhmikosR's avatar
Dist    
XhmikosR committed
1399
1400
1401
1402
    _proto.pause = function pause(event) {
      if (!event) {
        this._isPaused = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1403

XhmikosR's avatar
XhmikosR committed
1404
1405
      if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
        triggerTransitionEnd(this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1406
1407
        this.cycle(true);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1408

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

XhmikosR's avatar
Dist    
XhmikosR committed
1413
1414
1415
1416
    _proto.cycle = function cycle(event) {
      if (!event) {
        this._isPaused = false;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1417

XhmikosR's avatar
Dist    
XhmikosR committed
1418
      if (this._interval) {
Mark Otto's avatar
dist    
Mark Otto committed
1419
1420
        clearInterval(this._interval);
        this._interval = null;
XhmikosR's avatar
Dist    
XhmikosR committed
1421
      }
Mark Otto's avatar
dist  
Mark Otto committed
1422

XhmikosR's avatar
XhmikosR committed
1423
      if (this._config && this._config.interval && !this._isPaused) {
XhmikosR's avatar
Dist    
XhmikosR committed
1424
1425
1426
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1427

XhmikosR's avatar
Dist    
XhmikosR committed
1428
1429
    _proto.to = function to(index) {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1430

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1435
1436
1437
      if (index > this._items.length - 1 || index < 0) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1438

XhmikosR's avatar
Dist    
XhmikosR committed
1439
      if (this._isSliding) {
XhmikosR's avatar
XhmikosR committed
1440
        EventHandler.one(this._element, Event$3.SLID, function () {
XhmikosR's avatar
Dist    
XhmikosR committed
1441
1442
1443
1444
          return _this.to(index);
        });
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1445

XhmikosR's avatar
Dist    
XhmikosR committed
1446
1447
1448
1449
1450
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1451

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

XhmikosR's avatar
Dist    
XhmikosR committed
1454
1455
      this._slide(direction, this._items[index]);
    };
Mark Otto's avatar
dist  
Mark Otto committed
1456

XhmikosR's avatar
Dist    
XhmikosR committed
1457
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1458
1459
      EventHandler.off(this._element, EVENT_KEY$2);
      Data.removeData(this._element, DATA_KEY$2);
XhmikosR's avatar
Dist    
XhmikosR committed
1460
1461
1462
1463
1464
1465
1466
1467
      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
1468
1469
    } // Private
    ;
XhmikosR's avatar
Dist    
XhmikosR committed
1470
1471

    _proto._getConfig = function _getConfig(config) {
1472
      config = _objectSpread2({}, Default, {}, config);
XhmikosR's avatar
XhmikosR committed
1473
      typeCheckConfig(NAME$2, config, DefaultType);
XhmikosR's avatar
Dist    
XhmikosR committed
1474
1475
      return config;
    };
Mark Otto's avatar
dist    
Mark Otto committed
1476

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

XhmikosR's avatar
Dist    
XhmikosR committed
1480
1481
1482
      if (absDeltax <= SWIPE_THRESHOLD) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1483

XhmikosR's avatar
XhmikosR committed
1484
1485
      var direction = absDeltax / this.touchDeltaX;
      this.touchDeltaX = 0; // swipe left
Mark Otto's avatar
dist    
Mark Otto committed
1486

XhmikosR's avatar
Dist    
XhmikosR committed
1487
1488
1489
      if (direction > 0) {
        this.prev();
      } // swipe right
Mark Otto's avatar
dist    
Mark Otto committed
1490

Mark Otto's avatar
dist    
Mark Otto committed
1491

XhmikosR's avatar
Dist    
XhmikosR committed
1492
1493
1494
1495
      if (direction < 0) {
        this.next();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1496

XhmikosR's avatar
Dist    
XhmikosR committed
1497
1498
    _proto._addEventListeners = function _addEventListeners() {
      var _this2 = this;
Mark Otto's avatar
dist  
Mark Otto committed
1499

XhmikosR's avatar
Dist    
XhmikosR committed
1500
      if (this._config.keyboard) {
XhmikosR's avatar
XhmikosR committed
1501
        EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1502
1503
1504
          return _this2._keydown(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1505

XhmikosR's avatar
Dist    
XhmikosR committed
1506
      if (this._config.pause === 'hover') {
XhmikosR's avatar
XhmikosR committed
1507
        EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1508
          return _this2.pause(event);
XhmikosR's avatar
XhmikosR committed
1509
1510
        });
        EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1511
1512
1513
          return _this2.cycle(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1514

1515
      if (this._config.touch && this._touchSupported) {
Mark Otto's avatar
Mark Otto committed
1516
1517
        this._addTouchEventListeners();
      }
XhmikosR's avatar
Dist    
XhmikosR committed
1518
    };
Mark Otto's avatar
dist  
Mark Otto committed
1519

XhmikosR's avatar
Dist    
XhmikosR committed
1520
1521
    _proto._addTouchEventListeners = function _addTouchEventListeners() {
      var _this3 = this;
Mark Otto's avatar
dist    
Mark Otto committed
1522

XhmikosR's avatar
Dist    
XhmikosR committed
1523
      var start = function start(event) {
XhmikosR's avatar
XhmikosR committed
1524
1525
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchStartX = event.clientX;
XhmikosR's avatar
Dist    
XhmikosR committed
1526
        } else if (!_this3._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1527
          _this3.touchStartX = event.touches[0].clientX;
Mark Otto's avatar
dist    
Mark Otto committed
1528
1529
        }
      };
Mark Otto's avatar
dist  
Mark Otto committed
1530

XhmikosR's avatar
Dist    
XhmikosR committed
1531
1532
      var move = function move(event) {
        // ensure swiping with one touch and not pinching
XhmikosR's avatar
XhmikosR committed
1533
        if (event.touches && event.touches.length > 1) {
XhmikosR's avatar
Dist    
XhmikosR committed
1534
1535
          _this3.touchDeltaX = 0;
        } else {
XhmikosR's avatar
XhmikosR committed
1536
          _this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1537
        }
Mark Otto's avatar
dist    
Mark Otto committed
1538
      };
Mark Otto's avatar
dist    
Mark Otto committed
1539

XhmikosR's avatar
Dist    
XhmikosR committed
1540
      var end = function end(event) {
XhmikosR's avatar
XhmikosR committed
1541
1542
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchDeltaX = event.clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1543
1544
1545
        }

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

XhmikosR's avatar
Dist    
XhmikosR committed
1547
1548
1549
1550
1551
1552
1553
1554
1555
        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
1556

XhmikosR's avatar
Dist    
XhmikosR committed
1557
1558
1559
          if (_this3.touchTimeout) {
            clearTimeout(_this3.touchTimeout);
          }
Mark Otto's avatar
dist  
Mark Otto committed
1560

XhmikosR's avatar
Dist    
XhmikosR committed
1561
1562
1563
          _this3.touchTimeout = setTimeout(function (event) {
            return _this3.cycle(event);
          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
Mark Otto's avatar
dist    
Mark Otto committed
1564
1565
        }
      };
Mark Otto's avatar
dist    
Mark Otto committed
1566

XhmikosR's avatar
XhmikosR committed
1567
1568
1569
1570
      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
1571
      });
Mark Otto's avatar
dist    
Mark Otto committed
1572

XhmikosR's avatar
Dist    
XhmikosR committed
1573
      if (this._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1574
        EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1575
1576
          return start(event);
        });
XhmikosR's avatar
XhmikosR committed
1577
        EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1578
1579
          return end(event);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1580

XhmikosR's avatar
Dist    
XhmikosR committed
1581
1582
        this._element.classList.add(ClassName$2.POINTER_EVENT);
      } else {
XhmikosR's avatar
XhmikosR committed
1583
        EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1584
          return start(event);
Mark Otto's avatar
dist    
Mark Otto committed
1585
        });
XhmikosR's avatar
XhmikosR committed
1586
        EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1587
1588
          return move(event);
        });
XhmikosR's avatar
XhmikosR committed
1589
        EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1590
1591
1592
1593
          return end(event);
        });
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1594

XhmikosR's avatar
Dist    
XhmikosR committed
1595
1596
1597
1598
    _proto._keydown = function _keydown(event) {
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1599

XhmikosR's avatar
Dist    
XhmikosR committed
1600
1601
1602
1603
1604
      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
          event.preventDefault();
          this.prev();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1605

XhmikosR's avatar
Dist    
XhmikosR committed
1606
1607
1608
1609
        case ARROW_RIGHT_KEYCODE:
          event.preventDefault();
          this.next();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1610

XhmikosR's avatar
Dist    
XhmikosR committed
1611
1612
1613
        default:
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1614

XhmikosR's avatar
Dist    
XhmikosR committed
1615
    _proto._getItemIndex = function _getItemIndex(element) {
XhmikosR's avatar
XhmikosR committed
1616
      this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
XhmikosR's avatar
Dist    
XhmikosR committed
1617
1618
      return this._items.indexOf(element);
    };
Mark Otto's avatar
dist    
Mark Otto committed
1619

XhmikosR's avatar
Dist    
XhmikosR committed
1620
1621
1622
    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
      var isNextDirection = direction === Direction.NEXT;
      var isPrevDirection = direction === Direction.PREV;
Mark Otto's avatar
dist    
Mark Otto committed
1623

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1629
1630
1631
      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1632

XhmikosR's avatar
Dist    
XhmikosR committed
1633
1634
1635
1636
      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
1637

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

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

XhmikosR's avatar
XhmikosR committed
1643
      return EventHandler.trigger(this._element, Event$3.SLIDE, {
XhmikosR's avatar
Dist    
XhmikosR committed
1644
1645
1646
1647
1648
1649
        relatedTarget: relatedTarget,
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1650

XhmikosR's avatar
Dist    
XhmikosR committed
1651
1652
    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
      if (this._indicatorsElement) {
XhmikosR's avatar
XhmikosR committed
1653
1654
1655
1656
1657
        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
1658

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

XhmikosR's avatar
Dist    
XhmikosR committed
1661
        if (nextIndicator) {
XhmikosR's avatar
XhmikosR committed
1662
          nextIndicator.classList.add(ClassName$2.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
1663
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1664
1665
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1666

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1678
1679
1680
1681
      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;
Mark Otto's avatar
dist  
Mark Otto committed
1682

XhmikosR's avatar
Dist    
XhmikosR committed
1683
1684
1685
1686
1687
1688
1689
1690
1691
      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
1692

XhmikosR's avatar
XhmikosR committed
1693
      if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1694
1695
1696
        this._isSliding = false;
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1697

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

XhmikosR's avatar
XhmikosR committed
1700
      if (slideEvent.defaultPrevented) {
XhmikosR's avatar
Dist    
XhmikosR committed
1701
1702
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1703

XhmikosR's avatar
Dist    
XhmikosR committed
1704
1705
1706
1707
      if (!activeElement || !nextElement) {
        // Some weirdness is happening, so we bail
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1708

XhmikosR's avatar
Dist    
XhmikosR committed
1709
      this._isSliding = true;
Mark Otto's avatar
dist    
Mark Otto committed
1710

XhmikosR's avatar
Dist    
XhmikosR committed
1711
1712
1713
      if (isCycling) {
        this.pause();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1714

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

XhmikosR's avatar
XhmikosR committed
1717
1718
1719
1720
1721
      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
1722
1723
1724
1725
1726
1727
1728
        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
1729
1730
        }

XhmikosR's avatar
XhmikosR committed
1731
1732
1733
1734
1735
1736
1737
1738
        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
1739
1740
          _this4._isSliding = false;
          setTimeout(function () {
XhmikosR's avatar
XhmikosR committed
1741
1742
1743
1744
1745
1746
            EventHandler.trigger(_this4._element, Event$3.SLID, {
              relatedTarget: nextElement,
              direction: eventDirectionName,
              from: activeElementIndex,
              to: nextElementIndex
            });
XhmikosR's avatar
Dist    
XhmikosR committed
1747
          }, 0);
XhmikosR's avatar
XhmikosR committed
1748
1749
        });
        emulateTransitionEnd(activeElement, transitionDuration);
XhmikosR's avatar
Dist    
XhmikosR committed
1750
      } else {
XhmikosR's avatar
XhmikosR committed
1751
1752
        activeElement.classList.remove(ClassName$2.ACTIVE);
        nextElement.classList.add(ClassName$2.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1753
        this._isSliding = false;
XhmikosR's avatar
XhmikosR committed
1754
1755
1756
1757
1758
1759
        EventHandler.trigger(this._element, Event$3.SLID, {
          relatedTarget: nextElement,
          direction: eventDirectionName,
          from: activeElementIndex,
          to: nextElementIndex
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1760
1761
1762
1763
1764
      }

      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
Mark Otto committed
1765
1766
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1767

XhmikosR's avatar
XhmikosR committed
1768
    Carousel.carouselInterface = function carouselInterface(element, config) {
XhmikosR's avatar
XhmikosR committed
1769
      var data = Data.getData(element, DATA_KEY$2);
Mark Otto's avatar
dist  
Mark Otto committed
1770

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

XhmikosR's avatar
XhmikosR committed
1773
      if (typeof config === 'object') {
1774
        _config = _objectSpread2({}, _config, {}, config);
XhmikosR's avatar
XhmikosR committed
1775
      }
Mark Otto's avatar
dist  
Mark Otto committed
1776

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

XhmikosR's avatar
XhmikosR committed
1779
1780
1781
1782
1783
1784
1785
1786
      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
1787
          throw new TypeError("No method named \"" + action + "\"");
Mark Otto's avatar
dist    
Mark Otto committed
1788
        }
Mark Otto's avatar
dist  
Mark Otto committed
1789

XhmikosR's avatar
XhmikosR committed
1790
1791
1792
1793
1794
1795
        data[action]();
      } else if (_config.interval && _config.ride) {
        data.pause();
        data.cycle();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1796

XhmikosR's avatar
XhmikosR committed
1797
    Carousel.jQueryInterface = function jQueryInterface(config) {
XhmikosR's avatar
XhmikosR committed
1798
      return this.each(function () {
XhmikosR's avatar
XhmikosR committed
1799
        Carousel.carouselInterface(this, config);
XhmikosR's avatar
Dist    
XhmikosR committed
1800
1801
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1802

XhmikosR's avatar
XhmikosR committed
1803
1804
    Carousel.dataApiClickHandler = function dataApiClickHandler(event) {
      var target = getElementFromSelector(this);
XhmikosR's avatar
Dist    
XhmikosR committed
1805

XhmikosR's avatar
XhmikosR committed
1806
      if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1807
1808
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1809

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1814
1815
      if (slideIndex) {
        config.interval = false;
Mark Otto's avatar
dist    
Mark Otto committed
1816
      }
Mark Otto's avatar
dist    
Mark Otto committed
1817

XhmikosR's avatar
XhmikosR committed
1818
      Carousel.carouselInterface(target, config);
Mark Otto's avatar
dist  
Mark Otto committed
1819

XhmikosR's avatar
Dist    
XhmikosR committed
1820
      if (slideIndex) {
XhmikosR's avatar
XhmikosR committed
1821
        Data.getData(target, DATA_KEY$2).to(slideIndex);
XhmikosR's avatar
Dist    
XhmikosR committed
1822
1823
1824
      }

      event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
1825
    };
Mark Otto's avatar
dist  
Mark Otto committed
1826

XhmikosR's avatar
XhmikosR committed
1827
    Carousel.getInstance = function getInstance(element) {
XhmikosR's avatar
XhmikosR committed
1828
1829
1830
      return Data.getData(element, DATA_KEY$2);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
    _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
1843
    return Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1844
1845
1846
1847
1848
1849
1850
1851
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


XhmikosR's avatar
XhmikosR committed
1852
  EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel.dataApiClickHandler);
XhmikosR's avatar
XhmikosR committed
1853
1854
  EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
    var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
XhmikosR's avatar
Dist    
XhmikosR committed
1855
1856

    for (var i = 0, len = carousels.length; i < len; i++) {
XhmikosR's avatar
XhmikosR committed
1857
      Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
XhmikosR's avatar
Dist    
XhmikosR committed
1858
1859
    }
  });
XhmikosR's avatar
XhmikosR committed
1860
  var $$3 = getjQuery();
XhmikosR's avatar
Dist    
XhmikosR committed
1861
1862
1863
1864
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1865
   * add .carousel to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1866
1867
   */

1868
1869
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
1870
1871
1872
1873
  if ($$3) {
    var JQUERY_NO_CONFLICT$2 = $$3.fn[NAME$2];
    $$3.fn[NAME$2] = Carousel.jQueryInterface;
    $$3.fn[NAME$2].Constructor = Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1874

XhmikosR's avatar
XhmikosR committed
1875
1876
1877
    $$3.fn[NAME$2].noConflict = function () {
      $$3.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
      return Carousel.jQueryInterface;
XhmikosR's avatar
XhmikosR committed
1878
1879
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
1880

XhmikosR's avatar
Dist    
XhmikosR committed
1881
1882
1883
1884
1885
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1886

XhmikosR's avatar
Dist    
XhmikosR committed
1887
  var NAME$3 = 'collapse';
XhmikosR's avatar
XhmikosR committed
1888
  var VERSION$3 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
  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
1900
  var Event$4 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
    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"]'
  };
XhmikosR's avatar
XhmikosR committed
1921
1922
1923
1924
1925
  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
1926

XhmikosR's avatar
Dist    
XhmikosR committed
1927
1928
1929
1930
1931
1932
1933
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
XhmikosR's avatar
XhmikosR committed
1934
1935
      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
1936
1937
1938

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1947
          this._triggerArray.push(elem);
Mark Otto's avatar
dist    
Mark Otto committed
1948
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1949
      }
Mark Otto's avatar
dist  
Mark Otto committed
1950

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

XhmikosR's avatar
Dist    
XhmikosR committed
1953
1954
1955
      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1956

XhmikosR's avatar
Dist    
XhmikosR committed
1957
1958
1959
      if (this._config.toggle) {
        this.toggle();
      }
XhmikosR's avatar
XhmikosR committed
1960
1961

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


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

XhmikosR's avatar
Dist    
XhmikosR committed
1967
1968
    // Public
    _proto.toggle = function toggle() {
XhmikosR's avatar
XhmikosR committed
1969
      if (this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1970
1971
1972
1973
1974
        this.hide();
      } else {
        this.show();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1975

XhmikosR's avatar
Dist    
XhmikosR committed
1976
1977
    _proto.show = function show() {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1978

XhmikosR's avatar
XhmikosR committed
1979
      if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1980
1981
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1982

XhmikosR's avatar
Dist    
XhmikosR committed
1983
1984
      var actives;
      var activesData;
Mark Otto's avatar
dist    
Mark Otto committed
1985

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

XhmikosR's avatar
Dist    
XhmikosR committed
1992
1993
          return elem.classList.contains(ClassName$3.COLLAPSE);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1994

XhmikosR's avatar
Dist    
XhmikosR committed
1995
1996
        if (actives.length === 0) {
          actives = null;
Mark Otto's avatar
dist  
Mark Otto committed
1997
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1998
      }
Mark Otto's avatar
dist  
Mark Otto committed
1999

XhmikosR's avatar
XhmikosR committed
2000
      var container = SelectorEngine.findOne(this._selector);
For faster browsing, not all history is shown. View entire blame