(function (angular, Noty) { 'use strict'; return angular.module('angular-noty', []).provider('noty', function () { var provider = { settings: { type: 'alert', layout: 'top', theme: 'mint', text: '', timeout: 5000, progressBar: true, closeWith: ['click'], animation: { open: 'noty_effects_open', close: 'noty_effects_close' }, id: false, force: false, killer: false, queue: 'global', container: false, buttons: [], callbacks: { beforeShow: null, onShow: null, afterShow: null, onClose: null, afterClose: null, onClick: null, onHover: null, onTemplate: null }, sounds: { sources: [], volume: 1, conditions: [] }, titleCount: { conditions: [] }, modal: false, visibilityControl: false }, $get: function () { var callNoty = function (newSettings) { let s = angular.extend({}, provider.settings, newSettings); return (new Noty(s).show()); }; return { show: function (message, type) { callNoty({text: message || provider.settings.text, type: type || provider.settings.type}); }, showAlert: function (message, settings) { settings = angular.extend({}, { text: message || provider.settings.text, timeout: 3000 }, settings); settings.type = "warning"; callNoty(settings); }, showSuccess: function (message, settings) { var settings = settings || {}; settings = angular.extend({}, { text: message || provider.settings.text, timeout: 1500 }, settings); settings.type = "success"; callNoty(settings); }, showError: function (message, settings) { var settings = settings || {}; settings = angular.extend({}, { text: message || provider.settings.text, timeout: 5000 }, settings); settings.type = "error"; callNoty(settings); }, closeAll: function () { return Noty.closeAll(); } }; } }; return provider; }); }(angular, Noty));