bootstrap.bundle.js 244 KB
Newer Older
Mark Otto's avatar
dist  
Mark Otto committed
6001
        }
Mark Otto's avatar
dist    
Mark Otto committed
6002
6003
      });
    });
XhmikosR's avatar
XhmikosR committed
6004
6005
6006
    var data = Data.getData(target, DATA_KEY$5);

    if (!data) {
6007
6008
      var config = _objectSpread2({}, Manipulator.getDataAttributes(target), {}, Manipulator.getDataAttributes(this));

XhmikosR's avatar
XhmikosR committed
6009
6010
      data = new Modal(target, config);
    }
Mark Otto's avatar
dist    
Mark Otto committed
6011

XhmikosR's avatar
XhmikosR committed
6012
    data.show(this);
XhmikosR's avatar
Dist    
XhmikosR committed
6013
6014
6015
6016
6017
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
6018
   * add .modal to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
6019
   */
Mark Otto's avatar
dist  
Mark Otto committed
6020

6021
6022
  /* istanbul ignore if */

XhmikosR's avatar
XhmikosR committed
6023
6024
6025
6026
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$5 = jQuery.fn[NAME$5];
    jQuery.fn[NAME$5] = Modal._jQueryInterface;
    jQuery.fn[NAME$5].Constructor = Modal;
Mark Otto's avatar
dist  
Mark Otto committed
6027

XhmikosR's avatar
XhmikosR committed
6028
6029
6030
6031
6032
    jQuery.fn[NAME$5].noConflict = function () {
      jQuery.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
      return Modal._jQueryInterface;
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
6033

XhmikosR's avatar
XhmikosR committed
6034
6035
  /**
   * --------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
6036
   * Bootstrap (v4.3.1): util/sanitizer.js
XhmikosR's avatar
XhmikosR committed
6037
6038
6039
6040
6041
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
   * --------------------------------------------------------------------------
   */
  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
XhmikosR's avatar
XhmikosR committed
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
  /**
   * A pattern that recognizes a commonly useful subset of URLs that are safe.
   *
   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
   */

  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
  /**
   * A pattern that matches safe data URLs. Only matches image, video and audio types.
   *
   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
   */

  var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;

  var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
    var attrName = attr.nodeName.toLowerCase();

    if (allowedAttributeList.indexOf(attrName) !== -1) {
      if (uriAttrs.indexOf(attrName) !== -1) {
        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
      }

      return true;
    }

    var regExp = allowedAttributeList.filter(function (attrRegex) {
      return attrRegex instanceof RegExp;
    }); // Check if a regular expression validates the attribute.

    for (var i = 0, l = regExp.length; i < l; i++) {
      if (attrName.match(regExp[i])) {
        return true;
      }
    }

    return false;
  };

XhmikosR's avatar
XhmikosR committed
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
  var DefaultWhitelist = {
    // Global attributes allowed on any supplied element below.
    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
    a: ['target', 'href', 'title', 'rel'],
    area: [],
    b: [],
    br: [],
    col: [],
    code: [],
    div: [],
    em: [],
    hr: [],
    h1: [],
    h2: [],
    h3: [],
    h4: [],
    h5: [],
    h6: [],
    i: [],
    img: ['src', 'alt', 'title', 'width', 'height'],
    li: [],
    ol: [],
    p: [],
    pre: [],
    s: [],
    small: [],
    span: [],
    sub: [],
    sup: [],
    strong: [],
    u: [],
    ul: []
  };
  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
XhmikosR's avatar
XhmikosR committed
6115
    if (!unsafeHtml.length) {
XhmikosR's avatar
XhmikosR committed
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
      return unsafeHtml;
    }

    if (sanitizeFn && typeof sanitizeFn === 'function') {
      return sanitizeFn(unsafeHtml);
    }

    var domParser = new window.DOMParser();
    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
    var whitelistKeys = Object.keys(whiteList);
XhmikosR's avatar
XhmikosR committed
6126
    var elements = makeArray(createdDocument.body.querySelectorAll('*'));
XhmikosR's avatar
XhmikosR committed
6127
6128
6129
6130
6131

    var _loop = function _loop(i, len) {
      var el = elements[i];
      var elName = el.nodeName.toLowerCase();

XhmikosR's avatar
XhmikosR committed
6132
      if (whitelistKeys.indexOf(elName) === -1) {
XhmikosR's avatar
XhmikosR committed
6133
6134
6135
6136
        el.parentNode.removeChild(el);
        return "continue";
      }

XhmikosR's avatar
XhmikosR committed
6137
      var attributeList = makeArray(el.attributes);
XhmikosR's avatar
XhmikosR committed
6138
6139
6140
6141
6142
6143
6144
6145
6146
      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
      attributeList.forEach(function (attr) {
        if (!allowedAttribute(attr, whitelistedAttributes)) {
          el.removeAttribute(attr.nodeName);
        }
      });
    };

    for (var i = 0, len = elements.length; i < len; i++) {
6147
      var _ret = _loop(i);
XhmikosR's avatar
XhmikosR committed
6148
6149
6150
6151
6152
6153
6154

      if (_ret === "continue") continue;
    }

    return createdDocument.body.innerHTML;
  }

XhmikosR's avatar
Dist    
XhmikosR committed
6155
6156
6157
6158
6159
6160
6161
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME$6 = 'tooltip';
XhmikosR's avatar
XhmikosR committed
6162
  var VERSION$6 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
6163
6164
6165
6166
  var DATA_KEY$6 = 'bs.tooltip';
  var EVENT_KEY$6 = "." + DATA_KEY$6;
  var CLASS_PREFIX = 'bs-tooltip';
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
XhmikosR's avatar
XhmikosR committed
6167
  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
