bootstrap.bundle.js 242 KB
Newer Older
XhmikosR's avatar
Dist    
XhmikosR committed
1001
      if (rootElement) {
XhmikosR's avatar
XhmikosR committed
1002
        var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1003
1004
1005
1006
1007
1008

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

XhmikosR's avatar
Dist    
XhmikosR committed
1011
              if (activeElement) {
XhmikosR's avatar
XhmikosR committed
1012
                activeElement.classList.remove(ClassName$1.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
1013
              }
XhmikosR's avatar
Dist    
XhmikosR committed
1014
1015
            }
          }
Mark Otto's avatar
dist    
Mark Otto committed
1016

XhmikosR's avatar
Dist    
XhmikosR committed
1017
1018
1019
          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
1020
            }
Mark Otto's avatar
dist    
Mark Otto committed
1021

XhmikosR's avatar
Dist    
XhmikosR committed
1022
            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
XhmikosR's avatar
XhmikosR committed
1023
            EventHandler.trigger(input, 'change');
Mark Otto's avatar
dist  
Mark Otto committed
1024
1025
          }

XhmikosR's avatar
Dist    
XhmikosR committed
1026
1027
          input.focus();
          addAriaPressed = false;
Mark Otto's avatar
dist  
Mark Otto committed
1028
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1029
      }
Mark Otto's avatar
dist  
Mark Otto committed
1030

XhmikosR's avatar
Dist    
XhmikosR committed
1031
1032
1033
      if (addAriaPressed) {
        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
      }
Mark Otto's avatar
dist  
Mark Otto committed
1034

XhmikosR's avatar
Dist    
XhmikosR committed
1035
      if (triggerChangeEvent) {
XhmikosR's avatar
XhmikosR committed
1036
        this._element.classList.toggle(ClassName$1.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1037
1038
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1039

XhmikosR's avatar
Dist    
XhmikosR committed
1040
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1041
      Data.removeData(this._element, DATA_KEY$1);
XhmikosR's avatar
Dist    
XhmikosR committed
1042
      this._element = null;
Mark Otto's avatar
Mark Otto committed
1043
1044
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1045

XhmikosR's avatar
Dist    
XhmikosR committed
1046
1047
    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
XhmikosR's avatar
XhmikosR committed
1048
        var data = Data.getData(this, DATA_KEY$1);
Mark Otto's avatar
dist  
Mark Otto committed
1049

XhmikosR's avatar
Dist    
XhmikosR committed
1050
1051
1052
        if (!data) {
          data = new Button(this);
        }
Mark Otto's avatar
dist  
Mark Otto committed
1053

XhmikosR's avatar
Dist    
XhmikosR committed
1054
1055
        if (config === 'toggle') {
          data[config]();
Mark Otto's avatar
dist  
Mark Otto committed
1056
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1057
1058
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1059

XhmikosR's avatar
XhmikosR committed
1060
1061
1062
1063
    Button._getInstance = function _getInstance(element) {
      return Data.getData(element, DATA_KEY$1);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1064
1065
1066
1067
1068
1069
    _createClass(Button, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$1;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
1070

XhmikosR's avatar
Dist    
XhmikosR committed
1071
1072
1073
1074
1075
1076
1077
    return Button;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1078
1079


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

XhmikosR's avatar
XhmikosR committed
1084
1085
1086
1087
1088
1089
1090
1091
1092
    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);
      Data.setData(button, DATA_KEY$1, data);
XhmikosR's avatar
Dist    
XhmikosR committed
1093
    }
Mark Otto's avatar
dist    
Mark Otto committed
1094

XhmikosR's avatar
XhmikosR committed
1095
1096
1097
1098
1099
1100
1101
1102
1103
    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);
    button.classList.add(ClassName$1.FOCUS);
  });
  EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
    var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
    button.classList.remove(ClassName$1.FOCUS);
XhmikosR's avatar
Dist    
XhmikosR committed
1104
1105
1106
1107
1108
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1109
   * add .button to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1110
   */
