bootstrap.bundle.js 213 KB
Newer Older
Mark Otto's avatar
dist  
Mark Otto committed
4001

Mark Otto's avatar
dist    
Mark Otto committed
4002
4003
4004
    }]);
    return Popper;
  }();
Mark Otto's avatar
dist  
Mark Otto committed
4005
4006

  /**
Mark Otto's avatar
dist    
Mark Otto committed
4007
4008
4009
4010
4011
4012
4013
4014
4015
   * The `referenceObject` is an object that provides an interface compatible with Popper.js
   * and lets you use it as replacement of a real DOM node.<br />
   * You can use this method to position a popper relatively to a set of coordinates
   * in case you don't have a DOM node to use as reference.
   *
   * ```
   * new Popper(referenceObject, popperNode);
   * ```
   *
Mark Otto's avatar
dist    
Mark Otto committed
4016
   * NB: This feature isn't supported in Internet Explorer 10.
Mark Otto's avatar
dist    
Mark Otto committed
4017
4018
4019
4020
4021
4022
4023
   * @name referenceObject
   * @property {Function} data.getBoundingClientRect
   * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
   * @property {number} data.clientWidth
   * An ES6 getter that will return the width of the virtual reference element.
   * @property {number} data.clientHeight
   * An ES6 getter that will return the height of the virtual reference element.
Mark Otto's avatar
dist  
Mark Otto committed
4024
   */
Mark Otto's avatar
dist    
Mark Otto committed
4025
4026
4027
4028
4029
4030
4031
4032


  Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
  Popper.placements = placements;
  Popper.Defaults = Defaults;

  /**
   * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4033
   * Bootstrap (v4.1.3): dropdown.js
Mark Otto's avatar
dist    
Mark Otto committed
4034
4035
4036
4037
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
   * --------------------------------------------------------------------------
   */

