modal.js 15.5 KB
Newer Older
Mark Otto's avatar
grunt    
Mark Otto committed
1
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
2

Mark Otto's avatar
grunt    
Mark Otto committed
3
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
4

Mark Otto's avatar
grunt    
Mark Otto committed
5
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
7
8

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
9
 * Bootstrap (v4.0.0-alpha.5): modal.js
10
11
12
13
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
grunt    
Mark Otto committed
14
var Modal = function ($) {
15
16
17
18
19
20
21
22

  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
23
  var VERSION = '4.0.0-alpha.5';
24
  var DATA_KEY = 'bs.modal';
fat's avatar
fat committed
25
26
  var EVENT_KEY = '.' + DATA_KEY;
  var DATA_API_KEY = '.data-api';
27
28
29
  var JQUERY_NO_CONFLICT = $.fn[NAME];
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
Chris Rebert's avatar
grunt    
Chris Rebert committed
30
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
31
32
33
34

  var Default = {
    backdrop: true,
    keyboard: true,
fat's avatar
fat committed
35
    focus: true,
36
37
38
    show: true
  };

fat's avatar
fat committed
39
40
41
42
43
44
45
  var DefaultType = {
    backdrop: '(boolean|string)',
    keyboard: 'boolean',
    focus: 'boolean',
    show: 'boolean'
  };

46
  var Event = {
fat's avatar
fat committed
47
48
49
50
51
52
53
54
55
56
    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,
Jacob Thornton's avatar
Jacob Thornton committed
57
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
58
59
60
  };

  var ClassName = {
61
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
62
63
64
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
65
    ACTIVE: 'active'
66
67
68
69
70
71
  };

  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
72
    FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
73
74
75
76
77
78
79
80
  };

  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
grunt    
Mark Otto committed
81
  var Modal = function () {
82
83
84
    function Modal(element, config) {
      _classCallCheck(this, Modal);

fat's avatar
fat committed
85
      this._config = this._getConfig(config);
86
87
88
89
90
91
92
93
94
95
      this._element = element;
      this._dialog = $(element).find(Selector.DIALOG)[0];
      this._backdrop = null;
      this._isShown = false;
      this._isBodyOverflowing = false;
      this._ignoreBackdropClick = false;
      this._originalBodyPadding = 0;
      this._scrollbarWidth = 0;
    }

Jacob Thornton's avatar
Jacob Thornton committed
96
97
    // getters

Mark Otto's avatar
grunt    
Mark Otto committed
98
    // public
99

Mark Otto's avatar
grunt    
Mark Otto committed
100
101
102
    Modal.prototype.toggle = function toggle(relatedTarget) {
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };
103

Mark Otto's avatar
grunt    
Mark Otto committed
104
105
    Modal.prototype.show = function show(relatedTarget) {
      var _this = this;
106

Mark Otto's avatar
grunt    
Mark Otto committed
107
108
109
      var showEvent = $.Event(Event.SHOW, {
        relatedTarget: relatedTarget
      });
110

Mark Otto's avatar
grunt    
Mark Otto committed
111
      $(this._element).trigger(showEvent);
112

Mark Otto's avatar
grunt    
Mark Otto committed
113
114
115
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
116

Mark Otto's avatar
grunt    
Mark Otto committed
117
      this._isShown = true;
118

Mark Otto's avatar
grunt    
Mark Otto committed
119
120
      this._checkScrollbar();
      this._setScrollbar();
121

Mark Otto's avatar
grunt    
Mark Otto committed
122
      $(document.body).addClass(ClassName.OPEN);
123

Mark Otto's avatar
grunt    
Mark Otto committed
124
125
      this._setEscapeEvent();
      this._setResizeEvent();
126

Mark Otto's avatar
grunt    
Mark Otto committed
127
128
129
      $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
        return _this.hide(event);
      });
130

Mark Otto's avatar
grunt    
Mark Otto committed
131
132
133
134
135
      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
        $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
          if ($(event.target).is(_this._element)) {
            _this._ignoreBackdropClick = true;
          }
136
        });
Mark Otto's avatar
grunt    
Mark Otto committed
137
138
      });

Mark Otto's avatar
grunt    
Mark Otto committed
139
140
141
      this._showBackdrop(function () {
        return _this._showElement(relatedTarget);
      });
Mark Otto's avatar
grunt    
Mark Otto committed
142
    };
143

