bootstrap.js 112 KB
Newer Older
Mark Otto's avatar
grunt    
Mark Otto committed
1001
1002
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1003
1004


Mark Otto's avatar
dist    
Mark Otto committed
1005
1006
1007
1008
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    $$$1(Selector.DATA_RIDE).each(function () {
      var $carousel = $$$1(this);
Mark Otto's avatar
dist    
Mark Otto committed
1009

Jacob Thornton's avatar
Jacob Thornton committed
1010
1011
      Carousel._jQueryInterface.call($carousel, $carousel.data());
    });
Mark Otto's avatar
Mark Otto committed
1012
  });
Jacob Thornton's avatar
Jacob Thornton committed
1013
1014
1015
1016
1017
1018
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1019
1020
  $$$1.fn[NAME] = Carousel._jQueryInterface;
  $$$1.fn[NAME].Constructor = Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1021

Mark Otto's avatar
dist    
Mark Otto committed
1022
1023
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1024
1025
1026
1027
    return Carousel._jQueryInterface;
  };

  return Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1028
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1029
1030
1031

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1032
 * Bootstrap (v4.0.0-beta.3): collapse.js
Jacob Thornton's avatar
Jacob Thornton committed
1033
1034
1035
1036
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1037
var Collapse = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1038
1039
1040
1041
1042
1043
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'collapse';
Mark Otto's avatar
Mark Otto committed
1044
  var VERSION = '4.0.0-beta.3';
Jacob Thornton's avatar
Jacob Thornton committed
1045
  var DATA_KEY = 'bs.collapse';
Mark Otto's avatar
dist    
Mark Otto committed
1046
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1047
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1048
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1049
1050
1051
1052
1053
1054
1055
  var TRANSITION_DURATION = 600;
  var Default = {
    toggle: true,
    parent: ''
  };
  var DefaultType = {
    toggle: 'boolean',
Mark Otto's avatar
dist    
Mark Otto committed
1056
    parent: '(string|element)'
Jacob Thornton's avatar
Jacob Thornton committed
1057
1058
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1059
1060
1061
1062
1063
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1064
1065
  };
  var ClassName = {
Mark Otto's avatar
grunt    
Mark Otto committed
1066
    SHOW: 'show',
Jacob Thornton's avatar
Jacob Thornton committed
1067
1068
1069
1070
1071
1072
1073
1074
1075
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector = {
Johann-S's avatar
build    
Johann-S committed
1076
1077
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
Mark Otto's avatar
dist    
Mark Otto committed
1078
1079
1080
1081
1082
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1083

Mark Otto's avatar
dist    
Mark Otto committed
1084
  };
Jacob Thornton's avatar
Jacob Thornton committed
1085

Mark Otto's avatar
dist    
Mark Otto committed
1086
1087
1088
1089
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1090
1091
1092
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
1093
1094
      this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
      var tabToggles = $$$1(Selector.DATA_TOGGLE);
Mark Otto's avatar
dist    
Mark Otto committed
1095

Mark Otto's avatar
build    
Mark Otto committed
1096
1097
1098
      for (var i = 0; i < tabToggles.length; i++) {
        var elem = tabToggles[i];
        var selector = Util.getSelectorFromElement(elem);
Mark Otto's avatar
dist    
Mark Otto committed
1099

Mark Otto's avatar
dist    
Mark Otto committed
1100
        if (selector !== null && $$$1(selector).filter(element).length > 0) {
Mark Otto's avatar
build    
Mark Otto committed
1101
1102
1103
          this._triggerArray.push(elem);
        }
      }
Johann-S's avatar
build    
Johann-S committed
1104

Jacob Thornton's avatar
Jacob Thornton committed
1105
1106
1107
1108
1109
1110
1111
1112
1113
      this._parent = this._config.parent ? this._getParent() : null;

      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }

      if (this._config.toggle) {
        this.toggle();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1114
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1115
1116


Mark Otto's avatar
dist    
Mark Otto committed
1117
    var _proto = Collapse.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1118

Mark Otto's avatar
dist    
Mark Otto committed
1119
1120
    // public
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1121
      if ($$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1122
1123
1124
        this.hide();
      } else {
        this.show();
Jacob Thornton's avatar
Jacob Thornton committed
1125
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1126
    };
Jacob Thornton's avatar
Jacob Thornton committed
1127

Mark Otto's avatar
dist    
Mark Otto committed
1128
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
1129
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1130

Mark Otto's avatar
dist    
Mark Otto committed
1131
      if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1132
1133
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1134

Mark Otto's avatar
dist    
Mark Otto committed
1135
1136
      var actives;
      var activesData;
Jacob Thornton's avatar
Jacob Thornton committed
1137

Mark Otto's avatar
grunt    
Mark Otto committed
1138
      if (this._parent) {
Mark Otto's avatar
dist    
Mark Otto committed
1139
        actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
Mark Otto's avatar
dist    
Mark Otto committed
1140

Mark Otto's avatar
grunt    
Mark Otto committed
1141
1142
        if (!actives.length) {
          actives = null;
Jacob Thornton's avatar
Jacob Thornton committed
1143
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1144
      }
Jacob Thornton's avatar
Jacob Thornton committed
1145

Mark Otto's avatar
grunt    
Mark Otto committed
1146
      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1147
        activesData = $$$1(actives).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1148

Mark Otto's avatar
grunt    
Mark Otto committed
1149
        if (activesData && activesData._isTransitioning) {
Jacob Thornton's avatar
Jacob Thornton committed
1150
1151
          return;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1152
      }
Jacob Thornton's avatar
Jacob Thornton committed
1153

Mark Otto's avatar
dist    
Mark Otto committed
1154
1155
      var startEvent = $$$1.Event(Event.SHOW);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1156

Mark Otto's avatar
grunt    
Mark Otto committed
1157
1158
1159
1160
1161
      if (startEvent.isDefaultPrevented()) {
        return;
      }

      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1162
        Collapse._jQueryInterface.call($$$1(actives), 'hide');
Mark Otto's avatar
dist    
Mark Otto committed
1163

Mark Otto's avatar
grunt    
Mark Otto committed
1164
        if (!activesData) {
Mark Otto's avatar
dist    
Mark Otto committed
1165
          $$$1(actives).data(DATA_KEY, null);
Jacob Thornton's avatar
Jacob Thornton committed
1166
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1167
      }
Jacob Thornton's avatar
Jacob Thornton committed
1168

Mark Otto's avatar
grunt    
Mark Otto committed
1169
      var dimension = this._getDimension();
Jacob Thornton's avatar
Jacob Thornton committed
1170

Mark Otto's avatar
dist    
Mark Otto committed
1171
      $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
Mark Otto's avatar
grunt    
Mark Otto committed
1172
      this._element.style[dimension] = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1173

Mark Otto's avatar
grunt    
Mark Otto committed
1174
      if (this._triggerArray.length) {
Mark Otto's avatar
dist    
Mark Otto committed
1175
        $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
Mark Otto's avatar
grunt    
Mark Otto committed
1176
      }
Jacob Thornton's avatar
Jacob Thornton committed
1177

Mark Otto's avatar
grunt    
Mark Otto committed
1178
      this.setTransitioning(true);
Jacob Thornton's avatar
Jacob Thornton committed
1179

Mark Otto's avatar
grunt    
Mark Otto committed
1180
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1181
        $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
1182
        _this._element.style[dimension] = '';
Jacob Thornton's avatar
Jacob Thornton committed
1183

Mark Otto's avatar
dist    
Mark Otto committed
1184
        _this.setTransitioning(false);
Jacob Thornton's avatar
Jacob Thornton committed
1185

Mark Otto's avatar
dist    
Mark Otto committed
1186
        $$$1(_this._element).trigger(Event.SHOWN);
Mark Otto's avatar
grunt    
Mark Otto committed
1187
      };
Jacob Thornton's avatar
Jacob Thornton committed
1188

Mark Otto's avatar
grunt    
Mark Otto committed
1189
1190
1191
1192
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1193

Mark Otto's avatar
grunt    
Mark Otto committed
1194
      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
Mark Otto's avatar
dist    
Mark Otto committed
1195
      var scrollSize = "scroll" + capitalizedDimension;
Mark Otto's avatar
dist    
Mark Otto committed
1196
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
1197
      this._element.style[dimension] = this._element[scrollSize] + "px";
Mark Otto's avatar
grunt    
Mark Otto committed
1198
    };
