bootstrap.esm.js 140 KB
Newer Older
XhmikosR's avatar
Dist.  
XhmikosR committed
3001
3002
    }

XhmikosR's avatar
XhmikosR committed
3003
    document.body.classList.add(CLASS_NAME_OPEN);
XhmikosR's avatar
XhmikosR committed
3004
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3005

XhmikosR's avatar
XhmikosR committed
3006
  _proto._resetScrollbar = function _resetScrollbar() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3007
    // Restore fixed content padding
XhmikosR's avatar
XhmikosR committed
3008
    SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
XhmikosR's avatar
XhmikosR committed
3009
      var padding = Manipulator.getDataAttribute(element, 'padding-right');
XhmikosR's avatar
Dist.  
XhmikosR committed
3010
3011
3012
3013
3014
3015
3016

      if (typeof padding !== 'undefined') {
        Manipulator.removeDataAttribute(element, 'padding-right');
        element.style.paddingRight = padding;
      }
    }); // Restore sticky content and navbar-toggler margin

XhmikosR's avatar
XhmikosR committed
3017
    SelectorEngine.find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
XhmikosR's avatar
XhmikosR committed
3018
      var margin = Manipulator.getDataAttribute(element, 'margin-right');
XhmikosR's avatar
Dist.  
XhmikosR committed
3019
3020
3021
3022
3023
3024
3025

      if (typeof margin !== 'undefined') {
        Manipulator.removeDataAttribute(element, 'margin-right');
        element.style.marginRight = margin;
      }
    }); // Restore body padding

XhmikosR's avatar
XhmikosR committed
3026
    var padding = Manipulator.getDataAttribute(document.body, 'padding-right');
XhmikosR's avatar
Dist.  
XhmikosR committed
3027
3028
3029
3030
3031
3032
3033

    if (typeof padding === 'undefined') {
      document.body.style.paddingRight = '';
    } else {
      Manipulator.removeDataAttribute(document.body, 'padding-right');
      document.body.style.paddingRight = padding;
    }
XhmikosR's avatar
XhmikosR committed
3034
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3035

XhmikosR's avatar
XhmikosR committed
3036
  _proto._getScrollbarWidth = function _getScrollbarWidth() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3037
    // thx d.walsh
XhmikosR's avatar
XhmikosR committed
3038
    var scrollDiv = document.createElement('div');
XhmikosR's avatar
XhmikosR committed
3039
    scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
XhmikosR's avatar
Dist.  
XhmikosR committed
3040
    document.body.appendChild(scrollDiv);
XhmikosR's avatar
XhmikosR committed
3041
    var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
XhmikosR's avatar
Dist.  
XhmikosR committed
3042
3043
3044
    document.body.removeChild(scrollDiv);
    return scrollbarWidth;
  } // Static
XhmikosR's avatar
XhmikosR committed
3045
  ;
XhmikosR's avatar
Dist.  
XhmikosR committed
3046

XhmikosR's avatar
XhmikosR committed
3047
  Modal.jQueryInterface = function jQueryInterface(config, relatedTarget) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3048
    return this.each(function () {
XhmikosR's avatar
XhmikosR committed
3049
      var data = Data.getData(this, DATA_KEY$5);
XhmikosR's avatar
Dist.  
XhmikosR committed
3050

XhmikosR's avatar
XhmikosR committed
3051
      var _config = _extends({}, Default$3, Manipulator.getDataAttributes(this), typeof config === 'object' && config ? config : {});
XhmikosR's avatar
Dist.  
XhmikosR committed
3052
3053
3054
3055
3056
3057
3058

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

      if (typeof config === 'string') {
        if (typeof data[config] === 'undefined') {
XhmikosR's avatar
XhmikosR committed
3059
          throw new TypeError("No method named \"" + config + "\"");
XhmikosR's avatar
Dist.  
XhmikosR committed
3060
3061
3062
3063
3064
3065
3066
        }

        data[config](relatedTarget);
      } else if (_config.show) {
        data.show(relatedTarget);
      }
    });
XhmikosR's avatar
XhmikosR committed
3067
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3068

XhmikosR's avatar
XhmikosR committed
3069
  Modal.getInstance = function getInstance(element) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3070
    return Data.getData(element, DATA_KEY$5);
XhmikosR's avatar
XhmikosR committed
3071
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3072

XhmikosR's avatar
XhmikosR committed
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
  _createClass(Modal, null, [{
    key: "VERSION",
    get: function get() {
      return VERSION$5;
    }
  }, {
    key: "Default",
    get: function get() {
      return Default$3;
    }
  }]);

  return Modal;
}();
XhmikosR's avatar
Dist.  
XhmikosR committed
3087
3088
3089
3090
3091
3092
3093
/**
 * ------------------------------------------------------------------------
 * Data Api implementation
 * ------------------------------------------------------------------------
 */


XhmikosR's avatar
XhmikosR committed
3094
EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
XhmikosR's avatar
XhmikosR committed
3095
  var _this11 = this;
XhmikosR's avatar
XhmikosR committed
3096

XhmikosR's avatar
XhmikosR committed
3097
  var target = getElementFromSelector(this);
XhmikosR's avatar
Dist.  
XhmikosR committed
3098
3099
3100
3101
3102

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

XhmikosR's avatar
XhmikosR committed
3103
  EventHandler.one(target, EVENT_SHOW$2, function (showEvent) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3104
3105
3106
3107
3108
    if (showEvent.defaultPrevented) {
      // only register focus restorer if modal will actually get shown
      return;
    }

XhmikosR's avatar
XhmikosR committed
3109
    EventHandler.one(target, EVENT_HIDDEN$2, function () {
XhmikosR's avatar
XhmikosR committed
3110
3111
      if (isVisible(_this11)) {
        _this11.focus();
XhmikosR's avatar
Dist.  
XhmikosR committed
3112
3113
3114
      }
    });
  });