Mark Otto's avatar
grunt    
Mark Otto committed
144
    Modal.prototype.hide = function hide(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
145
146
      var _this2 = this;

Mark Otto's avatar
grunt    
Mark Otto committed
147
148
      if (event) {
        event.preventDefault();
149
150
      }

Mark Otto's avatar
grunt    
Mark Otto committed
151
      var hideEvent = $.Event(Event.HIDE);
152

Mark Otto's avatar
grunt    
Mark Otto committed
153
      $(this._element).trigger(hideEvent);
154

Mark Otto's avatar
grunt    
Mark Otto committed
155
156
157
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }
158

Mark Otto's avatar
grunt    
Mark Otto committed
159
      this._isShown = false;
160

Mark Otto's avatar
grunt    
Mark Otto committed
161
162
      this._setEscapeEvent();
      this._setResizeEvent();
163

Mark Otto's avatar
grunt    
Mark Otto committed
164
      $(document).off(Event.FOCUSIN);
165

Mark Otto's avatar
grunt    
Mark Otto committed
166
      $(this._element).removeClass(ClassName.ACTIVE);
167

Mark Otto's avatar
grunt    
Mark Otto committed
168
169
      $(this._element).off(Event.CLICK_DISMISS);
      $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
170

Mark Otto's avatar
grunt    
Mark Otto committed
171
      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
172

Mark Otto's avatar
grunt    
Mark Otto committed
173
174
175
        $(this._element).one(Util.TRANSITION_END, function (event) {
          return _this2._hideModal(event);
        }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
176
177
      } else {
        this._hideModal();
fat's avatar
fat committed
178
      }
Mark Otto's avatar
grunt    
Mark Otto committed
179
    };
180

Mark Otto's avatar
grunt    
Mark Otto committed
181
182
    Modal.prototype.dispose = function dispose() {
      $.removeData(this._element, DATA_KEY);
183

Mark Otto's avatar
grunt    
Mark Otto committed
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
      $(window).off(EVENT_KEY);
      $(document).off(EVENT_KEY);
      $(this._element).off(EVENT_KEY);
      $(this._backdrop).off(EVENT_KEY);

      this._config = null;
      this._element = null;
      this._dialog = null;
      this._backdrop = null;
      this._isShown = null;
      this._isBodyOverflowing = null;
      this._ignoreBackdropClick = null;
      this._originalBodyPadding = null;
      this._scrollbarWidth = null;
    };

    // private

    Modal.prototype._getConfig = function _getConfig(config) {
      config = $.extend({}, Default, config);
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

    Modal.prototype._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
grunt    
Mark Otto committed
209
      var _this3 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
210
211
212
213
214
215

      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);

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

Mark Otto's avatar
grunt    
Mark Otto committed
218
219
220
      this._element.style.display = 'block';
      this._element.removeAttribute('aria-hidden');
      this._element.scrollTop = 0;
221

Mark Otto's avatar
grunt    
Mark Otto committed
222
223
224
      if (transition) {
        Util.reflow(this._element);
      }
225

Mark Otto's avatar
grunt    
Mark Otto committed
226
      $(this._element).addClass(ClassName.ACTIVE);
227

Mark Otto's avatar
grunt    
Mark Otto committed
228
229
230
      if (this._config.focus) {
        this._enforceFocus();
      }
231

Mark Otto's avatar
grunt    
Mark Otto committed
232
233
234
      var shownEvent = $.Event(Event.SHOWN, {
        relatedTarget: relatedTarget
      });
235

Mark Otto's avatar
grunt    
Mark Otto committed
236
      var transitionComplete = function transitionComplete() {
Mark Otto's avatar
grunt    
Mark Otto committed
237
238
        if (_this3._config.focus) {
          _this3._element.focus();
Mark Otto's avatar
Mark Otto committed
239
        }
Mark Otto's avatar
grunt    
Mark Otto committed
240
        $(_this3._element).trigger(shownEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
241
      };
242

Mark Otto's avatar
grunt    
Mark Otto committed
243
244
245
246
247
248
      if (transition) {
        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        transitionComplete();
      }
    };
249

Mark Otto's avatar
grunt    
Mark Otto committed
250
    Modal.prototype._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
grunt    
Mark Otto committed
251
      var _this4 = this;
252

Mark Otto's avatar
grunt    
Mark Otto committed
253
254
      $(document).off(Event.FOCUSIN) // guard against infinite focus loop
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
grunt    
Mark Otto committed
255
256
        if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) {
          _this4._element.focus();
257
        }
Mark Otto's avatar
grunt    
Mark Otto committed
258
259
260
261
      });
    };

    Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