Jacob Thornton's avatar
Jacob Thornton committed
1199

Mark Otto's avatar
dist    
Mark Otto committed
1200
    _proto.hide = function hide() {
Mark Otto's avatar
dist    
Mark Otto committed
1201
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
1202

Mark Otto's avatar
dist    
Mark Otto committed
1203
      if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1204
1205
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1206

Mark Otto's avatar
dist    
Mark Otto committed
1207
1208
      var startEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1209

Mark Otto's avatar
grunt    
Mark Otto committed
1210
1211
1212
      if (startEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1213

Mark Otto's avatar
grunt    
Mark Otto committed
1214
      var dimension = this._getDimension();
Jacob Thornton's avatar
Jacob Thornton committed
1215

Mark Otto's avatar
dist    
Mark Otto committed
1216
      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
Mark Otto's avatar
grunt    
Mark Otto committed
1217
      Util.reflow(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1218
      $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1219

Mark Otto's avatar
grunt    
Mark Otto committed
1220
      if (this._triggerArray.length) {
Mark Otto's avatar
build    
Mark Otto committed
1221
1222
1223
        for (var i = 0; i < this._triggerArray.length; i++) {
          var trigger = this._triggerArray[i];
          var selector = Util.getSelectorFromElement(trigger);
Mark Otto's avatar
dist    
Mark Otto committed
1224

Mark Otto's avatar
build    
Mark Otto committed
1225
          if (selector !== null) {
Mark Otto's avatar
dist    
Mark Otto committed
1226
            var $elem = $$$1(selector);
Mark Otto's avatar
dist    
Mark Otto committed
1227

Mark Otto's avatar
build    
Mark Otto committed
1228
            if (!$elem.hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
1229
              $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
Mark Otto's avatar
build    
Mark Otto committed
1230
1231
1232
            }
          }
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1233
      }
Jacob Thornton's avatar
Jacob Thornton committed
1234

Mark Otto's avatar
grunt    
Mark Otto committed
1235
      this.setTransitioning(true);
Jacob Thornton's avatar
Jacob Thornton committed
1236

Mark Otto's avatar
grunt    
Mark Otto committed
1237
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1238
        _this2.setTransitioning(false);
Mark Otto's avatar
dist    
Mark Otto committed
1239

Mark Otto's avatar
dist    
Mark Otto committed
1240
        $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
1241
      };
Jacob Thornton's avatar
Jacob Thornton committed
1242

Mark Otto's avatar
grunt    
Mark Otto committed
1243
      this._element.style[dimension] = '';
Jacob Thornton's avatar
Jacob Thornton committed
1244

Mark Otto's avatar
grunt    
Mark Otto committed
1245
1246
1247
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
1248
1249
      }

Mark Otto's avatar
dist    
Mark Otto committed
1250
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
1251
    };
Jacob Thornton's avatar
Jacob Thornton committed
1252

Mark Otto's avatar
dist    
Mark Otto committed
1253
    _proto.setTransitioning = function setTransitioning(isTransitioning) {
Mark Otto's avatar
grunt    
Mark Otto committed
1254
1255
      this._isTransitioning = isTransitioning;
    };
Jacob Thornton's avatar
Jacob Thornton committed
1256

Mark Otto's avatar
dist    
Mark Otto committed
1257
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1258
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1259
1260
1261
1262
1263
      this._config = null;
      this._parent = null;
      this._element = null;
      this._triggerArray = null;
      this._isTransitioning = null;
Mark Otto's avatar
dist    
Mark Otto committed
1264
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
1265
1266


Mark Otto's avatar
dist    
Mark Otto committed
1267
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1268
      config = _extends({}, Default, config);
Mark Otto's avatar
Mark Otto committed
1269
      config.toggle = Boolean(config.toggle); // coerce string values
Mark Otto's avatar
dist    
Mark Otto committed
1270

Mark Otto's avatar
Mark Otto committed
1271
      Util.typeCheckConfig(NAME, config, DefaultType);
Mark Otto's avatar
grunt    
Mark Otto committed
1272
1273
1274
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1275
    _proto._getDimension = function _getDimension() {
Mark Otto's avatar
dist    
Mark Otto committed
1276
      var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
Mark Otto's avatar
grunt    
Mark Otto committed
1277
1278
1279
      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1280
    _proto._getParent = function _getParent() {
Mark Otto's avatar
dist    
Mark Otto committed
1281
      var _this3 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
1282

Mark Otto's avatar
dist    
Mark Otto committed
1283
      var parent = null;
Mark Otto's avatar
grunt    
Mark Otto committed
1284

Mark Otto's avatar
dist    
Mark Otto committed
1285
1286
1287
1288
1289
1290
1291
      if (Util.isElement(this._config.parent)) {
        parent = this._config.parent; // it's a jQuery object

        if (typeof this._config.parent.jquery !== 'undefined') {
          parent = this._config.parent[0];
        }
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
1292
        parent = $$$1(this._config.parent)[0];
Mark Otto's avatar
dist    
Mark Otto committed
1293
1294
1295
      }

      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
Mark Otto's avatar
dist    
Mark Otto committed
1296
      $$$1(parent).find(selector).each(function (i, element) {
Mark Otto's avatar
dist    
Mark Otto committed
1297
        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
Mark Otto's avatar
grunt    
Mark Otto committed
1298
1299
1300
1301
      });
      return parent;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1302
    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
Mark Otto's avatar
grunt    
Mark Otto committed
1303
      if (element) {
Mark Otto's avatar
dist    
Mark Otto committed
1304
        var isOpen = $$$1(element).hasClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
1305
1306

        if (triggerArray.length) {
Mark Otto's avatar
dist    
Mark Otto committed
1307
          $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
Jacob Thornton's avatar
Jacob Thornton committed
1308
1309
        }
      }
Mark Otto's avatar
dist    
Mark Otto committed
1310
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
1311
1312


Mark Otto's avatar
grunt    
Mark Otto committed
1313
1314
    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
      var selector = Util.getSelectorFromElement(element);
Mark Otto's avatar
dist    
Mark Otto committed
1315
      return selector ? $$$1(selector)[0] : null;
Mark Otto's avatar
grunt    
Mark Otto committed
1316
    };
Jacob Thornton's avatar
Jacob Thornton committed
1317

Mark Otto's avatar
grunt    
Mark Otto committed
1318
1319
    Collapse._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1320
        var $this = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
1321
        var data = $this.data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1322

Mark Otto's avatar
dist    
Mark Otto committed
1323
        var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
Jacob Thornton's avatar
Jacob Thornton committed
1324

Mark Otto's avatar
grunt    
Mark Otto committed
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
        if (!data && _config.toggle && /show|hide/.test(config)) {
          _config.toggle = false;
        }

        if (!data) {
          data = new Collapse(this, _config);
          $this.data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1335
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1336
            throw new Error("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
1337
          }
Mark Otto's avatar
dist    
Mark Otto committed
1338

Mark Otto's avatar
grunt    
Mark Otto committed
1339
1340
1341
1342
1343
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
1344
    _createClass(Collapse, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1345
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1346
1347
1348
1349
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1350
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
1351
1352
1353
1354
1355
      get: function get() {
        return Default;
      }
    }]);
    return Collapse;
Mark Otto's avatar
grunt    
Mark Otto committed
1356
1357
1358
1359
1360
1361
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1362

Mark Otto's avatar
dist    
Mark Otto committed
1363

Mark Otto's avatar
dist    
Mark Otto committed
1364
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
1365
    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
Mark Otto's avatar
dist    
Mark Otto committed
1366
    if (event.currentTarget.tagName === 'A') {
Mark Otto's avatar
grunt    
Mark Otto committed
1367
1368
      event.preventDefault();
    }
Jacob Thornton's avatar
Jacob Thornton committed
1369

Mark Otto's avatar
dist    
Mark Otto committed
1370
    var $trigger = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1371
    var selector = Util.getSelectorFromElement(this);
Mark Otto's avatar
dist    
Mark Otto committed
1372
1373
    $$$1(selector).each(function () {
      var $target = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1374
1375
      var data = $target.data(DATA_KEY);
      var config = data ? 'toggle' : $trigger.data();
Mark Otto's avatar
dist    
Mark Otto committed
1376

Mark Otto's avatar
build    
Mark Otto committed
1377
1378
      Collapse._jQueryInterface.call($target, config);
    });
Mark Otto's avatar
Mark Otto committed
1379
  });
