bootstrap.bundle.js 191 KB
Newer Older
Mark Otto's avatar
dist  
Mark Otto committed
4001
4002
    };

Mark Otto's avatar
dist    
Mark Otto committed
4003
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
4004
4005
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
Mark Otto's avatar
dist  
Mark Otto committed
4006
4007
      this._element = null;
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
4008

Mark Otto's avatar
dist  
Mark Otto committed
4009
4010
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist    
Mark Otto committed
4011

Mark Otto's avatar
dist    
Mark Otto committed
4012
4013
        this._popper = null;
      }
Mark Otto's avatar
dist  
Mark Otto committed
4014
4015
    };

Mark Otto's avatar
dist    
Mark Otto committed
4016
    _proto.update = function update() {
Mark Otto's avatar
dist  
Mark Otto committed
4017
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
4018

Mark Otto's avatar
dist  
Mark Otto committed
4019
4020
4021
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
4022
    }; // private
Mark Otto's avatar
dist  
Mark Otto committed
4023
4024


Mark Otto's avatar
dist    
Mark Otto committed
4025
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist  
Mark Otto committed
4026
4027
      var _this = this;

Mark Otto's avatar
dist    
Mark Otto committed
4028
      $$$1(this._element).on(Event.CLICK, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4029
4030
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
4031

Mark Otto's avatar
dist  
Mark Otto committed
4032
4033
4034
4035
        _this.toggle();
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4036
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
4037
      config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
Mark Otto's avatar
dist  
Mark Otto committed
4038
4039
4040
4041
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4042
    _proto._getMenuElement = function _getMenuElement() {
Mark Otto's avatar
dist  
Mark Otto committed
4043
4044
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
4045

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

Mark Otto's avatar
dist  
Mark Otto committed
4049
4050
4051
      return this._menu;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4052
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
4053
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
4054
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
dist  
Mark Otto committed
4055

Mark Otto's avatar
dist    
Mark Otto committed
4056
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
dist  
Mark Otto committed
4057
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
4058

Mark Otto's avatar
dist    
Mark Otto committed
4059
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
dist  
Mark Otto committed
4060
4061
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
4062
4063
4064
4065
      } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
        placement = AttachmentMap.RIGHT;
      } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
        placement = AttachmentMap.LEFT;
Mark Otto's avatar
dist    
Mark Otto committed
4066
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
dist  
Mark Otto committed
4067
4068
        placement = AttachmentMap.BOTTOMEND;
      }
Mark Otto's avatar
dist    
Mark Otto committed
4069

Mark Otto's avatar
dist  
Mark Otto committed
4070
4071
4072
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4073
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
4074
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
dist  
Mark Otto committed
4075
4076
    };

Mark Otto's avatar
dist    
Mark Otto committed
4077
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
4078
4079
4080
4081
4082
4083
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
4084
          data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
4085
4086
4087
4088
4089
4090
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
dist  
Mark Otto committed
4091
4092
4093
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
4094
          offset: offsetConf,
Mark Otto's avatar
dist  
Mark Otto committed
4095
4096
          flip: {
            enabled: this._config.flip
Mark Otto's avatar
dist    
Mark Otto committed
4097
4098
4099
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
Mark Otto's avatar
dist  
Mark Otto committed
4100
          }
Mark Otto's avatar
dist    
Mark Otto committed
4101
        }
Mark Otto's avatar
dist    
Mark Otto committed
4102
      };
Mark Otto's avatar
dist  
Mark Otto committed
4103
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
4104
    }; // static
Mark Otto's avatar
dist  
Mark Otto committed
4105
4106
4107
4108


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

        var _config = typeof config === 'object' ? config : null;
Mark Otto's avatar
dist  
Mark Otto committed
4112
4113
4114

        if (!data) {
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
4115
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
dist  
Mark Otto committed
4116
4117
4118
4119
        }

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

Mark Otto's avatar
dist  
Mark Otto committed
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
          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
4133
      var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
Mark Otto's avatar
dist    
Mark Otto committed
4134

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