XhmikosR's avatar
Dist    
XhmikosR committed
6168
6169
6170
6171
6172
6173
6174
6175
6176
  var DefaultType$4 = {
    animation: 'boolean',
    template: 'string',
    title: '(string|element|function)',
    trigger: 'string',
    delay: '(number|object)',
    html: 'boolean',
    selector: '(string|boolean)',
    placement: '(string|function)',
Mark Otto's avatar
Mark Otto committed
6177
    offset: '(number|string|function)',
XhmikosR's avatar
Dist    
XhmikosR committed
6178
6179
    container: '(string|element|boolean)',
    fallbackPlacement: '(string|array)',
XhmikosR's avatar
XhmikosR committed
6180
6181
6182
6183
    boundary: '(string|element)',
    sanitize: 'boolean',
    sanitizeFn: '(null|function)',
    whiteList: 'object'
XhmikosR's avatar
Dist    
XhmikosR committed
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
  };
  var AttachmentMap$1 = {
    AUTO: 'auto',
    TOP: 'top',
    RIGHT: 'right',
    BOTTOM: 'bottom',
    LEFT: 'left'
  };
  var Default$4 = {
    animation: true,
XhmikosR's avatar
XhmikosR committed
6194
    template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div></div>',
XhmikosR's avatar
Dist    
XhmikosR committed
6195
6196
6197
6198
6199
6200
6201
6202
6203
    trigger: 'hover focus',
    title: '',
    delay: 0,
    html: false,
    selector: false,
    placement: 'top',
    offset: 0,
    container: false,
    fallbackPlacement: 'flip',
XhmikosR's avatar
XhmikosR committed
6204
6205
6206
6207
    boundary: 'scrollParent',
    sanitize: true,
    sanitizeFn: null,
    whiteList: DefaultWhitelist
XhmikosR's avatar
Dist    
XhmikosR committed
6208
6209
6210
6211
6212
  };
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
  };
XhmikosR's avatar
XhmikosR committed
6213
  var Event$7 = {
XhmikosR's avatar
Dist    
XhmikosR committed
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
    HIDE: "hide" + EVENT_KEY$6,
    HIDDEN: "hidden" + EVENT_KEY$6,
    SHOW: "show" + EVENT_KEY$6,
    SHOWN: "shown" + EVENT_KEY$6,
    INSERTED: "inserted" + EVENT_KEY$6,
    CLICK: "click" + EVENT_KEY$6,
    FOCUSIN: "focusin" + EVENT_KEY$6,
    FOCUSOUT: "focusout" + EVENT_KEY$6,
    MOUSEENTER: "mouseenter" + EVENT_KEY$6,
    MOUSELEAVE: "mouseleave" + EVENT_KEY$6
  };
  var ClassName$6 = {
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector$6 = {
Mark Otto's avatar
dist v5    
Mark Otto committed
6230
    TOOLTIP_INNER: '.tooltip-inner'
XhmikosR's avatar
Dist    
XhmikosR committed
6231
6232
6233
6234
6235
6236
  };
  var Trigger = {
    HOVER: 'hover',
    FOCUS: 'focus',
    CLICK: 'click',
    MANUAL: 'manual'
Mark Otto's avatar
dist    
Mark Otto committed
6237
6238
    /**
     * ------------------------------------------------------------------------
XhmikosR's avatar
Dist    
XhmikosR committed
6239
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
6240
6241
     * ------------------------------------------------------------------------
     */
XhmikosR's avatar
Dist    
XhmikosR committed
6242
6243
6244
6245
6246
6247
6248

  };

  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
6249
      /**
XhmikosR's avatar
Dist    
XhmikosR committed
6250
6251
       * Check for Popper dependency
       * Popper - https://popper.js.org
Mark Otto's avatar
dist    
Mark Otto committed
6252
       */
XhmikosR's avatar
Dist    
XhmikosR committed
6253
      if (typeof Popper === 'undefined') {
XhmikosR's avatar
XhmikosR committed
6254
        throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)');
XhmikosR's avatar
Dist    
XhmikosR committed
6255
      } // private
Mark Otto's avatar
dist    
Mark Otto committed
6256
6257


XhmikosR's avatar
Dist    
XhmikosR committed
6258
6259
6260
6261
6262
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
      this._popper = null; // Protected
Mark Otto's avatar
dist  
Mark Otto committed
6263

XhmikosR's avatar
Dist    
XhmikosR committed
6264
6265
6266
      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;
Mark Otto's avatar
dist  
Mark Otto committed
6267

XhmikosR's avatar
Dist    
XhmikosR committed
6268
      this._setListeners();
XhmikosR's avatar
XhmikosR committed
6269
6270

      Data.setData(element, this.constructor.DATA_KEY, this);
XhmikosR's avatar
Dist    
XhmikosR committed
6271
    } // Getters
Mark Otto's avatar
dist  
Mark Otto committed
6272
6273


XhmikosR's avatar
Dist    
XhmikosR committed
6274
    var _proto = Tooltip.prototype;
Mark Otto's avatar
dist  
Mark Otto committed
6275