XhmikosR's avatar
XhmikosR committed
3115
  var data = Data.getData(target, DATA_KEY$5);
XhmikosR's avatar
Dist.  
XhmikosR committed
3116
3117

  if (!data) {
XhmikosR's avatar
XhmikosR committed
3118
    var config = _extends({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this));
3119

XhmikosR's avatar
Dist.  
XhmikosR committed
3120
3121
3122
3123
3124
3125
3126
3127
3128
    data = new Modal(target, config);
  }

  data.show(this);
});
/**
 * ------------------------------------------------------------------------
 * jQuery
 * ------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
3129
 * add .Modal to jQuery only if jQuery is present
XhmikosR's avatar
Dist.  
XhmikosR committed
3130
3131
 */

XhmikosR's avatar
XhmikosR committed
3132
3133
3134
onDOMContentLoaded(function () {
  var $ = getjQuery();
  /* istanbul ignore if */
3135

XhmikosR's avatar
XhmikosR committed
3136
3137
3138
3139
  if ($) {
    var JQUERY_NO_CONFLICT = $.fn[NAME$5];
    $.fn[NAME$5] = Modal.jQueryInterface;
    $.fn[NAME$5].Constructor = Modal;
XhmikosR's avatar
Dist.  
XhmikosR committed
3140

XhmikosR's avatar
XhmikosR committed
3141
3142
3143
3144
3145
3146
    $.fn[NAME$5].noConflict = function () {
      $.fn[NAME$5] = JQUERY_NO_CONFLICT;
      return Modal.jQueryInterface;
    };
  }
});
XhmikosR's avatar
Dist.  
XhmikosR committed
3147
3148
3149

/**
 * --------------------------------------------------------------------------
XhmikosR's avatar
XhmikosR committed
3150
 * Bootstrap (v5.0.0-alpha3): util/sanitizer.js
XhmikosR's avatar
XhmikosR committed
3151
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
XhmikosR's avatar
Dist.  
XhmikosR committed
3152
3153
 * --------------------------------------------------------------------------
 */
XhmikosR's avatar
XhmikosR committed
3154
var uriAttrs = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
XhmikosR's avatar
XhmikosR committed
3155
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
XhmikosR's avatar
Dist.  
XhmikosR committed
3156
3157
3158
3159
3160
3161
/**
 * 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
 */

XhmikosR's avatar
XhmikosR committed
3162
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
XhmikosR's avatar
Dist.  
XhmikosR committed
3163
3164
3165
3166
3167
3168
/**
 * 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
 */

XhmikosR's avatar
XhmikosR committed
3169
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
XhmikosR's avatar
Dist.  
XhmikosR committed
3170

XhmikosR's avatar
XhmikosR committed
3171
3172
var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
  var attrName = attr.nodeName.toLowerCase();
XhmikosR's avatar
Dist.  
XhmikosR committed
3173

XhmikosR's avatar
XhmikosR committed
3174
3175
  if (allowedAttributeList.includes(attrName)) {
    if (uriAttrs.has(attrName)) {
Mark Otto's avatar
Mark Otto committed
3176
      return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
XhmikosR's avatar
Dist.  
XhmikosR committed
3177
3178
3179
3180
3181
    }

    return true;
  }

XhmikosR's avatar
XhmikosR committed
3182
3183
3184
  var regExp = allowedAttributeList.filter(function (attrRegex) {
    return attrRegex instanceof RegExp;
  }); // Check if a regular expression validates the attribute.
XhmikosR's avatar
Dist.  
XhmikosR committed
3185

XhmikosR's avatar
XhmikosR committed
3186
  for (var i = 0, len = regExp.length; i < len; i++) {
Mark Otto's avatar
Mark Otto committed
3187
    if (attrName.match(regExp[i])) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3188
3189
3190
3191
3192
3193
3194
      return true;
    }
  }

  return false;
};

XhmikosR's avatar
XhmikosR committed
3195
var DefaultAllowlist = {
XhmikosR's avatar
Dist.  
XhmikosR committed
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
  // 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: [],
XhmikosR's avatar
XhmikosR committed
3214
  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
XhmikosR's avatar
Dist.  
XhmikosR committed
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
  li: [],
  ol: [],
  p: [],
  pre: [],
  s: [],
  small: [],
  span: [],
  sub: [],
  sup: [],
  strong: [],
  u: [],
  ul: []
};
XhmikosR's avatar
XhmikosR committed
3228
function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
XhmikosR's avatar
XhmikosR committed
3229
3230
  var _ref;

XhmikosR's avatar
Dist.  
XhmikosR committed
3231
3232
3233
3234
3235
3236
3237
3238
  if (!unsafeHtml.length) {
    return unsafeHtml;
  }

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

XhmikosR's avatar
XhmikosR committed
3239
3240
  var domParser = new window.DOMParser();
  var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
XhmikosR's avatar
XhmikosR committed
3241
  var allowlistKeys = Object.keys(allowList);
XhmikosR's avatar
XhmikosR committed
3242
3243

  var elements = (_ref = []).concat.apply(_ref, createdDocument.body.querySelectorAll('*'));
XhmikosR's avatar
Dist.  
XhmikosR committed
3244

