bootstrap.bundle.js 243 KB
Newer Older
XhmikosR's avatar
Dist    
XhmikosR committed
1001
1002
1003
1004
1005
1006

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

XhmikosR's avatar
XhmikosR committed
1082
1083
1084
1085
1086
1087
1088
1089
1090
    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
1091
    }
Mark Otto's avatar
dist    
Mark Otto committed
1092

XhmikosR's avatar
XhmikosR committed
1093
1094
1095
1096
1097
1098
1099
1100
1101
    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
1102
1103
1104
1105
1106
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
1107
   * add .button to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
1108
   */
Mark Otto's avatar
dist  
Mark Otto committed
1109

XhmikosR's avatar
XhmikosR committed
1110
1111
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
  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
1166

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1207
  var NAME$2 = 'carousel';
XhmikosR's avatar
XhmikosR committed
1208
  var VERSION$2 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1209
1210
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
  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
1241
  var Event$3 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1242
1243
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
    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
1283
1284
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
1285

XhmikosR's avatar
Dist    
XhmikosR committed
1286
  };
Mark Otto's avatar
dist    
Mark Otto committed
1287

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

      this._addEventListeners();
XhmikosR's avatar
XhmikosR committed
1307
1308

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1426

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1550
1551
1552
        default:
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
1553

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1648
      this._isSliding = true;
Mark Otto's avatar
dist    
Mark Otto committed
1649

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

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

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

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

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

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

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

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

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

XhmikosR's avatar
XhmikosR committed
1718
1719
1720
1721
1722
1723
1724
1725
1726
      if (!data) {
        data = new Carousel(element, _config);
      }

      if (typeof config === 'number') {
        data.to(config);
      } else if (typeof action === 'string') {
        if (typeof data[action] === 'undefined') {
          throw new Error("No method named \"" + action + "\"");
Mark Otto's avatar
dist    
Mark Otto committed
1727
        }
Mark Otto's avatar
dist  
Mark Otto committed
1728

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

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

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

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

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

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

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

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

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

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

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

      event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
1770
    };
Mark Otto's avatar
dist  
Mark Otto committed
1771

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

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


XhmikosR's avatar
XhmikosR committed
1797
1798
1799
  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
1800
1801

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

XhmikosR's avatar
XhmikosR committed
1812
1813
1814
1815
  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
1816

XhmikosR's avatar
XhmikosR committed
1817
1818
1819
1820
1821
    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
1822

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

XhmikosR's avatar
Dist    
XhmikosR committed
1829
  var NAME$3 = 'collapse';
XhmikosR's avatar
XhmikosR committed
1830
  var VERSION$3 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
  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
1842
  var Event$4 = {
XhmikosR's avatar
Dist    
XhmikosR committed
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
    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
1867

XhmikosR's avatar
Dist    
XhmikosR committed
1868
  };
Mark Otto's avatar
dist    
Mark Otto committed
1869

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

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

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

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

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

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

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

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


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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1926
1927
      var actives;
      var activesData;
Mark Otto's avatar
dist    
Mark Otto committed
1928

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1945
      if (actives) {
XhmikosR's avatar
XhmikosR committed
1946
1947
1948
1949
        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
1950

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

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

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

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

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

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

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

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

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

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

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

XhmikosR's avatar
Dist    
XhmikosR committed
1991
      var complete = function complete() {
XhmikosR's avatar
XhmikosR committed
1992
1993
1994
1995
1996
1997
        _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
1998
1999
2000
        _this._element.style[dimension] = '';

        _this.setTransitioning(false);
For faster browsing, not all history is shown. View entire blame