XhmikosR's avatar
Dist    
XhmikosR committed
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME$4 = 'dropdown';
  var VERSION$4 = '4.1.3';
  var DATA_KEY$4 = 'bs.dropdown';
  var EVENT_KEY$4 = "." + DATA_KEY$4;
  var DATA_API_KEY$4 = '.data-api';
  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key

  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key

  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key

  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key

  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key

  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)

  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
  var Event$4 = {
    HIDE: "hide" + EVENT_KEY$4,
    HIDDEN: "hidden" + EVENT_KEY$4,
    SHOW: "show" + EVENT_KEY$4,
    SHOWN: "shown" + EVENT_KEY$4,
    CLICK: "click" + EVENT_KEY$4,
    CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
    KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
    KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
  };
  var ClassName$4 = {
    DISABLED: 'disabled',
    SHOW: 'show',
    DROPUP: 'dropup',
    DROPRIGHT: 'dropright',
    DROPLEFT: 'dropleft',
    MENURIGHT: 'dropdown-menu-right',
    MENULEFT: 'dropdown-menu-left',
    POSITION_STATIC: 'position-static'
  };
  var Selector$4 = {
    DATA_TOGGLE: '[data-toggle="dropdown"]',
    FORM_CHILD: '.dropdown form',
    MENU: '.dropdown-menu',
    NAVBAR_NAV: '.navbar-nav',
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
  };
  var AttachmentMap = {
    TOP: 'top-start',
    TOPEND: 'top-end',
    BOTTOM: 'bottom-start',
    BOTTOMEND: 'bottom-end',
    RIGHT: 'right-start',
    RIGHTEND: 'right-end',
    LEFT: 'left-start',
    LEFTEND: 'left-end'
  };
  var Default$2 = {
    offset: 0,
    flip: true,
    boundary: 'scrollParent',
    reference: 'toggle',
    display: 'dynamic'
  };
  var DefaultType$2 = {
    offset: '(number|string|function)',
    flip: 'boolean',
    boundary: '(string|element)',
    reference: '(string|element)',
    display: 'string'
Mark Otto's avatar
dist    
Mark Otto committed
4113
4114
    /**
     * ------------------------------------------------------------------------
XhmikosR's avatar
Dist    
XhmikosR committed
4115
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
4116
4117
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
4118

XhmikosR's avatar
Dist    
XhmikosR committed
4119
  };
Mark Otto's avatar
dist    
Mark Otto committed
4120

XhmikosR's avatar
Dist    
XhmikosR committed
4121
4122
4123
4124
4125
4126
4127
4128
4129
  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
      this._element = element;
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
4130

XhmikosR's avatar
Dist    
XhmikosR committed
4131
4132
      this._addEventListeners();
    } // Getters
Mark Otto's avatar
dist    
Mark Otto committed
4133

Mark Otto's avatar
dist  
Mark Otto committed
4134

XhmikosR's avatar
Dist    
XhmikosR committed
4135
    var _proto = Dropdown.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
4136

XhmikosR's avatar
Dist    
XhmikosR committed
4137
4138
4139
4140
4141
    // Public
    _proto.toggle = function toggle() {
      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4142

XhmikosR's avatar
Dist    
XhmikosR committed
4143
      var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist  
Mark Otto committed
4144

XhmikosR's avatar
Dist    
XhmikosR committed
4145
      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4146

XhmikosR's avatar
Dist    
XhmikosR committed
4147
      Dropdown._clearMenus();
Mark Otto's avatar
dist  
Mark Otto committed
4148

XhmikosR's avatar
Dist    
XhmikosR committed
4149
4150
4151
      if (isActive) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4152

XhmikosR's avatar
Dist    
XhmikosR committed
4153
4154
4155
4156
4157
      var relatedTarget = {
        relatedTarget: this._element
      };
      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
      $(parent).trigger(showEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4158

XhmikosR's avatar
Dist    
XhmikosR committed
4159
4160
4161
      if (showEvent.isDefaultPrevented()) {
        return;
      } // Disable totally Popper.js for Dropdown in Navbar
Mark Otto's avatar
dist    
Mark Otto committed
4162

Mark Otto's avatar
dist  
Mark Otto committed
4163

XhmikosR's avatar
Dist    
XhmikosR committed
4164
4165
4166
4167
4168
4169
4170
      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
          throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
Mark Otto's avatar
dist    
Mark Otto committed
4171
        }
Mark Otto's avatar
dist  
Mark Otto committed
4172

XhmikosR's avatar
Dist    
XhmikosR committed
4173
        var referenceElement = this._element;
Mark Otto's avatar
dist  
Mark Otto committed
4174

XhmikosR's avatar
Dist    
XhmikosR committed
4175
4176
4177
4178
        if (this._config.reference === 'parent') {
          referenceElement = parent;
        } else if (Util.isElement(this._config.reference)) {
          referenceElement = this._config.reference; // Check if it's jQuery element
Mark Otto's avatar
dist    
Mark Otto committed
4179

XhmikosR's avatar
Dist    
XhmikosR committed
4180
4181
          if (typeof this._config.reference.jquery !== 'undefined') {
            referenceElement = this._config.reference[0];
Mark Otto's avatar
dist    
Mark Otto committed
4182
          }
XhmikosR's avatar
Dist    
XhmikosR committed
4183
4184
4185
        } // 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
Mark Otto's avatar
dist    
Mark Otto committed
4186

Mark Otto's avatar
dist    
Mark Otto committed
4187

XhmikosR's avatar
Dist    
XhmikosR committed
4188
4189
4190
        if (this._config.boundary !== 'scrollParent') {
          $(parent).addClass(ClassName$4.POSITION_STATIC);
        }
Mark Otto's avatar
dist    
Mark Otto committed
4191

XhmikosR's avatar
Dist    
XhmikosR committed
4192
4193
4194
4195
4196
        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
      } // If this is a touch-enabled device we add extra
      // 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
4197

Mark Otto's avatar
dist    
Mark Otto committed
4198

XhmikosR's avatar
Dist    
XhmikosR committed
4199
4200
4201
      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
        $(document.body).children().on('mouseover', null, $.noop);
      }
Mark Otto's avatar
dist    
Mark Otto committed
4202

XhmikosR's avatar
Dist    
XhmikosR committed
4203
      this._element.focus();
Mark Otto's avatar
dist    
Mark Otto committed
4204

XhmikosR's avatar
Dist    
XhmikosR committed
4205
      this._element.setAttribute('aria-expanded', true);
Mark Otto's avatar
dist  
Mark Otto committed
4206

XhmikosR's avatar
Dist    
XhmikosR committed
4207
4208
4209
      $(this._menu).toggleClass(ClassName$4.SHOW);
      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
    };
Mark Otto's avatar
dist    
Mark Otto committed
4210

XhmikosR's avatar
Dist    
XhmikosR committed
4211
4212
4213
4214
    _proto.show = function show() {
      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4215

XhmikosR's avatar
Dist    
XhmikosR committed
4216
4217
      var relatedTarget = {
        relatedTarget: this._element
Mark Otto's avatar
dist    
Mark Otto committed
4218
      };
XhmikosR's avatar
Dist    
XhmikosR committed
4219
      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
Mark Otto's avatar
dist  
Mark Otto committed
4220

XhmikosR's avatar
Dist    
XhmikosR committed
4221
      var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
4222

XhmikosR's avatar
Dist    
XhmikosR committed
4223
      $(parent).trigger(showEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4224

XhmikosR's avatar
Dist    
XhmikosR committed
4225
4226
4227
      if (showEvent.isDefaultPrevented()) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4228

XhmikosR's avatar
Dist    
XhmikosR committed
4229
4230
4231
      $(this._menu).toggleClass(ClassName$4.SHOW);
      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
    };
Mark Otto's avatar
dist    
Mark Otto committed
4232

XhmikosR's avatar
Dist    
XhmikosR committed
4233
4234
4235
4236
    _proto.hide = function hide() {
      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4237

XhmikosR's avatar
Dist    
XhmikosR committed
4238
4239
4240
4241
      var relatedTarget = {
        relatedTarget: this._element
      };
      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
Mark Otto's avatar
dist  
Mark Otto committed
4242

XhmikosR's avatar
Dist    
XhmikosR committed
4243
      var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
4244

XhmikosR's avatar
Dist    
XhmikosR committed
4245
      $(parent).trigger(hideEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4246

XhmikosR's avatar
Dist    
XhmikosR committed
4247
4248
4249
      if (hideEvent.isDefaultPrevented()) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4250

XhmikosR's avatar
Dist    
XhmikosR committed
4251
4252
4253
      $(this._menu).toggleClass(ClassName$4.SHOW);
      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
    };
Mark Otto's avatar
dist  
Mark Otto committed
4254

XhmikosR's avatar
Dist    
XhmikosR committed
4255
4256
4257
4258
4259
    _proto.dispose = function dispose() {
      $.removeData(this._element, DATA_KEY$4);
      $(this._element).off(EVENT_KEY$4);
      this._element = null;
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
4260

XhmikosR's avatar
Dist    
XhmikosR committed
4261
4262
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist  
Mark Otto committed
4263

XhmikosR's avatar
Dist    
XhmikosR committed
4264
4265
4266
        this._popper = null;
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
4267

XhmikosR's avatar
Dist    
XhmikosR committed
4268
4269
    _proto.update = function update() {
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
4270

XhmikosR's avatar
Dist    
XhmikosR committed
4271
4272
4273
4274
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
    }; // Private
Mark Otto's avatar
dist    
Mark Otto committed
4275

Mark Otto's avatar
dist    
Mark Otto committed
4276

XhmikosR's avatar
Dist    
XhmikosR committed
4277
4278
    _proto._addEventListeners = function _addEventListeners() {
      var _this = this;
Mark Otto's avatar
dist    
Mark Otto committed
4279

XhmikosR's avatar
Dist    
XhmikosR committed
4280
4281
4282
      $(this._element).on(Event$4.CLICK, function (event) {
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist  
Mark Otto committed
4283

XhmikosR's avatar
Dist    
XhmikosR committed
4284
4285
4286
        _this.toggle();
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
4287

XhmikosR's avatar
Dist    
XhmikosR committed
4288
4289
4290
4291
4292
    _proto._getConfig = function _getConfig(config) {
      config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
      return config;
    };
Mark Otto's avatar
dist    
Mark Otto committed
4293

XhmikosR's avatar
Dist    
XhmikosR committed
4294
4295
4296
4297
4298
4299
    _proto._getMenuElement = function _getMenuElement() {
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);

        if (parent) {
          this._menu = parent.querySelector(Selector$4.MENU);
Mark Otto's avatar
dist  
Mark Otto committed
4300
        }
XhmikosR's avatar
Dist    
XhmikosR committed
4301
      }
Mark Otto's avatar
dist    
Mark Otto committed
4302

XhmikosR's avatar
Dist    
XhmikosR committed
4303
4304
      return this._menu;
    };
Mark Otto's avatar
dist  
Mark Otto committed
4305

XhmikosR's avatar
Dist    
XhmikosR committed
4306
4307
4308
    _proto._getPlacement = function _getPlacement() {
      var $parentDropdown = $(this._element.parentNode);
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
dist  
Mark Otto committed
4309

XhmikosR's avatar
Dist    
XhmikosR committed
4310
4311
      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
4312

XhmikosR's avatar
Dist    
XhmikosR committed
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
          placement = AttachmentMap.TOPEND;
        }
      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
        placement = AttachmentMap.RIGHT;
      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
        placement = AttachmentMap.LEFT;
      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
        placement = AttachmentMap.BOTTOMEND;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4323

XhmikosR's avatar
Dist    
XhmikosR committed
4324
4325
      return placement;
    };
Mark Otto's avatar
dist    
Mark Otto committed
4326

XhmikosR's avatar
Dist    
XhmikosR committed
4327
4328
4329
    _proto._detectNavbar = function _detectNavbar() {
      return $(this._element).closest('.navbar').length > 0;
    };
Mark Otto's avatar
dist    
Mark Otto committed
4330

XhmikosR's avatar
Dist    
XhmikosR committed
4331
4332
    _proto._getPopperConfig = function _getPopperConfig() {
      var _this2 = this;
Mark Otto's avatar
dist    
Mark Otto committed
4333

XhmikosR's avatar
Dist    
XhmikosR committed
4334
      var offsetConf = {};
Mark Otto's avatar
dist    
Mark Otto committed
4335

XhmikosR's avatar
Dist    
XhmikosR committed
4336
4337
4338
4339
4340
4341
4342
4343
      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
          data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4344

XhmikosR's avatar
Dist    
XhmikosR committed
4345
4346
4347
4348
4349
4350
4351
4352
4353
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
          offset: offsetConf,
          flip: {
            enabled: this._config.flip
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
Mark Otto's avatar
dist    
Mark Otto committed
4354
          }
XhmikosR's avatar
Dist    
XhmikosR committed
4355
        } // Disable Popper.js if we have a static display
Mark Otto's avatar
dist    
Mark Otto committed
4356

XhmikosR's avatar
Dist    
XhmikosR committed
4357
      };
Mark Otto's avatar
dist    
Mark Otto committed
4358

XhmikosR's avatar
Dist    
XhmikosR committed
4359
4360
4361
4362
4363
      if (this._config.display === 'static') {
        popperConfig.modifiers.applyStyle = {
          enabled: false
        };
      }
Mark Otto's avatar
dist  
Mark Otto committed
4364

XhmikosR's avatar
Dist    
XhmikosR committed
4365
4366
      return popperConfig;
    }; // Static
Mark Otto's avatar
dist  
Mark Otto committed
4367

Mark Otto's avatar
dist    
Mark Otto committed
4368

XhmikosR's avatar
Dist    
XhmikosR committed
4369
4370
4371
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $(this).data(DATA_KEY$4);
Mark Otto's avatar
dist    
Mark Otto committed
4372

XhmikosR's avatar
Dist    
XhmikosR committed
4373
        var _config = typeof config === 'object' ? config : null;
Mark Otto's avatar
dist  
Mark Otto committed
4374

XhmikosR's avatar
Dist    
XhmikosR committed
4375
4376
4377
4378
        if (!data) {
          data = new Dropdown(this, _config);
          $(this).data(DATA_KEY$4, data);
        }
Mark Otto's avatar
dist  
Mark Otto committed
4379

XhmikosR's avatar
Dist    
XhmikosR committed
4380
4381
4382
        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
dist  
Mark Otto committed
4383
          }
Mark Otto's avatar
dist    
Mark Otto committed
4384

XhmikosR's avatar
Dist    
XhmikosR committed
4385
4386
4387
4388
4389
4390
4391
4392
4393
          data[config]();
        }
      });
    };

    Dropdown._clearMenus = function _clearMenus(event) {
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4394

XhmikosR's avatar
Dist    
XhmikosR committed
4395
      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
Mark Otto's avatar
dist  
Mark Otto committed
4396

XhmikosR's avatar
Dist    
XhmikosR committed
4397
4398
      for (var i = 0, len = toggles.length; i < len; i++) {
        var parent = Dropdown._getParentFromElement(toggles[i]);
Mark Otto's avatar
dist    
Mark Otto committed
4399

XhmikosR's avatar
Dist    
XhmikosR committed
4400
4401
4402
4403
        var context = $(toggles[i]).data(DATA_KEY$4);
        var relatedTarget = {
          relatedTarget: toggles[i]
        };
Mark Otto's avatar
dist    
Mark Otto committed
4404

XhmikosR's avatar
Dist    
XhmikosR committed
4405
4406
4407
        if (event && event.type === 'click') {
          relatedTarget.clickEvent = event;
        }
Mark Otto's avatar
dist  
Mark Otto committed
4408

XhmikosR's avatar
Dist    
XhmikosR committed
4409
4410
        if (!context) {
          continue;
Mark Otto's avatar
dist  
Mark Otto committed
4411
4412
        }

XhmikosR's avatar
Dist    
XhmikosR committed
4413
        var dropdownMenu = context._menu;
Mark Otto's avatar
dist    
Mark Otto committed
4414

XhmikosR's avatar
Dist    
XhmikosR committed
4415
4416
        if (!$(parent).hasClass(ClassName$4.SHOW)) {
          continue;
Mark Otto's avatar
dist  
Mark Otto committed
4417
4418
        }

XhmikosR's avatar
Dist    
XhmikosR committed
4419
4420
4421
        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
          continue;
        }
Mark Otto's avatar
dist  
Mark Otto committed
4422

XhmikosR's avatar
Dist    
XhmikosR committed
4423
4424
        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
        $(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
4425

XhmikosR's avatar
Dist    
XhmikosR committed
4426
4427
4428
4429
        if (hideEvent.isDefaultPrevented()) {
          continue;
        } // If this is a touch-enabled device we remove the extra
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
4430
4431


XhmikosR's avatar
Dist    
XhmikosR committed
4432
4433
        if ('ontouchstart' in document.documentElement) {
          $(document.body).children().off('mouseover', null, $.noop);
Mark Otto's avatar
dist  
Mark Otto committed
4434
4435
        }

XhmikosR's avatar
Dist    
XhmikosR committed
4436
4437
4438
4439
4440
        toggles[i].setAttribute('aria-expanded', 'false');
        $(dropdownMenu).removeClass(ClassName$4.SHOW);
        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
4441

XhmikosR's avatar
Dist    
XhmikosR committed
4442
4443
4444
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
      var parent;
      var selector = Util.getSelectorFromElement(element);
Mark Otto's avatar
dist  
Mark Otto committed
4445

XhmikosR's avatar
Dist    
XhmikosR committed
4446
4447
4448
      if (selector) {
        parent = document.querySelector(selector);
      }
Mark Otto's avatar
dist    
Mark Otto committed
4449

XhmikosR's avatar
Dist    
XhmikosR committed
4450
4451
      return parent || element.parentNode;
    }; // eslint-disable-next-line complexity
Mark Otto's avatar
dist  
Mark Otto committed
4452
4453


XhmikosR's avatar
Dist    
XhmikosR committed
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
      // 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 || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4465

XhmikosR's avatar
Dist    
XhmikosR committed
4466
4467
      event.preventDefault();
      event.stopPropagation();
Mark Otto's avatar
dist  
Mark Otto committed
4468

XhmikosR's avatar
Dist    
XhmikosR committed
4469
4470
4471
      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4472

XhmikosR's avatar
Dist    
XhmikosR committed
4473
      var parent = Dropdown._getParentFromElement(this);
Mark Otto's avatar
dist  
Mark Otto committed
4474

XhmikosR's avatar
Dist    
XhmikosR committed
4475
4476
4477
4478
4479
4480
      var isActive = $(parent).hasClass(ClassName$4.SHOW);

      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
        if (event.which === ESCAPE_KEYCODE) {
          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
          $(toggle).trigger('focus');
Mark Otto's avatar
dist  
Mark Otto committed
4481
4482
        }

XhmikosR's avatar
Dist    
XhmikosR committed
4483
4484
4485
        $(this).trigger('click');
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4486

XhmikosR's avatar
Dist    
XhmikosR committed
4487
      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
Mark Otto's avatar
dist  
Mark Otto committed
4488

XhmikosR's avatar
Dist    
XhmikosR committed
4489
4490
4491
      if (items.length === 0) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4492

XhmikosR's avatar
Dist    
XhmikosR committed
4493
      var index = items.indexOf(event.target);
Mark Otto's avatar
dist  
Mark Otto committed
4494

XhmikosR's avatar
Dist    
XhmikosR committed
4495
4496
4497
4498
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
        // Up
        index--;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4499

XhmikosR's avatar
Dist    
XhmikosR committed
4500
4501
4502
4503
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
        // Down
        index++;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4504

XhmikosR's avatar
Dist    
XhmikosR committed
4505
4506
4507
      if (index < 0) {
        index = 0;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4508

XhmikosR's avatar
Dist    
XhmikosR committed
4509
      items[index].focus();
Mark Otto's avatar
dist  
Mark Otto committed
4510
4511
    };

XhmikosR's avatar
Dist    
XhmikosR committed
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
    _createClass(Dropdown, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$4;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default$2;
      }
    }, {
      key: "DefaultType",
      get: function get() {
        return DefaultType$2;
      }
    }]);

Mark Otto's avatar
dist  
Mark Otto committed
4529
    return Dropdown;
XhmikosR's avatar
Dist    
XhmikosR committed
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
    event.preventDefault();
    event.stopPropagation();

    Dropdown._jQueryInterface.call($(this), 'toggle');
  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
    e.stopPropagation();
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $.fn[NAME$4] = Dropdown._jQueryInterface;
  $.fn[NAME$4].Constructor = Dropdown;

  $.fn[NAME$4].noConflict = function () {
    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
    return Dropdown._jQueryInterface;
  };
Mark Otto's avatar
dist    
Mark Otto committed
4559

Mark Otto's avatar
dist  
Mark Otto committed
4560
  /**
Mark Otto's avatar
dist    
Mark Otto committed
4561
   * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4562
   * Bootstrap (v4.1.3): modal.js
Mark Otto's avatar
dist    
Mark Otto committed
4563
4564
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
   * --------------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
4565
4566
   */

XhmikosR's avatar
Dist    
XhmikosR committed
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME$5 = 'modal';
  var VERSION$5 = '4.1.3';
  var DATA_KEY$5 = 'bs.modal';
  var EVENT_KEY$5 = "." + DATA_KEY$5;
  var DATA_API_KEY$5 = '.data-api';
  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key

  var Default$3 = {
    backdrop: true,
    keyboard: true,
    focus: true,
    show: true
  };
  var DefaultType$3 = {
    backdrop: '(boolean|string)',
    keyboard: 'boolean',
    focus: 'boolean',
    show: 'boolean'
  };
  var Event$5 = {
    HIDE: "hide" + EVENT_KEY$5,
    HIDDEN: "hidden" + EVENT_KEY$5,
    SHOW: "show" + EVENT_KEY$5,
    SHOWN: "shown" + EVENT_KEY$5,
    FOCUSIN: "focusin" + EVENT_KEY$5,
    RESIZE: "resize" + EVENT_KEY$5,
    CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
    CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
  };
  var ClassName$5 = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector$5 = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
    STICKY_CONTENT: '.sticky-top'
Mark Otto's avatar
dist    
Mark Otto committed
4619
4620
    /**
     * ------------------------------------------------------------------------
XhmikosR's avatar
Dist    
XhmikosR committed
4621
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
4622
4623
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist    
Mark Otto committed
4624

XhmikosR's avatar
Dist    
XhmikosR committed
4625
  };
Mark Otto's avatar
dist  
Mark Otto committed
4626

XhmikosR's avatar
Dist    
XhmikosR committed
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
      this._config = this._getConfig(config);
      this._element = element;
      this._dialog = element.querySelector(Selector$5.DIALOG);
      this._backdrop = null;
      this._isShown = false;
      this._isBodyOverflowing = false;
      this._ignoreBackdropClick = false;
      this._isTransitioning = false;
      this._scrollbarWidth = 0;
    } // Getters


    var _proto = Modal.prototype;

    // Public
    _proto.toggle = function toggle(relatedTarget) {
      return this._isShown ? this.hide() : this.show(relatedTarget);
Mark Otto's avatar
dist  
Mark Otto committed
4648
4649
    };

XhmikosR's avatar
Dist    
XhmikosR committed
4650
4651
    _proto.show = function show(relatedTarget) {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
4652

XhmikosR's avatar
Dist    
XhmikosR committed
4653
4654
4655
      if (this._isShown || this._isTransitioning) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4656

XhmikosR's avatar
Dist    
XhmikosR committed
4657
4658
4659
      if ($(this._element).hasClass(ClassName$5.FADE)) {
        this._isTransitioning = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4660

XhmikosR's avatar
Dist    
XhmikosR committed
4661
4662
4663
4664
      var showEvent = $.Event(Event$5.SHOW, {
        relatedTarget: relatedTarget
      });
      $(this._element).trigger(showEvent);
Mark Otto's avatar
dist    
Mark Otto committed
4665

XhmikosR's avatar
Dist    
XhmikosR committed
4666
4667
4668
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4669

XhmikosR's avatar
Dist    
XhmikosR committed
4670
      this._isShown = true;
Mark Otto's avatar
dist    
Mark Otto committed
4671

XhmikosR's avatar
Dist    
XhmikosR committed
4672
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
4673

XhmikosR's avatar
Dist    
XhmikosR committed
4674
      this._setScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
4675

XhmikosR's avatar
Dist    
XhmikosR committed
4676
      this._adjustDialog();
Mark Otto's avatar
dist  
Mark Otto committed
4677

XhmikosR's avatar
Dist    
XhmikosR committed
4678
      $(document.body).addClass(ClassName$5.OPEN);
Mark Otto's avatar
dist  
Mark Otto committed
4679

XhmikosR's avatar
Dist    
XhmikosR committed
4680
      this._setEscapeEvent();
Mark Otto's avatar
dist  
Mark Otto committed
4681

XhmikosR's avatar
Dist    
XhmikosR committed
4682
      this._setResizeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
4683

XhmikosR's avatar
Dist    
XhmikosR committed
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
        return _this.hide(event);
      });
      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
          if ($(event.target).is(_this._element)) {
            _this._ignoreBackdropClick = true;
          }
        });
      });
Mark Otto's avatar
dist  
Mark Otto committed
4694

XhmikosR's avatar
Dist    
XhmikosR committed
4695
4696
4697
4698
      this._showBackdrop(function () {
        return _this._showElement(relatedTarget);
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
4699

XhmikosR's avatar
Dist    
XhmikosR committed
4700
4701
    _proto.hide = function hide(event) {
      var _this2 = this;
Mark Otto's avatar
dist  
Mark Otto committed
4702

XhmikosR's avatar
Dist    
XhmikosR committed
4703
4704
4705
      if (event) {
        event.preventDefault();
      }
Mark Otto's avatar
dist    
Mark Otto committed
4706

XhmikosR's avatar
Dist    
XhmikosR committed
4707
4708
4709
      if (!this._isShown || this._isTransitioning) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4710

XhmikosR's avatar
Dist    
XhmikosR committed
4711
4712
      var hideEvent = $.Event(Event$5.HIDE);
      $(this._element).trigger(hideEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4713

XhmikosR's avatar
Dist    
XhmikosR committed
4714
4715
4716
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4717

XhmikosR's avatar
Dist    
XhmikosR committed
4718
4719
      this._isShown = false;
      var transition = $(this._element).hasClass(ClassName$5.FADE);
Mark Otto's avatar
dist  
Mark Otto committed
4720

XhmikosR's avatar
Dist    
XhmikosR committed
4721
4722
4723
      if (transition) {
        this._isTransitioning = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4724

XhmikosR's avatar
Dist    
XhmikosR committed
4725
      this._setEscapeEvent();
Mark Otto's avatar
dist  
Mark Otto committed
4726

XhmikosR's avatar
Dist    
XhmikosR committed
4727
      this._setResizeEvent();
Mark Otto's avatar
dist  
Mark Otto committed
4728

XhmikosR's avatar
Dist    
XhmikosR committed
4729
4730
4731
4732
      $(document).off(Event$5.FOCUSIN);
      $(this._element).removeClass(ClassName$5.SHOW);
      $(this._element).off(Event$5.CLICK_DISMISS);
      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
Mark Otto's avatar
dist  
Mark Otto committed
4733

XhmikosR's avatar
Dist    
XhmikosR committed
4734
4735
4736
4737
4738
4739
4740
4741
4742
      if (transition) {
        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
        $(this._element).one(Util.TRANSITION_END, function (event) {
          return _this2._hideModal(event);
        }).emulateTransitionEnd(transitionDuration);
      } else {
        this._hideModal();
      }
    };
Mark Otto's avatar
dist    
Mark Otto committed
4743

XhmikosR's avatar
Dist    
XhmikosR committed
4744
4745
4746
4747
4748
4749
4750
4751
4752
    _proto.dispose = function dispose() {
      [window, this._element, this._dialog].forEach(function (htmlElement) {
        return $(htmlElement).off(EVENT_KEY$5);
      });
      /**
       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
       * Do not move `document` in `htmlElements` array
       * It will remove `Event.CLICK_DATA_API` event that should remain
       */
Mark Otto's avatar
dist  
Mark Otto committed
4753

XhmikosR's avatar
Dist    
XhmikosR committed
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
      $(document).off(Event$5.FOCUSIN);
      $.removeData(this._element, DATA_KEY$5);
      this._config = null;
      this._element = null;
      this._dialog = null;
      this._backdrop = null;
      this._isShown = null;
      this._isBodyOverflowing = null;
      this._ignoreBackdropClick = null;
      this._isTransitioning = null;
      this._scrollbarWidth = null;
    };
