bootstrap.bundle.js 189 KB
Newer Older
Mark Otto's avatar
dist  
Mark Otto committed
4001
4002
4003
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4004
    _proto._getMenuElement = function _getMenuElement() {
Mark Otto's avatar
dist  
Mark Otto committed
4005
4006
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
4007

Mark Otto's avatar
dist    
Mark Otto committed
4008
        this._menu = $$$1(parent).find(Selector.MENU)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4009
      }
Mark Otto's avatar
dist    
Mark Otto committed
4010

Mark Otto's avatar
dist  
Mark Otto committed
4011
4012
4013
      return this._menu;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4014
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
4015
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
4016
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
dist  
Mark Otto committed
4017

Mark Otto's avatar
dist    
Mark Otto committed
4018
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
dist  
Mark Otto committed
4019
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
4020

Mark Otto's avatar
dist    
Mark Otto committed
4021
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
dist  
Mark Otto committed
4022
4023
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
4024
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
dist  
Mark Otto committed
4025
4026
        placement = AttachmentMap.BOTTOMEND;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4027

Mark Otto's avatar
dist  
Mark Otto committed
4028
4029
4030
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4031
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
4032
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
dist  
Mark Otto committed
4033
4034
    };

Mark Otto's avatar
dist    
Mark Otto committed
4035
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
4036
4037
4038
4039
4040
4041
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
4042
          data.offsets = $$$1.extend({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
4043
4044
4045
4046
4047
4048
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
dist  
Mark Otto committed
4049
4050
4051
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
4052
          offset: offsetConf,
Mark Otto's avatar
dist  
Mark Otto committed
4053
4054
4055
          flip: {
            enabled: this._config.flip
          }
Mark Otto's avatar
dist    
Mark Otto committed
4056
4057
4058
        } // Disable Popper.js for Dropdown in Navbar

      };
Mark Otto's avatar
dist  
Mark Otto committed
4059

Mark Otto's avatar
dist    
Mark Otto committed
4060
      if (this._inNavbar) {
Mark Otto's avatar
dist  
Mark Otto committed
4061
4062
4063
4064
        popperConfig.modifiers.applyStyle = {
          enabled: !this._inNavbar
        };
      }
Mark Otto's avatar
dist    
Mark Otto committed
4065

Mark Otto's avatar
dist  
Mark Otto committed
4066
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
4067
    }; // static
Mark Otto's avatar
dist  
Mark Otto committed
4068
4069
4070
4071


    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
4072
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
4073
4074

        var _config = typeof config === 'object' ? config : null;
Mark Otto's avatar
dist  
Mark Otto committed
4075
4076
4077

        if (!data) {
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
4078
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
dist  
Mark Otto committed
4079
4080
4081
4082
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4083
            throw new Error("No method named \"" + config + "\"");
Mark Otto's avatar
dist  
Mark Otto committed
4084
          }
Mark Otto's avatar
dist    
Mark Otto committed
4085

Mark Otto's avatar
dist  
Mark Otto committed
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
          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
4096
      var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
Mark Otto's avatar
dist    
Mark Otto committed
4097

Mark Otto's avatar
dist  
Mark Otto committed
4098
4099
      for (var i = 0; i < toggles.length; i++) {
        var parent = Dropdown._getParentFromElement(toggles[i]);
Mark Otto's avatar
dist    
Mark Otto committed
4100

Mark Otto's avatar
dist    
Mark Otto committed
4101
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
dist  
Mark Otto committed
4102
4103
4104
4105
4106
4107
4108
4109
4110
        var relatedTarget = {
          relatedTarget: toggles[i]
        };

        if (!context) {
          continue;
        }

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

Mark Otto's avatar
dist    
Mark Otto committed
4112
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist  
Mark Otto committed
4113
4114
4115
          continue;
        }

Mark Otto's avatar
dist    
Mark Otto committed
4116
        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
dist  
Mark Otto committed
4117
4118
4119
          continue;
        }

Mark Otto's avatar
dist    
Mark Otto committed
4120
4121
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
4122

Mark Otto's avatar
dist  
Mark Otto committed
4123
4124
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
4125
        } // if this is a touch-enabled device we remove the extra