Jacob Thornton's avatar
Jacob Thornton committed
1380
1381
1382
1383
1384
1385
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1386
1387
  $$$1.fn[NAME] = Collapse._jQueryInterface;
  $$$1.fn[NAME].Constructor = Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1388

Mark Otto's avatar
dist    
Mark Otto committed
1389
1390
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1391
1392
1393
1394
    return Collapse._jQueryInterface;
  };

  return Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1395
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1396
1397
1398

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1399
 * Bootstrap (v4.0.0-beta.3): dropdown.js
Jacob Thornton's avatar
Jacob Thornton committed
1400
1401
1402
1403
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1404
var Dropdown = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1405
1406
1407
1408
1409
1410
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'dropdown';
Mark Otto's avatar
Mark Otto committed
1411
  var VERSION = '4.0.0-beta.3';
Jacob Thornton's avatar
Jacob Thornton committed
1412
  var DATA_KEY = 'bs.dropdown';
Mark Otto's avatar
dist    
Mark Otto committed
1413
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1414
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1415
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Chris Rebert's avatar
grunt    
Chris Rebert committed
1416
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Mark Otto's avatar
dist    
Mark Otto committed
1417

Mark Otto's avatar
grunt    
Mark Otto committed
1418
  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
Mark Otto's avatar
dist    
Mark Otto committed
1419