Mark Otto's avatar
dist    
Mark Otto committed
4138
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
dist  
Mark Otto committed
4139
4140
4141
4142
4143
4144
4145
4146
4147
        var relatedTarget = {
          relatedTarget: toggles[i]
        };

        if (!context) {
          continue;
        }

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

Mark Otto's avatar
dist    
Mark Otto committed
4149
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist  
Mark Otto committed
4150
4151
4152
          continue;
        }

Mark Otto's avatar
dist    
Mark Otto committed
4153
        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
4154
4155
4156
          continue;
        }

Mark Otto's avatar
dist    
Mark Otto committed
4157
4158
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
4159

Mark Otto's avatar
dist  
Mark Otto committed
4160
4161
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
4162
        } // if this is a touch-enabled device we remove the extra
Mark Otto's avatar
dist  
Mark Otto committed
4163
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
4164
4165


Mark Otto's avatar
dist  
Mark Otto committed
4166
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
4167
          $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist  
Mark Otto committed
4168
4169
4170
        }

        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
4171
4172
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Mark Otto's avatar
dist  
Mark Otto committed
4173
4174
4175
4176
      }
    };

    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
4177
      var parent;
Mark Otto's avatar
dist  
Mark Otto committed
4178
4179
4180
      var selector = Util.getSelectorFromElement(element);

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
4181
        parent = $$$1(selector)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4182
4183
4184
      }

      return parent || element.parentNode;
Mark Otto's avatar
dist    
Mark Otto committed
4185
4186
    }; // eslint-disable-next-line complexity

Mark Otto's avatar
dist  
Mark Otto committed
4187
4188

    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
4189
4190
4191
4192
4193
4194
4195
4196
      // 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
4197
4198
4199
4200
4201
4202
        return;
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
4203
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
dist  
Mark Otto committed
4204
4205
4206
4207
        return;
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
4209
      var isActive = $$$1(parent).hasClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4210
4211
4212

      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
4213
4214
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Mark Otto's avatar
dist  
Mark Otto committed
4215
4216
        }

Mark Otto's avatar
dist    
Mark Otto committed
4217
        $$$1(this).trigger('click');
Mark Otto's avatar
dist  
Mark Otto committed
4218
4219
4220
        return;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4221
      var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
Mark Otto's avatar
dist  
Mark Otto committed
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245

      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();
    };

Mark Otto's avatar
Mark Otto committed
4246
    _createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
4247
      key: "VERSION",
Mark Otto's avatar
dist  
Mark Otto committed
4248
4249
4250
4251
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4252
      key: "Default",
Mark Otto's avatar
dist  
Mark Otto committed
4253
4254
4255
4256
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4257
      key: "DefaultType",
Mark Otto's avatar
dist  
Mark Otto committed
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
      get: function get() {
        return DefaultType;
      }
    }]);
    return Dropdown;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4270

Mark Otto's avatar
dist    
Mark Otto committed
4271
  $$$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
4272
4273
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
4274

Mark Otto's avatar
dist    
Mark Otto committed
4275
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Mark Otto's avatar
dist  
Mark Otto committed
4276
4277
4278
4279
4280
4281
4282
4283
4284
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
    e.stopPropagation();
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4285
4286
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
4287

Mark Otto's avatar
dist    
Mark Otto committed
4288
4289
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist  
Mark Otto committed
4290
4291
4292
4293
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
4294
}($, Popper);
Mark Otto's avatar
dist  
Mark Otto committed
4295
4296
4297

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4298
 * Bootstrap (v4.0.0-beta.3): modal.js
Mark Otto's avatar
dist  
Mark Otto committed
4299
4300
4301
4302
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
4303
var Modal = function ($$$1) {
Mark Otto's avatar
dist  
Mark Otto committed
4304
4305
4306
4307
4308
4309
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
4310
  var VERSION = '4.0.0-beta.3';
Mark Otto's avatar
dist  
Mark Otto committed
4311
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
4312
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist  
Mark Otto committed
4313
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
4314
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist  
Mark Otto committed
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
  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
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
    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
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
  };
  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
