{"version":3,"sources":["jsdelivr-header.js","/npm/toastr@2.1.4/toastr.js"],"names":[],"mappings":"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","file":"/npm/toastr@2.1.4/toastr.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/toastr@2.1.4/toastr.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\n * Toastr\n * Copyright 2012-2015\n * Authors: John Papa, Hans Fjällemark, and Tim Ferrell.\n * All Rights Reserved.\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\n * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php\n *\n * ARIA Support: Greta Krafsig\n *\n * Project: https://github.com/CodeSeven/toastr\n */\n/* global define */\n(function (define) {\n    define(['jquery'], function ($) {\n        return (function () {\n            var $container;\n            var listener;\n            var toastId = 0;\n            var toastType = {\n                error: 'error',\n                info: 'info',\n                success: 'success',\n                warning: 'warning'\n            };\n\n            var toastr = {\n                clear: clear,\n                remove: remove,\n                error: error,\n                getContainer: getContainer,\n                info: info,\n                options: {},\n                subscribe: subscribe,\n                success: success,\n                version: '2.1.4',\n                warning: warning\n            };\n\n            var previousToast;\n\n            return toastr;\n\n            ////////////////\n\n            function error(message, title, optionsOverride) {\n                return notify({\n                    type: toastType.error,\n                    iconClass: getOptions().iconClasses.error,\n                    message: message,\n                    optionsOverride: optionsOverride,\n                    title: title\n                });\n            }\n\n            function getContainer(options, create) {\n                if (!options) { options = getOptions(); }\n                $container = $('#' + options.containerId);\n                if ($container.length) {\n                    return $container;\n                }\n                if (create) {\n                    $container = createContainer(options);\n                }\n                return $container;\n            }\n\n            function info(message, title, optionsOverride) {\n                return notify({\n                    type: toastType.info,\n                    iconClass: getOptions().iconClasses.info,\n                    message: message,\n                    optionsOverride: optionsOverride,\n                    title: title\n                });\n            }\n\n            function subscribe(callback) {\n                listener = callback;\n            }\n\n            function success(message, title, optionsOverride) {\n                return notify({\n                    type: toastType.success,\n                    iconClass: getOptions().iconClasses.success,\n                    message: message,\n                    optionsOverride: optionsOverride,\n                    title: title\n                });\n            }\n\n            function warning(message, title, optionsOverride) {\n                return notify({\n                    type: toastType.warning,\n                    iconClass: getOptions().iconClasses.warning,\n                    message: message,\n                    optionsOverride: optionsOverride,\n                    title: title\n                });\n            }\n\n            function clear($toastElement, clearOptions) {\n                var options = getOptions();\n                if (!$container) { getContainer(options); }\n                if (!clearToast($toastElement, options, clearOptions)) {\n                    clearContainer(options);\n                }\n            }\n\n            function remove($toastElement) {\n                var options = getOptions();\n                if (!$container) { getContainer(options); }\n                if ($toastElement && $(':focus', $toastElement).length === 0) {\n                    removeToast($toastElement);\n                    return;\n                }\n                if ($container.children().length) {\n                    $container.remove();\n                }\n            }\n\n            // internal functions\n\n            function clearContainer (options) {\n                var toastsToClear = $container.children();\n                for (var i = toastsToClear.length - 1; i >= 0; i--) {\n                    clearToast($(toastsToClear[i]), options);\n                }\n            }\n\n            function clearToast ($toastElement, options, clearOptions) {\n                var force = clearOptions && clearOptions.force ? clearOptions.force : false;\n                if ($toastElement && (force || $(':focus', $toastElement).length === 0)) {\n                    $toastElement[options.hideMethod]({\n                        duration: options.hideDuration,\n                        easing: options.hideEasing,\n                        complete: function () { removeToast($toastElement); }\n                    });\n                    return true;\n                }\n                return false;\n            }\n\n            function createContainer(options) {\n                $container = $('<div/>')\n                    .attr('id', options.containerId)\n                    .addClass(options.positionClass);\n\n                $container.appendTo($(options.target));\n                return $container;\n            }\n\n            function getDefaults() {\n                return {\n                    tapToDismiss: true,\n                    toastClass: 'toast',\n                    containerId: 'toast-container',\n                    debug: false,\n\n                    showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery\n                    showDuration: 300,\n                    showEasing: 'swing', //swing and linear are built into jQuery\n                    onShown: undefined,\n                    hideMethod: 'fadeOut',\n                    hideDuration: 1000,\n                    hideEasing: 'swing',\n                    onHidden: undefined,\n                    closeMethod: false,\n                    closeDuration: false,\n                    closeEasing: false,\n                    closeOnHover: true,\n\n                    extendedTimeOut: 1000,\n                    iconClasses: {\n                        error: 'toast-error',\n                        info: 'toast-info',\n                        success: 'toast-success',\n                        warning: 'toast-warning'\n                    },\n                    iconClass: 'toast-info',\n                    positionClass: 'toast-top-right',\n                    timeOut: 5000, // Set timeOut and extendedTimeOut to 0 to make it sticky\n                    titleClass: 'toast-title',\n                    messageClass: 'toast-message',\n                    escapeHtml: false,\n                    target: 'body',\n                    closeHtml: '<button type=\"button\">&times;</button>',\n                    closeClass: 'toast-close-button',\n                    newestOnTop: true,\n                    preventDuplicates: false,\n                    progressBar: false,\n                    progressClass: 'toast-progress',\n                    rtl: false\n                };\n            }\n\n            function publish(args) {\n                if (!listener) { return; }\n                listener(args);\n            }\n\n            function notify(map) {\n                var options = getOptions();\n                var iconClass = map.iconClass || options.iconClass;\n\n                if (typeof (map.optionsOverride) !== 'undefined') {\n                    options = $.extend(options, map.optionsOverride);\n                    iconClass = map.optionsOverride.iconClass || iconClass;\n                }\n\n                if (shouldExit(options, map)) { return; }\n\n                toastId++;\n\n                $container = getContainer(options, true);\n\n                var intervalId = null;\n                var $toastElement = $('<div/>');\n                var $titleElement = $('<div/>');\n                var $messageElement = $('<div/>');\n                var $progressElement = $('<div/>');\n                var $closeElement = $(options.closeHtml);\n                var progressBar = {\n                    intervalId: null,\n                    hideEta: null,\n                    maxHideTime: null\n                };\n                var response = {\n                    toastId: toastId,\n                    state: 'visible',\n                    startTime: new Date(),\n                    options: options,\n                    map: map\n                };\n\n                personalizeToast();\n\n                displayToast();\n\n                handleEvents();\n\n                publish(response);\n\n                if (options.debug && console) {\n                    console.log(response);\n                }\n\n                return $toastElement;\n\n                function escapeHtml(source) {\n                    if (source == null) {\n                        source = '';\n                    }\n\n                    return source\n                        .replace(/&/g, '&amp;')\n                        .replace(/\"/g, '&quot;')\n                        .replace(/'/g, '&#39;')\n                        .replace(/</g, '&lt;')\n                        .replace(/>/g, '&gt;');\n                }\n\n                function personalizeToast() {\n                    setIcon();\n                    setTitle();\n                    setMessage();\n                    setCloseButton();\n                    setProgressBar();\n                    setRTL();\n                    setSequence();\n                    setAria();\n                }\n\n                function setAria() {\n                    var ariaValue = '';\n                    switch (map.iconClass) {\n                        case 'toast-success':\n                        case 'toast-info':\n                            ariaValue =  'polite';\n                            break;\n                        default:\n                            ariaValue = 'assertive';\n                    }\n                    $toastElement.attr('aria-live', ariaValue);\n                }\n\n                function handleEvents() {\n                    if (options.closeOnHover) {\n                        $toastElement.hover(stickAround, delayedHideToast);\n                    }\n\n                    if (!options.onclick && options.tapToDismiss) {\n                        $toastElement.click(hideToast);\n                    }\n\n                    if (options.closeButton && $closeElement) {\n                        $closeElement.click(function (event) {\n                            if (event.stopPropagation) {\n                                event.stopPropagation();\n                            } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {\n                                event.cancelBubble = true;\n                            }\n\n                            if (options.onCloseClick) {\n                                options.onCloseClick(event);\n                            }\n\n                            hideToast(true);\n                        });\n                    }\n\n                    if (options.onclick) {\n                        $toastElement.click(function (event) {\n                            options.onclick(event);\n                            hideToast();\n                        });\n                    }\n                }\n\n                function displayToast() {\n                    $toastElement.hide();\n\n                    $toastElement[options.showMethod](\n                        {duration: options.showDuration, easing: options.showEasing, complete: options.onShown}\n                    );\n\n                    if (options.timeOut > 0) {\n                        intervalId = setTimeout(hideToast, options.timeOut);\n                        progressBar.maxHideTime = parseFloat(options.timeOut);\n                        progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;\n                        if (options.progressBar) {\n                            progressBar.intervalId = setInterval(updateProgress, 10);\n                        }\n                    }\n                }\n\n                function setIcon() {\n                    if (map.iconClass) {\n                        $toastElement.addClass(options.toastClass).addClass(iconClass);\n                    }\n                }\n\n                function setSequence() {\n                    if (options.newestOnTop) {\n                        $container.prepend($toastElement);\n                    } else {\n                        $container.append($toastElement);\n                    }\n                }\n\n                function setTitle() {\n                    if (map.title) {\n                        var suffix = map.title;\n                        if (options.escapeHtml) {\n                            suffix = escapeHtml(map.title);\n                        }\n                        $titleElement.append(suffix).addClass(options.titleClass);\n                        $toastElement.append($titleElement);\n                    }\n                }\n\n                function setMessage() {\n                    if (map.message) {\n                        var suffix = map.message;\n                        if (options.escapeHtml) {\n                            suffix = escapeHtml(map.message);\n                        }\n                        $messageElement.append(suffix).addClass(options.messageClass);\n                        $toastElement.append($messageElement);\n                    }\n                }\n\n                function setCloseButton() {\n                    if (options.closeButton) {\n                        $closeElement.addClass(options.closeClass).attr('role', 'button');\n                        $toastElement.prepend($closeElement);\n                    }\n                }\n\n                function setProgressBar() {\n                    if (options.progressBar) {\n                        $progressElement.addClass(options.progressClass);\n                        $toastElement.prepend($progressElement);\n                    }\n                }\n\n                function setRTL() {\n                    if (options.rtl) {\n                        $toastElement.addClass('rtl');\n                    }\n                }\n\n                function shouldExit(options, map) {\n                    if (options.preventDuplicates) {\n                        if (map.message === previousToast) {\n                            return true;\n                        } else {\n                            previousToast = map.message;\n                        }\n                    }\n                    return false;\n                }\n\n                function hideToast(override) {\n                    var method = override && options.closeMethod !== false ? options.closeMethod : options.hideMethod;\n                    var duration = override && options.closeDuration !== false ?\n                        options.closeDuration : options.hideDuration;\n                    var easing = override && options.closeEasing !== false ? options.closeEasing : options.hideEasing;\n                    if ($(':focus', $toastElement).length && !override) {\n                        return;\n                    }\n                    clearTimeout(progressBar.intervalId);\n                    return $toastElement[method]({\n                        duration: duration,\n                        easing: easing,\n                        complete: function () {\n                            removeToast($toastElement);\n                            clearTimeout(intervalId);\n                            if (options.onHidden && response.state !== 'hidden') {\n                                options.onHidden();\n                            }\n                            response.state = 'hidden';\n                            response.endTime = new Date();\n                            publish(response);\n                        }\n                    });\n                }\n\n                function delayedHideToast() {\n                    if (options.timeOut > 0 || options.extendedTimeOut > 0) {\n                        intervalId = setTimeout(hideToast, options.extendedTimeOut);\n                        progressBar.maxHideTime = parseFloat(options.extendedTimeOut);\n                        progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;\n                    }\n                }\n\n                function stickAround() {\n                    clearTimeout(intervalId);\n                    progressBar.hideEta = 0;\n                    $toastElement.stop(true, true)[options.showMethod](\n                        {duration: options.showDuration, easing: options.showEasing}\n                    );\n                }\n\n                function updateProgress() {\n                    var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100;\n                    $progressElement.width(percentage + '%');\n                }\n            }\n\n            function getOptions() {\n                return $.extend({}, getDefaults(), toastr.options);\n            }\n\n            function removeToast($toastElement) {\n                if (!$container) { $container = getContainer(); }\n                if ($toastElement.is(':visible')) {\n                    return;\n                }\n                $toastElement.remove();\n                $toastElement = null;\n                if ($container.children().length === 0) {\n                    $container.remove();\n                    previousToast = undefined;\n                }\n            }\n\n        })();\n    });\n}(typeof define === 'function' && define.amd ? define : function (deps, factory) {\n    if (typeof module !== 'undefined' && module.exports) { //Node\n        module.exports = factory(require('jquery'));\n    } else {\n        window.toastr = factory(window.jQuery);\n    }\n}));\n"]}