Mark Otto's avatar
dist  
Mark Otto committed
4126
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
4127
4128


Mark Otto's avatar
dist  
Mark Otto committed
4129
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
4130
          $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist  
Mark Otto committed
4131
4132
4133
        }

        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
4134
4135
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Mark Otto's avatar
dist  
Mark Otto committed
4136
4137
4138
4139
      }
    };

    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
4140
      var parent;
Mark Otto's avatar
dist  
Mark Otto committed
4141
4142
4143
      var selector = Util.getSelectorFromElement(element);

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
4144
        parent = $$$1(selector)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4145
4146
4147
4148
4149
4150
      }

      return parent || element.parentNode;
    };

    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
4151
4152
4153
4154
4155
4156
4157
4158
      // 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
dist  
Mark Otto committed
4159
4160
4161
4162
4163
4164
        return;
      }

      event.preventDefault();
      event.stopPropagation();

Mark Otto's avatar
dist    
Mark Otto committed
4165
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
dist  
Mark Otto committed
4166
4167
4168
4169
        return;
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
4171
      var isActive = $$$1(parent).hasClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4172
4173
4174

      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
        if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
dist    
Mark Otto committed
4175
4176
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Mark Otto's avatar
dist  
Mark Otto committed
4177
4178
        }

Mark Otto's avatar
dist    
Mark Otto committed
4179
        $$$1(this).trigger('click');
Mark Otto's avatar
dist  
Mark Otto committed
4180
4181
4182
        return;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4183
      var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
Mark Otto's avatar
dist  
Mark Otto committed
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208

      if (!items.length) {
        return;
      }

      var index = items.indexOf(event.target);

      if (event.which === ARROW_UP_KEYCODE && index > 0) {
        // up
        index--;
      }

      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
        // down
        index++;
      }

      if (index < 0) {
        index = 0;
      }

      items[index].focus();
    };

    createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
4209
      key: "VERSION",
Mark Otto's avatar
dist  
Mark Otto committed
4210
4211
4212
4213
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4214
      key: "Default",
Mark Otto's avatar
dist  
Mark Otto committed
4215
4216
4217
4218
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4219
      key: "DefaultType",
Mark Otto's avatar
dist  
Mark Otto committed
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
      get: function get() {
        return DefaultType;
      }
    }]);
    return Dropdown;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4232

Mark Otto's avatar
dist    
Mark Otto committed
4233
  $$$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) {
Mark Otto's avatar
dist  
Mark Otto committed
4234
4235
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
4236

Mark Otto's avatar
dist    
Mark Otto committed
4237
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Mark Otto's avatar
dist  
Mark Otto committed
4238
4239
4240
4241
4242
4243
4244
4245
4246
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
    e.stopPropagation();
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4247
4248
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
4249

Mark Otto's avatar
dist    
Mark Otto committed
4250
4251
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist  
Mark Otto committed
4252
4253
4254
4255
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
4256
}($, Popper);
Mark Otto's avatar
dist  
Mark Otto committed
4257
4258
4259

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4260
 * Bootstrap (v4.0.0-beta.2): modal.js
Mark Otto's avatar
dist  
Mark Otto committed
4261
4262
4263
4264
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
4265
var Modal = function ($$$1) {
Mark Otto's avatar
dist  
Mark Otto committed
4266
4267
4268
4269
4270
4271
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
4272
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist  
Mark Otto committed
4273
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
4274
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist  
Mark Otto committed
4275
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
4276
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist  
Mark Otto committed
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key

  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
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
    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
Mark Otto's avatar
dist  
Mark Otto committed
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    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',
    NAVBAR_TOGGLER: '.navbar-toggler'
Mark Otto's avatar
dist    
Mark Otto committed
4320
4321
4322
4323
4324
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
4325

Mark Otto's avatar
dist    
Mark Otto committed
4326
  };
Mark Otto's avatar
dist  
Mark Otto committed
4327

Mark Otto's avatar
dist    
Mark Otto committed
4328
4329
4330
4331
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Mark Otto's avatar
dist  
Mark Otto committed
4332
4333
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
4334
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4335
4336
4337
4338
4339
4340
      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
4341
    } // getters