Mark Otto's avatar
dist    
Mark Otto committed
4766

XhmikosR's avatar
Dist    
XhmikosR committed
4767
4768
4769
    _proto.handleUpdate = function handleUpdate() {
      this._adjustDialog();
    }; // Private
Mark Otto's avatar
dist  
Mark Otto committed
4770
4771


XhmikosR's avatar
Dist    
XhmikosR committed
4772
4773
4774
4775
4776
    _proto._getConfig = function _getConfig(config) {
      config = _objectSpread({}, Default$3, config);
      Util.typeCheckConfig(NAME$5, config, DefaultType$3);
      return config;
    };
Mark Otto's avatar
dist  
Mark Otto committed
4777

XhmikosR's avatar
Dist    
XhmikosR committed
4778
4779
    _proto._showElement = function _showElement(relatedTarget) {
      var _this3 = this;
Mark Otto's avatar
dist  
Mark Otto committed
4780

XhmikosR's avatar
Dist    
XhmikosR committed
4781
      var transition = $(this._element).hasClass(ClassName$5.FADE);
Mark Otto's avatar
dist  
Mark Otto committed
4782

XhmikosR's avatar
Dist    
XhmikosR committed
4783
4784
4785
4786
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
        // Don't move modal's DOM position
        document.body.appendChild(this._element);
      }