Mark Otto's avatar
grunt    
Mark Otto committed
1420
  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
Mark Otto's avatar
dist    
Mark Otto committed
1421

Chris Rebert's avatar
grunt    
Chris Rebert committed
1422
  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
Mark Otto's avatar
dist    
Mark Otto committed
1423

Chris Rebert's avatar
grunt    
Chris Rebert committed
1424
  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
Mark Otto's avatar
dist    
Mark Otto committed
1425

Chris Rebert's avatar
grunt    
Chris Rebert committed
1426
  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
Jacob Thornton's avatar
Jacob Thornton committed
1427

Mark Otto's avatar
dist    
Mark Otto committed
1428
  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
Jacob Thornton's avatar
Jacob Thornton committed
1429
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1430
1431
1432
1433
1434
1435
1436
1437
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
    KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1438
1439
1440
  };
  var ClassName = {
    DISABLED: 'disabled',
Mark Otto's avatar
build    
Mark Otto committed
1441
1442
    SHOW: 'show',
    DROPUP: 'dropup',
Mark Otto's avatar
dist    
Mark Otto committed
1443
1444
    DROPRIGHT: 'dropright',
    DROPLEFT: 'dropleft',
Mark Otto's avatar
build    
Mark Otto committed
1445
    MENURIGHT: 'dropdown-menu-right',
Mark Otto's avatar
dist    
Mark Otto committed
1446
1447
    MENULEFT: 'dropdown-menu-left',
    POSITION_STATIC: 'position-static'
Jacob Thornton's avatar
Jacob Thornton committed
1448
1449
1450
1451
  };
  var Selector = {
    DATA_TOGGLE: '[data-toggle="dropdown"]',
    FORM_CHILD: '.dropdown form',
Mark Otto's avatar
grunt    
Mark Otto committed
1452
    MENU: '.dropdown-menu',
Jacob Thornton's avatar
Jacob Thornton committed
1453
    NAVBAR_NAV: '.navbar-nav',
Mark Otto's avatar
grunt    
Mark Otto committed
1454
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
Jacob Thornton's avatar
Jacob Thornton committed
1455
  };