XhmikosR's avatar
XhmikosR committed
3245
  var _loop = function _loop(i, len) {
XhmikosR's avatar
XhmikosR committed
3246
3247
    var _ref2;

XhmikosR's avatar
XhmikosR committed
3248
3249
    var el = elements[i];
    var elName = el.nodeName.toLowerCase();
XhmikosR's avatar
Dist.  
XhmikosR committed
3250

XhmikosR's avatar
XhmikosR committed
3251
    if (!allowlistKeys.includes(elName)) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3252
      el.parentNode.removeChild(el);
XhmikosR's avatar
XhmikosR committed
3253
      return "continue";
XhmikosR's avatar
Dist.  
XhmikosR committed
3254
3255
    }

XhmikosR's avatar
XhmikosR committed
3256
3257
    var attributeList = (_ref2 = []).concat.apply(_ref2, el.attributes);

XhmikosR's avatar
XhmikosR committed
3258
    var allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || []);
XhmikosR's avatar
XhmikosR committed
3259
    attributeList.forEach(function (attr) {
XhmikosR's avatar
XhmikosR committed
3260
      if (!allowedAttribute(attr, allowedAttributes)) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3261
3262
3263
        el.removeAttribute(attr.nodeName);
      }
    });
XhmikosR's avatar
XhmikosR committed
3264
3265
3266
  };

  for (var i = 0, len = elements.length; i < len; i++) {
3267
    var _ret = _loop(i);
XhmikosR's avatar
XhmikosR committed
3268
3269

    if (_ret === "continue") continue;
XhmikosR's avatar
Dist.  
XhmikosR committed
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
  }

  return createdDocument.body.innerHTML;
}

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

XhmikosR's avatar
XhmikosR committed
3281
var NAME$6 = 'tooltip';
XhmikosR's avatar
XhmikosR committed
3282
var VERSION$6 = '5.0.0-alpha3';
XhmikosR's avatar
XhmikosR committed
3283
3284
3285
3286
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
3287
var DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
XhmikosR's avatar
XhmikosR committed
3288
var DefaultType$4 = {
XhmikosR's avatar
Dist.  
XhmikosR committed
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
  animation: 'boolean',
  template: 'string',
  title: '(string|element|function)',
  trigger: 'string',
  delay: '(number|object)',
  html: 'boolean',
  selector: '(string|boolean)',
  placement: '(string|function)',
  offset: '(number|string|function)',
  container: '(string|element|boolean)',
  fallbackPlacement: '(string|array)',
  boundary: '(string|element)',
  sanitize: 'boolean',
  sanitizeFn: '(null|function)',
XhmikosR's avatar
XhmikosR committed
3303
  allowList: 'object',
XhmikosR's avatar
XhmikosR committed
3304
  popperConfig: '(null|object)'
XhmikosR's avatar
Dist.  
XhmikosR committed
3305
};
XhmikosR's avatar
XhmikosR committed
3306
var AttachmentMap = {
XhmikosR's avatar
Dist.  
XhmikosR committed
3307
3308
3309
3310
3311
3312
  AUTO: 'auto',
  TOP: 'top',
  RIGHT: 'right',
  BOTTOM: 'bottom',
  LEFT: 'left'
};
XhmikosR's avatar
XhmikosR committed
3313
var Default$4 = {
XhmikosR's avatar
Dist.  
XhmikosR committed
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
  animation: true,
  template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div></div>',
  trigger: 'hover focus',
  title: '',
  delay: 0,
  html: false,
  selector: false,
  placement: 'top',
  offset: 0,
  container: false,
  fallbackPlacement: 'flip',
  boundary: 'scrollParent',
  sanitize: true,
  sanitizeFn: null,
XhmikosR's avatar
XhmikosR committed
3328
  allowList: DefaultAllowlist,
XhmikosR's avatar
XhmikosR committed
3329
  popperConfig: null
XhmikosR's avatar
Dist.  
XhmikosR committed
3330
};
XhmikosR's avatar
XhmikosR committed
3331
var Event$1 = {
XhmikosR's avatar
XhmikosR committed
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
  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
XhmikosR's avatar
Dist.  
XhmikosR committed
3342
};
XhmikosR's avatar
XhmikosR committed
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
var CLASS_NAME_FADE$1 = 'fade';
var CLASS_NAME_MODAL = 'modal';
var CLASS_NAME_SHOW$3 = 'show';
var HOVER_STATE_SHOW = 'show';
var HOVER_STATE_OUT = 'out';
var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
var TRIGGER_HOVER = 'hover';
var TRIGGER_FOCUS = 'focus';
var TRIGGER_CLICK = 'click';
var TRIGGER_MANUAL = 'manual';
XhmikosR's avatar
XhmikosR committed
3353
3354
3355
3356
3357
/**
 * ------------------------------------------------------------------------
 * Class Definition
 * ------------------------------------------------------------------------
 */
XhmikosR's avatar
Dist.  
XhmikosR committed
3358

XhmikosR's avatar
XhmikosR committed
3359
var Tooltip = /*#__PURE__*/function () {
XhmikosR's avatar
XhmikosR committed
3360
  function Tooltip(element, config) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3361
    if (typeof Popper === 'undefined') {
XhmikosR's avatar
XhmikosR committed
3362
      throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
XhmikosR's avatar
Dist.  
XhmikosR committed
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
    } // private


    this._isEnabled = true;
    this._timeout = 0;
    this._hoverState = '';
    this._activeTrigger = {};
    this._popper = null; // Protected

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

    this._setListeners();

    Data.setData(element, this.constructor.DATA_KEY, this);
  } // Getters


XhmikosR's avatar
XhmikosR committed
3382
  var _proto = Tooltip.prototype;
XhmikosR's avatar
Dist.  
XhmikosR committed
3383