Mark Otto's avatar
dist  
Mark Otto committed
1111

XhmikosR's avatar
XhmikosR committed
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$1 = jQuery.fn[NAME$1];
    jQuery.fn[NAME$1] = Button._jQueryInterface;
    jQuery.fn[NAME$1].Constructor = Button;

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

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

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

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

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

    return val;
  }

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

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

      var attributes = _objectSpread({}, element.dataset);
Mark Otto's avatar
dist  
Mark Otto committed
1168

XhmikosR's avatar
XhmikosR committed
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
      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
1201
  };
Mark Otto's avatar
dist  
Mark Otto committed
1202
1203

  /**
XhmikosR's avatar
Dist    
XhmikosR committed
1204
1205
1206
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
1207
   */
Mark Otto's avatar
dist    
Mark Otto committed
1208

XhmikosR's avatar
Dist    
XhmikosR committed
1209
  var NAME$2 = 'carousel';
XhmikosR's avatar
XhmikosR committed
1210
  var VERSION$2 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
  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
1243
  var Event$3 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
    SLIDE: "slide" + EVENT_KEY$2,
    SLID: "slid" + EVENT_KEY$2,
    KEYDOWN: "keydown" + EVENT_KEY$2,
    MOUSEENTER: "mouseenter" + EVENT_KEY$2,
    MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
    TOUCHSTART: "touchstart" + EVENT_KEY$2,
    TOUCHMOVE: "touchmove" + EVENT_KEY$2,
    TOUCHEND: "touchend" + EVENT_KEY$2,
    POINTERDOWN: "pointerdown" + EVENT_KEY$2,
    POINTERUP: "pointerup" + EVENT_KEY$2,
    DRAG_START: "dragstart" + EVENT_KEY$2,
    LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
    CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
  };
  var ClassName$2 = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
    ITEM: 'carousel-item',
    POINTER_EVENT: 'pointer-event'
  };
  var Selector$2 = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
    ITEM_IMG: '.carousel-item img',
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
  };
  var PointerType = {
    TOUCH: 'touch',
    PEN: 'pen'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
1285
1286
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
1287

XhmikosR's avatar
Dist    
XhmikosR committed
1288
  };
Mark Otto's avatar
dist    
Mark Otto committed
1289

XhmikosR's avatar
Dist    
XhmikosR committed
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
  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
1304
      this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1305
1306
1307
1308
      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);

      this._addEventListeners();
XhmikosR's avatar
XhmikosR committed
1309
1310

      Data.setData(element, DATA_KEY$2, this);
XhmikosR's avatar
Dist    
XhmikosR committed
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
    } // 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
1321
    };
Mark Otto's avatar
dist  
Mark Otto committed
1322

XhmikosR's avatar
Dist    
XhmikosR committed
1323
1324
1325
    _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