4358
4359
4360
4361
4362
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
4363

Mark Otto's avatar
dist    
Mark Otto committed
4364
  };
Mark Otto's avatar
dist  
Mark Otto committed
4365

Mark Otto's avatar
dist    
Mark Otto committed
4366
4367
4368
4369
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Mark Otto's avatar
dist  
Mark Otto committed
4370
4371
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
4372
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4373
4374
4375
4376
4377
4378
      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
4379
    } // getters
Mark Otto's avatar
dist  
Mark Otto committed
4380
4381


Mark Otto's avatar
dist    
Mark Otto committed
4382
    var _proto = Modal.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
4383

Mark Otto's avatar
dist    
Mark Otto committed
4384
4385
    // public
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4386
4387
4388
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };

Mark Otto's avatar
dist    
Mark Otto committed
4389
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4390
4391
      var _this = this;

Mark Otto's avatar
dist    
Mark Otto committed
4392
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
dist  
Mark Otto committed
4393
4394
4395
        return;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4396
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
dist  
Mark Otto committed
4397
4398
4399
        this._isTransitioning = true;
      }

Mark Otto's avatar
dist    
Mark Otto committed
4400
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
dist  
Mark Otto committed
4401
4402
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
4403
      $$$1(this._element).trigger(showEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4404
4405
4406
4407
4408
4409
4410
4411

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

      this._isShown = true;

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

Mark Otto's avatar
dist  
Mark Otto committed
4413
4414
4415
4416
      this._setScrollbar();

      this._adjustDialog();

Mark Otto's avatar
dist    
Mark Otto committed
4417
      $$$1(document.body).addClass(ClassName.OPEN);
Mark Otto's avatar
dist  
Mark Otto committed
4418
4419

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

Mark Otto's avatar
dist  
Mark Otto committed
4421
4422
      this._setResizeEvent();

Mark Otto's avatar
dist    
Mark Otto committed
4423
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4424
4425
        return _this.hide(event);
      });
Mark Otto's avatar
dist    
Mark Otto committed
4426
4427
4428
      $$$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
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
            _this._ignoreBackdropClick = true;
          }
        });
      });

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

Mark Otto's avatar
dist    
Mark Otto committed
4439
    _proto.hide = function hide(event) {
Mark Otto's avatar
dist  
Mark Otto committed
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
      var _this2 = this;

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

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

Mark Otto's avatar
dist    
Mark Otto committed
4450
4451
      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4452
4453
4454
4455
4456
4457

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

      this._isShown = false;
Mark Otto's avatar
dist    
Mark Otto committed
4458
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
4459
4460
4461
4462

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

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

Mark Otto's avatar
dist  
Mark Otto committed
4466
4467
      this._setResizeEvent();

Mark Otto's avatar
dist    
Mark Otto committed
4468
4469
4470
4471
      $$$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
4472
4473

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
4474
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4475
4476
4477
4478
4479
4480
4481
          return _this2._hideModal(event);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        this._hideModal();
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4482
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
4483
4484
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
Mark Otto's avatar
dist  
Mark Otto committed
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
      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
4495
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
dist  
Mark Otto committed
4496
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
4497
    }; // private
Mark Otto's avatar
dist  
Mark Otto committed
4498
4499


Mark Otto's avatar
dist    
Mark Otto committed
4500
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
4501
      config = _extends({}, Default, config);
Mark Otto's avatar
dist  
Mark Otto committed
4502
4503
4504
4505
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
4506
    _proto._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
dist  
Mark Otto committed
4507
4508
      var _this3 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4509
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist  
Mark Otto committed
4510
4511
4512
4513
4514
4515
4516

      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
4517

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

Mark Otto's avatar
dist  
Mark Otto committed
4520
4521
4522
4523
4524
4525
      this._element.scrollTop = 0;

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

Mark Otto's avatar
dist    
Mark Otto committed
4526
      $$$1(this._element).addClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4527
4528
4529
4530
4531

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

Mark Otto's avatar
dist    
Mark Otto committed
4532
      var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
