mirror of
				https://github.com/twbs/bootstrap.git
				synced 2025-11-04 00:03:15 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			280 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			280 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*!
 | 
						|
  * Bootstrap toast.js v4.1.3 (https://getbootstrap.com/)
 | 
						|
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
 | 
						|
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | 
						|
  */
 | 
						|
(function (global, factory) {
 | 
						|
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
 | 
						|
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
 | 
						|
  (global.Toast = factory(global.jQuery,global.Util));
 | 
						|
}(this, (function ($,Util) { 'use strict';
 | 
						|
 | 
						|
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
 | 
						|
  Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
 | 
						|
 | 
						|
  function _defineProperties(target, props) {
 | 
						|
    for (var i = 0; i < props.length; i++) {
 | 
						|
      var descriptor = props[i];
 | 
						|
      descriptor.enumerable = descriptor.enumerable || false;
 | 
						|
      descriptor.configurable = true;
 | 
						|
      if ("value" in descriptor) descriptor.writable = true;
 | 
						|
      Object.defineProperty(target, descriptor.key, descriptor);
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  function _createClass(Constructor, protoProps, staticProps) {
 | 
						|
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
 | 
						|
    if (staticProps) _defineProperties(Constructor, staticProps);
 | 
						|
    return Constructor;
 | 
						|
  }
 | 
						|
 | 
						|
  function _defineProperty(obj, key, value) {
 | 
						|
    if (key in obj) {
 | 
						|
      Object.defineProperty(obj, key, {
 | 
						|
        value: value,
 | 
						|
        enumerable: true,
 | 
						|
        configurable: true,
 | 
						|
        writable: true
 | 
						|
      });
 | 
						|
    } else {
 | 
						|
      obj[key] = value;
 | 
						|
    }
 | 
						|
 | 
						|
    return obj;
 | 
						|
  }
 | 
						|
 | 
						|
  function _objectSpread(target) {
 | 
						|
    for (var i = 1; i < arguments.length; i++) {
 | 
						|
      var source = arguments[i] != null ? arguments[i] : {};
 | 
						|
      var ownKeys = Object.keys(source);
 | 
						|
 | 
						|
      if (typeof Object.getOwnPropertySymbols === 'function') {
 | 
						|
        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
 | 
						|
          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
 | 
						|
        }));
 | 
						|
      }
 | 
						|
 | 
						|
      ownKeys.forEach(function (key) {
 | 
						|
        _defineProperty(target, key, source[key]);
 | 
						|
      });
 | 
						|
    }
 | 
						|
 | 
						|
    return target;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * --------------------------------------------------------------------------
 | 
						|
   * Bootstrap (v4.1.3): toast.js
 | 
						|
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | 
						|
   * --------------------------------------------------------------------------
 | 
						|
   */
 | 
						|
 | 
						|
  var Toast = function ($$$1) {
 | 
						|
    /**
 | 
						|
     * ------------------------------------------------------------------------
 | 
						|
     * Constants
 | 
						|
     * ------------------------------------------------------------------------
 | 
						|
     */
 | 
						|
    var NAME = 'toast';
 | 
						|
    var VERSION = '4.1.3';
 | 
						|
    var DATA_KEY = 'bs.toast';
 | 
						|
    var EVENT_KEY = "." + DATA_KEY;
 | 
						|
    var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
 | 
						|
    var Event = {
 | 
						|
      CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
 | 
						|
      HIDE: "hide" + EVENT_KEY,
 | 
						|
      HIDDEN: "hidden" + EVENT_KEY,
 | 
						|
      SHOW: "show" + EVENT_KEY,
 | 
						|
      SHOWN: "shown" + EVENT_KEY
 | 
						|
    };
 | 
						|
    var ClassName = {
 | 
						|
      FADE: 'fade',
 | 
						|
      HIDE: 'hide',
 | 
						|
      SHOW: 'show'
 | 
						|
    };
 | 
						|
    var DefaultType = {
 | 
						|
      animation: 'boolean',
 | 
						|
      autohide: 'boolean',
 | 
						|
      delay: 'number'
 | 
						|
    };
 | 
						|
    var Default = {
 | 
						|
      animation: true,
 | 
						|
      autohide: true,
 | 
						|
      delay: 500
 | 
						|
    };
 | 
						|
    var Selector = {
 | 
						|
      DATA_DISMISS: '[data-dismiss="toast"]'
 | 
						|
      /**
 | 
						|
       * ------------------------------------------------------------------------
 | 
						|
       * Class Definition
 | 
						|
       * ------------------------------------------------------------------------
 | 
						|
       */
 | 
						|
 | 
						|
    };
 | 
						|
 | 
						|
    var Toast =
 | 
						|
    /*#__PURE__*/
 | 
						|
    function () {
 | 
						|
      function Toast(element, config) {
 | 
						|
        this._element = element;
 | 
						|
        this._config = this._getConfig(config);
 | 
						|
        this._timeout = null;
 | 
						|
 | 
						|
        this._setListeners();
 | 
						|
      } // Getters
 | 
						|
 | 
						|
 | 
						|
      var _proto = Toast.prototype;
 | 
						|
 | 
						|
      // Public
 | 
						|
      _proto.show = function show() {
 | 
						|
        var _this = this;
 | 
						|
 | 
						|
        $$$1(this._element).trigger(Event.SHOW);
 | 
						|
 | 
						|
        if (this._config.animation) {
 | 
						|
          this._element.classList.add(ClassName.FADE);
 | 
						|
        }
 | 
						|
 | 
						|
        var complete = function complete() {
 | 
						|
          $$$1(_this._element).trigger(Event.SHOWN);
 | 
						|
 | 
						|
          if (_this._config.autohide) {
 | 
						|
            _this.hide();
 | 
						|
          }
 | 
						|
        };
 | 
						|
 | 
						|
        this._element.classList.add(ClassName.SHOW);
 | 
						|
 | 
						|
        if (this._config.animation) {
 | 
						|
          var transitionDuration = Util.getTransitionDurationFromElement(this._element);
 | 
						|
          $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
 | 
						|
        } else {
 | 
						|
          complete();
 | 
						|
        }
 | 
						|
      };
 | 
						|
 | 
						|
      _proto.hide = function hide(withoutTimeout) {
 | 
						|
        var _this2 = this;
 | 
						|
 | 
						|
        if (!this._element.classList.contains(ClassName.SHOW)) {
 | 
						|
          return;
 | 
						|
        }
 | 
						|
 | 
						|
        $$$1(this._element).trigger(Event.HIDE);
 | 
						|
 | 
						|
        if (withoutTimeout) {
 | 
						|
          this._close();
 | 
						|
        } else {
 | 
						|
          this._timeout = setTimeout(function () {
 | 
						|
            _this2._close();
 | 
						|
          }, this._config.delay);
 | 
						|
        }
 | 
						|
      };
 | 
						|
 | 
						|
      _proto.dispose = function dispose() {
 | 
						|
        clearTimeout(this._timeout);
 | 
						|
        this._timeout = null;
 | 
						|
 | 
						|
        if (this._element.classList.contains(ClassName.SHOW)) {
 | 
						|
          this._element.classList.remove(ClassName.SHOW);
 | 
						|
        }
 | 
						|
 | 
						|
        $$$1(this._element).off(Event.CLICK_DISMISS);
 | 
						|
        $$$1.removeData(this._element, DATA_KEY);
 | 
						|
        this._element = null;
 | 
						|
        this._config = null;
 | 
						|
      }; // Private
 | 
						|
 | 
						|
 | 
						|
      _proto._getConfig = function _getConfig(config) {
 | 
						|
        config = _objectSpread({}, Default, $$$1(this._element).data(), typeof config === 'object' && config ? config : {});
 | 
						|
        Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 | 
						|
        return config;
 | 
						|
      };
 | 
						|
 | 
						|
      _proto._setListeners = function _setListeners() {
 | 
						|
        var _this3 = this;
 | 
						|
 | 
						|
        $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
 | 
						|
          return _this3.hide(true);
 | 
						|
        });
 | 
						|
      };
 | 
						|
 | 
						|
      _proto._close = function _close() {
 | 
						|
        var _this4 = this;
 | 
						|
 | 
						|
        var complete = function complete() {
 | 
						|
          $$$1(_this4._element).trigger(Event.HIDDEN);
 | 
						|
        };
 | 
						|
 | 
						|
        this._element.classList.remove(ClassName.SHOW);
 | 
						|
 | 
						|
        if (this._config.animation) {
 | 
						|
          var transitionDuration = Util.getTransitionDurationFromElement(this._element);
 | 
						|
          $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
 | 
						|
        } else {
 | 
						|
          complete();
 | 
						|
        }
 | 
						|
      }; // Static
 | 
						|
 | 
						|
 | 
						|
      Toast._jQueryInterface = function _jQueryInterface(config) {
 | 
						|
        return this.each(function () {
 | 
						|
          var $element = $$$1(this);
 | 
						|
          var data = $element.data(DATA_KEY);
 | 
						|
 | 
						|
          var _config = typeof config === 'object' && config;
 | 
						|
 | 
						|
          if (!data) {
 | 
						|
            data = new Toast(this, _config);
 | 
						|
            $element.data(DATA_KEY, data);
 | 
						|
          }
 | 
						|
 | 
						|
          if (typeof config === 'string') {
 | 
						|
            if (typeof data[config] === 'undefined') {
 | 
						|
              throw new TypeError("No method named \"" + config + "\"");
 | 
						|
            }
 | 
						|
 | 
						|
            data[config](this);
 | 
						|
          }
 | 
						|
        });
 | 
						|
      };
 | 
						|
 | 
						|
      _createClass(Toast, null, [{
 | 
						|
        key: "VERSION",
 | 
						|
        get: function get() {
 | 
						|
          return VERSION;
 | 
						|
        }
 | 
						|
      }, {
 | 
						|
        key: "DefaultType",
 | 
						|
        get: function get() {
 | 
						|
          return DefaultType;
 | 
						|
        }
 | 
						|
      }]);
 | 
						|
 | 
						|
      return Toast;
 | 
						|
    }();
 | 
						|
    /**
 | 
						|
     * ------------------------------------------------------------------------
 | 
						|
     * jQuery
 | 
						|
     * ------------------------------------------------------------------------
 | 
						|
     */
 | 
						|
 | 
						|
 | 
						|
    $$$1.fn[NAME] = Toast._jQueryInterface;
 | 
						|
    $$$1.fn[NAME].Constructor = Toast;
 | 
						|
 | 
						|
    $$$1.fn[NAME].noConflict = function () {
 | 
						|
      $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
 | 
						|
      return Toast._jQueryInterface;
 | 
						|
    };
 | 
						|
 | 
						|
    return Toast;
 | 
						|
  }($);
 | 
						|
 | 
						|
  return Toast;
 | 
						|
 | 
						|
})));
 | 
						|
//# sourceMappingURL=toast.js.map
 |