<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Toastify.js</id>
	<title>MediaWiki:Gadget-Toastify.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Toastify.js"/>
	<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-Toastify.js&amp;action=history"/>
	<updated>2026-07-18T00:50:20Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-Toastify.js&amp;diff=191&amp;oldid=prev</id>
		<title>鹿野耕云：​创建页面，内容为“/**  * SPDX-License-Identifier: MIT  * _addText: &#039;{{Gadget Header|license=MIT|attribution=2018 apvarun}}&#039;  *  * @base {@link https://github.com/apvarun/toastify-js}  * @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/Toastify}  * @license MIT {@link https://github.com/apvarun/toastify-js/blob/master/LICENSE}  */  /**  * Copyright (c) 2018 apvarun  *  * Permission is hereby granted, free of charge, to any person obtaini…”</title>
		<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-Toastify.js&amp;diff=191&amp;oldid=prev"/>
		<updated>2026-06-13T10:12:58Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“&lt;span class=&quot;autocomment&quot;&gt;*  * SPDX-License-Identifier: MIT  * _addText: &amp;#039;{{Gadget Header|license=MIT|attribution=2018 apvarun}}&amp;#039;  *  * @base {@link https://github.com/apvarun/toastify-js}  * @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/Toastify}  * @license MIT {@link https://github.com/apvarun/toastify-js/blob/master/LICENSE}：​&lt;/span&gt;  /**  * Copyright (c) 2018 apvarun  *  * Permission is hereby granted, free of charge, to any person obtaini…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * SPDX-License-Identifier: MIT&lt;br /&gt;
 * _addText: &amp;#039;{{Gadget Header|license=MIT|attribution=2018 apvarun}}&amp;#039;&lt;br /&gt;
 *&lt;br /&gt;
 * @base {@link https://github.com/apvarun/toastify-js}&lt;br /&gt;
 * @source {@link https://git.qiuwen.net.cn/InterfaceAdmin/QiuwenGadgets/src/branch/master/src/Toastify}&lt;br /&gt;
 * @license MIT {@link https://github.com/apvarun/toastify-js/blob/master/LICENSE}&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Copyright (c) 2018 apvarun&lt;br /&gt;
 *&lt;br /&gt;
 * Permission is hereby granted, free of charge, to any person obtaining&lt;br /&gt;
 * a copy of this software and associated documentation files (the&lt;br /&gt;
 * &amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;br /&gt;
 * without limitation the rights to use, copy, modify, merge, publish,&lt;br /&gt;
 * distribute, sublicense, and/or sell copies of the Software, and to&lt;br /&gt;
 * permit persons to whom the Software is furnished to do so, subject to&lt;br /&gt;
 * the following conditions:&lt;br /&gt;
 *&lt;br /&gt;
 * The above copyright notice and this permission notice shall be&lt;br /&gt;
 * included in all copies or substantial portions of the Software.&lt;br /&gt;
 *&lt;br /&gt;
 * THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
 */&lt;br /&gt;
/**&lt;br /&gt;
 * +------------------------------------------------------------+&lt;br /&gt;
 * |            === WARNING: GLOBAL GADGET FILE ===             |&lt;br /&gt;
 * +------------------------------------------------------------+&lt;br /&gt;
 * |       All changes should be made in the repository,        |&lt;br /&gt;
 * |                otherwise they will be lost.                |&lt;br /&gt;
 * +------------------------------------------------------------+&lt;br /&gt;
 * |        Changes to this page may affect many users.         |&lt;br /&gt;
 * | Please discuss changes by opening an issue before editing. |&lt;br /&gt;
 * +------------------------------------------------------------+&lt;br /&gt;
 */&lt;br /&gt;