XhmikosR's avatar
XhmikosR committed
3384
3385
  // Public
  _proto.enable = function enable() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3386
    this._isEnabled = true;
XhmikosR's avatar
XhmikosR committed
3387
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3388

XhmikosR's avatar
XhmikosR committed
3389
  _proto.disable = function disable() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3390
    this._isEnabled = false;
XhmikosR's avatar
XhmikosR committed
3391
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3392

XhmikosR's avatar
XhmikosR committed
3393
  _proto.toggleEnabled = function toggleEnabled() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3394
    this._isEnabled = !this._isEnabled;
XhmikosR's avatar
XhmikosR committed
3395
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3396

XhmikosR's avatar
XhmikosR committed
3397
  _proto.toggle = function toggle(event) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3398
3399
3400
3401
3402
    if (!this._isEnabled) {
      return;
    }

    if (event) {
XhmikosR's avatar
XhmikosR committed
3403
      var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
3404
      var context = Data.getData(event.delegateTarget, dataKey);
XhmikosR's avatar
Dist.  
XhmikosR committed
3405
3406

      if (!context) {
XhmikosR's avatar
XhmikosR committed
3407
3408
        context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
        Data.setData(event.delegateTarget, dataKey, context);
XhmikosR's avatar
Dist.  
XhmikosR committed
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
      }

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

      if (context._isWithActiveTrigger()) {
        context._enter(null, context);
      } else {
        context._leave(null, context);
      }
    } else {
XhmikosR's avatar
XhmikosR committed
3419
      if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3420
3421
3422
3423
3424
3425
3426
        this._leave(null, this);

        return;
      }

      this._enter(null, this);
    }
XhmikosR's avatar
XhmikosR committed
3427
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3428

XhmikosR's avatar
XhmikosR committed
3429
  _proto.dispose = function dispose() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3430
3431
3432
    clearTimeout(this._timeout);
    Data.removeData(this.element, this.constructor.DATA_KEY);
    EventHandler.off(this.element, this.constructor.EVENT_KEY);
XhmikosR's avatar
XhmikosR committed
3433
    EventHandler.off(this.element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
XhmikosR's avatar
Dist.  
XhmikosR committed
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443

    if (this.tip) {
      this.tip.parentNode.removeChild(this.tip);
    }

    this._isEnabled = null;
    this._timeout = null;
    this._hoverState = null;
    this._activeTrigger = null;

XhmikosR's avatar
XhmikosR committed
3444
    if (this._popper) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3445
3446
3447
3448
3449
3450
3451
      this._popper.destroy();
    }

    this._popper = null;
    this.element = null;
    this.config = null;
    this.tip = null;
XhmikosR's avatar
XhmikosR committed
3452
3453
3454
3455
  };

  _proto.show = function show() {
    var _this = this;
XhmikosR's avatar
Dist.  
XhmikosR committed
3456
3457
3458
3459
3460
3461

    if (this.element.style.display === 'none') {
      throw new Error('Please use show on visible elements');
    }

    if (this.isWithContent() && this._isEnabled) {
XhmikosR's avatar
XhmikosR committed
3462
3463
3464
      var showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW);
      var shadowRoot = findShadowRoot(this.element);
      var isInTheDom = shadowRoot === null ? this.element.ownerDocument.documentElement.contains(this.element) : shadowRoot.contains(this.element);
XhmikosR's avatar
Dist.  
XhmikosR committed
3465
3466
3467
3468
3469

      if (showEvent.defaultPrevented || !isInTheDom) {
        return;
      }

XhmikosR's avatar
XhmikosR committed
3470
3471
      var tip = this.getTipElement();
      var tipId = getUID(this.constructor.NAME);
XhmikosR's avatar
Dist.  
XhmikosR committed
3472
3473
3474
3475
3476
      tip.setAttribute('id', tipId);
      this.element.setAttribute('aria-describedby', tipId);
      this.setContent();

      if (this.config.animation) {
XhmikosR's avatar
XhmikosR committed
3477
        tip.classList.add(CLASS_NAME_FADE$1);
XhmikosR's avatar
Dist.  
XhmikosR committed
3478
3479
      }

XhmikosR's avatar
XhmikosR committed
3480
      var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
XhmikosR's avatar
Dist.  
XhmikosR committed
3481

XhmikosR's avatar
XhmikosR committed
3482
      var attachment = this._getAttachment(placement);
XhmikosR's avatar
Dist.  
XhmikosR committed
3483

3484
      this._addAttachmentClass(attachment);
XhmikosR's avatar
Dist.  
XhmikosR committed
3485

XhmikosR's avatar
XhmikosR committed
3486
      var container = this._getContainer();
XhmikosR's avatar
Dist.  
XhmikosR committed
3487
3488
3489
3490
3491
3492
3493
3494

      Data.setData(tip, this.constructor.DATA_KEY, this);

      if (!this.element.ownerDocument.documentElement.contains(this.tip)) {
        container.appendChild(tip);
      }

      EventHandler.trigger(this.element, this.constructor.Event.INSERTED);
XhmikosR's avatar
XhmikosR committed
3495
      this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
XhmikosR's avatar
XhmikosR committed
3496
      tip.classList.add(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we add extra
XhmikosR's avatar
Dist.  
XhmikosR committed
3497
3498
3499
3500
3501
      // 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

      if ('ontouchstart' in document.documentElement) {
XhmikosR's avatar
XhmikosR committed
3502
3503
3504
        var _ref;

        (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3505
3506
3507
3508
          EventHandler.on(element, 'mouseover', noop());
        });
      }

XhmikosR's avatar
XhmikosR committed
3509
3510
3511
      var complete = function complete() {
        if (_this.config.animation) {
          _this._fixTransition();
XhmikosR's avatar
Dist.  
XhmikosR committed
3512
3513
        }

XhmikosR's avatar
XhmikosR committed
3514
3515
3516
        var prevHoverState = _this._hoverState;
        _this._hoverState = null;
        EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN);
XhmikosR's avatar
Dist.  
XhmikosR committed
3517

XhmikosR's avatar
XhmikosR committed
3518
        if (prevHoverState === HOVER_STATE_OUT) {
XhmikosR's avatar
XhmikosR committed
3519
          _this._leave(null, _this);
XhmikosR's avatar
Dist.  
XhmikosR committed
3520
3521
3522
        }
      };