dist  
Mark Otto committed
4533
4534
4535
4536
4537
4538
4539
        relatedTarget: relatedTarget
      });

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

Mark Otto's avatar
dist  
Mark Otto committed
4541
        _this3._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
4542
        $$$1(_this3._element).trigger(shownEvent);
Mark Otto's avatar
dist  
Mark Otto committed
4543
4544
4545
      };

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
4546
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist  
Mark Otto committed
4547
4548
4549
4550
4551
      } else {
        transitionComplete();
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4552
    _proto._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
dist  
Mark Otto committed
4553
4554
      var _this4 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4555
      $$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
Mark Otto's avatar
dist  
Mark Otto committed
4556
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
4557
        if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
Mark Otto's avatar
dist  
Mark Otto committed
4558
4559
4560
4561
4562
          _this4._element.focus();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4563
    _proto._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
dist  
Mark Otto committed
4564
4565
4566
      var _this5 = this;

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

Mark Otto's avatar
dist  
Mark Otto committed
4571
4572
4573
4574
            _this5.hide();
          }
        });
      } else if (!this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
4575
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
Mark Otto's avatar
dist  
Mark Otto committed
4576
4577
4578
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4579
    _proto._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
dist  
Mark Otto committed
4580
4581
4582
      var _this6 = this;

      if (this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
4583
        $$$1(window).on(Event.RESIZE, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4584
4585
4586
          return _this6.handleUpdate(event);
        });
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
4587
        $$$1(window).off(Event.RESIZE);
Mark Otto's avatar
dist  
Mark Otto committed
4588
4589
4590
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4591
    _proto._hideModal = function _hideModal() {
Mark Otto's avatar
dist  
Mark Otto committed
4592
4593
4594
      var _this7 = this;

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

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

Mark Otto's avatar
dist  
Mark Otto committed
4598
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
4599

Mark Otto's avatar
dist  
Mark Otto committed
4600
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
4601
        $$$1(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
dist    
Mark Otto committed
4602

Mark Otto's avatar
dist  
Mark Otto committed
4603
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
4604

Mark Otto's avatar
dist  
Mark Otto committed
4605
        _this7._resetScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
4606

Mark Otto's avatar
dist    
Mark Otto committed
4607
        $$$1(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
dist  
Mark Otto committed
4608
4609
4610
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
4611
    _proto._removeBackdrop = function _removeBackdrop() {
Mark Otto's avatar
dist  
Mark Otto committed
4612
      if (this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
4613
        $$$1(this._backdrop).remove();
Mark Otto's avatar
dist  
Mark Otto committed
4614
4615
4616
4617
        this._backdrop = null;
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4618
    _proto._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
dist  
Mark Otto committed
4619
4620
      var _this8 = this;

Mark Otto's avatar
dist    
Mark Otto committed
4621
      var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
Mark Otto's avatar
dist  
Mark Otto committed
4622
4623
4624
4625
4626
4627
4628

      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
4629
          $$$1(this._backdrop).addClass(animate);
Mark Otto's avatar
dist  
Mark Otto committed
4630
4631
        }

Mark Otto's avatar
dist    
Mark Otto committed
4632
4633
        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
dist  
Mark Otto committed
4634
4635
4636
4637
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
4638

Mark Otto's avatar
dist  
Mark Otto committed
4639
4640
4641
          if (event.target !== event.currentTarget) {
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
4642

Mark Otto's avatar
dist  
Mark Otto committed
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
          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
4654
        $$$1(this._backdrop).addClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664

        if (!callback) {
          return;
        }

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

Mark Otto's avatar
dist    
Mark Otto committed
4665
        $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
Mark Otto's avatar
dist  
Mark Otto committed
4666
      } else if (!this._isShown && this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
4667
        $$$1(this._backdrop).removeClass(ClassName.SHOW);
Mark Otto's avatar
dist  
Mark Otto committed
4668
4669
4670

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

Mark Otto's avatar
dist  
Mark Otto committed
4672
4673
4674
4675
4676
          if (callback) {
            callback();
          }
        };

Mark Otto's avatar
dist    
Mark Otto committed
4677
4678
        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
4679
4680
4681
4682
4683
4684
        } else {
          callbackRemove();
        }
      } else if (callback) {
        callback();
      }
Mark Otto's avatar
dist    
Mark Otto committed
4685
    }; // ----------------------------------------------------------------------
Mark Otto's avatar
dist  
Mark Otto committed
4686
4687
4688
4689
    // 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
4690
4691

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

      if (!this._isBodyOverflowing && isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
4695
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
Mark Otto's avatar
dist  
Mark Otto committed
4696
4697
4698
      }

      if (this._isBodyOverflowing && !isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
4699
        this._element.style.paddingRight = this._scrollbarWidth + "px";
Mark Otto's avatar
dist  
Mark Otto committed
4700
4701
4702
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4703
    _proto._resetAdjustments = function _resetAdjustments() {
Mark Otto's avatar
dist  
Mark Otto committed
4704
4705
4706
4707
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

Mark Otto's avatar
dist    
Mark Otto committed
4708
    _proto._checkScrollbar = function _checkScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4709
4710
4711
4712
4713
      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
4714
    _proto._setScrollbar = function _setScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4715
4716
4717
4718
4719
4720
      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
4721
4722
4723
4724
        $$$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
4725
        }); // Adjust sticky content margin
Mark Otto's avatar
dist  
Mark Otto committed
4726

Mark Otto's avatar
dist    
Mark Otto committed
4727
4728
4729
4730
        $$$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
4731
        }); // Adjust navbar-toggler margin