grunt    
Mark Otto committed
262
      var _this5 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
263
264
265
266

      if (this._isShown && this._config.keyboard) {
        $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
          if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
grunt    
Mark Otto committed
267
            _this5.hide();
268
269
          }
        });
Mark Otto's avatar
grunt    
Mark Otto committed
270
271
      } else if (!this._isShown) {
        $(this._element).off(Event.KEYDOWN_DISMISS);
272
      }
Mark Otto's avatar
grunt    
Mark Otto committed
273
274
275
    };

    Modal.prototype._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
grunt    
Mark Otto committed
276
277
      var _this6 = this;

Mark Otto's avatar
grunt    
Mark Otto committed
278
      if (this._isShown) {
Mark Otto's avatar
grunt    
Mark Otto committed
279
280
281
        $(window).on(Event.RESIZE, function (event) {
          return _this6._handleUpdate(event);
        });
Mark Otto's avatar
grunt    
Mark Otto committed
282
283
      } else {
        $(window).off(Event.RESIZE);
284
      }
Mark Otto's avatar
grunt    
Mark Otto committed
285
286
287
    };

    Modal.prototype._hideModal = function _hideModal() {
Mark Otto's avatar
grunt    
Mark Otto committed
288
      var _this7 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
289
290

      this._element.style.display = 'none';
Mark Otto's avatar
grunt    
Mark Otto committed
291
      this._element.setAttribute('aria-hidden', true);
Mark Otto's avatar
grunt    
Mark Otto committed
292
293
      this._showBackdrop(function () {
        $(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
grunt    
Mark Otto committed
294
295
296
        _this7._resetAdjustments();
        _this7._resetScrollbar();
        $(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
297
298
299
300
301
302
303
      });
    };

    Modal.prototype._removeBackdrop = function _removeBackdrop() {
      if (this._backdrop) {
        $(this._backdrop).remove();
        this._backdrop = null;
304
      }
Mark Otto's avatar
grunt    
Mark Otto committed
305
    };
306

Mark Otto's avatar
grunt    
Mark Otto committed
307
    Modal.prototype._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
grunt    
Mark Otto committed
308
      var _this8 = this;
309

Mark Otto's avatar
grunt    
Mark Otto committed
310
      var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
311

Mark Otto's avatar
grunt    
Mark Otto committed
312
313
      if (this._isShown && this._config.backdrop) {
        var doAnimate = Util.supportsTransitionEnd() && animate;
314

Mark Otto's avatar
grunt    
Mark Otto committed
315
316
        this._backdrop = document.createElement('div');
        this._backdrop.className = ClassName.BACKDROP;
317

Mark Otto's avatar
grunt    
Mark Otto committed
318
319
320
        if (animate) {
          $(this._backdrop).addClass(animate);
        }
321

Mark Otto's avatar
grunt    
Mark Otto committed
322
        $(this._backdrop).appendTo(document.body);
323

Mark Otto's avatar
grunt    
Mark Otto committed
324
        $(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
grunt    
Mark Otto committed
325
326
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
327
328
            return;
          }
Mark Otto's avatar
grunt    
Mark Otto committed
329
          if (event.target !== event.currentTarget) {
330
331
            return;
          }
Mark Otto's avatar
grunt    
Mark Otto committed
332
333
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
334
          } else {
Mark Otto's avatar
grunt    
Mark Otto committed
335
            _this8.hide();
336
          }
Mark Otto's avatar
grunt    
Mark Otto committed
337
        });
338

Mark Otto's avatar
grunt    
Mark Otto committed
339
340
341
        if (doAnimate) {
          Util.reflow(this._backdrop);
        }
342

Mark Otto's avatar
grunt    
Mark Otto committed
343
        $(this._backdrop).addClass(ClassName.ACTIVE);
344

Mark Otto's avatar
grunt    
Mark Otto committed
345
346
        if (!callback) {
          return;
347
348
        }

Mark Otto's avatar
grunt    
Mark Otto committed
349
350
351
        if (!doAnimate) {
          callback();
          return;
352
353
        }

Mark Otto's avatar
grunt    
Mark Otto committed
354
355
        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
      } else if (!this._isShown && this._backdrop) {
Mark Otto's avatar
grunt    
Mark Otto committed
356
        $(this._backdrop).removeClass(ClassName.ACTIVE);
357

Mark Otto's avatar
grunt    
Mark Otto committed
358
        var callbackRemove = function callbackRemove() {
Mark Otto's avatar
grunt    
Mark Otto committed
359
          _this8._removeBackdrop();
Mark Otto's avatar
grunt    
Mark Otto committed
360
361
362
363
364
365
366
367
368
          if (callback) {
            callback();
          }
        };

        if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
        } else {
          callbackRemove();
369
        }