XhmikosR's avatar
XhmikosR committed
3523
      if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
XhmikosR's avatar
XhmikosR committed
3524
        var transitionDuration = getTransitionDurationFromElement(this.tip);
XhmikosR's avatar
Dist.  
XhmikosR committed
3525
3526
3527
3528
3529
3530
        EventHandler.one(this.tip, TRANSITION_END, complete);
        emulateTransitionEnd(this.tip, transitionDuration);
      } else {
        complete();
      }
    }
XhmikosR's avatar
XhmikosR committed
3531
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3532

3533
  _proto.hide = function hide() {
XhmikosR's avatar
XhmikosR committed
3534
    var _this2 = this;
XhmikosR's avatar
Dist.  
XhmikosR committed
3535

XhmikosR's avatar
XhmikosR committed
3536
3537
3538
3539
    if (!this._popper) {
      return;
    }

XhmikosR's avatar
XhmikosR committed
3540
3541
3542
    var tip = this.getTipElement();

    var complete = function complete() {
XhmikosR's avatar
XhmikosR committed
3543
      if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3544
3545
3546
        tip.parentNode.removeChild(tip);
      }

XhmikosR's avatar
XhmikosR committed
3547
3548
3549
      _this2._cleanTipClass();

      _this2.element.removeAttribute('aria-describedby');
XhmikosR's avatar
Dist.  
XhmikosR committed
3550

XhmikosR's avatar
XhmikosR committed
3551
      EventHandler.trigger(_this2.element, _this2.constructor.Event.HIDDEN);
XhmikosR's avatar
Dist.  
XhmikosR committed
3552

3553
      _this2._popper.destroy();
XhmikosR's avatar
Dist.  
XhmikosR committed
3554
3555
    };

XhmikosR's avatar
XhmikosR committed
3556
    var hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE);
XhmikosR's avatar
Dist.  
XhmikosR committed
3557
3558
3559
3560
3561

    if (hideEvent.defaultPrevented) {
      return;
    }

XhmikosR's avatar
XhmikosR committed
3562
    tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
XhmikosR's avatar
Dist.  
XhmikosR committed
3563
3564
3565
    // empty mouseover listeners we added for iOS support

    if ('ontouchstart' in document.documentElement) {
XhmikosR's avatar
XhmikosR committed
3566
3567
3568
      var _ref2;

      (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (element) {
XhmikosR's avatar
XhmikosR committed
3569
3570
        return EventHandler.off(element, 'mouseover', noop);
      });
XhmikosR's avatar
Dist.  
XhmikosR committed
3571
3572
    }

XhmikosR's avatar
XhmikosR committed
3573
3574
3575
    this._activeTrigger[TRIGGER_CLICK] = false;
    this._activeTrigger[TRIGGER_FOCUS] = false;
    this._activeTrigger[TRIGGER_HOVER] = false;
XhmikosR's avatar
Dist.  
XhmikosR committed
3576

XhmikosR's avatar
XhmikosR committed
3577
    if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
XhmikosR's avatar
XhmikosR committed
3578
      var transitionDuration = getTransitionDurationFromElement(tip);
XhmikosR's avatar
Dist.  
XhmikosR committed
3579
3580
3581
3582
3583
3584
3585
      EventHandler.one(tip, TRANSITION_END, complete);
      emulateTransitionEnd(tip, transitionDuration);
    } else {
      complete();
    }

    this._hoverState = '';
XhmikosR's avatar
XhmikosR committed
3586
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3587

XhmikosR's avatar
XhmikosR committed
3588
  _proto.update = function update() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3589
3590
3591
3592
    if (this._popper !== null) {
      this._popper.scheduleUpdate();
    }
  } // Protected
XhmikosR's avatar
XhmikosR committed
3593
  ;
XhmikosR's avatar
Dist.  
XhmikosR committed
3594

XhmikosR's avatar
XhmikosR committed
3595
  _proto.isWithContent = function isWithContent() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3596
    return Boolean(this.getTitle());
XhmikosR's avatar
XhmikosR committed
3597
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3598

XhmikosR's avatar
XhmikosR committed
3599
  _proto.getTipElement = function getTipElement() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3600
3601
3602
3603
    if (this.tip) {
      return this.tip;
    }

XhmikosR's avatar
XhmikosR committed
3604
    var element = document.createElement('div');
XhmikosR's avatar
Dist.  
XhmikosR committed
3605
3606
3607
    element.innerHTML = this.config.template;
    this.tip = element.children[0];
    return this.tip;
XhmikosR's avatar
XhmikosR committed
3608
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3609