Mark Otto's avatar
dist  
Mark Otto committed
4732

Mark Otto's avatar
dist    
Mark Otto committed
4733
4734
4735
4736
        $$$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
4737
        }); // Adjust body padding
Mark Otto's avatar
dist  
Mark Otto committed
4738
4739

        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
4740
4741
        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
4742
4743
4744
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4745
    _proto._resetScrollbar = function _resetScrollbar() {
Mark Otto's avatar
dist  
Mark Otto committed
4746
      // Restore fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
4747
4748
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
4749

Mark Otto's avatar
dist  
Mark Otto committed
4750
        if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4751
          $$$1(element).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
dist  
Mark Otto committed
4752
        }
Mark Otto's avatar
dist    
Mark Otto committed
4753
      }); // Restore sticky content and navbar-toggler margin
Mark Otto's avatar
dist  
Mark Otto committed
4754

Mark Otto's avatar
dist    
Mark Otto committed
4755
4756
      $$$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
4757

Mark Otto's avatar
dist  
Mark Otto committed
4758
        if (typeof margin !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4759
          $$$1(element).css('margin-right', margin).removeData('margin-right');
Mark Otto's avatar
dist  
Mark Otto committed
4760
        }
Mark Otto's avatar
dist    
Mark Otto committed
4761
      }); // Restore body padding
Mark Otto's avatar
dist  
Mark Otto committed
4762

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

Mark Otto's avatar
dist  
Mark Otto committed
4765
      if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
4766
        $$$1('body').css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
dist  
Mark Otto committed
4767
4768
4769
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
4770
    _proto._getScrollbarWidth = function _getScrollbarWidth() {
Mark Otto's avatar
dist  
Mark Otto committed
4771
4772
4773
4774
4775
4776
4777
      // 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
4778
    }; // static
Mark Otto's avatar
dist  
Mark Otto committed
4779
4780
4781
4782


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

Mark Otto's avatar
dist    
Mark Otto committed
4785
        var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