Mark Otto's avatar
dist  
Mark Otto committed
4342
4343


Mark Otto's avatar
dist    
Mark Otto committed
4344
    var _proto = Modal.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
4345

Mark Otto's avatar
dist    
Mark Otto committed
4346
4347
    // public
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4348
4349
4350
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };

Mark Otto's avatar
dist    
Mark Otto committed
4351
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4352
4353
      var _this = this;

Mark Otto's avatar
dist    
Mark Otto committed
4354
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
dist  
Mark Otto committed
4355
4356
4357
        return;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4358
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
dist  
Mark Otto committed
4359
4360
4361
        this._isTransitioning = true;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4362
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
dist  
Mark Otto committed
4363
4364
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
4365
      $$$1(this._element).trigger(showEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4366
4367
4368
4369
4370
4371
4372
4373

      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }

      this._isShown = true;

      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
4374

Mark Otto's avatar
dist  
Mark Otto committed
4375
4376
4377
4378
      this._setScrollbar();

      this._adjustDialog();

Mark Otto's avatar
dist    
Mark Otto committed
4379
      $$$1(document.body).addClass(ClassName.OPEN);
Mark Otto's avatar
dist  
Mark Otto committed
4380
4381

      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
4382

Mark Otto's avatar
dist  
Mark Otto committed
4383
4384
      this._setResizeEvent();

Mark Otto's avatar
dist    
Mark Otto committed
4385
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4386
4387
        return _this.hide(event);
      });