1326
      if (!document.hidden && isVisible(this._element)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1327
1328
        this.next();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1329
1330
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1331
1332
1333
1334
1335
    _proto.prev = function prev() {
      if (!this._isSliding) {
        this._slide(Direction.PREV);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1336

XhmikosR's avatar
Dist    
XhmikosR committed
1337
1338
1339
1340
    _proto.pause = function pause(event) {
      if (!event) {
        this._isPaused = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1341

XhmikosR's avatar
XhmikosR committed
1342
1343
      if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
        triggerTransitionEnd(this._element);
XhmikosR's avatar
Dist    
XhmikosR committed
1344
1345
        this.cycle(true);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1346

XhmikosR's avatar
Dist    
XhmikosR committed
1347
1348
1349
      clearInterval(this._interval);
      this._interval = null;
    };
Mark Otto's avatar
dist  
Mark Otto committed
1350

XhmikosR's avatar
Dist    
XhmikosR committed
1351
1352
1353
1354
    _proto.cycle = function cycle(event) {
      if (!event) {
        this._isPaused = false;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1355

XhmikosR's avatar
Dist    
XhmikosR committed
1356
      if (this._interval) {
Mark Otto's avatar
dist    
Mark Otto committed
1357
1358
        clearInterval(this._interval);
        this._interval = null;
XhmikosR's avatar
Dist    
XhmikosR committed
1359
      }
Mark Otto's avatar
dist  
Mark Otto committed
1360

XhmikosR's avatar
XhmikosR committed
1361
      if (this._config && this._config.interval && !this._isPaused) {
XhmikosR's avatar
Dist    
XhmikosR committed
1362
1363
1364
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1365

XhmikosR's avatar
Dist    
XhmikosR committed
1366
1367
    _proto.to = function to(index) {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1368

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1373
1374
1375
      if (index > this._items.length - 1 || index < 0) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1376

XhmikosR's avatar
Dist    
XhmikosR committed
1377
      if (this._isSliding) {
XhmikosR's avatar
XhmikosR committed
1378
        EventHandler.one(this._element, Event$3.SLID, function () {
XhmikosR's avatar
Dist    
XhmikosR committed
1379
1380
1381
1382
          return _this.to(index);
        });
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1383

XhmikosR's avatar
Dist    
XhmikosR committed
1384
1385
1386
1387
1388
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1389

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

XhmikosR's avatar
Dist    
XhmikosR committed
1392
1393
      this._slide(direction, this._items[index]);
    };
Mark Otto's avatar
dist  
Mark Otto committed
1394

XhmikosR's avatar
Dist    
XhmikosR committed
1395
    _proto.dispose = function dispose() {
XhmikosR's avatar
XhmikosR committed
1396
1397
      EventHandler.off(this._element, EVENT_KEY$2);
      Data.removeData(this._element, DATA_KEY$2);
XhmikosR's avatar
Dist    
XhmikosR committed
1398
1399
1400
1401
1402
1403
1404
1405
      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
1406
1407
    } // Private
    ;
XhmikosR's avatar
Dist    
XhmikosR committed
1408
1409
1410

    _proto._getConfig = function _getConfig(config) {
      config = _objectSpread({}, Default, config);
XhmikosR's avatar
XhmikosR committed
1411
      typeCheckConfig(NAME$2, config, DefaultType);
XhmikosR's avatar
Dist    
XhmikosR committed
1412
1413
      return config;
    };
Mark Otto's avatar
dist    
Mark Otto committed
1414

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

XhmikosR's avatar
Dist    
XhmikosR committed
1418
1419
1420
      if (absDeltax <= SWIPE_THRESHOLD) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1421

XhmikosR's avatar
Dist    
XhmikosR committed
1422
      var direction = absDeltax / this.touchDeltaX; // swipe left
Mark Otto's avatar
dist    
Mark Otto committed
1423

XhmikosR's avatar
Dist    
XhmikosR committed
1424
1425
1426
      if (direction > 0) {
        this.prev();
      } // swipe right
Mark Otto's avatar
dist    
Mark Otto committed
1427

Mark Otto's avatar
dist    
Mark Otto committed
1428

XhmikosR's avatar
Dist    
XhmikosR committed
1429
1430
1431
1432
      if (direction < 0) {
        this.next();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1433

XhmikosR's avatar
Dist    
XhmikosR committed
1434
1435
    _proto._addEventListeners = function _addEventListeners() {
      var _this2 = this;
Mark Otto's avatar
dist  
Mark Otto committed
1436

XhmikosR's avatar
Dist    
XhmikosR committed
1437
      if (this._config.keyboard) {
XhmikosR's avatar
XhmikosR committed
1438
        EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1439
1440
1441
          return _this2._keydown(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1442

XhmikosR's avatar
Dist    
XhmikosR committed
1443
      if (this._config.pause === 'hover') {
XhmikosR's avatar
XhmikosR committed
1444
        EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1445
          return _this2.pause(event);
XhmikosR's avatar
XhmikosR committed
1446
1447
        });
        EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1448
1449
1450
          return _this2.cycle(event);
        });
      }
Mark Otto's avatar
dist    
Mark Otto committed
1451

Mark Otto's avatar
Mark Otto committed
1452
1453
1454
      if (this._config.touch) {
        this._addTouchEventListeners();
      }
XhmikosR's avatar
Dist    
XhmikosR committed
1455
    };
Mark Otto's avatar
dist  
Mark Otto committed
1456

XhmikosR's avatar
Dist    
XhmikosR committed
1457
1458
    _proto._addTouchEventListeners = function _addTouchEventListeners() {
      var _this3 = this;
Mark Otto's avatar
dist    
Mark Otto committed
1459

XhmikosR's avatar
Dist    
XhmikosR committed
1460
1461
1462
      if (!this._touchSupported) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1463

XhmikosR's avatar
Dist    
XhmikosR committed
1464
      var start = function start(event) {
XhmikosR's avatar
XhmikosR committed
1465
1466
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchStartX = event.clientX;
XhmikosR's avatar
Dist    
XhmikosR committed
1467
        } else if (!_this3._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1468
          _this3.touchStartX = event.touches[0].clientX;
Mark Otto's avatar
dist    
Mark Otto committed
1469
1470
        }
      };
Mark Otto's avatar
dist  
Mark Otto committed
1471

XhmikosR's avatar
Dist    
XhmikosR committed
1472
1473
      var move = function move(event) {
        // ensure swiping with one touch and not pinching
XhmikosR's avatar
XhmikosR committed
1474
        if (event.touches && event.touches.length > 1) {
XhmikosR's avatar
Dist    
XhmikosR committed
1475
1476
          _this3.touchDeltaX = 0;
        } else {
XhmikosR's avatar
XhmikosR committed
1477
          _this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1478
        }
Mark Otto's avatar
dist    
Mark Otto committed
1479
      };
Mark Otto's avatar
dist    
Mark Otto committed
1480

XhmikosR's avatar
Dist    
XhmikosR committed
1481
      var end = function end(event) {
XhmikosR's avatar
XhmikosR committed
1482
1483
        if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
          _this3.touchDeltaX = event.clientX - _this3.touchStartX;
XhmikosR's avatar
Dist    
XhmikosR committed
1484
1485
1486
        }

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

XhmikosR's avatar
Dist    
XhmikosR committed
1488
1489
1490
1491
1492
1493
1494
1495
1496
        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
1497

XhmikosR's avatar
Dist    
XhmikosR committed
1498
1499
1500
          if (_this3.touchTimeout) {
            clearTimeout(_this3.touchTimeout);
          }
Mark Otto's avatar
dist  
Mark Otto committed
1501

XhmikosR's avatar
Dist    
XhmikosR committed
1502
1503
1504
          _this3.touchTimeout = setTimeout(function (event) {
            return _this3.cycle(event);
          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
Mark Otto's avatar
dist    
Mark Otto committed
1505
1506
        }
      };
Mark Otto's avatar
dist    
Mark Otto committed
1507

XhmikosR's avatar
XhmikosR committed
1508
1509
1510
1511
      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
1512
      });
Mark Otto's avatar
dist    
Mark Otto committed
1513

XhmikosR's avatar
Dist    
XhmikosR committed
1514
      if (this._pointerEvent) {
XhmikosR's avatar
XhmikosR committed
1515
        EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1516
1517
          return start(event);
        });
XhmikosR's avatar
XhmikosR committed
1518
        EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1519
1520
          return end(event);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1521

XhmikosR's avatar
Dist    
XhmikosR committed
1522
1523
        this._element.classList.add(ClassName$2.POINTER_EVENT);
      } else {
XhmikosR's avatar
XhmikosR committed
1524
        EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1525
          return start(event);
Mark Otto's avatar
dist    
Mark Otto committed
1526
        });
XhmikosR's avatar
XhmikosR committed
1527
        EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1528
1529
          return move(event);
        });