Johann-S's avatar
build    
Johann-S committed
1456
1457
  var AttachmentMap = {
    TOP: 'top-start',
Mark Otto's avatar
build    
Mark Otto committed
1458
1459
    TOPEND: 'top-end',
    BOTTOM: 'bottom-start',
Mark Otto's avatar
dist    
Mark Otto committed
1460
1461
1462
1463
1464
    BOTTOMEND: 'bottom-end',
    RIGHT: 'right-start',
    RIGHTEND: 'right-end',
    LEFT: 'left-start',
    LEFTEND: 'left-end'
Johann-S's avatar
build    
Johann-S committed
1465
1466
1467
  };
  var Default = {
    offset: 0,
Mark Otto's avatar
dist    
Mark Otto committed
1468
1469
    flip: true,
    boundary: 'scrollParent'
Johann-S's avatar
build    
Johann-S committed
1470
1471
  };
  var DefaultType = {
Mark Otto's avatar
dist    
Mark Otto committed
1472
    offset: '(number|string|function)',
Mark Otto's avatar
dist    
Mark Otto committed
1473
1474
    flip: 'boolean',
    boundary: '(string|element)'
Mark Otto's avatar
dist    
Mark Otto committed
1475
1476
1477
1478
1479
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1480

Mark Otto's avatar
dist    
Mark Otto committed
1481
  };
Jacob Thornton's avatar
Jacob Thornton committed
1482

Mark Otto's avatar
dist    
Mark Otto committed
1483
1484
1485
1486
  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1487
      this._element = element;
Johann-S's avatar
build    
Johann-S committed
1488
1489
1490
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
Mark Otto's avatar
build    
Mark Otto committed
1491
      this._inNavbar = this._detectNavbar();
Jacob Thornton's avatar
Jacob Thornton committed
1492
1493

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
1494
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1495
1496


Mark Otto's avatar
dist    
Mark Otto committed
1497
    var _proto = Dropdown.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1498

Mark Otto's avatar
dist    
Mark Otto committed
1499
1500
    // public
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1501
      if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
Johann-S's avatar
build    
Johann-S committed
1502
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1503
      }
Jacob Thornton's avatar
Jacob Thornton committed
1504

Johann-S's avatar
build    
Johann-S committed
1505
      var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1506

Mark Otto's avatar
dist    
Mark Otto committed
1507
      var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1508

Mark Otto's avatar
grunt    
Mark Otto committed
1509
      Dropdown._clearMenus();
Jacob Thornton's avatar
Jacob Thornton committed
1510

Mark Otto's avatar
grunt    
Mark Otto committed
1511
      if (isActive) {
Johann-S's avatar
build    
Johann-S committed
1512
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1513
      }
Jacob Thornton's avatar
Jacob Thornton committed
1514

Mark Otto's avatar
grunt    
Mark Otto committed
1515
      var relatedTarget = {
Johann-S's avatar
build    
Johann-S committed
1516
        relatedTarget: this._element
Mark Otto's avatar
grunt    
Mark Otto committed
1517
      };
Mark Otto's avatar
dist    
Mark Otto committed
1518
1519
      var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
      $$$1(parent).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1520

Mark Otto's avatar
grunt    
Mark Otto committed
1521
      if (showEvent.isDefaultPrevented()) {
Johann-S's avatar
build    
Johann-S committed
1522
        return;
Mark Otto's avatar
dist    
Mark Otto committed
1523
      } // Disable totally Popper.js for Dropdown in Navbar
Mark Otto's avatar
dist    
Mark Otto committed
1524
1525


Mark Otto's avatar
dist    
Mark Otto committed
1526
1527
1528
1529
1530
1531
1532
1533
      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
          throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
        }
Jacob Thornton's avatar
Jacob Thornton committed
1534

Mark Otto's avatar
dist    
Mark Otto committed
1535
        var element = this._element; // for dropup with alignment we use the parent as popper container
Mark Otto's avatar
dist    
Mark Otto committed
1536

Mark Otto's avatar
dist    
Mark Otto committed
1537
1538
1539
1540
        if ($$$1(parent).hasClass(ClassName.DROPUP)) {
          if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
            element = parent;
          }
Mark Otto's avatar
dist    
Mark Otto committed
1541
1542
1543
1544
1545
1546
1547
        } // If boundary is not `scrollParent`, then set position to `static`
        // to allow the menu to "escape" the scroll parent's boundaries
        // https://github.com/twbs/bootstrap/issues/24251


        if (this._config.boundary !== 'scrollParent') {
          $$$1(parent).addClass(ClassName.POSITION_STATIC);
Mark Otto's avatar
build    
Mark Otto committed
1548
        }
Johann-S's avatar
build    
Johann-S committed
1549

Mark Otto's avatar
dist    
Mark Otto committed
1550
1551
        this._popper = new Popper(element, this._menu, this._getPopperConfig());
      } // if this is a touch-enabled device we add extra
Mark Otto's avatar
grunt    
Mark Otto committed
1552
1553
1554
      // empty mouseover listeners to the body's immediate children;
      // only needed because of broken event delegation on iOS
      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
Mark Otto's avatar
dist    
Mark Otto committed
1555

Mark Otto's avatar
dist    
Mark Otto committed
1556

Mark Otto's avatar
dist    
Mark Otto committed
1557
1558
      if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
        $$$1('body').children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1559
1560
      }

Johann-S's avatar
build    
Johann-S committed
1561
      this._element.focus();
Mark Otto's avatar
dist    
Mark Otto committed
1562

Johann-S's avatar
build    
Johann-S committed
1563
      this._element.setAttribute('aria-expanded', true);
Jacob Thornton's avatar
Jacob Thornton committed
1564

Mark Otto's avatar
dist    
Mark Otto committed
1565
1566
      $$$1(this._menu).toggleClass(ClassName.SHOW);
      $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
Mark Otto's avatar
grunt    
Mark Otto committed
1567
    };