Mark Otto's avatar
dist    
Mark Otto committed
4388
4389
4390
      $$$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
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
            _this._ignoreBackdropClick = true;
          }
        });
      });

      this._showBackdrop(function () {
        return _this._showElement(relatedTarget);
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4401
    _proto.hide = function hide(event) {
Mark Otto's avatar
dist  
Mark Otto committed
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
      var _this2 = this;

      if (event) {
        event.preventDefault();
      }

      if (this._isTransitioning || !this._isShown) {
        return;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4412
4413
      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4414
4415
4416
4417
4418
4419

      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }

      this._isShown = false;
Mark Otto's avatar
dist    
Mark Otto committed
4420
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
4421
4422
4423
4424

      if (transition) {
        this._isTransitioning = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4425
4426

      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
4427

Mark Otto's avatar
dist  
Mark Otto committed
4428
4429
      this._setResizeEvent();

Mark Otto's avatar
dist    
Mark Otto committed
4430
4431
4432
4433
      $$$1(document).off(Event.FOCUSIN);
      $$$1(this._element).removeClass(ClassName.SHOW);
      $$$1(this._element).off(Event.CLICK_DISMISS);
      $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
Mark Otto's avatar
dist  
Mark Otto committed
4434
4435

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
4436
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4437
4438
4439
4440
4441
4442
4443
          return _this2._hideModal(event);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        this._hideModal();
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4444
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
4445
4446
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
Mark Otto's avatar
dist  
Mark Otto committed
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
      this._config = null;
      this._element = null;
      this._dialog = null;
      this._backdrop = null;
      this._isShown = null;
      this._isBodyOverflowing = null;
      this._ignoreBackdropClick = null;
      this._scrollbarWidth = null;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4457
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
dist  
Mark Otto committed
4458
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
4459
    }; // private
Mark Otto's avatar
dist  
Mark Otto committed
4460
4461


Mark Otto's avatar
dist    
Mark Otto committed
4462
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
4463
      config = $$$1.extend({}, Default, config);
Mark Otto's avatar
dist  
Mark Otto committed
4464
4465
4466
4467
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4468
    _proto._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4469
4470
      var _this3 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4471
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist  
Mark Otto committed
4472
4473
4474
4475
4476
4477
4478

      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
        // don't move modals dom position
        document.body.appendChild(this._element);
      }

      this._element.style.display = 'block';
Mark Otto's avatar
dist    
Mark Otto committed
4479

Mark Otto's avatar
dist  
Mark Otto committed
4480
      this._element.removeAttribute('aria-hidden');
Mark Otto's avatar
dist    
Mark Otto committed
4481

Mark Otto's avatar
dist  
Mark Otto committed
4482
4483
4484
4485
4486
4487
      this._element.scrollTop = 0;

      if (transition) {
        Util.reflow(this._element);
      }

Mark Otto's avatar
dist    
Mark Otto committed
4488
      $$$1(this._element).addClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4489
4490
4491
4492
4493

      if (this._config.focus) {
        this._enforceFocus();
      }

Mark Otto's avatar
dist    
Mark Otto committed
4494
      var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
dist  
Mark Otto committed
4495
4496
4497
4498
4499
4500
4501
        relatedTarget: relatedTarget
      });

      var transitionComplete = function transitionComplete() {
        if (_this3._config.focus) {
          _this3._element.focus();
        }
Mark Otto's avatar
dist    
Mark Otto committed
4502

Mark Otto's avatar
dist  
Mark Otto committed
4503
        _this3._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
4504
        $$$1(_this3._element).trigger(shownEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4505
4506
4507
      };

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
4508
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist  
Mark Otto committed
4509
4510
4511
4512
4513
      } else {
        transitionComplete();
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4514
    _proto._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
dist  
Mark Otto committed
4515
4516
      var _this4 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4517
      $$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
Mark Otto's avatar
dist  
Mark Otto committed
4518
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
4519
        if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
Mark Otto's avatar
dist  
Mark Otto committed
4520
4521
4522
4523
4524
          _this4._element.focus();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4525
    _proto._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
dist  
Mark Otto committed
4526
4527
4528
      var _this5 = this;

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

Mark Otto's avatar
dist  
Mark Otto committed
4533
4534
4535
4536
            _this5.hide();
          }
        });
      } else if (!this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
4537
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
Mark Otto's avatar
dist  
Mark Otto committed
4538
4539
4540
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4541
    _proto._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
dist  
Mark Otto committed
4542
4543
4544
      var _this6 = this;

      if (this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
4545
        $$$1(window).on(Event.RESIZE, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4546
4547
4548
          return _this6.handleUpdate(event);
        });
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
4549
        $$$1(window).off(Event.RESIZE);
Mark Otto's avatar
dist  
Mark Otto committed
4550
4551
4552
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4553
    _proto._hideModal = function _hideModal() {
Mark Otto's avatar
dist  
Mark Otto committed
4554
4555
4556
      var _this7 = this;

      this._element.style.display = 'none';
Mark Otto's avatar
dist    
Mark Otto committed
4557

Mark Otto's avatar
dist  
Mark Otto committed
4558
      this._element.setAttribute('aria-hidden', true);
Mark Otto's avatar
dist    
Mark Otto committed
4559

Mark Otto's avatar
dist  
Mark Otto committed
4560
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
4561

Mark Otto's avatar
dist  
Mark Otto committed
4562
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
4563
        $$$1(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
dist    
Mark Otto committed
4564

Mark Otto's avatar
dist  
Mark Otto committed
4565
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
4566

Mark Otto's avatar
dist  
Mark Otto committed
4567
        _this7._resetScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
4568

Mark Otto's avatar
dist    
Mark Otto committed
4569
        $$$1(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
dist  
Mark Otto committed
4570
4571
4572
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4573
    _proto._removeBackdrop = function _removeBackdrop() {
Mark Otto's avatar
dist  
Mark Otto committed
4574
      if (this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
4575
        $$$1(this._backdrop).remove();
Mark Otto's avatar
dist  
Mark Otto committed
4576
4577
4578
4579
        this._backdrop = null;
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4580
    _proto._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
dist  
Mark Otto committed
4581
4582
      var _this8 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4583
      var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
Mark Otto's avatar
dist  
Mark Otto committed
4584
4585
4586
4587
4588
4589
4590

      if (this._isShown && this._config.backdrop) {
        var doAnimate = Util.supportsTransitionEnd() && animate;
        this._backdrop = document.createElement('div');
        this._backdrop.className = ClassName.BACKDROP;

        if (animate) {
Mark Otto's avatar
dist    
Mark Otto committed
4591
          $$$1(this._backdrop).addClass(animate);
Mark Otto's avatar
dist  
Mark Otto committed
4592
4593
        }

Mark Otto's avatar
dist    
Mark Otto committed
4594
4595
        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4596
4597
4598
4599
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
4600

Mark Otto's avatar
dist  
Mark Otto committed
4601
4602
4603
          if (event.target !== event.currentTarget) {
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
4604

Mark Otto's avatar
dist  
Mark Otto committed
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
          } else {
            _this8.hide();
          }
        });

        if (doAnimate) {
          Util.reflow(this._backdrop);
        }

Mark Otto's avatar
dist    
Mark Otto committed
4616
        $$$1(this._backdrop).addClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626

        if (!callback) {
          return;
        }

        if (!doAnimate) {
          callback();
          return;
        }

Mark Otto's avatar
dist    
Mark Otto committed
4627
        $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
Mark Otto's avatar
dist  
Mark Otto committed
4628
      } else if (!this._isShown && this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
4629
        $$$1(this._backdrop).removeClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4630
4631
4632

        var callbackRemove = function callbackRemove() {
          _this8._removeBackdrop();
Mark Otto's avatar
dist    
Mark Otto committed
4633

Mark Otto's avatar
dist  
Mark Otto committed
4634
4635
4636
4637
4638
          if (callback) {
            callback();
          }
        };

Mark Otto's avatar
dist    
Mark Otto committed
4639
4640
        if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
          $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
Mark Otto's avatar
dist  
Mark Otto committed
4641
4642
4643
4644
4645
4646
        } else {
          callbackRemove();
        }
      } else if (callback) {
        callback();
      }
Mark Otto's avatar
dist    
Mark Otto committed
4647
    }; // ----------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
4648
4649
4650
4651
    // 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
4652
4653

    _proto._adjustDialog = function _adjustDialog() {
Mark Otto's avatar
dist  
Mark Otto committed
4654
4655
4656
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;

      if (!this._isBodyOverflowing && isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
4657
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
Mark Otto's avatar
dist  
Mark Otto committed
4658
4659
4660
      }

      if (this._isBodyOverflowing && !isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
4661
        this._element.style.paddingRight = this._scrollbarWidth + "px";
Mark Otto's avatar
dist  
Mark Otto committed
4662
4663
4664
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4665
    _proto._resetAdjustments = function _resetAdjustments() {
Mark Otto's avatar
dist  
Mark Otto committed
4666
4667
4668
4669
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

Mark Otto's avatar
dist    
Mark Otto committed
4670
    _proto._checkScrollbar = function _checkScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4671
4672
4673
4674
4675
      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
4676
    _proto._setScrollbar = function _setScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4677
4678
4679
4680
4681
4682
      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
        // Adjust fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
4683
4684
4685
4686
        $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
          var actualPadding = $$$1(element)[0].style.paddingRight;
          var calculatedPadding = $$$1(element).css('padding-right');
          $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
4687
        }); // Adjust sticky content margin
Mark Otto's avatar
dist  
Mark Otto committed
4688

Mark Otto's avatar
dist    
Mark Otto committed
4689
4690
4691
4692
        $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
4693
        }); // Adjust navbar-toggler margin
Mark Otto's avatar
dist  
Mark Otto committed
4694

Mark Otto's avatar
dist    
Mark Otto committed
4695
4696
4697
4698
        $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
4699
        }); // Adjust body padding
