bootstrap.bundle.js 245 KB
Newer Older
XhmikosR's avatar
XhmikosR committed
1001
    $$1.fn[NAME].Constructor = Alert;
Mark Otto's avatar
dist  
Mark Otto committed
1002

XhmikosR's avatar
XhmikosR committed
1003
1004
1005
    $$1.fn[NAME].noConflict = function () {
      $$1.fn[NAME] = JQUERY_NO_CONFLICT;
      return Alert.jQueryInterface;
XhmikosR's avatar
XhmikosR committed
1006
1007
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
1008

XhmikosR's avatar
Dist    
XhmikosR committed
1009
1010
1011
1012
1013
1014
1015
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

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

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


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

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

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

XhmikosR's avatar
XhmikosR committed
1063
1064
1065
1066
1067
        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
1068

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

1175
1176
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
1177
1178
1179
1180
  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
1181

XhmikosR's avatar
XhmikosR committed
1182
1183
1184
    $$2.fn[NAME$1].noConflict = function () {
      $$2.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
      return Button.jQueryInterface;
XhmikosR's avatar
XhmikosR committed
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
    };
  }

  /**
   * --------------------------------------------------------------------------
   * 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) {
XhmikosR's avatar
XhmikosR committed
1216
      return "-" + chr.toLowerCase();
XhmikosR's avatar
XhmikosR committed
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
    });
  }

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

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

XhmikosR's avatar
XhmikosR committed
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
1264
1265
      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
1266
  };
Mark Otto's avatar
dist  
Mark Otto committed
1267
1268

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

XhmikosR's avatar
Dist    
XhmikosR committed
1274
  var NAME$2 = 'carousel';
XhmikosR's avatar
XhmikosR committed
1275
  var VERSION$2 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
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
1306
1307
  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
1308
  var Event$3 = {
XhmikosR's avatar
Dist    
XhmikosR committed
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
1346
1347
    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
1348
1349
1350
1351
1352
  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
1353

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

      this._addEventListeners();
XhmikosR's avatar
XhmikosR committed
1373
1374

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1493

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1608
1609
1610
1611
1612
1613
        case ARROW_RIGHT_KEYCODE:
          event.preventDefault();
          this.next();
          break;
      }
    };
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