XhmikosR's avatar
Dist    
XhmikosR committed
6276
6277
6278
6279
    // Public
    _proto.enable = function enable() {
      this._isEnabled = true;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6280

XhmikosR's avatar
Dist    
XhmikosR committed
6281
6282
6283
    _proto.disable = function disable() {
      this._isEnabled = false;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6284

XhmikosR's avatar
Dist    
XhmikosR committed
6285
6286
6287
    _proto.toggleEnabled = function toggleEnabled() {
      this._isEnabled = !this._isEnabled;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6288

XhmikosR's avatar
Dist    
XhmikosR committed
6289
6290
6291
6292
    _proto.toggle = function toggle(event) {
      if (!this._isEnabled) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6293

XhmikosR's avatar
Dist    
XhmikosR committed
6294
6295
      if (event) {
        var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
6296
        var context = Data.getData(event.delegateTarget, dataKey);
Mark Otto's avatar
dist  
Mark Otto committed
6297

XhmikosR's avatar
Dist    
XhmikosR committed
6298
        if (!context) {
XhmikosR's avatar
XhmikosR committed
6299
6300
          context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
          Data.setData(event.delegateTarget, dataKey, context);
Mark Otto's avatar
dist  
Mark Otto committed
6301
6302
        }

XhmikosR's avatar
Dist    
XhmikosR committed
6303
        context._activeTrigger.click = !context._activeTrigger.click;
Mark Otto's avatar
dist    
Mark Otto committed
6304

XhmikosR's avatar
Dist    
XhmikosR committed
6305
6306
        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
Mark Otto's avatar
dist  
Mark Otto committed
6307
        } else {
XhmikosR's avatar
Dist    
XhmikosR committed
6308
6309
6310
          context._leave(null, context);
        }
      } else {
XhmikosR's avatar
XhmikosR committed
6311
        if (this.getTipElement().classList.contains(ClassName$6.SHOW)) {
XhmikosR's avatar
Dist    
XhmikosR committed
6312
          this._leave(null, this);
Mark Otto's avatar
dist  
Mark Otto committed
6313

XhmikosR's avatar
Dist    
XhmikosR committed
6314
          return;
Mark Otto's avatar
dist    
Mark Otto committed
6315
        }
Mark Otto's avatar
dist  
Mark Otto committed
6316

XhmikosR's avatar
Dist    
XhmikosR committed
6317
6318
6319
        this._enter(null, this);
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
6320

XhmikosR's avatar
Dist    
XhmikosR committed
6321
6322
    _proto.dispose = function dispose() {
      clearTimeout(this._timeout);
XhmikosR's avatar
XhmikosR committed
6323
6324
      Data.removeData(this.element, this.constructor.DATA_KEY);
      EventHandler.off(this.element, this.constructor.EVENT_KEY);
Mark Otto's avatar
dist v5    
Mark Otto committed
6325
      EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
Mark Otto's avatar
dist  
Mark Otto committed
6326

XhmikosR's avatar
Dist    
XhmikosR committed
6327
      if (this.tip) {
XhmikosR's avatar
XhmikosR committed
6328
        this.tip.parentNode.removeChild(this.tip);
XhmikosR's avatar
Dist    
XhmikosR committed
6329
      }
Mark Otto's avatar
dist    
Mark Otto committed
6330

XhmikosR's avatar
Dist    
XhmikosR committed
6331
6332
6333
6334
      this._isEnabled = null;
      this._timeout = null;
      this._hoverState = null;
      this._activeTrigger = null;
Mark Otto's avatar
dist  
Mark Otto committed
6335

XhmikosR's avatar
Dist    
XhmikosR committed
6336
6337
6338
      if (this._popper !== null) {
        this._popper.destroy();
      }
Mark Otto's avatar
dist  
Mark Otto committed
6339

XhmikosR's avatar
Dist    
XhmikosR committed
6340
6341
6342
6343
6344
      this._popper = null;
      this.element = null;
      this.config = null;
      this.tip = null;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6345

XhmikosR's avatar
Dist    
XhmikosR committed
6346
6347
    _proto.show = function show() {
      var _this = this;
Mark Otto's avatar
dist  
Mark Otto committed
6348

XhmikosR's avatar
XhmikosR committed
6349
      if (this.element.style.display === 'none') {
XhmikosR's avatar
Dist    
XhmikosR committed
6350
6351
        throw new Error('Please use show on visible elements');
      }
Mark Otto's avatar
dist    
Mark Otto committed
6352

XhmikosR's avatar
Dist    
XhmikosR committed
6353
      if (this.isWithContent() && this._isEnabled) {
XhmikosR's avatar
XhmikosR committed
6354
6355
        var showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW);
        var shadowRoot = findShadowRoot(this.element);
XhmikosR's avatar
Dist.    
XhmikosR committed
6356
        var isInTheDom = shadowRoot === null ? this.element.ownerDocument.documentElement.contains(this.element) : shadowRoot.contains(this.element);
Mark Otto's avatar
dist  
Mark Otto committed
6357

XhmikosR's avatar
XhmikosR committed
6358
        if (showEvent.defaultPrevented || !isInTheDom) {
XhmikosR's avatar
Dist    
XhmikosR committed
6359
6360
          return;
        }
Mark Otto's avatar
dist  
Mark Otto committed
6361

XhmikosR's avatar
Dist    
XhmikosR committed
6362
        var tip = this.getTipElement();
XhmikosR's avatar
XhmikosR committed
6363
        var tipId = getUID(this.constructor.NAME);
XhmikosR's avatar
Dist    
XhmikosR committed
6364
6365
6366
        tip.setAttribute('id', tipId);
        this.element.setAttribute('aria-describedby', tipId);
        this.setContent();
Mark Otto's avatar
dist  
Mark Otto committed
6367

XhmikosR's avatar
Dist    
XhmikosR committed
6368
        if (this.config.animation) {
XhmikosR's avatar
XhmikosR committed
6369
          tip.classList.add(ClassName$6.FADE);
XhmikosR's avatar
Dist    
XhmikosR committed
6370
        }
Mark Otto's avatar
dist  
Mark Otto committed
6371

XhmikosR's avatar
Dist    
XhmikosR committed
6372
        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
Mark Otto's avatar
dist  
Mark Otto committed
6373

XhmikosR's avatar
Dist    
XhmikosR committed
6374
        var attachment = this._getAttachment(placement);
Mark Otto's avatar
dist  
Mark Otto committed
6375

6376
        this._addAttachmentClass(attachment);
Mark Otto's avatar
dist    
Mark Otto committed
6377
6378
6379

        var container = this._getContainer();

XhmikosR's avatar
XhmikosR committed
6380
        Data.setData(tip, this.constructor.DATA_KEY, this);
Mark Otto's avatar
dist  
Mark Otto committed
6381

XhmikosR's avatar
XhmikosR committed
6382
6383
        if (!this.element.ownerDocument.documentElement.contains(this.tip)) {
          container.appendChild(tip);
XhmikosR's avatar
Dist    
XhmikosR committed
6384
6385
        }

XhmikosR's avatar
XhmikosR committed
6386
        EventHandler.trigger(this.element, this.constructor.Event.INSERTED);
XhmikosR's avatar
Dist    
XhmikosR committed
6387
6388
6389
        this._popper = new Popper(this.element, tip, {
          placement: attachment,
          modifiers: {
Mark Otto's avatar
Mark Otto committed
6390
            offset: this._getOffset(),
XhmikosR's avatar
Dist    
XhmikosR committed
6391
6392
6393
6394
            flip: {
              behavior: this.config.fallbackPlacement
            },
            arrow: {
Mark Otto's avatar
dist v5    
Mark Otto committed
6395
              element: "." + this.constructor.NAME + "-arrow"
Mark Otto's avatar
dist    
Mark Otto committed
6396
            },
XhmikosR's avatar
Dist    
XhmikosR committed
6397
6398
6399
6400
6401
6402
            preventOverflow: {
              boundariesElement: this.config.boundary
            }
          },
          onCreate: function onCreate(data) {
            if (data.originalPlacement !== data.placement) {
Mark Otto's avatar
dist  
Mark Otto committed
6403
6404
              _this._handlePopperPlacementChange(data);
            }
XhmikosR's avatar
Dist    
XhmikosR committed
6405
6406
          },
          onUpdate: function onUpdate(data) {
XhmikosR's avatar
Dist    
XhmikosR committed
6407
            return _this._handlePopperPlacementChange(data);
Mark Otto's avatar
dist  
Mark Otto committed
6408
          }
XhmikosR's avatar
Dist    
XhmikosR committed
6409
        });
XhmikosR's avatar
XhmikosR committed
6410
        tip.classList.add(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
XhmikosR's avatar
Dist    
XhmikosR committed
6411
6412
6413
        // empty mouseover listeners to the body's immediate children;
        // only needed because of broken event delegation on iOS
        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
Mark Otto's avatar
dist    
Mark Otto committed
6414

XhmikosR's avatar
Dist    
XhmikosR committed
6415
        if ('ontouchstart' in document.documentElement) {
XhmikosR's avatar
XhmikosR committed
6416
6417
6418
          makeArray(document.body.children).forEach(function (element) {
            EventHandler.on(element, 'mouseover', noop());
          });
XhmikosR's avatar
Dist    
XhmikosR committed
6419
        }
Mark Otto's avatar
dist  
Mark Otto committed
6420

XhmikosR's avatar
Dist    
XhmikosR committed
6421
6422
6423
6424
        var complete = function complete() {
          if (_this.config.animation) {
            _this._fixTransition();
          }
Mark Otto's avatar
dist    
Mark Otto committed
6425

XhmikosR's avatar
Dist    
XhmikosR committed
6426
6427
          var prevHoverState = _this._hoverState;
          _this._hoverState = null;
XhmikosR's avatar
XhmikosR committed
6428
          EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN);
Mark Otto's avatar
dist  
Mark Otto committed
6429

XhmikosR's avatar
Dist    
XhmikosR committed
6430
6431
          if (prevHoverState === HoverState.OUT) {
            _this._leave(null, _this);
Mark Otto's avatar
dist  
Mark Otto committed
6432
          }
XhmikosR's avatar
Dist    
XhmikosR committed
6433
6434
        };

XhmikosR's avatar
XhmikosR committed
6435
6436
6437
6438
        if (this.tip.classList.contains(ClassName$6.FADE)) {
          var transitionDuration = getTransitionDurationFromElement(this.tip);
          EventHandler.one(this.tip, TRANSITION_END, complete);
          emulateTransitionEnd(this.tip, transitionDuration);
XhmikosR's avatar
Dist    
XhmikosR committed
6439
6440
        } else {
          complete();
Mark Otto's avatar
dist  
Mark Otto committed
6441
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6442
6443
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
6444

6445
    _proto.hide = function hide() {
XhmikosR's avatar
Dist    
XhmikosR committed
6446
      var _this2 = this;
Mark Otto's avatar
dist  
Mark Otto committed
6447

XhmikosR's avatar
Dist    
XhmikosR committed
6448
      var tip = this.getTipElement();
Mark Otto's avatar
dist    
Mark Otto committed
6449

XhmikosR's avatar
Dist    
XhmikosR committed
6450
6451
6452
6453
      var complete = function complete() {
        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
          tip.parentNode.removeChild(tip);
        }
Mark Otto's avatar
dist  
Mark Otto committed
6454

XhmikosR's avatar
Dist    
XhmikosR committed
6455
        _this2._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
6456

XhmikosR's avatar
Dist    
XhmikosR committed
6457
        _this2.element.removeAttribute('aria-describedby');
Mark Otto's avatar
dist    
Mark Otto committed
6458

XhmikosR's avatar
XhmikosR committed
6459
        EventHandler.trigger(_this2.element, _this2.constructor.Event.HIDDEN);
Mark Otto's avatar
dist    
Mark Otto committed
6460

6461
        _this2._popper.destroy();
XhmikosR's avatar
Dist    
XhmikosR committed
6462
      };
Mark Otto's avatar
dist  
Mark Otto committed
6463

XhmikosR's avatar
XhmikosR committed
6464
      var hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE);
Mark Otto's avatar
dist  
Mark Otto committed
6465

XhmikosR's avatar
XhmikosR committed
6466
      if (hideEvent.defaultPrevented) {
XhmikosR's avatar
Dist    
XhmikosR committed
6467
6468
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6469

XhmikosR's avatar
XhmikosR committed
6470
      tip.classList.remove(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
XhmikosR's avatar
Dist    
XhmikosR committed
6471
      // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
6472

XhmikosR's avatar
Dist    
XhmikosR committed
6473
      if ('ontouchstart' in document.documentElement) {
XhmikosR's avatar
XhmikosR committed
6474
6475
6476
        makeArray(document.body.children).forEach(function (element) {
          return EventHandler.off(element, 'mouseover', noop);
        });
XhmikosR's avatar
Dist    
XhmikosR committed
6477
      }
Mark Otto's avatar
dist  
Mark Otto committed
6478

XhmikosR's avatar
Dist    
XhmikosR committed
6479
6480
6481
      this._activeTrigger[Trigger.CLICK] = false;
      this._activeTrigger[Trigger.FOCUS] = false;
      this._activeTrigger[Trigger.HOVER] = false;
Mark Otto's avatar
dist  
Mark Otto committed
6482

XhmikosR's avatar
XhmikosR committed
6483
6484
6485
6486
      if (this.tip.classList.contains(ClassName$6.FADE)) {
        var transitionDuration = getTransitionDurationFromElement(tip);
        EventHandler.one(tip, TRANSITION_END, complete);
        emulateTransitionEnd(tip, transitionDuration);
XhmikosR's avatar
Dist    
XhmikosR committed
6487
6488
6489
      } else {
        complete();
      }
Mark Otto's avatar
dist  
Mark Otto committed
6490

XhmikosR's avatar
Dist    
XhmikosR committed
6491
6492
      this._hoverState = '';
    };
Mark Otto's avatar
dist  
Mark Otto committed
6493

XhmikosR's avatar
Dist    
XhmikosR committed
6494
6495
6496
6497
    _proto.update = function update() {
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
Mark Otto committed
6498
6499
    } // Protected
    ;
Mark Otto's avatar
dist  
Mark Otto committed
6500

XhmikosR's avatar
Dist    
XhmikosR committed
6501
6502
6503
    _proto.isWithContent = function isWithContent() {
      return Boolean(this.getTitle());
    };
Mark Otto's avatar
dist  
Mark Otto committed
6504

XhmikosR's avatar
Dist    
XhmikosR committed
6505
    _proto.getTipElement = function getTipElement() {
XhmikosR's avatar
XhmikosR committed
6506
6507
6508
6509
6510
6511
6512
      if (this.tip) {
        return this.tip;
      }

      var element = document.createElement('div');
      element.innerHTML = this.config.template;
      this.tip = element.children[0];
XhmikosR's avatar
Dist    
XhmikosR committed
6513
6514
      return this.tip;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6515

XhmikosR's avatar
Dist    
XhmikosR committed
6516
6517
    _proto.setContent = function setContent() {
      var tip = this.getTipElement();
XhmikosR's avatar
XhmikosR committed
6518
6519
6520
      this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER, tip), this.getTitle());
      tip.classList.remove(ClassName$6.FADE);
      tip.classList.remove(ClassName$6.SHOW);
XhmikosR's avatar
Dist    
XhmikosR committed
6521
    };
Mark Otto's avatar
dist  
Mark Otto committed
6522

XhmikosR's avatar
XhmikosR committed
6523
6524
6525
6526
6527
    _proto.setElementContent = function setElementContent(element, content) {
      if (element === null) {
        return;
      }

6528
      if (typeof content === 'object' && isElement(content)) {
XhmikosR's avatar
XhmikosR committed
6529
6530
6531
6532
6533
        if (content.jquery) {
          content = content[0];
        } // content is a DOM node or a jQuery


XhmikosR's avatar
XhmikosR committed
6534
        if (this.config.html) {
XhmikosR's avatar
XhmikosR committed
6535
6536
6537
          if (content.parentNode !== element) {
            element.innerHTML = '';
            element.appendChild(content);
Mark Otto's avatar
dist  
Mark Otto committed
6538
6539
          }
        } else {
XhmikosR's avatar
XhmikosR committed
6540
          element.innerText = content.textContent;
Mark Otto's avatar
dist  
Mark Otto committed
6541
        }
XhmikosR's avatar
XhmikosR committed
6542
6543
6544
6545
6546
6547
6548
6549
6550

        return;
      }

      if (this.config.html) {
        if (this.config.sanitize) {
          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
        }

XhmikosR's avatar
XhmikosR committed
6551
        element.innerHTML = content;
XhmikosR's avatar
Dist    
XhmikosR committed
6552
      } else {
XhmikosR's avatar
XhmikosR committed
6553
        element.innerText = content;
XhmikosR's avatar
Dist    
XhmikosR committed
6554
6555
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
6556

XhmikosR's avatar
Dist    
XhmikosR committed
6557
6558
    _proto.getTitle = function getTitle() {
      var title = this.element.getAttribute('data-original-title');
Mark Otto's avatar
dist  
Mark Otto committed
6559

XhmikosR's avatar
Dist    
XhmikosR committed
6560
6561
6562
      if (!title) {
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6563

XhmikosR's avatar
Dist    
XhmikosR committed
6564
      return title;
Mark Otto's avatar
Mark Otto committed
6565
6566
    } // Private
    ;
Mark Otto's avatar
dist  
Mark Otto committed
6567

6568
6569
6570
6571
    _proto._addAttachmentClass = function _addAttachmentClass(attachment) {
      this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment);
    };

Mark Otto's avatar
Mark Otto committed
6572
6573
6574
6575
6576
6577
6578
    _proto._getOffset = function _getOffset() {
      var _this3 = this;

      var offset = {};

      if (typeof this.config.offset === 'function') {
        offset.fn = function (data) {
6579
          data.offsets = _objectSpread2({}, data.offsets, {}, _this3.config.offset(data.offsets, _this3.element) || {});
Mark Otto's avatar
Mark Otto committed
6580
6581
6582
6583
6584
6585
6586
6587
6588
          return data;
        };
      } else {
        offset.offset = this.config.offset;
      }

      return offset;
    };

Mark Otto's avatar
dist    
Mark Otto committed
6589
6590
6591
6592
6593
    _proto._getContainer = function _getContainer() {
      if (this.config.container === false) {
        return document.body;
      }

XhmikosR's avatar
XhmikosR committed
6594
6595
      if (isElement(this.config.container)) {
        return this.config.container;
Mark Otto's avatar
dist    
Mark Otto committed
6596
6597
      }

XhmikosR's avatar
XhmikosR committed
6598
      return SelectorEngine.findOne(this.config.container);
Mark Otto's avatar
dist    
Mark Otto committed
6599
6600
    };

XhmikosR's avatar
Dist    
XhmikosR committed
6601
6602
6603
    _proto._getAttachment = function _getAttachment(placement) {
      return AttachmentMap$1[placement.toUpperCase()];
    };
Mark Otto's avatar
dist    
Mark Otto committed
6604

XhmikosR's avatar
Dist    
XhmikosR committed
6605
    _proto._setListeners = function _setListeners() {
Mark Otto's avatar
Mark Otto committed
6606
      var _this4 = this;
Mark Otto's avatar
dist  
Mark Otto committed
6607

XhmikosR's avatar
Dist    
XhmikosR committed
6608
6609
6610
      var triggers = this.config.trigger.split(' ');
      triggers.forEach(function (trigger) {
        if (trigger === 'click') {
XhmikosR's avatar
XhmikosR committed
6611
          EventHandler.on(_this4.element, _this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
Mark Otto's avatar
Mark Otto committed
6612
            return _this4.toggle(event);
Mark Otto's avatar
dist  
Mark Otto committed
6613
          });
XhmikosR's avatar
Dist    
XhmikosR committed
6614
        } else if (trigger !== Trigger.MANUAL) {
Mark Otto's avatar
Mark Otto committed
6615
6616
          var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
          var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
XhmikosR's avatar
XhmikosR committed
6617
          EventHandler.on(_this4.element, eventIn, _this4.config.selector, function (event) {
Mark Otto's avatar
Mark Otto committed
6618
            return _this4._enter(event);
XhmikosR's avatar
XhmikosR committed
6619
6620
          });
          EventHandler.on(_this4.element, eventOut, _this4.config.selector, function (event) {
Mark Otto's avatar
Mark Otto committed
6621
            return _this4._leave(event);
Mark Otto's avatar
dist  
Mark Otto committed
6622
6623
          });
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6624
      });
Mark Otto's avatar
dist v5    
Mark Otto committed
6625
6626

      this._hideModalHandler = function () {
Mark Otto's avatar
Mark Otto committed
6627
6628
        if (_this4.element) {
          _this4.hide();
XhmikosR's avatar
Dist    
XhmikosR committed
6629
        }
Mark Otto's avatar
dist v5    
Mark Otto committed
6630
6631
6632
      };

      EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
Mark Otto's avatar
dist  
Mark Otto committed
6633

XhmikosR's avatar
Dist    
XhmikosR committed
6634
      if (this.config.selector) {
6635
        this.config = _objectSpread2({}, this.config, {
XhmikosR's avatar
Dist    
XhmikosR committed
6636
6637
6638
6639
6640
6641
6642
          trigger: 'manual',
          selector: ''
        });
      } else {
        this._fixTitle();
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
6643

XhmikosR's avatar
Dist    
XhmikosR committed
6644
6645
    _proto._fixTitle = function _fixTitle() {
      var titleType = typeof this.element.getAttribute('data-original-title');
Mark Otto's avatar
dist    
Mark Otto committed
6646

XhmikosR's avatar
Dist    
XhmikosR committed
6647
6648
6649
6650
6651
      if (this.element.getAttribute('title') || titleType !== 'string') {
        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
        this.element.setAttribute('title', '');
      }
    };
Mark Otto's avatar
dist  
Mark Otto committed
6652

XhmikosR's avatar
Dist    
XhmikosR committed
6653
6654
    _proto._enter = function _enter(event, context) {
      var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
6655
      context = context || Data.getData(event.delegateTarget, dataKey);
Mark Otto's avatar
dist  
Mark Otto committed
6656

XhmikosR's avatar
Dist    
XhmikosR committed
6657
      if (!context) {
XhmikosR's avatar
XhmikosR committed
6658
6659
        context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
        Data.setData(event.delegateTarget, dataKey, context);
XhmikosR's avatar
Dist    
XhmikosR committed
6660
      }
Mark Otto's avatar
dist  
Mark Otto committed
6661

XhmikosR's avatar
Dist    
XhmikosR committed
6662
6663
6664
      if (event) {
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6665

XhmikosR's avatar
XhmikosR committed
6666
      if (context.getTipElement().classList.contains(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
Mark Otto's avatar
dist  
Mark Otto committed
6667
        context._hoverState = HoverState.SHOW;
XhmikosR's avatar
Dist    
XhmikosR committed
6668
6669
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6670

XhmikosR's avatar
Dist    
XhmikosR committed
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
      clearTimeout(context._timeout);
      context._hoverState = HoverState.SHOW;

      if (!context.config.delay || !context.config.delay.show) {
        context.show();
        return;
      }

      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.SHOW) {
Mark Otto's avatar
dist  
Mark Otto committed
6681
6682
          context.show();
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6683
6684
      }, context.config.delay.show);
    };
Mark Otto's avatar
dist  
Mark Otto committed
6685

XhmikosR's avatar
Dist    
XhmikosR committed
6686
6687
    _proto._leave = function _leave(event, context) {
      var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
6688
      context = context || Data.getData(event.delegateTarget, dataKey);
Mark Otto's avatar
dist  
Mark Otto committed
6689

XhmikosR's avatar
Dist    
XhmikosR committed
6690
      if (!context) {
XhmikosR's avatar
XhmikosR committed
6691
6692
        context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
        Data.setData(event.delegateTarget, dataKey, context);
XhmikosR's avatar
Dist    
XhmikosR committed
6693
      }
Mark Otto's avatar
dist  
Mark Otto committed
6694

XhmikosR's avatar
Dist    
XhmikosR committed
6695
6696
6697
      if (event) {
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6698

XhmikosR's avatar
Dist    
XhmikosR committed
6699
6700
6701
      if (context._isWithActiveTrigger()) {
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6702

XhmikosR's avatar
Dist    
XhmikosR committed
6703
6704
      clearTimeout(context._timeout);
      context._hoverState = HoverState.OUT;
Mark Otto's avatar
dist  
Mark Otto committed
6705

XhmikosR's avatar
Dist    
XhmikosR committed
6706
6707
6708
6709
      if (!context.config.delay || !context.config.delay.hide) {
        context.hide();
        return;
      }
Mark Otto's avatar
dist  
Mark Otto committed
6710

XhmikosR's avatar
Dist    
XhmikosR committed
6711
6712
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.OUT) {
Mark Otto's avatar
dist  
Mark Otto committed
6713
6714
          context.hide();
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6715
6716
      }, context.config.delay.hide);
    };
Mark Otto's avatar
dist  
Mark Otto committed
6717

XhmikosR's avatar
Dist    
XhmikosR committed
6718
6719
6720
6721
    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
      for (var trigger in this._activeTrigger) {
        if (this._activeTrigger[trigger]) {
          return true;
Mark Otto's avatar
dist  
Mark Otto committed
6722
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6723
      }
Mark Otto's avatar
dist  
Mark Otto committed
6724

XhmikosR's avatar
Dist    
XhmikosR committed
6725
6726
      return false;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6727

XhmikosR's avatar
Dist    
XhmikosR committed
6728
    _proto._getConfig = function _getConfig(config) {
XhmikosR's avatar
XhmikosR committed
6729
      var dataAttributes = Manipulator.getDataAttributes(this.element);
XhmikosR's avatar
XhmikosR committed
6730
6731
6732
6733
6734
      Object.keys(dataAttributes).forEach(function (dataAttr) {
        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
          delete dataAttributes[dataAttr];
        }
      });
XhmikosR's avatar
XhmikosR committed
6735
6736
6737
6738
6739

      if (config && typeof config.container === 'object' && config.container.jquery) {
        config.container = config.container[0];
      }

6740
      config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});
Mark Otto's avatar
dist  
Mark Otto committed
6741

XhmikosR's avatar
Dist    
XhmikosR committed
6742
6743
6744
6745
6746
6747
      if (typeof config.delay === 'number') {
        config.delay = {
          show: config.delay,
          hide: config.delay
        };
      }
Mark Otto's avatar
dist  
Mark Otto committed
6748

XhmikosR's avatar
Dist    
XhmikosR committed
6749
6750
6751
      if (typeof config.title === 'number') {
        config.title = config.title.toString();
      }
Mark Otto's avatar
dist  
Mark Otto committed
6752

XhmikosR's avatar
Dist    
XhmikosR committed
6753
6754
6755
      if (typeof config.content === 'number') {
        config.content = config.content.toString();
      }
Mark Otto's avatar
dist  
Mark Otto committed
6756

XhmikosR's avatar
XhmikosR committed
6757
      typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
XhmikosR's avatar
XhmikosR committed
6758
6759
6760
6761
6762

      if (config.sanitize) {
        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
      }

XhmikosR's avatar
Dist    
XhmikosR committed
6763
6764
      return config;
    };
Mark Otto's avatar
dist  
Mark Otto committed
6765

XhmikosR's avatar
Dist    
XhmikosR committed
6766
6767
    _proto._getDelegateConfig = function _getDelegateConfig() {
      var config = {};
Mark Otto's avatar
dist  
Mark Otto committed
6768

XhmikosR's avatar
Dist    
XhmikosR committed
6769
6770
6771
6772
      if (this.config) {
        for (var key in this.config) {
          if (this.constructor.Default[key] !== this.config[key]) {
            config[key] = this.config[key];
Mark Otto's avatar
dist  
Mark Otto committed
6773
6774
          }
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6775
      }
Mark Otto's avatar
dist  
Mark Otto committed
6776

XhmikosR's avatar
Dist    
XhmikosR committed
6777
6778
      return config;
    };
Mark Otto's avatar
dist    
Mark Otto committed
6779

XhmikosR's avatar
Dist    
XhmikosR committed
6780
    _proto._cleanTipClass = function _cleanTipClass() {
XhmikosR's avatar
XhmikosR committed
6781
6782
      var tip = this.getTipElement();
      var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist  
Mark Otto committed
6783

XhmikosR's avatar
Dist    
XhmikosR committed
6784
      if (tabClass !== null && tabClass.length) {
XhmikosR's avatar
XhmikosR committed
6785
6786
6787
6788
6789
        tabClass.map(function (token) {
          return token.trim();
        }).forEach(function (tClass) {
          return tip.classList.remove(tClass);
        });
XhmikosR's avatar
Dist    
XhmikosR committed
6790
6791
      }
    };
Mark Otto's avatar
dist    
Mark Otto committed
6792

XhmikosR's avatar
Dist    
XhmikosR committed
6793
6794
6795
    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
      var popperInstance = popperData.instance;
      this.tip = popperInstance.popper;
Mark Otto's avatar
dist    
Mark Otto committed
6796

XhmikosR's avatar
Dist    
XhmikosR committed
6797
      this._cleanTipClass();
Mark Otto's avatar
dist  
Mark Otto committed
6798

6799
      this._addAttachmentClass(this._getAttachment(popperData.placement));
XhmikosR's avatar
Dist    
XhmikosR committed
6800
    };
Mark Otto's avatar
dist    
Mark Otto committed
6801

XhmikosR's avatar
Dist    
XhmikosR committed
6802
6803
6804
    _proto._fixTransition = function _fixTransition() {
      var tip = this.getTipElement();
      var initConfigAnimation = this.config.animation;
Mark Otto's avatar
dist    
Mark Otto committed
6805

XhmikosR's avatar
Dist    
XhmikosR committed
6806
6807
6808
      if (tip.getAttribute('x-placement') !== null) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
6809

XhmikosR's avatar
XhmikosR committed
6810
      tip.classList.remove(ClassName$6.FADE);
XhmikosR's avatar
Dist    
XhmikosR committed
6811
6812
6813
6814
      this.config.animation = false;
      this.hide();
      this.show();
      this.config.animation = initConfigAnimation;
Mark Otto's avatar
Mark Otto committed
6815
6816
    } // Static
    ;
Mark Otto's avatar
dist  
Mark Otto committed
6817

XhmikosR's avatar
Dist    
XhmikosR committed
6818
6819
    Tooltip._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
XhmikosR's avatar
XhmikosR committed
6820
        var data = Data.getData(this, DATA_KEY$6);
Mark Otto's avatar
dist    
Mark Otto committed
6821

XhmikosR's avatar
Dist    
XhmikosR committed
6822
        var _config = typeof config === 'object' && config;
Mark Otto's avatar
dist  
Mark Otto committed
6823

XhmikosR's avatar
Dist    
XhmikosR committed
6824
6825
6826
        if (!data && /dispose|hide/.test(config)) {
          return;
        }
Mark Otto's avatar
dist  
Mark Otto committed
6827

XhmikosR's avatar
Dist    
XhmikosR committed
6828
6829
6830
        if (!data) {
          data = new Tooltip(this, _config);
        }
Mark Otto's avatar
dist  
Mark Otto committed
6831

XhmikosR's avatar
Dist    
XhmikosR committed
6832
6833
6834
        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
dist  
Mark Otto committed
6835
          }
Mark Otto's avatar
dist    
Mark Otto committed
6836

XhmikosR's avatar
Dist    
XhmikosR committed
6837
          data[config]();
Mark Otto's avatar
dist    
Mark Otto committed
6838
        }
XhmikosR's avatar
Dist    
XhmikosR committed
6839
6840
      });
    };
Mark Otto's avatar
dist  
Mark Otto committed
6841

XhmikosR's avatar
XhmikosR committed
6842
6843
6844
6845
    Tooltip._getInstance = function _getInstance(element) {
      return Data.getData(element, DATA_KEY$6);
    };

XhmikosR's avatar
Dist    
XhmikosR committed
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
    _createClass(Tooltip, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION$6;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default$4;
      }
    }, {
      key: "NAME",
      get: function get() {
        return NAME$6;
      }
    }, {
      key: "DATA_KEY",
      get: function get() {
        return DATA_KEY$6;
      }
    }, {
      key: "Event",
      get: function get() {
XhmikosR's avatar
XhmikosR committed
6869
        return Event$7;
XhmikosR's avatar
Dist    
XhmikosR committed
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
      }
    }, {
      key: "EVENT_KEY",
      get: function get() {
        return EVENT_KEY$6;
      }
    }, {
      key: "DefaultType",
      get: function get() {
        return DefaultType$4;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
6882

XhmikosR's avatar
Dist    
XhmikosR committed
6883
6884
6885
6886
6887
6888
    return Tooltip;
  }();
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
6889
   * add .tooltip to jQuery only if jQuery is present
XhmikosR's avatar
Dist    
XhmikosR committed
6890
   */
Mark Otto's avatar
dist    
Mark Otto committed
6891

6892
6893
  /* istanbul ignore if */

Mark Otto's avatar
dist  
Mark Otto committed
6894

XhmikosR's avatar
XhmikosR committed
6895
6896
6897
6898
  if (typeof jQuery !== 'undefined') {
    var JQUERY_NO_CONFLICT$6 = jQuery.fn[NAME$6];
    jQuery.fn[NAME$6] = Tooltip._jQueryInterface;
    jQuery.fn[NAME$6].Constructor = Tooltip;
Mark Otto's avatar
dist  
Mark Otto committed
6899

XhmikosR's avatar
XhmikosR committed
6900
6901
6902
6903
6904
    jQuery.fn[NAME$6].noConflict = function () {
      jQuery.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
      return Tooltip._jQueryInterface;
    };
  }
Mark Otto's avatar
dist  
Mark Otto committed
6905

XhmikosR's avatar
Dist    
XhmikosR committed
6906
6907
6908
6909
6910
6911
6912
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */

  var NAME$7 = 'popover';
XhmikosR's avatar
XhmikosR committed
6913
  var VERSION$7 = '4.3.1';
XhmikosR's avatar
Dist    
XhmikosR committed
6914
6915
6916
6917
6918
  var DATA_KEY$7 = 'bs.popover';
  var EVENT_KEY$7 = "." + DATA_KEY$7;
  var CLASS_PREFIX$1 = 'bs-popover';
  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');

6919
  var Default$5 = _objectSpread2({}, Tooltip.Default, {
XhmikosR's avatar
Dist    
XhmikosR committed
6920
6921
6922
    placement: 'right',
    trigger: 'click',
    content: '',
XhmikosR's avatar
XhmikosR committed
6923
    template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
XhmikosR's avatar
Dist    
XhmikosR committed
6924
6925
  });

6926
  var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, {
XhmikosR's avatar
Dist    
XhmikosR committed
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
    content: '(string|element|function)'
  });

  var ClassName$7 = {
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector$7 = {
    TITLE: '.popover-header',
    CONTENT: '.popover-body'
  };
XhmikosR's avatar
XhmikosR committed
6938
  var Event$8 = {
XhmikosR's avatar
Dist    
XhmikosR committed
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
    HIDE: "hide" + EVENT_KEY$7,
    HIDDEN: "hidden" + EVENT_KEY$7,
    SHOW: "show" + EVENT_KEY$7,
    SHOWN: "shown" + EVENT_KEY$7,
    INSERTED: "inserted" + EVENT_KEY$7,
    CLICK: "click" + EVENT_KEY$7,
    FOCUSIN: "focusin" + EVENT_KEY$7,
    FOCUSOUT: "focusout" + EVENT_KEY$7,
    MOUSEENTER: "mouseenter" + EVENT_KEY$7,
    MOUSELEAVE: "mouseleave" + EVENT_KEY$7
Mark Otto's avatar
dist    
Mark Otto committed
6949
6950
    /**
     * ------------------------------------------------------------------------
XhmikosR's avatar
Dist    
XhmikosR committed
6951
     * Class Definition
Mark Otto's avatar
dist    
Mark Otto committed
6952
6953
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
dist  
Mark Otto committed
6954

XhmikosR's avatar
Dist    
XhmikosR committed
6955
  };
Mark Otto's avatar
dist  
Mark Otto committed
6956

XhmikosR's avatar
Dist    
XhmikosR committed
6957
6958
6959
6960
  var Popover =
  /*#__PURE__*/
  function (_Tooltip) {
    _inheritsLoose(Popover, _Tooltip);
Mark Otto's avatar
dist  
Mark Otto committed
6961

XhmikosR's avatar
Dist    
XhmikosR committed
6962
6963
6964
    function Popover() {
      return _Tooltip.apply(this, arguments) || this;
    }
Mark Otto's avatar
Mark Otto committed
6965

XhmikosR's avatar
Dist    
XhmikosR committed
6966
    var _proto = Popover.prototype;
Mark Otto's avatar
Mark Otto committed
6967

XhmikosR's avatar
Dist    
XhmikosR committed
6968
6969
6970
6971
    // Overrides
    _proto.isWithContent = function isWithContent() {
      return this.getTitle() || this._getContent();
    };
Mark Otto's avatar
dist    
Mark Otto committed
6972

XhmikosR's avatar
Dist    
XhmikosR committed
6973
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
XhmikosR's avatar
XhmikosR committed
6974
      this.getTipElement().classList.add(CLASS_PREFIX$1 + "-" + attachment);
XhmikosR's avatar
Dist    
XhmikosR committed
6975
    };
Mark Otto's avatar
dist  
Mark Otto committed
6976

XhmikosR's avatar
Dist    
XhmikosR committed
6977
    _proto.setContent = function setContent() {
XhmikosR's avatar
XhmikosR committed
6978
      var tip = this.getTipElement(); // we use append for html objects to maintain js events
Mark Otto's avatar
dist  
Mark Otto committed
6979

XhmikosR's avatar
XhmikosR committed
6980
      this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE, tip), this.getTitle());
Mark Otto's avatar
dist  
Mark Otto committed
6981

XhmikosR's avatar
Dist    
XhmikosR committed
6982
      var content = this._getContent();
Mark Otto's avatar
dist    
Mark Otto committed
6983

XhmikosR's avatar
Dist    
XhmikosR committed
6984
6985
6986
      if (typeof content === 'function') {
        content = content.call(this.element);
      }
Mark Otto's avatar
dist    
Mark Otto committed
6987

XhmikosR's avatar
XhmikosR committed
6988
6989
6990
      this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT, tip), content);
      tip.classList.remove(ClassName$7.FADE);
      tip.classList.remove(ClassName$7.SHOW);
Mark Otto's avatar
Mark Otto committed
6991
6992
    } // Private
    ;
Mark Otto's avatar
dist  
Mark Otto committed
6993

XhmikosR's avatar
Dist    
XhmikosR committed
6994
6995
6996
    _proto._getContent = function _getContent() {
      return this.element.getAttribute('data-content') || this.config.content;
    };
Mark Otto's avatar
dist    
Mark Otto committed
6997

XhmikosR's avatar
Dist    
XhmikosR committed
6998
    _proto._cleanTipClass = function _cleanTipClass() {
XhmikosR's avatar
XhmikosR committed
6999
7000
      var tip = this.getTipElement();
      var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX$1);
For faster browsing, not all history is shown. View entire blame