Mark Otto's avatar
dist  
Mark Otto committed
4700
4701

        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
4702
4703
        var calculatedPadding = $$$1('body').css('padding-right');
        $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
Mark Otto's avatar
dist  
Mark Otto committed
4704
4705
4706
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4707
    _proto._resetScrollbar = function _resetScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4708
      // Restore fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
4709
4710
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
4711

Mark Otto's avatar
dist  
Mark Otto committed
4712
        if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4713
          $$$1(element).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
dist  
Mark Otto committed
4714
        }
Mark Otto's avatar
dist    
Mark Otto committed
4715
      }); // Restore sticky content and navbar-toggler margin
Mark Otto's avatar
dist  
Mark Otto committed
4716

Mark Otto's avatar
dist    
Mark Otto committed
4717
4718
      $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
        var margin = $$$1(element).data('margin-right');
Mark Otto's avatar
dist    
Mark Otto committed
4719

Mark Otto's avatar
dist  
Mark Otto committed
4720
        if (typeof margin !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4721
          $$$1(element).css('margin-right', margin).removeData('margin-right');
Mark Otto's avatar
dist  
Mark Otto committed
4722
        }
Mark Otto's avatar
dist    
Mark Otto committed
4723
      }); // Restore body padding
Mark Otto's avatar
dist  
Mark Otto committed
4724