Mark Otto's avatar
dist  
Mark Otto committed
4786
4787
4788

        if (!data) {
          data = new Modal(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
4789
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
dist  
Mark Otto committed
4790
4791
4792
4793
        }

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

Mark Otto's avatar
dist  
Mark Otto committed
4797
4798
4799
4800
4801
4802
4803
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
4804
    _createClass(Modal, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
4805
      key: "VERSION",
Mark Otto's avatar
dist  
Mark Otto committed
4806
4807
4808
4809
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
4810
      key: "Default",
Mark Otto's avatar
dist  
Mark Otto committed
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4823

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

Mark Otto's avatar
dist    
Mark Otto committed
4827
    var target;
Mark Otto's avatar
dist  
Mark Otto committed
4828
4829
4830
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
4831
      target = $$$1(selector)[0];
Mark Otto's avatar
dist  
Mark Otto committed
4832
4833
    }

Mark Otto's avatar
dist    
Mark Otto committed
4834
    var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
Mark Otto's avatar
dist  
Mark Otto committed
4835
4836
4837
4838
4839

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

Mark Otto's avatar
dist    
Mark Otto committed
4840
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Mark Otto's avatar
dist  
Mark Otto committed
4841
4842
4843
4844
4845
4846
      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
4847
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist  
Mark Otto committed
4848
4849
4850
4851
4852
          _this10.focus();
        }
      });
    });

Mark Otto's avatar
dist    
Mark Otto committed
4853
    Modal._jQueryInterface.call($$$1(target), config, this);
Mark Otto's avatar
dist  
Mark Otto committed
4854
4855
4856
4857
4858
4859
4860
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
4861
4862
  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;
Mark Otto's avatar
dist    
Mark Otto committed
4863

Mark Otto's avatar
dist    
Mark Otto committed
4864
4865
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist  
Mark Otto committed
4866
4867
4868
4869
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
dist    
Mark Otto committed
4870
}($);
Mark Otto's avatar
dist  
Mark Otto committed
4871
4872
4873

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
4874
 * Bootstrap (v4.0.0-beta.3): tooltip.js
Mark Otto's avatar
dist  
Mark Otto committed
4875
4876
4877
4878
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
4879
var Tooltip = function ($$$1) {
Mark Otto's avatar
dist  
Mark Otto committed
4880
4881
4882
4883
4884
4885
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'tooltip';
Mark Otto's avatar
Mark Otto committed
4886
  var VERSION = '4.0.0-beta.3';
Mark Otto's avatar
dist  
Mark Otto committed
4887
  var DATA_KEY = 'bs.tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
4888
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
4889
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist  
Mark Otto committed
4890
4891
  var TRANSITION_DURATION = 150;
  var CLASS_PREFIX = 'bs-tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
4892
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist  
Mark Otto committed
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
  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)',
Mark Otto's avatar
dist    
Mark Otto committed
4904
4905
    fallbackPlacement: '(string|array)',
    boundary: '(string|element)'
Mark Otto's avatar
dist  
Mark Otto committed
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
  };
  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,
Mark Otto's avatar
dist    
Mark Otto committed
4925
4926
    fallbackPlacement: 'flip',
    boundary: 'scrollParent'
Mark Otto's avatar
dist  
Mark Otto committed
4927
4928
4929
4930
4931
4932
  };
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
    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
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
  };
  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
4958
4959
4960
4961
4962
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
4963

Mark Otto's avatar
dist    
Mark Otto committed
4964
  };
Mark Otto's avatar
dist  
Mark Otto committed
4965

Mark Otto's avatar
dist    
Mark Otto committed
4966
4967
4968
4969
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
4970
4971
4972
4973
4974
4975
4976
4977
4978
      /**
       * 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)');
      } // private


Mark Otto's avatar
dist  
Mark Otto committed
4979
4980
4981
4982
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
4983
      this._popper = null; // protected
Mark Otto's avatar
dist  
Mark Otto committed
4984
4985
4986
4987
4988
4989

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

      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
4990
    } // getters
Mark Otto's avatar
dist  
Mark Otto committed
4991
4992


Mark Otto's avatar
dist    
Mark Otto committed
4993
    var _proto = Tooltip.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
4994

Mark Otto's avatar
dist    
Mark Otto committed
4995
4996
    // public
    _proto.enable = function enable() {
Mark Otto's avatar
dist  
Mark Otto committed
4997
4998
4999
      this._isEnabled = true;
    };

Mark Otto's avatar
dist    
Mark Otto committed
5000
    _proto.disable = function disable() {
For faster browsing, not all history is shown. View entire blame