XhmikosR's avatar
XhmikosR committed
3610
3611
  _proto.setContent = function setContent() {
    var tip = this.getTipElement();
XhmikosR's avatar
XhmikosR committed
3612
    this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
XhmikosR's avatar
XhmikosR committed
3613
    tip.classList.remove(CLASS_NAME_FADE$1, CLASS_NAME_SHOW$3);
XhmikosR's avatar
XhmikosR committed
3614
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3615

XhmikosR's avatar
XhmikosR committed
3616
  _proto.setElementContent = function setElementContent(element, content) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3617
3618
3619
3620
    if (element === null) {
      return;
    }

3621
    if (typeof content === 'object' && isElement(content)) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
      if (content.jquery) {
        content = content[0];
      } // content is a DOM node or a jQuery


      if (this.config.html) {
        if (content.parentNode !== element) {
          element.innerHTML = '';
          element.appendChild(content);
        }
      } else {
XhmikosR's avatar
XhmikosR committed
3633
        element.textContent = content.textContent;
XhmikosR's avatar
Dist.  
XhmikosR committed
3634
3635
3636
3637
3638
3639
3640
      }

      return;
    }

    if (this.config.html) {
      if (this.config.sanitize) {
XhmikosR's avatar
XhmikosR committed
3641
        content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn);
XhmikosR's avatar
Dist.  
XhmikosR committed
3642
3643
3644
3645
      }

      element.innerHTML = content;
    } else {
XhmikosR's avatar
XhmikosR committed
3646
      element.textContent = content;
XhmikosR's avatar
Dist.  
XhmikosR committed
3647
    }
XhmikosR's avatar
XhmikosR committed
3648
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3649

XhmikosR's avatar
XhmikosR committed
3650
  _proto.getTitle = function getTitle() {
XhmikosR's avatar
XhmikosR committed
3651
    var title = this.element.getAttribute('data-bs-original-title');
XhmikosR's avatar
Dist.  
XhmikosR committed
3652
3653
3654
3655
3656
3657
3658

    if (!title) {
      title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
    }

    return title;
  } // Private
XhmikosR's avatar
XhmikosR committed
3659
  ;
XhmikosR's avatar
Dist.  
XhmikosR committed
3660

XhmikosR's avatar
XhmikosR committed
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
  _proto._getPopperConfig = function _getPopperConfig(attachment) {
    var _this3 = this;

    var defaultBsConfig = {
      placement: attachment,
      modifiers: {
        offset: this._getOffset(),
        flip: {
          behavior: this.config.fallbackPlacement
        },
        arrow: {
          element: "." + this.constructor.NAME + "-arrow"
        },
        preventOverflow: {
          boundariesElement: this.config.boundary
        }
      },
      onCreate: function onCreate(data) {
        if (data.originalPlacement !== data.placement) {
          _this3._handlePopperPlacementChange(data);
        }
      },
      onUpdate: function onUpdate(data) {
        return _this3._handlePopperPlacementChange(data);
      }
    };
XhmikosR's avatar
XhmikosR committed
3687
    return _extends({}, defaultBsConfig, this.config.popperConfig);
XhmikosR's avatar
XhmikosR committed
3688
3689
  };

3690
3691
3692
3693
  _proto._addAttachmentClass = function _addAttachmentClass(attachment) {
    this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment);
  };