XhmikosR's avatar
XhmikosR committed
1530
        EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
XhmikosR's avatar
Dist    
XhmikosR committed
1531
1532
1533
1534
          return end(event);
        });
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1535

XhmikosR's avatar
Dist    
XhmikosR committed
1536
1537
1538
1539
    _proto._keydown = function _keydown(event) {
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1540

XhmikosR's avatar
Dist    
XhmikosR committed
1541
1542
1543
1544
1545
      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
          event.preventDefault();
          this.prev();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1546

XhmikosR's avatar
Dist    
XhmikosR committed
1547
1548
1549
1550
        case ARROW_RIGHT_KEYCODE:
          event.preventDefault();
          this.next();
          break;
Mark Otto's avatar
dist  
Mark Otto committed
1551

XhmikosR's avatar
Dist    
XhmikosR committed
1552
1553
1554
        default:
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1555

XhmikosR's avatar
Dist    
XhmikosR committed
1556
    _proto._getItemIndex = function _getItemIndex(element) {
XhmikosR's avatar
XhmikosR committed
1557
      this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
XhmikosR's avatar
Dist    
XhmikosR committed
1558
1559
      return this._items.indexOf(element);
    };
Mark Otto's avatar
dist    
Mark Otto committed
1560

XhmikosR's avatar
Dist    
XhmikosR committed
1561
1562
1563
    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
      var isNextDirection = direction === Direction.NEXT;
      var isPrevDirection = direction === Direction.PREV;
Mark Otto's avatar
dist    
Mark Otto committed
1564

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1570
1571
1572
      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1573

XhmikosR's avatar
Dist    
XhmikosR committed
1574
1575
1576
1577
      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
1578

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

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

XhmikosR's avatar
XhmikosR committed
1584
      return EventHandler.trigger(this._element, Event$3.SLIDE, {
XhmikosR's avatar
Dist    
XhmikosR committed
1585
1586
1587
1588
1589
1590
        relatedTarget: relatedTarget,
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1591

XhmikosR's avatar
Dist    
XhmikosR committed
1592
1593
    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
      if (this._indicatorsElement) {
XhmikosR's avatar
XhmikosR committed
1594
1595
1596
1597
1598
        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
1599

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

XhmikosR's avatar
Dist    
XhmikosR committed
1602
        if (nextIndicator) {
XhmikosR's avatar
XhmikosR committed
1603
          nextIndicator.classList.add(ClassName$2.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
1604
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1605
1606
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1607

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1619
1620
1621
1622
      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;
Mark Otto's avatar
dist  
Mark Otto committed
1623

XhmikosR's avatar
Dist    
XhmikosR committed
1624
1625
1626
1627
1628
1629
1630
1631
1632
      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
1633

XhmikosR's avatar
XhmikosR committed
1634
      if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1635
1636
1637
        this._isSliding = false;
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1638

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

XhmikosR's avatar
XhmikosR committed
1641
      if (slideEvent.defaultPrevented) {
XhmikosR's avatar
Dist    
XhmikosR committed
1642
1643
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1644

XhmikosR's avatar
Dist    
XhmikosR committed
1645
1646
1647
1648
      if (!activeElement || !nextElement) {
        // Some weirdness is happening, so we bail
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1649

XhmikosR's avatar
Dist    
XhmikosR committed
1650
      this._isSliding = true;
Mark Otto's avatar
dist    
Mark Otto committed
1651

XhmikosR's avatar
Dist    
XhmikosR committed
1652
1653
1654
      if (isCycling) {
        this.pause();
      }
Mark Otto's avatar
dist  
Mark Otto committed
1655

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

XhmikosR's avatar
XhmikosR committed
1658
1659
1660
1661
1662
      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
1663
1664
1665
1666
1667
1668
1669
        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
1670
1671
        }

XhmikosR's avatar
XhmikosR committed
1672
1673
1674
1675
1676
1677
1678
1679
        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
1680
1681
          _this4._isSliding = false;
          setTimeout(function () {
XhmikosR's avatar
XhmikosR committed
1682
1683
1684
1685
1686
1687
            EventHandler.trigger(_this4._element, Event$3.SLID, {
              relatedTarget: nextElement,
              direction: eventDirectionName,
              from: activeElementIndex,
              to: nextElementIndex
            });
XhmikosR's avatar
Dist    
XhmikosR committed
1688
          }, 0);
XhmikosR's avatar
XhmikosR committed
1689
1690
        });
        emulateTransitionEnd(activeElement, transitionDuration);
XhmikosR's avatar
Dist    
XhmikosR committed
1691
      } else {
XhmikosR's avatar
XhmikosR committed
1692
1693
        activeElement.classList.remove(ClassName$2.ACTIVE);
        nextElement.classList.add(ClassName$2.ACTIVE);
XhmikosR's avatar
Dist    
XhmikosR committed
1694
        this._isSliding = false;
XhmikosR's avatar
XhmikosR committed
1695
1696
1697
1698
1699
1700
        EventHandler.trigger(this._element, Event$3.SLID, {
          relatedTarget: nextElement,
          direction: eventDirectionName,
          from: activeElementIndex,
          to: nextElementIndex
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1701
1702
1703
1704
1705
      }

      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
Mark Otto committed
1706
1707
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
1708

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

XhmikosR's avatar
XhmikosR committed
1712
      var _config = _objectSpread({}, Default, Manipulator.getDataAttributes(element));
Mark Otto's avatar
dist  
Mark Otto committed
1713

XhmikosR's avatar
XhmikosR committed
1714
1715
1716
      if (typeof config === 'object') {
        _config = _objectSpread({}, _config, config);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1717

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

XhmikosR's avatar
XhmikosR committed
1720
1721
1722
1723
1724
1725
1726
1727
      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
1728
          throw new TypeError("No method named \"" + action + "\"");
Mark Otto's avatar
dist    
Mark Otto committed
1729
        }
Mark Otto's avatar
dist  
Mark Otto committed
1730

XhmikosR's avatar
XhmikosR committed
1731
1732
1733
1734
1735
1736
        data[action]();
      } else if (_config.interval && _config.ride) {
        data.pause();
        data.cycle();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1737

XhmikosR's avatar
XhmikosR committed
1738
1739
1740
    Carousel._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        Carousel._carouselInterface(this, config);
XhmikosR's avatar
Dist    
XhmikosR committed
1741
1742
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
1743

XhmikosR's avatar
Dist    
XhmikosR committed
1744
    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
XhmikosR's avatar
XhmikosR committed
1745
      var selector = getSelectorFromElement(this);
Mark Otto's avatar
dist  
Mark Otto committed
1746

XhmikosR's avatar
Dist    
XhmikosR committed
1747
1748
1749
1750
      if (!selector) {
        return;
      }

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

XhmikosR's avatar
XhmikosR committed
1753
      if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1754
1755
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1756

XhmikosR's avatar
XhmikosR committed
1757
      var config = _objectSpread({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this));
Mark Otto's avatar
dist    
Mark Otto committed
1758

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

XhmikosR's avatar
Dist    
XhmikosR committed
1761
1762
      if (slideIndex) {
        config.interval = false;
Mark Otto's avatar
dist    
Mark Otto committed
1763
      }
Mark Otto's avatar
dist    
Mark Otto committed
1764

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

XhmikosR's avatar
Dist    
XhmikosR committed
1767
      if (slideIndex) {
XhmikosR's avatar
XhmikosR committed
1768
        Data.getData(target, DATA_KEY$2).to(slideIndex);
XhmikosR's avatar
Dist    
XhmikosR committed
1769
1770
1771
      }

      event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
1772
    };
Mark Otto's avatar
dist  
Mark Otto committed
1773

XhmikosR's avatar
XhmikosR committed
1774
1775
1776
1777
    Carousel._getInstance = function _getInstance(element) {
      return Data.getData(element, DATA_KEY$2);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
    _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
1790
    return Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1791
1792
1793
1794
1795
1796
1797
1798
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


XhmikosR's avatar
XhmikosR committed
1799
1800
1801
  EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
  EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
    var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
XhmikosR's avatar
Dist    
XhmikosR committed
1802
1803

    for (var i = 0, len = carousels.length; i < len; i++) {
XhmikosR's avatar
XhmikosR committed
1804
      Carousel._carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
XhmikosR's avatar
Dist    
XhmikosR committed
1805
1806
1807
1808
1809
1810
    }
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1811
   * add .carousel to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1812
1813
   */

XhmikosR's avatar
XhmikosR committed
1814
1815
1816
1817
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$2 = jQuery.fn[NAME$2];
    jQuery.fn[NAME$2] = Carousel._jQueryInterface;
    jQuery.fn[NAME$2].Constructor = Carousel;
XhmikosR's avatar
Dist    
XhmikosR committed
1818

XhmikosR's avatar
XhmikosR committed
1819
1820
1821
1822
1823
    jQuery.fn[NAME$2].noConflict = function () {
      jQuery.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
      return Carousel._jQueryInterface;
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
1824

XhmikosR's avatar
Dist    
XhmikosR committed
1825
1826
1827
1828
1829
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist  
Mark Otto committed
1830

XhmikosR's avatar
Dist    
XhmikosR committed
1831
  var NAME$3 = 'collapse';
XhmikosR's avatar
XhmikosR committed
1832
  var VERSION$3 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
  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
1844
  var Event$4 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
    SHOW: "show" + EVENT_KEY$3,
    SHOWN: "shown" + EVENT_KEY$3,
    HIDE: "hide" + EVENT_KEY$3,
    HIDDEN: "hidden" + EVENT_KEY$3,
    CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
  };
  var ClassName$3 = {
    SHOW: 'show',
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector$3 = {
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
1869

XhmikosR's avatar
Dist    
XhmikosR committed
1870
  };
Mark Otto's avatar
dist    
Mark Otto committed
1871

XhmikosR's avatar
Dist    
XhmikosR committed
1872
1873
1874
1875
1876
1877
1878
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
XhmikosR's avatar
XhmikosR committed
1879
1880
      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
1881
1882
1883

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1892
          this._triggerArray.push(elem);
Mark Otto's avatar
dist    
Mark Otto committed
1893
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1894
      }
Mark Otto's avatar
dist  
Mark Otto committed
1895

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

XhmikosR's avatar
Dist    
XhmikosR committed
1898
1899
1900
      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }
Mark Otto's avatar
dist  
Mark Otto committed
1901

XhmikosR's avatar
Dist    
XhmikosR committed
1902
1903
1904
      if (this._config.toggle) {
        this.toggle();
      }
XhmikosR's avatar
XhmikosR committed
1905
1906

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


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

XhmikosR's avatar
Dist    
XhmikosR committed
1912
1913
    // Public
    _proto.toggle = function toggle() {
XhmikosR's avatar
XhmikosR committed
1914
      if (this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1915
1916
1917
1918
1919
        this.hide();
      } else {
        this.show();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1920

XhmikosR's avatar
Dist    
XhmikosR committed
1921
1922
    _proto.show = function show() {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
1923

XhmikosR's avatar
XhmikosR committed
1924
      if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
1925
1926
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
1927

XhmikosR's avatar
Dist    
XhmikosR committed
1928
1929
      var actives;
      var activesData;
Mark Otto's avatar
dist    
Mark Otto committed
1930

XhmikosR's avatar
Dist    
XhmikosR committed
1931
      if (this._parent) {
XhmikosR's avatar
XhmikosR committed
1932
        actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(function (elem) {
XhmikosR's avatar
Dist    
XhmikosR committed
1933
1934
          if (typeof _this._config.parent === 'string') {
            return elem.getAttribute('data-parent') === _this._config.parent;
Mark Otto's avatar
dist    
Mark Otto committed
1935
          }
Mark Otto's avatar
dist  
Mark Otto committed
1936

XhmikosR's avatar
Dist    
XhmikosR committed
1937
1938
          return elem.classList.contains(ClassName$3.COLLAPSE);
        });
Mark Otto's avatar
dist    
Mark Otto committed
1939

XhmikosR's avatar
Dist    
XhmikosR committed
1940
1941
        if (actives.length === 0) {
          actives = null;
Mark Otto's avatar
dist  
Mark Otto committed
1942
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1943
      }
Mark Otto's avatar
dist  
Mark Otto committed
1944

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

XhmikosR's avatar
Dist    
XhmikosR committed
1947
      if (actives) {
XhmikosR's avatar
XhmikosR committed
1948
1949
1950
1951
        var tempActiveData = actives.filter(function (elem) {
          return container !== elem;
        });
        activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY$3) : null;
Mark Otto's avatar
dist    
Mark Otto committed
1952

XhmikosR's avatar
Dist    
XhmikosR committed
1953
        if (activesData && activesData._isTransitioning) {
Mark Otto's avatar
dist    
Mark Otto committed
1954
1955
          return;
        }
XhmikosR's avatar
Dist    
XhmikosR committed
1956
      }
Mark Otto's avatar
dist  
Mark Otto committed
1957

XhmikosR's avatar
XhmikosR committed
1958
      var startEvent = EventHandler.trigger(this._element, Event$4.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
1959

XhmikosR's avatar
XhmikosR committed
1960
      if (startEvent.defaultPrevented) {
XhmikosR's avatar
Dist    
XhmikosR committed
1961
1962
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
1963

XhmikosR's avatar
Dist    
XhmikosR committed
1964
      if (actives) {
XhmikosR's avatar
XhmikosR committed
1965
1966
1967
1968
        actives.forEach(function (elemActive) {
          if (container !== elemActive) {
            Collapse._collapseInterface(elemActive, 'hide');
          }
Mark Otto's avatar
dist  
Mark Otto committed
1969

XhmikosR's avatar
XhmikosR committed
1970
1971
1972
1973
          if (!activesData) {
            Data.setData(elemActive, DATA_KEY$3, null);
          }
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1974
      }
Mark Otto's avatar
dist  
Mark Otto committed
1975

XhmikosR's avatar
Dist    
XhmikosR committed
1976
      var dimension = this._getDimension();
Mark Otto's avatar
dist  
Mark Otto committed
1977

XhmikosR's avatar
XhmikosR committed
1978
1979
1980
1981
      this._element.classList.remove(ClassName$3.COLLAPSE);

      this._element.classList.add(ClassName$3.COLLAPSING);

XhmikosR's avatar
Dist    
XhmikosR committed
1982
      this._element.style[dimension] = 0;
Mark Otto's avatar
dist  
Mark Otto committed
1983

XhmikosR's avatar
Dist    
XhmikosR committed
1984
      if (this._triggerArray.length) {
XhmikosR's avatar
XhmikosR committed
1985
1986
1987
1988
        this._triggerArray.forEach(function (element) {
          element.classList.remove(ClassName$3.COLLAPSED);
          element.setAttribute('aria-expanded', true);
        });
XhmikosR's avatar
Dist    
XhmikosR committed
1989
      }
Mark Otto's avatar
dist  
Mark Otto committed
1990

XhmikosR's avatar
Dist    
XhmikosR committed
1991
      this.setTransitioning(true);
Mark Otto's avatar
dist  
Mark Otto committed
1992

XhmikosR's avatar
Dist    
XhmikosR committed
1993
      var complete = function complete() {
XhmikosR's avatar
XhmikosR committed
1994
1995
1996
1997
1998
1999
        _this._element.classList.remove(ClassName$3.COLLAPSING);

        _this._element.classList.add(ClassName$3.COLLAPSE);

        _this._element.classList.add(ClassName$3.SHOW);

XhmikosR's avatar
Dist    
XhmikosR committed
2000
        _this._element.style[dimension] = '';
For faster browsing, not all history is shown. View entire blame