Mark Otto's avatar
dist    
Mark Otto committed
4725
      var padding = $$$1('body').data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
4726

Mark Otto's avatar
dist  
Mark Otto committed
4727
      if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4728
        $$$1('body').css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
dist  
Mark Otto committed
4729
4730
4731
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4732
    _proto._getScrollbarWidth = function _getScrollbarWidth() {
Mark Otto's avatar
dist  
Mark Otto committed
4733
4734
4735
4736
4737
4738
4739
      // thx d.walsh
      var scrollDiv = document.createElement('div');
      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
      document.body.appendChild(scrollDiv);
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
Mark Otto's avatar
dist    
Mark Otto committed
4740
    }; // static
Mark Otto's avatar
dist  
Mark Otto committed
4741
4742
4743
4744


    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
4745
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
4746

Mark Otto's avatar
dist    
Mark Otto committed
4747
        var _config = $$$1.extend({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
Mark Otto's avatar
dist  
Mark Otto committed
4748
4749
4750

        if (!data) {
          data = new Modal(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
4751
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
dist  
Mark Otto committed
4752
4753
4754
4755
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4756
            throw new Error("No method named \"" + config + "\"");
Mark Otto's avatar
dist  
Mark Otto committed
4757
          }
Mark Otto's avatar
dist    
Mark Otto committed
4758

Mark Otto's avatar
dist  
Mark Otto committed
4759
4760
4761
4762
4763
4764
4765
4766
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

    createClass(Modal, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
4767
      key: "VERSION",
Mark Otto's avatar
dist  
Mark Otto committed
4768
4769
4770
4771
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4772
      key: "Default",
Mark Otto's avatar
dist  
Mark Otto committed
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4785

Mark Otto's avatar
dist    
Mark Otto committed
4786
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4787
4788
    var _this10 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4789
    var target;
Mark Otto's avatar
dist  
Mark Otto committed
4790
4791
4792
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
4793
      target = $$$1(selector)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4794
4795
    }

Mark Otto's avatar
dist    
Mark Otto committed
4796
    var config = $$$1(target).data(DATA_KEY) ? 'toggle' : $$$1.extend({}, $$$1(target).data(), $$$1(this).data());
Mark Otto's avatar
dist  
Mark Otto committed
4797
4798
4799
4800
4801

    if (this.tagName === 'A' || this.tagName === 'AREA') {
      event.preventDefault();
    }

Mark Otto's avatar
dist    
Mark Otto committed
4802
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Mark Otto's avatar
dist  
Mark Otto committed
4803
4804
4805
4806
4807
4808
      if (showEvent.isDefaultPrevented()) {
        // only register focus restorer if modal will actually get shown
        return;
      }

      $target.one(Event.HIDDEN, function () {
Mark Otto's avatar
dist    
Mark Otto committed
4809
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist  
Mark Otto committed
4810
4811
4812
4813
4814
          _this10.focus();
        }
      });
    });

Mark Otto's avatar
dist    
Mark Otto committed
4815
    Modal._jQueryInterface.call($$$1(target), config, this);
Mark Otto's avatar
dist  
Mark Otto committed
4816
4817
4818
4819
4820
4821
4822
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4823
4824
  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;
Mark Otto's avatar
dist    
Mark Otto committed
4825

Mark Otto's avatar
dist    
Mark Otto committed
4826
4827
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist  
Mark Otto committed
4828
4829
4830
4831
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
dist    
Mark Otto committed
4832
}($);
Mark Otto's avatar
dist  
Mark Otto committed
4833
4834
4835

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4836
 * Bootstrap (v4.0.0-beta.2): tooltip.js