Jacob Thornton's avatar
Jacob Thornton committed
1568

Mark Otto's avatar
dist    
Mark Otto committed
1569
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1570
1571
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1572
      this._element = null;
Johann-S's avatar
build    
Johann-S committed
1573
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
1574

Johann-S's avatar
build    
Johann-S committed
1575
1576
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist    
Mark Otto committed
1577

Mark Otto's avatar
dist    
Mark Otto committed
1578
1579
        this._popper = null;
      }
Johann-S's avatar
build    
Johann-S committed
1580
1581
    };

Mark Otto's avatar
dist    
Mark Otto committed
1582
    _proto.update = function update() {
Mark Otto's avatar
build    
Mark Otto committed
1583
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
1584

Johann-S's avatar
build    
Johann-S committed
1585
1586
1587
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1588
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
1589
1590


Mark Otto's avatar
dist    
Mark Otto committed
1591
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
1592
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
1593

Mark Otto's avatar
dist    
Mark Otto committed
1594
      $$$1(this._element).on(Event.CLICK, function (event) {
Johann-S's avatar
build    
Johann-S committed
1595
1596
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1597

Mark Otto's avatar
dist    
Mark Otto committed
1598
        _this.toggle();
Johann-S's avatar
build    
Johann-S committed
1599
1600
1601
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
1602
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1603
      config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
Johann-S's avatar
build    
Johann-S committed
1604
1605
1606
1607
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1608
    _proto._getMenuElement = function _getMenuElement() {
Johann-S's avatar
build    
Johann-S committed
1609
1610
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1611

Mark Otto's avatar
dist    
Mark Otto committed
1612
        this._menu = $$$1(parent).find(Selector.MENU)[0];
Johann-S's avatar
build    
Johann-S committed
1613
      }
Mark Otto's avatar
dist    
Mark Otto committed
1614

Johann-S's avatar
build    
Johann-S committed
1615
      return this._menu;
Mark Otto's avatar
grunt    
Mark Otto committed
1616
    };
Jacob Thornton's avatar
Jacob Thornton committed
1617

Mark Otto's avatar
dist    
Mark Otto committed
1618
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
1619
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
1620
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
build    
Mark Otto committed
1621

Mark Otto's avatar
dist    
Mark Otto committed
1622
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
build    
Mark Otto committed
1623
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
1624

Mark Otto's avatar
dist    
Mark Otto committed
1625
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1626
1627
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
1628
1629
1630
1631
      } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
        placement = AttachmentMap.RIGHT;
      } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
        placement = AttachmentMap.LEFT;
Mark Otto's avatar
dist    
Mark Otto committed
1632
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1633
        placement = AttachmentMap.BOTTOMEND;
Mark Otto's avatar
build    
Mark Otto committed
1634
      }
Mark Otto's avatar
dist    
Mark Otto committed
1635

Mark Otto's avatar
build    
Mark Otto committed
1636
1637
1638
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1639
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
1640
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
build    
Mark Otto committed
1641
1642
    };

Mark Otto's avatar
dist    
Mark Otto committed
1643
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
1644
1645
1646
1647
1648
1649
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
1650
          data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
1651
1652
1653
1654
1655
1656
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
build    
Mark Otto committed
1657
1658
1659
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
1660
          offset: offsetConf,
Mark Otto's avatar
build    
Mark Otto committed
1661
1662
          flip: {
            enabled: this._config.flip
Mark Otto's avatar
dist    
Mark Otto committed
1663
1664
1665
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
Mark Otto's avatar
build    
Mark Otto committed
1666
          }
Mark Otto's avatar
dist    
Mark Otto committed
1667
        }
Mark Otto's avatar
dist    
Mark Otto committed
1668
      };
Mark Otto's avatar
build    
Mark Otto committed
1669
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
1670
    }; // static
Mark Otto's avatar
build    
Mark Otto committed
1671

Jacob Thornton's avatar
Jacob Thornton committed
1672

Mark Otto's avatar
grunt    
Mark Otto committed
1673
1674
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1675
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1676
1677

        var _config = typeof config === 'object' ? config : null;
Jacob Thornton's avatar
Jacob Thornton committed
1678