Mark Otto's avatar
grunt    
Mark Otto committed
370
371
      } else if (callback) {
        callback();
372
      }
Mark Otto's avatar
grunt    
Mark Otto committed
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
    };

    // ----------------------------------------------------------------------
    // the following methods are used to handle overflowing modals
    // todo (fat): these should probably be refactored out of modal.js
    // ----------------------------------------------------------------------

    Modal.prototype._handleUpdate = function _handleUpdate() {
      this._adjustDialog();
    };

    Modal.prototype._adjustDialog = function _adjustDialog() {
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;

      if (!this._isBodyOverflowing && isModalOverflowing) {
        this._element.style.paddingLeft = this._scrollbarWidth + 'px';
389
      }
Mark Otto's avatar
grunt    
Mark Otto committed
390
391
392

      if (this._isBodyOverflowing && !isModalOverflowing) {
        this._element.style.paddingRight = this._scrollbarWidth + 'px';
393
      }
Mark Otto's avatar
grunt    
Mark Otto committed
394
    };
395

Mark Otto's avatar
grunt    
Mark Otto committed
396
397
398
399
    Modal.prototype._resetAdjustments = function _resetAdjustments() {
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };
400

Mark Otto's avatar
grunt    
Mark Otto committed
401
402
403
404
    Modal.prototype._checkScrollbar = function _checkScrollbar() {
      this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
      this._scrollbarWidth = this._getScrollbarWidth();
    };
405

Mark Otto's avatar
grunt    
Mark Otto committed
406
407
    Modal.prototype._setScrollbar = function _setScrollbar() {
      var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
408

Mark Otto's avatar
grunt    
Mark Otto committed
409
410
411
412
      this._originalBodyPadding = document.body.style.paddingRight || '';

      if (this._isBodyOverflowing) {
        document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
413
      }
Mark Otto's avatar
grunt    
Mark Otto committed
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
    };

    Modal.prototype._resetScrollbar = function _resetScrollbar() {
      document.body.style.paddingRight = this._originalBodyPadding;
    };

    Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
      // thx d.walsh
      var scrollDiv = document.createElement('div');
      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
      document.body.appendChild(scrollDiv);
      var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
    };

    // static

    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
      return this.each(function () {
        var data = $(this).data(DATA_KEY);
        var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);

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

        if (typeof config === 'string') {
          if (data[config] === undefined) {
            throw new Error('No method named "' + config + '"');
          }
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

    _createClass(Modal, null, [{
Jacob Thornton's avatar
Jacob Thornton committed
454
455
456
457
458
459
460
461
462
      key: 'VERSION',
      get: function get() {
        return VERSION;
      }
    }, {
      key: 'Default',
      get: function get() {
        return Default;
      }
463
464
465
    }]);

    return Modal;
Mark Otto's avatar
grunt    
Mark Otto committed
466
467
468
469
470
471
472
  }();

  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
473

fat's avatar
fat committed
474
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
grunt    
Mark Otto committed
475
    var _this9 = this;
476

Mark Otto's avatar
grunt    
Mark Otto committed
477
    var target = void 0;
478
479
480
481
482
483
484
485
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
      target = $(selector)[0];
    }

    var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());

Mark Otto's avatar
grunt    
Mark Otto committed
486
    if (this.tagName === 'A' || this.tagName === 'AREA') {
487
488
489
490
491
492
493
494
495
496
      event.preventDefault();
    }

    var $target = $(target).one(Event.SHOW, function (showEvent) {
      if (showEvent.isDefaultPrevented()) {
        // only register focus restorer if modal will actually get shown
        return;
      }

      $target.one(Event.HIDDEN, function () {
Mark Otto's avatar
grunt    
Mark Otto committed
497
498
        if ($(_this9).is(':visible')) {
          _this9.focus();
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
        }
      });
    });

    Modal._jQueryInterface.call($(target), config, this);
  });

  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $.fn[NAME] = Modal._jQueryInterface;
  $.fn[NAME].Constructor = Modal;
  $.fn[NAME].noConflict = function () {
    $.fn[NAME] = JQUERY_NO_CONFLICT;
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
grunt    
Mark Otto committed
520
}(jQuery);
Jacob Thornton's avatar
Jacob Thornton committed
521
//# sourceMappingURL=modal.js.map