Mark Otto's avatar
dist  
Mark Otto committed
4837
4838
4839
4840
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
4841
var Tooltip = function ($$$1) {
Mark Otto's avatar
dist  
Mark Otto committed
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
  /**
   * Check for Popper dependency
   * Popper - https://popper.js.org
   */
  if (typeof Popper === 'undefined') {
    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
  }
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4855

Mark Otto's avatar
dist  
Mark Otto committed
4856
  var NAME = 'tooltip';
Mark Otto's avatar
Mark Otto committed
4857
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist  
Mark Otto committed
4858
  var DATA_KEY = 'bs.tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
4859
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
4860
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist  
Mark Otto committed
4861
4862
  var TRANSITION_DURATION = 150;
  var CLASS_PREFIX = 'bs-tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
4863
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist  
Mark Otto committed
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
  var DefaultType = {
    animation: 'boolean',
    template: 'string',
    title: '(string|element|function)',
    trigger: 'string',
    delay: '(number|object)',
    html: 'boolean',
    selector: '(string|boolean)',
    placement: '(string|function)',
    offset: '(number|string)',
    container: '(string|element|boolean)',
    fallbackPlacement: '(string|array)'
  };
  var AttachmentMap = {
    AUTO: 'auto',
    TOP: 'top',
    RIGHT: 'right',
    BOTTOM: 'bottom',
    LEFT: 'left'
  };
  var Default = {
    animation: true,
    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
    trigger: 'hover focus',
    title: '',
    delay: 0,
    html: false,
    selector: false,
    placement: 'top',
    offset: 0,
    container: false,
    fallbackPlacement: 'flip'
  };
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    INSERTED: "inserted" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    FOCUSOUT: "focusout" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY
Mark Otto's avatar
dist  
Mark Otto committed
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
  };
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    TOOLTIP: '.tooltip',
    TOOLTIP_INNER: '.tooltip-inner',
    ARROW: '.arrow'
  };
  var Trigger = {
    HOVER: 'hover',
    FOCUS: 'focus',
    CLICK: 'click',
    MANUAL: 'manual'
Mark Otto's avatar
dist    
Mark Otto committed
4927
4928
4929
4930
4931
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
4932

Mark Otto's avatar
dist    
Mark Otto committed
4933
  };
Mark Otto's avatar
dist  
Mark Otto committed
4934

Mark Otto's avatar
dist    
Mark Otto committed
4935
4936
4937
4938
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist  
Mark Otto committed
4939
4940
4941
4942
4943
      // private
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
4944
      this._popper = null; // protected
Mark Otto's avatar
dist  
Mark Otto committed
4945
4946
4947
4948
4949
4950

      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;

      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
4951
    } // getters
Mark Otto's avatar
dist  
Mark Otto committed
4952
4953


Mark Otto's avatar
dist    
Mark Otto committed
4954
    var _proto = Tooltip.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
4955

Mark Otto's avatar
dist    
Mark Otto committed
4956
4957
    // public
    _proto.enable = function enable() {
Mark Otto's avatar
dist  
Mark Otto committed
4958
4959
4960
      this._isEnabled = true;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4961
    _proto.disable = function disable() {
Mark Otto's avatar
dist  
Mark Otto committed
4962
4963
4964
      this._isEnabled = false;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4965
    _proto.toggleEnabled = function toggleEnabled() {
Mark Otto's avatar
dist  
Mark Otto committed
4966
4967
4968
      this._isEnabled = !this._isEnabled;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4969
    _proto.toggle = function toggle(event) {
Mark Otto's avatar
dist  
Mark Otto committed
4970
4971
4972
4973
4974
4975
      if (!this._isEnabled) {
        return;
      }

      if (event) {
        var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
4976
        var context = $$$1(event.currentTarget).data(dataKey);
Mark Otto's avatar
dist  
Mark Otto committed
4977
4978
4979

        if (!context) {
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
4980
          $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist  
Mark Otto committed
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
        }

        context._activeTrigger.click = !context._activeTrigger.click;

        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
        } else {
          context._leave(null, context);
        }
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
4991
        if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist  
Mark Otto committed
4992
          this._leave(null, this);
Mark Otto's avatar
dist    
Mark Otto committed
4993

Mark Otto's avatar
dist  
Mark Otto committed
4994
4995
4996
4997
4998
4999
5000
          return;
        }

        this._enter(null, this);
      }
    };

For faster browsing, not all history is shown. View entire blame