XhmikosR's avatar
XhmikosR committed
3694
  _proto._getOffset = function _getOffset() {
XhmikosR's avatar
XhmikosR committed
3695
    var _this4 = this;
XhmikosR's avatar
Dist.  
XhmikosR committed
3696

XhmikosR's avatar
XhmikosR committed
3697
    var offset = {};
XhmikosR's avatar
Dist.  
XhmikosR committed
3698
3699

    if (typeof this.config.offset === 'function') {
XhmikosR's avatar
XhmikosR committed
3700
      offset.fn = function (data) {
XhmikosR's avatar
XhmikosR committed
3701
        data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
XhmikosR's avatar
Dist.  
XhmikosR committed
3702
3703
3704
3705
3706
3707
3708
        return data;
      };
    } else {
      offset.offset = this.config.offset;
    }

    return offset;
XhmikosR's avatar
XhmikosR committed
3709
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3710

XhmikosR's avatar
XhmikosR committed
3711
  _proto._getContainer = function _getContainer() {
XhmikosR's avatar
Dist.  
XhmikosR committed
3712
3713
3714
3715
3716
3717
3718
3719
3720
    if (this.config.container === false) {
      return document.body;
    }

    if (isElement(this.config.container)) {
      return this.config.container;
    }

    return SelectorEngine.findOne(this.config.container);
XhmikosR's avatar
XhmikosR committed
3721
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3722

XhmikosR's avatar
XhmikosR committed
3723
  _proto._getAttachment = function _getAttachment(placement) {
XhmikosR's avatar
XhmikosR committed
3724
    return AttachmentMap[placement.toUpperCase()];
XhmikosR's avatar
XhmikosR committed
3725
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3726

XhmikosR's avatar
XhmikosR committed
3727
  _proto._setListeners = function _setListeners() {
XhmikosR's avatar
XhmikosR committed
3728
    var _this5 = this;
XhmikosR's avatar
XhmikosR committed
3729
3730
3731

    var triggers = this.config.trigger.split(' ');
    triggers.forEach(function (trigger) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3732
      if (trigger === 'click') {
XhmikosR's avatar
XhmikosR committed
3733
3734
        EventHandler.on(_this5.element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
          return _this5.toggle(event);
XhmikosR's avatar
XhmikosR committed
3735
        });
XhmikosR's avatar
XhmikosR committed
3736
3737
3738
      } else if (trigger !== TRIGGER_MANUAL) {
        var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
        var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
XhmikosR's avatar
XhmikosR committed
3739
3740
        EventHandler.on(_this5.element, eventIn, _this5.config.selector, function (event) {
          return _this5._enter(event);
XhmikosR's avatar
XhmikosR committed
3741
        });
XhmikosR's avatar
XhmikosR committed
3742
3743
        EventHandler.on(_this5.element, eventOut, _this5.config.selector, function (event) {
          return _this5._leave(event);
XhmikosR's avatar
XhmikosR committed
3744
        });
XhmikosR's avatar
Dist.  
XhmikosR committed
3745
3746
      }
    });
Mark Otto's avatar
dist v5    
Mark Otto committed
3747
3748

    this._hideModalHandler = function () {
XhmikosR's avatar
XhmikosR committed
3749
3750
      if (_this5.element) {
        _this5.hide();
XhmikosR's avatar
Dist.  
XhmikosR committed
3751
      }
Mark Otto's avatar
dist v5    
Mark Otto committed
3752
3753
    };

XhmikosR's avatar
XhmikosR committed
3754
    EventHandler.on(this.element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
XhmikosR's avatar
Dist.  
XhmikosR committed
3755
3756

    if (this.config.selector) {
XhmikosR's avatar
XhmikosR committed
3757
      this.config = _extends({}, this.config, {
XhmikosR's avatar
Dist.  
XhmikosR committed
3758
3759
3760
3761
3762
3763
        trigger: 'manual',
        selector: ''
      });
    } else {
      this._fixTitle();
    }
XhmikosR's avatar
XhmikosR committed
3764
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3765

XhmikosR's avatar
XhmikosR committed
3766
  _proto._fixTitle = function _fixTitle() {
XhmikosR's avatar
XhmikosR committed
3767
3768
    var title = this.element.getAttribute('title');
    var originalTitleType = typeof this.element.getAttribute('data-bs-original-title');
XhmikosR's avatar
Dist.  
XhmikosR committed
3769

XhmikosR's avatar
XhmikosR committed
3770
3771
    if (title || originalTitleType !== 'string') {
      this.element.setAttribute('data-bs-original-title', title || '');
XhmikosR's avatar
Dist.  
XhmikosR committed
3772
3773
      this.element.setAttribute('title', '');
    }
XhmikosR's avatar
XhmikosR committed
3774
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3775

XhmikosR's avatar
XhmikosR committed
3776
3777
  _proto._enter = function _enter(event, context) {
    var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
3778
    context = context || Data.getData(event.delegateTarget, dataKey);
XhmikosR's avatar
Dist.  
XhmikosR committed
3779
3780

    if (!context) {
XhmikosR's avatar
XhmikosR committed
3781
3782
      context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
      Data.setData(event.delegateTarget, dataKey, context);
XhmikosR's avatar
Dist.  
XhmikosR committed
3783
3784
3785
    }

    if (event) {
XhmikosR's avatar
XhmikosR committed
3786
      context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
XhmikosR's avatar
Dist.  
XhmikosR committed
3787
3788
    }

XhmikosR's avatar
XhmikosR committed
3789
3790
    if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
      context._hoverState = HOVER_STATE_SHOW;
XhmikosR's avatar
Dist.  
XhmikosR committed
3791
3792
3793
3794
      return;
    }

    clearTimeout(context._timeout);
XhmikosR's avatar
XhmikosR committed
3795
    context._hoverState = HOVER_STATE_SHOW;
XhmikosR's avatar
Dist.  
XhmikosR committed
3796
3797
3798
3799
3800
3801

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

XhmikosR's avatar
XhmikosR committed
3802
    context._timeout = setTimeout(function () {
XhmikosR's avatar
XhmikosR committed
3803
      if (context._hoverState === HOVER_STATE_SHOW) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3804
3805
3806
        context.show();
      }
    }, context.config.delay.show);
XhmikosR's avatar
XhmikosR committed
3807
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3808

XhmikosR's avatar
XhmikosR committed
3809
3810
  _proto._leave = function _leave(event, context) {
    var dataKey = this.constructor.DATA_KEY;
XhmikosR's avatar
XhmikosR committed
3811
    context = context || Data.getData(event.delegateTarget, dataKey);
XhmikosR's avatar
Dist.  
XhmikosR committed
3812
3813

    if (!context) {
XhmikosR's avatar
XhmikosR committed
3814
3815
      context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
      Data.setData(event.delegateTarget, dataKey, context);
XhmikosR's avatar
Dist.  
XhmikosR committed
3816
3817
3818
    }

    if (event) {
XhmikosR's avatar
XhmikosR committed
3819
      context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
XhmikosR's avatar
Dist.  
XhmikosR committed
3820
3821
3822
3823
3824
3825
3826
    }

    if (context._isWithActiveTrigger()) {
      return;
    }

    clearTimeout(context._timeout);
XhmikosR's avatar
XhmikosR committed
3827
    context._hoverState = HOVER_STATE_OUT;
XhmikosR's avatar
Dist.  
XhmikosR committed
3828
3829
3830
3831
3832
3833

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

XhmikosR's avatar
XhmikosR committed
3834
    context._timeout = setTimeout(function () {
XhmikosR's avatar
XhmikosR committed
3835
      if (context._hoverState === HOVER_STATE_OUT) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3836
3837
3838
        context.hide();
      }
    }, context.config.delay.hide);
XhmikosR's avatar
XhmikosR committed
3839
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3840

XhmikosR's avatar
XhmikosR committed
3841
3842
  _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
    for (var trigger in this._activeTrigger) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3843
3844
3845
3846
3847
3848
      if (this._activeTrigger[trigger]) {
        return true;
      }
    }

    return false;
XhmikosR's avatar
XhmikosR committed
3849
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3850

XhmikosR's avatar
XhmikosR committed
3851
3852
3853
  _proto._getConfig = function _getConfig(config) {
    var dataAttributes = Manipulator.getDataAttributes(this.element);
    Object.keys(dataAttributes).forEach(function (dataAttr) {
XhmikosR's avatar
XhmikosR committed
3854
      if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3855
3856
3857
3858
3859
3860
3861
3862
        delete dataAttributes[dataAttr];
      }
    });

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

XhmikosR's avatar
XhmikosR committed
3863
    config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
XhmikosR's avatar
Dist.  
XhmikosR committed
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882

    if (typeof config.delay === 'number') {
      config.delay = {
        show: config.delay,
        hide: config.delay
      };
    }

    if (typeof config.title === 'number') {
      config.title = config.title.toString();
    }

    if (typeof config.content === 'number') {
      config.content = config.content.toString();
    }

    typeCheckConfig(NAME$6, config, this.constructor.DefaultType);

    if (config.sanitize) {
XhmikosR's avatar
XhmikosR committed
3883
      config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);
XhmikosR's avatar
Dist.  
XhmikosR committed
3884
3885
3886
    }

    return config;
XhmikosR's avatar
XhmikosR committed
3887
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3888

XhmikosR's avatar
XhmikosR committed
3889
3890
  _proto._getDelegateConfig = function _getDelegateConfig() {
    var config = {};
XhmikosR's avatar
Dist.  
XhmikosR committed
3891
3892

    if (this.config) {
XhmikosR's avatar
XhmikosR committed
3893
      for (var key in this.config) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3894
3895
3896
3897
3898
3899
3900
        if (this.constructor.Default[key] !== this.config[key]) {
          config[key] = this.config[key];
        }
      }
    }

    return config;
XhmikosR's avatar
XhmikosR committed
3901
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3902

XhmikosR's avatar
XhmikosR committed
3903
3904
3905
  _proto._cleanTipClass = function _cleanTipClass() {
    var tip = this.getTipElement();
    var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
XhmikosR's avatar
Dist.  
XhmikosR committed
3906

XhmikosR's avatar
XhmikosR committed
3907
    if (tabClass !== null && tabClass.length > 0) {
XhmikosR's avatar
XhmikosR committed
3908
3909
3910
3911
3912
      tabClass.map(function (token) {
        return token.trim();
      }).forEach(function (tClass) {
        return tip.classList.remove(tClass);
      });
XhmikosR's avatar
Dist.  
XhmikosR committed
3913
    }
XhmikosR's avatar
XhmikosR committed
3914
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3915

XhmikosR's avatar
XhmikosR committed
3916
  _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
XhmikosR's avatar
XhmikosR committed
3917
    this.tip = popperData.instance.popper;
XhmikosR's avatar
Dist.  
XhmikosR committed
3918
3919
3920

    this._cleanTipClass();

3921
    this._addAttachmentClass(this._getAttachment(popperData.placement));
XhmikosR's avatar
XhmikosR committed
3922
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3923

XhmikosR's avatar
XhmikosR committed
3924
3925
3926
  _proto._fixTransition = function _fixTransition() {
    var tip = this.getTipElement();
    var initConfigAnimation = this.config.animation;
XhmikosR's avatar
Dist.  
XhmikosR committed
3927
3928
3929
3930
3931

    if (tip.getAttribute('x-placement') !== null) {
      return;
    }

XhmikosR's avatar
XhmikosR committed
3932
    tip.classList.remove(CLASS_NAME_FADE$1);
XhmikosR's avatar
Dist.  
XhmikosR committed
3933
3934
3935
3936
3937
    this.config.animation = false;
    this.hide();
    this.show();
    this.config.animation = initConfigAnimation;
  } // Static
XhmikosR's avatar
XhmikosR committed
3938
  ;
XhmikosR's avatar
Dist.  
XhmikosR committed
3939

XhmikosR's avatar
XhmikosR committed
3940
  Tooltip.jQueryInterface = function jQueryInterface(config) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3941
    return this.each(function () {
XhmikosR's avatar
XhmikosR committed
3942
      var data = Data.getData(this, DATA_KEY$6);
XhmikosR's avatar
Dist.  
XhmikosR committed
3943

XhmikosR's avatar
XhmikosR committed
3944
      var _config = typeof config === 'object' && config;
XhmikosR's avatar
Dist.  
XhmikosR committed
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955

      if (!data && /dispose|hide/.test(config)) {
        return;
      }

      if (!data) {
        data = new Tooltip(this, _config);
      }

      if (typeof config === 'string') {
        if (typeof data[config] === 'undefined') {
XhmikosR's avatar
XhmikosR committed
3956
          throw new TypeError("No method named \"" + config + "\"");
XhmikosR's avatar
Dist.  
XhmikosR committed
3957
3958
3959
3960
3961
        }

        data[config]();
      }
    });
XhmikosR's avatar
XhmikosR committed
3962
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3963

XhmikosR's avatar
XhmikosR committed
3964
  Tooltip.getInstance = function getInstance(element) {
XhmikosR's avatar
Dist.  
XhmikosR committed
3965
    return Data.getData(element, DATA_KEY$6);
XhmikosR's avatar
XhmikosR committed
3966
  };
XhmikosR's avatar
Dist.  
XhmikosR committed
3967

XhmikosR's avatar
XhmikosR committed
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
  _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
3991
      return Event$1;
XhmikosR's avatar
XhmikosR committed
3992
3993
3994
3995
3996
3997
3998
3999
4000
    }
  }, {
    key: "EVENT_KEY",
    get: function get() {
      return EVENT_KEY$6;
    }
  }, {
    key: "DefaultType",
    get: function get() {
For faster browsing, not all history is shown. View entire blame