/* &amp;lt;nowiki&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
(() =&amp;gt; {&lt;br /&gt;
&lt;br /&gt;
&amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// dist/Toastify/Toastify.js&lt;br /&gt;
function _createForOfIteratorHelper(r, e) {&lt;br /&gt;
  var t = &amp;quot;undefined&amp;quot; != typeof Symbol &amp;amp;&amp;amp; r[Symbol.iterator] || r[&amp;quot;@@iterator&amp;quot;];&lt;br /&gt;
  if (!t) {&lt;br /&gt;
    if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e &amp;amp;&amp;amp; r &amp;amp;&amp;amp; &amp;quot;number&amp;quot; == typeof r.length) {&lt;br /&gt;
      t &amp;amp;&amp;amp; (r = t);&lt;br /&gt;
      var n = 0, F = function() {&lt;br /&gt;
      };&lt;br /&gt;
      return { s: F, n: function() {&lt;br /&gt;
        return n &amp;gt;= r.length ? { done: true } : { done: false, value: r[n++] };&lt;br /&gt;
      }, e: function(r2) {&lt;br /&gt;
        throw r2;&lt;br /&gt;
      }, f: F };&lt;br /&gt;
    }&lt;br /&gt;
    throw new TypeError(&amp;quot;Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  var o, a = true, u = false;&lt;br /&gt;
  return { s: function() {&lt;br /&gt;
    t = t.call(r);&lt;br /&gt;
  }, n: function() {&lt;br /&gt;
    var r2 = t.next();&lt;br /&gt;
    return a = r2.done, r2;&lt;br /&gt;
  }, e: function(r2) {&lt;br /&gt;
    u = true, o = r2;&lt;br /&gt;
  }, f: function() {&lt;br /&gt;
    try {&lt;br /&gt;
      a || null == t.return || t.return();&lt;br /&gt;
    } finally {&lt;br /&gt;
      if (u) throw o;&lt;br /&gt;
    }&lt;br /&gt;
  } };&lt;br /&gt;
}&lt;br /&gt;
function _unsupportedIterableToArray(r, a) {&lt;br /&gt;
  if (r) {&lt;br /&gt;
    if (&amp;quot;string&amp;quot; == typeof r) return _arrayLikeToArray(r, a);&lt;br /&gt;
    var t = {}.toString.call(r).slice(8, -1);&lt;br /&gt;
    return &amp;quot;Object&amp;quot; === t &amp;amp;&amp;amp; r.constructor &amp;amp;&amp;amp; (t = r.constructor.name), &amp;quot;Map&amp;quot; === t || &amp;quot;Set&amp;quot; === t ? Array.from(r) : &amp;quot;Arguments&amp;quot; === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
function _arrayLikeToArray(r, a) {&lt;br /&gt;
  (null == a || a &amp;gt; r.length) &amp;amp;&amp;amp; (a = r.length);&lt;br /&gt;
  for (var e = 0, n = Array(a); e &amp;lt; a; e++) n[e] = r[e];&lt;br /&gt;
  return n;&lt;br /&gt;
}&lt;br /&gt;
var __create = Object.create;&lt;br /&gt;
var __defProp = Object.defineProperty;&lt;br /&gt;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;&lt;br /&gt;
var __getOwnPropNames = Object.getOwnPropertyNames;&lt;br /&gt;
var __getProtoOf = Object.getPrototypeOf;&lt;br /&gt;
var __hasOwnProp = Object.prototype.hasOwnProperty;&lt;br /&gt;
var __commonJS = (cb, mod) =&amp;gt; function __require() {&lt;br /&gt;
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {&lt;br /&gt;
    exports: {}&lt;br /&gt;
  }).exports, mod), mod.exports;&lt;br /&gt;
};&lt;br /&gt;
var __export = (target, all) =&amp;gt; {&lt;br /&gt;
  for (var name in all) __defProp(target, name, {&lt;br /&gt;
    get: all[name],&lt;br /&gt;
    enumerable: true&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
var __copyProps = (to, from, except, desc) =&amp;gt; {&lt;br /&gt;
  if (from &amp;amp;&amp;amp; typeof from === &amp;quot;object&amp;quot; || typeof from === &amp;quot;function&amp;quot;) {&lt;br /&gt;
    var _iterator = _createForOfIteratorHelper(__getOwnPropNames(from)), _step;&lt;br /&gt;
    try {&lt;br /&gt;
      for (_iterator.s(); !(_step = _iterator.n()).done; ) {&lt;br /&gt;
        let key = _step.value;&lt;br /&gt;
        if (!__hasOwnProp.call(to, key) &amp;amp;&amp;amp; key !== except) __defProp(to, key, {&lt;br /&gt;
          get: () =&amp;gt; from[key],&lt;br /&gt;
          enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
    } catch (err) {&lt;br /&gt;
      _iterator.e(err);&lt;br /&gt;
    } finally {&lt;br /&gt;
      _iterator.f();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return to;&lt;br /&gt;
};&lt;br /&gt;
var __toESM = (mod, isNodeMode, target) =&amp;gt; (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(&lt;br /&gt;
  // If the importer is in node compatibility mode or this is not an ESM&lt;br /&gt;
  // file that has been converted to a CommonJS file using a Babel-&lt;br /&gt;
  // compatible transform (i.e. &amp;quot;__esModule&amp;quot; has not been set), then set&lt;br /&gt;
  // &amp;quot;default&amp;quot; to the CommonJS &amp;quot;module.exports&amp;quot; for node compatibility.&lt;br /&gt;
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, &amp;quot;default&amp;quot;, {&lt;br /&gt;
    value: mod,&lt;br /&gt;
    enumerable: true&lt;br /&gt;
  }) : target,&lt;br /&gt;
  mod&lt;br /&gt;
));&lt;br /&gt;
var __toCommonJS = (mod) =&amp;gt; __copyProps(__defProp({}, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
  value: true&lt;br /&gt;
}), mod);&lt;br /&gt;
var require_toastify = __commonJS({&lt;br /&gt;
  &amp;quot;node_modules/.pnpm/toastify-js@1.12.0/node_modules/toastify-js/src/toastify.js&amp;quot;(exports2, module2) {&lt;br /&gt;
    /*!&lt;br /&gt;
     * Toastify js 1.12.0&lt;br /&gt;
     * https://github.com/apvarun/toastify-js&lt;br /&gt;
     * @license MIT licensed&lt;br /&gt;
     *&lt;br /&gt;
     * Copyright (C) 2018 Varun A P&lt;br /&gt;
     */&lt;br /&gt;
    (function(root, factory) {&lt;br /&gt;
      if (typeof module2 === &amp;quot;object&amp;quot; &amp;amp;&amp;amp; module2.exports) {&lt;br /&gt;
        module2.exports = factory();&lt;br /&gt;
      } else {&lt;br /&gt;
        root.Toastify = factory();&lt;br /&gt;
      }&lt;br /&gt;
    })(exports2, function(global) {&lt;br /&gt;
      var Toastify2 = function(options) {&lt;br /&gt;
        return new Toastify2.lib.init(options);&lt;br /&gt;
      }, version = &amp;quot;1.12.0&amp;quot;;&lt;br /&gt;
      Toastify2.defaults = {&lt;br /&gt;
        oldestFirst: true,&lt;br /&gt;
        text: &amp;quot;Toastify is awesome!&amp;quot;,&lt;br /&gt;
        node: void 0,&lt;br /&gt;
        duration: 3e3,&lt;br /&gt;
        selector: void 0,&lt;br /&gt;
        callback: function() {&lt;br /&gt;
        },&lt;br /&gt;
        destination: void 0,&lt;br /&gt;
        newWindow: false,&lt;br /&gt;
        close: false,&lt;br /&gt;
        gravity: &amp;quot;toastify-top&amp;quot;,&lt;br /&gt;
        positionLeft: false,&lt;br /&gt;
        position: &amp;quot;&amp;quot;,&lt;br /&gt;
        backgroundColor: &amp;quot;&amp;quot;,&lt;br /&gt;
        avatar: &amp;quot;&amp;quot;,&lt;br /&gt;
        className: &amp;quot;&amp;quot;,&lt;br /&gt;
        stopOnFocus: true,&lt;br /&gt;
        onClick: function() {&lt;br /&gt;
        },&lt;br /&gt;
        offset: {&lt;br /&gt;
          x: 0,&lt;br /&gt;
          y: 0&lt;br /&gt;
        },&lt;br /&gt;
        escapeMarkup: true,&lt;br /&gt;
        ariaLive: &amp;quot;polite&amp;quot;,&lt;br /&gt;
        style: {&lt;br /&gt;
          background: &amp;quot;&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      };&lt;br /&gt;
      Toastify2.lib = Toastify2.prototype = {&lt;br /&gt;
        toastify: version,&lt;br /&gt;
        constructor: Toastify2,&lt;br /&gt;
        // Initializing the object with required parameters&lt;br /&gt;
        init: function(options) {&lt;br /&gt;
          if (!options) {&lt;br /&gt;
            options = {};&lt;br /&gt;
          }&lt;br /&gt;
          this.options = {};&lt;br /&gt;
          this.toastElement = null;&lt;br /&gt;
          this.options.text = options.text || Toastify2.defaults.text;&lt;br /&gt;
          this.options.node = options.node || Toastify2.defaults.node;&lt;br /&gt;
          this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify2.defaults.duration;&lt;br /&gt;
          this.options.selector = options.selector || Toastify2.defaults.selector;&lt;br /&gt;
          this.options.callback = options.callback || Toastify2.defaults.callback;&lt;br /&gt;
          this.options.destination = options.destination || Toastify2.defaults.destination;&lt;br /&gt;
          this.options.newWindow = options.newWindow || Toastify2.defaults.newWindow;&lt;br /&gt;
          this.options.close = options.close || Toastify2.defaults.close;&lt;br /&gt;
          this.options.gravity = options.gravity === &amp;quot;bottom&amp;quot; ? &amp;quot;toastify-bottom&amp;quot; : Toastify2.defaults.gravity;&lt;br /&gt;
          this.options.positionLeft = options.positionLeft || Toastify2.defaults.positionLeft;&lt;br /&gt;
          this.options.position = options.position || Toastify2.defaults.position;&lt;br /&gt;
          this.options.backgroundColor = options.backgroundColor || Toastify2.defaults.backgroundColor;&lt;br /&gt;
          this.options.avatar = options.avatar || Toastify2.defaults.avatar;&lt;br /&gt;
          this.options.className = options.className || Toastify2.defaults.className;&lt;br /&gt;
          this.options.stopOnFocus = options.stopOnFocus === void 0 ? Toastify2.defaults.stopOnFocus : options.stopOnFocus;&lt;br /&gt;
          this.options.onClick = options.onClick || Toastify2.defaults.onClick;&lt;br /&gt;
          this.options.offset = options.offset || Toastify2.defaults.offset;&lt;br /&gt;
          this.options.escapeMarkup = options.escapeMarkup !== void 0 ? options.escapeMarkup : Toastify2.defaults.escapeMarkup;&lt;br /&gt;
          this.options.ariaLive = options.ariaLive || Toastify2.defaults.ariaLive;&lt;br /&gt;
          this.options.style = options.style || Toastify2.defaults.style;&lt;br /&gt;
          if (options.backgroundColor) {&lt;br /&gt;
            this.options.style.background = options.backgroundColor;&lt;br /&gt;
          }&lt;br /&gt;
          return this;&lt;br /&gt;
        },&lt;br /&gt;
        // Building the DOM element&lt;br /&gt;
        buildToast: function() {&lt;br /&gt;
          if (!this.options) {&lt;br /&gt;
            throw &amp;quot;Toastify is not initialized&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          var divElement = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
          divElement.className = &amp;quot;toastify on &amp;quot; + this.options.className;&lt;br /&gt;
          if (!!this.options.position) {&lt;br /&gt;
            divElement.className += &amp;quot; toastify-&amp;quot; + this.options.position;&lt;br /&gt;
          } else {&lt;br /&gt;
            if (this.options.positionLeft === true) {&lt;br /&gt;
              divElement.className += &amp;quot; toastify-left&amp;quot;;&lt;br /&gt;
              console.warn(&amp;quot;Property `positionLeft` will be depreciated in further versions. Please use `position` instead.&amp;quot;);&lt;br /&gt;
            } else {&lt;br /&gt;
              divElement.className += &amp;quot; toastify-right&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          divElement.className += &amp;quot; &amp;quot; + this.options.gravity;&lt;br /&gt;
          if (this.options.backgroundColor) {&lt;br /&gt;
            console.warn(&amp;#039;DEPRECATION NOTICE: &amp;quot;backgroundColor&amp;quot; is being deprecated. Please use the &amp;quot;style.background&amp;quot; property.&amp;#039;);&lt;br /&gt;
          }&lt;br /&gt;
          for (var property in this.options.style) {&lt;br /&gt;
            divElement.style[property] = this.options.style[property];&lt;br /&gt;
          }&lt;br /&gt;
          if (this.options.ariaLive) {&lt;br /&gt;
            divElement.setAttribute(&amp;quot;aria-live&amp;quot;, this.options.ariaLive);&lt;br /&gt;
          }&lt;br /&gt;
          if (this.options.node &amp;amp;&amp;amp; this.options.node.nodeType === Node.ELEMENT_NODE) {&lt;br /&gt;
            divElement.appendChild(this.options.node);&lt;br /&gt;
          } else {&lt;br /&gt;
            if (this.options.escapeMarkup) {&lt;br /&gt;
              divElement.innerText = this.options.text;&lt;br /&gt;
            } else {&lt;br /&gt;
              divElement.innerHTML = this.options.text;&lt;br /&gt;
            }&lt;br /&gt;
            if (this.options.avatar !== &amp;quot;&amp;quot;) {&lt;br /&gt;
              var avatarElement = document.createElement(&amp;quot;img&amp;quot;);&lt;br /&gt;
              avatarElement.src = this.options.avatar;&lt;br /&gt;
              avatarElement.className = &amp;quot;toastify-avatar&amp;quot;;&lt;br /&gt;
              if (this.options.position == &amp;quot;left&amp;quot; || this.options.positionLeft === true) {&lt;br /&gt;
                divElement.appendChild(avatarElement);&lt;br /&gt;
              } else {&lt;br /&gt;
                divElement.insertAdjacentElement(&amp;quot;afterbegin&amp;quot;, avatarElement);&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          if (this.options.close === true) {&lt;br /&gt;
            var closeElement = document.createElement(&amp;quot;button&amp;quot;);&lt;br /&gt;
            closeElement.type = &amp;quot;button&amp;quot;;&lt;br /&gt;
            closeElement.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Close&amp;quot;);&lt;br /&gt;
            closeElement.className = &amp;quot;toast-close&amp;quot;;&lt;br /&gt;
            closeElement.innerHTML = &amp;quot;&amp;amp;#10006;&amp;quot;;&lt;br /&gt;
            closeElement.addEventListener(&amp;quot;click&amp;quot;, function(event) {&lt;br /&gt;
              event.stopPropagation();&lt;br /&gt;
              this.removeElement(this.toastElement);&lt;br /&gt;
              window.clearTimeout(this.toastElement.timeOutValue);&lt;br /&gt;
            }.bind(this));&lt;br /&gt;
            var width = window.innerWidth &amp;gt; 0 ? window.innerWidth : screen.width;&lt;br /&gt;
            if ((this.options.position == &amp;quot;left&amp;quot; || this.options.positionLeft === true) &amp;amp;&amp;amp; width &amp;gt; 360) {&lt;br /&gt;
              divElement.insertAdjacentElement(&amp;quot;afterbegin&amp;quot;, closeElement);&lt;br /&gt;
            } else {&lt;br /&gt;
              divElement.appendChild(closeElement);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          if (this.options.stopOnFocus &amp;amp;&amp;amp; this.options.duration &amp;gt; 0) {&lt;br /&gt;
            var self = this;&lt;br /&gt;
            divElement.addEventListener(&amp;quot;mouseover&amp;quot;, function(event) {&lt;br /&gt;
              window.clearTimeout(divElement.timeOutValue);&lt;br /&gt;
            });&lt;br /&gt;
            divElement.addEventListener(&amp;quot;mouseleave&amp;quot;, function() {&lt;br /&gt;
              divElement.timeOutValue = window.setTimeout(function() {&lt;br /&gt;
                self.removeElement(divElement);&lt;br /&gt;
              }, self.options.duration);&lt;br /&gt;
            });&lt;br /&gt;
          }&lt;br /&gt;
          if (typeof this.options.destination !== &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
            divElement.addEventListener(&amp;quot;click&amp;quot;, function(event) {&lt;br /&gt;
              event.stopPropagation();&lt;br /&gt;
              if (this.options.newWindow === true) {&lt;br /&gt;
                window.open(this.options.destination, &amp;quot;_blank&amp;quot;);&lt;br /&gt;
              } else {&lt;br /&gt;
                window.location = this.options.destination;&lt;br /&gt;
              }&lt;br /&gt;
            }.bind(this));&lt;br /&gt;
          }&lt;br /&gt;
          if (typeof this.options.onClick === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof this.options.destination === &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
            divElement.addEventListener(&amp;quot;click&amp;quot;, function(event) {&lt;br /&gt;
              event.stopPropagation();&lt;br /&gt;
              this.options.onClick();&lt;br /&gt;
            }.bind(this));&lt;br /&gt;
          }&lt;br /&gt;
          if (typeof this.options.offset === &amp;quot;object&amp;quot;) {&lt;br /&gt;
            var x = getAxisOffsetAValue(&amp;quot;x&amp;quot;, this.options);&lt;br /&gt;
            var y = getAxisOffsetAValue(&amp;quot;y&amp;quot;, this.options);&lt;br /&gt;
            var xOffset = this.options.position == &amp;quot;left&amp;quot; ? x : &amp;quot;-&amp;quot; + x;&lt;br /&gt;
            var yOffset = this.options.gravity == &amp;quot;toastify-top&amp;quot; ? y : &amp;quot;-&amp;quot; + y;&lt;br /&gt;
            divElement.style.transform = &amp;quot;translate(&amp;quot; + xOffset + &amp;quot;,&amp;quot; + yOffset + &amp;quot;)&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          return divElement;&lt;br /&gt;
        },&lt;br /&gt;
        // Displaying the toast&lt;br /&gt;
        showToast: function() {&lt;br /&gt;
          this.toastElement = this.buildToast();&lt;br /&gt;
          var rootElement;&lt;br /&gt;
          if (typeof this.options.selector === &amp;quot;string&amp;quot;) {&lt;br /&gt;
            rootElement = document.getElementById(this.options.selector);&lt;br /&gt;
          } else if (this.options.selector instanceof HTMLElement || typeof ShadowRoot !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; this.options.selector instanceof ShadowRoot) {&lt;br /&gt;
            rootElement = this.options.selector;&lt;br /&gt;
          } else {&lt;br /&gt;
            rootElement = document.body;&lt;br /&gt;
          }&lt;br /&gt;
          if (!rootElement) {&lt;br /&gt;
            throw &amp;quot;Root element is not defined&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          var elementToInsert = Toastify2.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;&lt;br /&gt;
          rootElement.insertBefore(this.toastElement, elementToInsert);&lt;br /&gt;
          Toastify2.reposition();&lt;br /&gt;
          if (this.options.duration &amp;gt; 0) {&lt;br /&gt;
            this.toastElement.timeOutValue = window.setTimeout(function() {&lt;br /&gt;
              this.removeElement(this.toastElement);&lt;br /&gt;
            }.bind(this), this.options.duration);&lt;br /&gt;
          }&lt;br /&gt;
          return this;&lt;br /&gt;
        },&lt;br /&gt;
        hideToast: function() {&lt;br /&gt;
          if (this.toastElement.timeOutValue) {&lt;br /&gt;
            clearTimeout(this.toastElement.timeOutValue);&lt;br /&gt;
          }&lt;br /&gt;
          this.removeElement(this.toastElement);&lt;br /&gt;
        },&lt;br /&gt;
        // Removing the element from the DOM&lt;br /&gt;
        removeElement: function(toastElement) {&lt;br /&gt;
          toastElement.className = toastElement.className.replace(&amp;quot; on&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
          window.setTimeout(function() {&lt;br /&gt;
            if (this.options.node &amp;amp;&amp;amp; this.options.node.parentNode) {&lt;br /&gt;
              this.options.node.parentNode.removeChild(this.options.node);&lt;br /&gt;
            }&lt;br /&gt;
            if (toastElement.parentNode) {&lt;br /&gt;
              toastElement.parentNode.removeChild(toastElement);&lt;br /&gt;
            }&lt;br /&gt;
            this.options.callback.call(toastElement);&lt;br /&gt;
            Toastify2.reposition();&lt;br /&gt;
          }.bind(this), 400);&lt;br /&gt;
        }&lt;br /&gt;
      };&lt;br /&gt;
      Toastify2.reposition = function() {&lt;br /&gt;
        var topLeftOffsetSize = {&lt;br /&gt;
          top: 15,&lt;br /&gt;
          bottom: 15&lt;br /&gt;
        };&lt;br /&gt;
        var topRightOffsetSize = {&lt;br /&gt;
          top: 15,&lt;br /&gt;
          bottom: 15&lt;br /&gt;
        };&lt;br /&gt;
        var offsetSize = {&lt;br /&gt;
          top: 15,&lt;br /&gt;
          bottom: 15&lt;br /&gt;
        };&lt;br /&gt;
        var allToasts = document.getElementsByClassName(&amp;quot;toastify&amp;quot;);&lt;br /&gt;
        var classUsed;&lt;br /&gt;
        for (var i = 0; i &amp;lt; allToasts.length; i++) {&lt;br /&gt;
          if (containsClass(allToasts[i], &amp;quot;toastify-top&amp;quot;) === true) {&lt;br /&gt;
            classUsed = &amp;quot;toastify-top&amp;quot;;&lt;br /&gt;
          } else {&lt;br /&gt;
            classUsed = &amp;quot;toastify-bottom&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          var height = allToasts[i].offsetHeight;&lt;br /&gt;
          classUsed = classUsed.substr(9, classUsed.length - 1);&lt;br /&gt;
          var offset = 15;&lt;br /&gt;
          var width = window.innerWidth &amp;gt; 0 ? window.innerWidth : screen.width;&lt;br /&gt;
          if (width &amp;lt;= 360) {&lt;br /&gt;
            allToasts[i].style[classUsed] = offsetSize[classUsed] + &amp;quot;px&amp;quot;;&lt;br /&gt;
            offsetSize[classUsed] += height + offset;&lt;br /&gt;
          } else {&lt;br /&gt;
            if (containsClass(allToasts[i], &amp;quot;toastify-left&amp;quot;) === true) {&lt;br /&gt;
              allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + &amp;quot;px&amp;quot;;&lt;br /&gt;
              topLeftOffsetSize[classUsed] += height + offset;&lt;br /&gt;
            } else {&lt;br /&gt;
              allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + &amp;quot;px&amp;quot;;&lt;br /&gt;
              topRightOffsetSize[classUsed] += height + offset;&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        return this;&lt;br /&gt;
      };&lt;br /&gt;
      function getAxisOffsetAValue(axis, options) {&lt;br /&gt;
        if (options.offset[axis]) {&lt;br /&gt;
          if (isNaN(options.offset[axis])) {&lt;br /&gt;
            return options.offset[axis];&lt;br /&gt;
          } else {&lt;br /&gt;
            return options.offset[axis] + &amp;quot;px&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        return &amp;quot;0px&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      function containsClass(elem, yourClass) {&lt;br /&gt;
        if (!elem || typeof yourClass !== &amp;quot;string&amp;quot;) {&lt;br /&gt;
          return false;&lt;br /&gt;
        } else if (elem.className &amp;amp;&amp;amp; elem.className.trim().split(/\s+/gi).indexOf(yourClass) &amp;gt; -1) {&lt;br /&gt;
          return true;&lt;br /&gt;
        } else {&lt;br /&gt;
          return false;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Toastify2.lib.init.prototype = Toastify2.lib;&lt;br /&gt;
      return Toastify2;&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
//! src/Toastify/Toastify.ts&lt;br /&gt;
var Toastify_exports = {};&lt;br /&gt;
__export(Toastify_exports, {&lt;br /&gt;
  toastify: () =&amp;gt; toastify&lt;br /&gt;
});&lt;br /&gt;
module.exports = __toCommonJS(Toastify_exports);&lt;br /&gt;
var import_toastify_js = __toESM(require_toastify(), 1);&lt;br /&gt;
var toastify = (options, type) =&amp;gt; {&lt;br /&gt;
  var _options, _options2;&lt;br /&gt;
  options !== null &amp;amp;&amp;amp; options !== void 0 ? options : options = {};&lt;br /&gt;
  let className = &amp;quot;gadget-toastify&amp;quot;;&lt;br /&gt;
  if (type) {&lt;br /&gt;
    switch (type) {&lt;br /&gt;
      case &amp;quot;error&amp;quot;:&lt;br /&gt;
        className += &amp;quot; &amp;quot;.concat(className, &amp;quot;--error&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;success&amp;quot;:&lt;br /&gt;
        className += &amp;quot; &amp;quot;.concat(className, &amp;quot;--success&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;warning&amp;quot;:&lt;br /&gt;
        className += &amp;quot; &amp;quot;.concat(className, &amp;quot;--warning&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        className += &amp;quot; &amp;quot;.concat(className, &amp;quot;--info&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  options.className = className;&lt;br /&gt;
  (_options = options).gravity || (_options.gravity = &amp;quot;bottom&amp;quot;);&lt;br /&gt;
  (_options2 = options).position || (_options2.position = &amp;quot;center&amp;quot;);&lt;br /&gt;
  const instance = (0, import_toastify_js.default)(options);&lt;br /&gt;
  instance.showToast();&lt;br /&gt;
  return {&lt;br /&gt;
    hideToast: instance.hideToast.bind(instance)&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt; */&lt;/div&gt;</summary>
		<author><name>鹿野耕云</name></author>
	</entry>
</feed>