Mark Otto's avatar
grunt    
Mark Otto committed
1679
        if (!data) {
Johann-S's avatar
build    
Johann-S committed
1680
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
1681
          $$$1(this).data(DATA_KEY, data);
Jacob Thornton's avatar
Jacob Thornton committed
1682
1683
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1684
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1685
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1686
            throw new Error("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
1687
          }
Mark Otto's avatar
dist    
Mark Otto committed
1688

Johann-S's avatar
build    
Johann-S committed
1689
          data[config]();
Jacob Thornton's avatar
Jacob Thornton committed
1690
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1691
1692
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
1693

Mark Otto's avatar
grunt    
Mark Otto committed
1694
    Dropdown._clearMenus = function _clearMenus(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
1695
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1696
1697
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1698

Mark Otto's avatar
dist    
Mark Otto committed
1699
      var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
Mark Otto's avatar
dist    
Mark Otto committed
1700

Mark Otto's avatar
grunt    
Mark Otto committed
1701
1702
      for (var i = 0; i < toggles.length; i++) {
        var parent = Dropdown._getParentFromElement(toggles[i]);
Mark Otto's avatar
dist    
Mark Otto committed
1703

Mark Otto's avatar
dist    
Mark Otto committed
1704
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1705
1706
1707
        var relatedTarget = {
          relatedTarget: toggles[i]
        };
Jacob Thornton's avatar
Jacob Thornton committed
1708

Johann-S's avatar
build    
Johann-S committed
1709
1710
1711
1712
1713
        if (!context) {
          continue;
        }

        var dropdownMenu = context._menu;
Mark Otto's avatar
dist    
Mark Otto committed
1714

Mark Otto's avatar
dist    
Mark Otto committed
1715
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1716
1717
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1718

Mark Otto's avatar
dist    
Mark Otto committed
1719
        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1720
1721
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1722

Mark Otto's avatar
dist    
Mark Otto committed
1723
1724
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1725

Mark Otto's avatar
grunt    
Mark Otto committed
1726
1727
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
1728
        } // if this is a touch-enabled device we remove the extra
Mark Otto's avatar
grunt    
Mark Otto committed
1729
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
1730
1731


Mark Otto's avatar
grunt    
Mark Otto committed
1732
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
1733
          $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1734
1735
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1736
        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
1737
1738
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Jacob Thornton's avatar
Jacob Thornton committed
1739
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1740
    };
Jacob Thornton's avatar
Jacob Thornton committed
1741

Mark Otto's avatar
grunt    
Mark Otto committed
1742
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
1743
      var parent;
Mark Otto's avatar
grunt    
Mark Otto committed
1744
      var selector = Util.getSelectorFromElement(element);
Jacob Thornton's avatar
Jacob Thornton committed
1745

Mark Otto's avatar
grunt    
Mark Otto committed
1746
      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
1747
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1748
1749
      }

Mark Otto's avatar
grunt    
Mark Otto committed
1750
      return parent || element.parentNode;
Mark Otto's avatar
dist    
Mark Otto committed
1751
1752
    }; // eslint-disable-next-line complexity

Jacob Thornton's avatar
Jacob Thornton committed
1753

Mark Otto's avatar
grunt    
Mark Otto committed
1754
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
1755
1756
1757
1758
1759
1760
1761
1762
      // If not input/textarea:
      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
      // If input/textarea:
      //  - If space key => not a dropdown command
      //  - If key is other than escape
      //    - If key is not up or down => not a dropdown command
      //    - If trigger inside the menu => not a dropdown command
      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1763
1764
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1765

Mark Otto's avatar
grunt    
Mark Otto committed
1766
1767
      event.preventDefault();
      event.stopPropagation();
Jacob Thornton's avatar
Jacob Thornton committed
1768

Mark Otto's avatar
dist    
Mark Otto committed
1769
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1770
1771
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1772

Mark Otto's avatar
grunt    
Mark Otto committed
1773
      var parent = Dropdown._getParentFromElement(this);
Mark Otto's avatar
dist    
Mark Otto committed
1774

Mark Otto's avatar
dist    
Mark Otto committed
1775
      var isActive = $$$1(parent).hasClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1776

Mark Otto's avatar
grunt    
Mark Otto committed
1777
      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1778
        if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
dist    
Mark Otto committed
1779
1780
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Jacob Thornton's avatar
Jacob Thornton committed
1781
1782
        }

Mark Otto's avatar
dist    
Mark Otto committed
1783
        $$$1(this).trigger('click');
Mark Otto's avatar
grunt    
Mark Otto committed
1784
1785
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1786

Mark Otto's avatar
dist    
Mark Otto committed
1787
      var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
Jacob Thornton's avatar
Jacob Thornton committed
1788

Mark Otto's avatar
grunt    
Mark Otto committed
1789
1790
1791
      if (!items.length) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1792

Mark Otto's avatar
grunt    
Mark Otto committed
1793
      var index = items.indexOf(event.target);
Jacob Thornton's avatar
Jacob Thornton committed
1794

Mark Otto's avatar
grunt    
Mark Otto committed
1795
1796
1797
1798
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
        // up
        index--;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1799

Mark Otto's avatar
grunt    
Mark Otto committed
1800
1801
1802
1803
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
        // down
        index++;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1804

Mark Otto's avatar
grunt    
Mark Otto committed
1805
1806
      if (index < 0) {
        index = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1807
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1808
1809
1810
1811

      items[index].focus();
    };

Mark Otto's avatar
Mark Otto committed
1812
    _createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1813
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1814
1815
1816
      get: function get() {
        return VERSION;
      }
Johann-S's avatar
build    
Johann-S committed
1817
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1818
      key: "Default",
Johann-S's avatar
build    
Johann-S committed
1819
1820
1821
1822
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1823
      key: "DefaultType",
Johann-S's avatar
build    
Johann-S committed
1824
1825
1826
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1827
1828
    }]);
    return Dropdown;
Mark Otto's avatar
grunt    
Mark Otto committed
1829
1830
1831
1832
1833
1834
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1835

Mark Otto's avatar
dist    
Mark Otto committed
1836

Mark Otto's avatar
dist    
Mark Otto committed
1837
  $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Johann-S's avatar
build    
Johann-S committed
1838
1839
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1840

