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