Mark Otto's avatar
dist  
Mark Otto committed
4787

XhmikosR's avatar
Dist    
XhmikosR committed
4788
      this._element.style.display = 'block';
Mark Otto's avatar
dist  
Mark Otto committed
4789

XhmikosR's avatar
Dist    
XhmikosR committed
4790
      this._element.removeAttribute('aria-hidden');
Mark Otto's avatar
dist  
Mark Otto committed
4791

XhmikosR's avatar
Dist    
XhmikosR committed
4792
      this._element.scrollTop = 0;
Mark Otto's avatar
dist  
Mark Otto committed
4793

XhmikosR's avatar
Dist    
XhmikosR committed
4794
4795
4796
      if (transition) {
        Util.reflow(this._element);
      }
Mark Otto's avatar
dist  
Mark Otto committed
4797

XhmikosR's avatar
Dist    
XhmikosR committed
4798
      $(this._element).addClass(ClassName$5.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
4799

XhmikosR's avatar
Dist    
XhmikosR committed
4800
4801
4802
      if (this._config.focus) {
        this._enforceFocus();
      }
Mark Otto's avatar
dist    
Mark Otto committed
4803

XhmikosR's avatar
Dist    
XhmikosR committed
4804
4805
4806
      var shownEvent = $.Event(Event$5.SHOWN, {
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist  
Mark Otto committed
4807

XhmikosR's avatar
Dist    
XhmikosR committed
4808
4809
4810
      var transitionComplete = function transitionComplete() {
        if (_this3._config.focus) {
          _this3._element.focus();
Mark Otto's avatar
dist    
Mark Otto committed
4811
        }
Mark Otto's avatar
dist  
Mark Otto committed
4812

XhmikosR's avatar
Dist    
XhmikosR committed
4813
4814
4815
        _this3._isTransitioning = false;
        $(_this3._element).trigger(shownEvent);
      };
Mark Otto's avatar
dist  
Mark Otto committed
4816

XhmikosR's avatar
Dist    
XhmikosR committed
4817
4818
4819
4820
4821
4822
4823
      if (transition) {
        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
      } else {
        transitionComplete();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
4824

XhmikosR's avatar
Dist    
XhmikosR committed
4825
4826
    _proto._enforceFocus = function _enforceFocus() {
      var _this4 = this;
Mark Otto's avatar
dist  
Mark Otto committed
4827

XhmikosR's avatar
Dist    
XhmikosR committed
4828
4829
4830
4831
      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
      .on(Event$5.FOCUSIN, function (event) {
        if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
          _this4._element.focus();
Mark Otto's avatar
dist  
Mark Otto committed
4832
        }
XhmikosR's avatar
Dist    
XhmikosR committed
4833
4834
      });
    };
Mark Otto's avatar
dist    
Mark Otto committed
4835

XhmikosR's avatar
Dist    
XhmikosR committed
4836
4837
4838
4839
4840
4841
4842
    _proto._setEscapeEvent = function _setEscapeEvent() {
      var _this5 = this;

      if (this._isShown && this._config.keyboard) {
        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
          if (event.which === ESCAPE_KEYCODE$1) {
            event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
4843

XhmikosR's avatar
Dist    
XhmikosR committed
4844
            _this5.hide();
Mark Otto's avatar
dist    
Mark Otto committed
4845
4846
          }
        });
XhmikosR's avatar
Dist    
XhmikosR committed
4847
4848
4849
4850
4851
4852
4853
      } else if (!this._isShown) {
        $(this._element).off(Event$5.KEYDOWN_DISMISS);
      }
    };

    _proto._setResizeEvent = function _setResizeEvent() {
      var _this6 = this;
Mark Otto's avatar
dist  
Mark Otto committed
4854

XhmikosR's avatar
Dist    
XhmikosR committed
4855
4856
4857
4858
4859
4860
4861
4862
      if (this._isShown) {
        $(window).on(Event$5.RESIZE, function (event) {
          return _this6.handleUpdate(event);
        });
      } else {
        $(window).off(Event$5.RESIZE);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
4863

XhmikosR's avatar
Dist    
XhmikosR committed
4864
4865
    _proto._hideModal = function _hideModal() {
      var _this7 = this;
Mark Otto's avatar
dist  
Mark Otto committed
4866

XhmikosR's avatar
Dist    
XhmikosR committed
4867
      this._element.style.display = 'none';
Mark Otto's avatar
dist  
Mark Otto committed
4868

XhmikosR's avatar
Dist    
XhmikosR committed
4869
      this._element.setAttribute('aria-hidden', true);
Mark Otto's avatar
dist  
Mark Otto committed
4870

XhmikosR's avatar
Dist    
XhmikosR committed
4871
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
4872

XhmikosR's avatar
Dist    
XhmikosR committed
4873
4874
      this._showBackdrop(function () {
        $(document.body).removeClass(ClassName$5.OPEN);
Mark Otto's avatar
dist  
Mark Otto committed
4875

XhmikosR's avatar
Dist    
XhmikosR committed
4876
        _this7._resetAdjustments();
Mark Otto's avatar
dist  
Mark Otto committed
4877

XhmikosR's avatar
Dist    
XhmikosR committed
4878
        _this7._resetScrollbar();
Mark Otto's avatar
dist  
Mark Otto committed
4879

XhmikosR's avatar
Dist    
XhmikosR committed
4880
4881
4882
        $(_this7._element).trigger(Event$5.HIDDEN);
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
4883

XhmikosR's avatar
Dist    
XhmikosR committed
4884
4885
4886
4887
4888
4889
    _proto._removeBackdrop = function _removeBackdrop() {
      if (this._backdrop) {
        $(this._backdrop).remove();
        this._backdrop = null;
      }
    };
Mark Otto's avatar
dist    
Mark Otto committed
4890

XhmikosR's avatar
Dist    
XhmikosR committed
4891
4892
    _proto._showBackdrop = function _showBackdrop(callback) {
      var _this8 = this;
Mark Otto's avatar
dist    
Mark Otto committed
4893

XhmikosR's avatar
Dist    
XhmikosR committed
4894
      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
Mark Otto's avatar
dist    
Mark Otto committed
4895

XhmikosR's avatar
Dist    
XhmikosR committed
4896
4897
4898
      if (this._isShown && this._config.backdrop) {
        this._backdrop = document.createElement('div');
        this._backdrop.className = ClassName$5.BACKDROP;
Mark Otto's avatar
dist    
Mark Otto committed
4899

XhmikosR's avatar
Dist    
XhmikosR committed
4900
4901
        if (animate) {
          this._backdrop.classList.add(animate);
Mark Otto's avatar
dist    
Mark Otto committed
4902
        }
Mark Otto's avatar
dist    
Mark Otto committed
4903

XhmikosR's avatar
Dist    
XhmikosR committed
4904
4905
4906
4907
4908
4909
        $(this._backdrop).appendTo(document.body);
        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
            return;
          }
Mark Otto's avatar
dist  
Mark Otto committed
4910

XhmikosR's avatar
Dist    
XhmikosR committed
4911
4912
4913
          if (event.target !== event.currentTarget) {
            return;
          }
Mark Otto's avatar
dist  
Mark Otto committed
4914

XhmikosR's avatar
Dist    
XhmikosR committed
4915
4916
4917
4918
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
          } else {
            _this8.hide();
Mark Otto's avatar
dist    
Mark Otto committed
4919
          }
XhmikosR's avatar
Dist    
XhmikosR committed
4920
        });
Mark Otto's avatar
dist  
Mark Otto committed
4921

XhmikosR's avatar
Dist    
XhmikosR committed
4922
4923
4924
        if (animate) {
          Util.reflow(this._backdrop);
        }
Mark Otto's avatar
dist  
Mark Otto committed
4925

XhmikosR's avatar
Dist    
XhmikosR committed
4926
        $(this._backdrop).addClass(ClassName$5.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4927

XhmikosR's avatar
Dist    
XhmikosR committed
4928
4929
4930
        if (!callback) {
          return;
        }
Mark Otto's avatar
dist  
Mark Otto committed
4931

XhmikosR's avatar
Dist    
XhmikosR committed
4932
4933
4934
4935
        if (!animate) {
          callback();
          return;
        }
Mark Otto's avatar
dist    
Mark Otto committed
4936

XhmikosR's avatar
Dist    
XhmikosR committed
4937
4938
4939
4940
        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
      } else if (!this._isShown && this._backdrop) {
        $(this._backdrop).removeClass(ClassName$5.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
4941

XhmikosR's avatar
Dist    
XhmikosR committed
4942
4943
        var callbackRemove = function callbackRemove() {
          _this8._removeBackdrop();
Mark Otto's avatar
dist    
Mark Otto committed
4944

XhmikosR's avatar
Dist    
XhmikosR committed
4945
          if (callback) {
Mark Otto's avatar
dist    
Mark Otto committed
4946
            callback();
Mark Otto's avatar
dist  
Mark Otto committed
4947
          }
XhmikosR's avatar
Dist    
XhmikosR committed
4948
        };
Mark Otto's avatar
dist  
Mark Otto committed
4949

XhmikosR's avatar
Dist    
XhmikosR committed
4950
4951
        if ($(this._element).hasClass(ClassName$5.FADE)) {
          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
Mark Otto's avatar
dist  
Mark Otto committed
4952

XhmikosR's avatar
Dist    
XhmikosR committed
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
        } else {
          callbackRemove();
        }
      } else if (callback) {
        callback();
      }
    }; // ----------------------------------------------------------------------
    // the following methods are used to handle overflowing modals
    // todo (fat): these should probably be refactored out of modal.js
    // ----------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
4964
4965


XhmikosR's avatar
Dist    
XhmikosR committed
4966
4967
    _proto._adjustDialog = function _adjustDialog() {
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
Mark Otto's avatar
dist    
Mark Otto committed
4968

XhmikosR's avatar
Dist    
XhmikosR committed
4969
4970
4971
      if (!this._isBodyOverflowing && isModalOverflowing) {
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
      }
Mark Otto's avatar
dist  
Mark Otto committed
4972

XhmikosR's avatar
Dist    
XhmikosR committed
4973
4974
4975
4976
      if (this._isBodyOverflowing && !isModalOverflowing) {
        this._element.style.paddingRight = this._scrollbarWidth + "px";
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
4977

XhmikosR's avatar
Dist    
XhmikosR committed
4978
4979
4980
4981
    _proto._resetAdjustments = function _resetAdjustments() {
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };
Mark Otto's avatar
dist    
Mark Otto committed
4982

XhmikosR's avatar
Dist    
XhmikosR committed
4983
4984
4985
4986
4987
    _proto._checkScrollbar = function _checkScrollbar() {
      var rect = document.body.getBoundingClientRect();
      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
      this._scrollbarWidth = this._getScrollbarWidth();
    };
Mark Otto's avatar
dist  
Mark Otto committed
4988

XhmikosR's avatar
Dist    
XhmikosR committed
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
    _proto._setScrollbar = function _setScrollbar() {
      var _this9 = this;

      if (this._isBodyOverflowing) {
        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding

        $(fixedContent).each(function (index, element) {
          var actualPadding = element.style.paddingRight;
          var calculatedPadding = $(element).css('padding-right');
For faster browsing, not all history is shown. View entire blame