Mark Otto's avatar
dist    
Mark Otto committed
1841
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Johann-S's avatar
build    
Johann-S committed
1842
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
Jacob Thornton's avatar
Jacob Thornton committed
1843
    e.stopPropagation();
Mark Otto's avatar
Mark Otto committed
1844
  });
Jacob Thornton's avatar
Jacob Thornton committed
1845
1846
1847
1848
1849
1850
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1851
1852
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1853

Mark Otto's avatar
dist    
Mark Otto committed
1854
1855
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1856
1857
1858
1859
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1860
}($, Popper);
Jacob Thornton's avatar
Jacob Thornton committed
1861
1862
1863

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1864
 * Bootstrap (v4.0.0-beta.3): modal.js
Jacob Thornton's avatar
Jacob Thornton committed
1865
1866
1867
1868
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1869
var Modal = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1870
1871
1872
1873
1874
1875
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
1876
  var VERSION = '4.0.0-beta.3';
Jacob Thornton's avatar
Jacob Thornton committed
1877
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
1878
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1879
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1880
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1881
1882
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
Chris Rebert's avatar
grunt    
Chris Rebert committed
1883
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Jacob Thornton's avatar
Jacob Thornton committed
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897

  var Default = {
    backdrop: true,
    keyboard: true,
    focus: true,
    show: true
  };
  var DefaultType = {
    backdrop: '(boolean|string)',
    keyboard: 'boolean',
    focus: 'boolean',
    show: 'boolean'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    RESIZE: "resize" + EVENT_KEY,
    CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1909
1910
1911
1912
1913
1914
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
1915
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
1916
1917
1918
1919
1920
  };
  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
Mark Otto's avatar
grunt    
Mark Otto committed
1921
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
Mark Otto's avatar
dist    
Mark Otto committed
1922
    STICKY_CONTENT: '.sticky-top',
Mark Otto's avatar
grunt    
Mark Otto committed
1923
    NAVBAR_TOGGLER: '.navbar-toggler'
Mark Otto's avatar
dist    
Mark Otto committed
1924
1925
1926
1927
1928
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1929

Mark Otto's avatar
dist    
Mark Otto committed
1930
  };
Jacob Thornton's avatar
Jacob Thornton committed
1931

Mark Otto's avatar
dist    
Mark Otto committed
1932
1933
1934
1935
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1936
1937
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
1938
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1939
1940
1941
1942
1943
1944
      this._backdrop = null;
      this._isShown = false;
      this._isBodyOverflowing = false;
      this._ignoreBackdropClick = false;
      this._originalBodyPadding = 0;
      this._scrollbarWidth = 0;
Mark Otto's avatar
dist    
Mark Otto committed
1945
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1946
1947


Mark Otto's avatar
dist    
Mark Otto committed
1948
    var _proto = Modal.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1949

Mark Otto's avatar
dist    
Mark Otto committed
1950
1951
    // public
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
grunt    
Mark Otto committed
1952
1953
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };
Jacob Thornton's avatar
Jacob Thornton committed
1954

Mark Otto's avatar
dist    
Mark Otto committed
1955
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
1956
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1957

Mark Otto's avatar
dist    
Mark Otto committed
1958
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
grunt    
Mark Otto committed
1959
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1960
1961
      }

Mark Otto's avatar
dist    
Mark Otto committed
1962
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1963
1964
        this._isTransitioning = true;
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1965

Mark Otto's avatar
dist    
Mark Otto committed
1966
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
grunt    
Mark Otto committed
1967
1968
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
1969
      $$$1(this._element).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1970

Mark Otto's avatar
grunt    
Mark Otto committed
1971
1972
1973
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1974

Mark Otto's avatar
grunt    
Mark Otto committed
1975
      this._isShown = true;
Jacob Thornton's avatar
Jacob Thornton committed
1976

Mark Otto's avatar
grunt    
Mark Otto committed
1977
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
1978

Mark Otto's avatar
grunt    
Mark Otto committed
1979
      this._setScrollbar();
Jacob Thornton's avatar
Jacob Thornton committed
1980

Mark Otto's avatar
dist    
Mark Otto committed
1981
1982
      this._adjustDialog();

Mark Otto's avatar
dist    
Mark Otto committed
1983
      $$$1(document.body).addClass(ClassName.OPEN);
Jacob Thornton's avatar
Jacob Thornton committed
1984

Mark Otto's avatar
grunt    
Mark Otto committed
1985
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
1986

Mark Otto's avatar
grunt    
Mark Otto committed
1987
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
1988

Mark Otto's avatar
dist    
Mark Otto committed
1989
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
1990
        return _this.hide(event);
Mark Otto's avatar
grunt    
Mark Otto committed
1991
      });
Mark Otto's avatar
dist    
Mark Otto committed
1992
1993
1994
      $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
        $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
          if ($$$1(event.target).is(_this._element)) {
Mark Otto's avatar
dist    
Mark Otto committed
1995
            _this._ignoreBackdropClick = true;
Mark Otto's avatar
grunt    
Mark Otto committed
1996
          }
Jacob Thornton's avatar
Jacob Thornton committed
1997
        });
Mark Otto's avatar
grunt    
Mark Otto committed
1998
1999
      });

Mark Otto's avatar
grunt    
Mark Otto committed
2000
      this._showBackdrop(function () {
For faster browsing, not all history is shown. View entire blame