diff --git a/dist/angular-flash.css b/dist/angular-flash.css
index 2be98bd..6790f62 100644
--- a/dist/angular-flash.css
+++ b/dist/angular-flash.css
@@ -1,6 +1,6 @@
-/*! angular-flash - v2.5.0 - 2017-07-23
+/*! angular-flash - v2.5.0 - 2018-01-26
* https://github.com/sachinchoolur/angular-flash
-* Copyright (c) 2017 Sachin; Licensed MIT */
+* Copyright (c) 2018 Sachin; Licensed MIT */
.alert {
padding: 15px;
diff --git a/dist/angular-flash.js b/dist/angular-flash.js
index 82e4586..7eaa29d 100644
--- a/dist/angular-flash.js
+++ b/dist/angular-flash.js
@@ -1,6 +1,6 @@
-/*! angular-flash - v2.5.0 - 2017-07-23
+/*! angular-flash - v2.5.0 - 2018-01-26
* https://github.com/sachinchoolur/angular-flash
-* Copyright (c) 2017 Sachin; Licensed MIT */
+* Copyright (c) 2018 Sachin; Licensed MIT */
'use strict';
@@ -70,7 +70,7 @@ app.directive('flashMessage', ['Flash', function (Flash) {
}
},
transclude: Flash.config.templateTransclude,
- template: '\n
\n ' + Flash.config.template + '\n
\n '
+ template: '\n \n ' + Flash.config.template + '\n
\n '
};
}]);
diff --git a/dist/angular-flash.js.map b/dist/angular-flash.js.map
index f718589..6a1b9e0 100644
--- a/dist/angular-flash.js.map
+++ b/dist/angular-flash.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/angular-flash.js"],"names":["app","angular","module","run","$rootScope","flashes","directive","$compile","restrict","replace","link","scope","ele","attrs","$watch","dynamic","html","contents","_transclude","clone","empty","append","Flash","on","id","parseInt","closeFlash","dismiss","$apply","duration","showClose","onDismiss","name","ctrl","transclude","setTimeout","setShowClose","flash","setOnDismiss","config","templateTransclude","template","provider","defaultConfig","templatePresets","bootstrap","timeout","value","setTemplate","setTemplatePreset","preset","callback","setAutoDismiss","autoDismiss","$get","$interval","dataFactory","counter","create","type","text","length","$this","push","timeoutObj","pause","index","cancel","findIndexById","splice","clear","reset","map","indexOf"],"mappings":"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","file":"angular-flash.js","sourcesContent":["const app = angular.module('ngFlash', []);\n\napp.run([\n '$rootScope', function($rootScope) {\n return $rootScope.flashes = [];\n }\n]);\n\napp.directive('dynamic', [\n '$compile', function($compile) {\n return {\n restrict: 'A',\n replace: true,\n link: function(scope, ele, attrs) {\n return scope.$watch(attrs.dynamic, function(html) {\n ele.html(html);\n return $compile(ele.contents())(scope);\n });\n }\n };\n }\n]);\n\napp.directive('applytransclude', [\n '$compile', function($compile) {\n return {\n restrict: 'A',\n link: function(scope, ele, attrs) {\n scope._transclude(scope, function(clone, scope) {\n ele.empty().append(clone);\n });\n }\n };\n }\n]);\n\napp.directive('closeFlash', [\n '$compile', '$rootScope', 'Flash', function($compile, $rootScope, Flash) {\n return {\n link: function(scope, ele, attrs) {\n return ele.on('click', function() {\n let id = parseInt(attrs.closeFlash, 10);\n Flash.dismiss(id);\n $rootScope.$apply();\n });\n }\n };\n }\n]);\n\napp.directive('flashMessage', [\n 'Flash', function(Flash) {\n return {\n restrict: 'E',\n scope: {\n duration: '=',\n showClose: '=',\n onDismiss: '&',\n name: '@'\n },\n link: function(scope, ele, attrs, ctrl, transclude) {\n Flash.setTimeout(scope.duration);\n Flash.setShowClose(scope.showClose);\n function onDismiss(flash) {\n if (typeof scope.onDismiss !== 'function') return;\n scope.onDismiss({flash: flash});\n }\n\n Flash.setOnDismiss(onDismiss);\n\n if (Flash.config.templateTransclude) {\n scope._transclude = transclude;\n }\n },\n transclude: Flash.config.templateTransclude,\n template: `\n \n ` + Flash.config.template + `\n
\n `\n };\n }\n]);\n\napp.provider('Flash', function() {\n let defaultConfig = {};\n let templatePresets = {\n bootstrap: {\n html: `\n `,\n transclude: false\n },\n transclude: {\n html: ``,\n transclude: true\n }\n };\n\n this.setTimeout = function(timeout) {\n if (typeof timeout !== 'number') return;\n defaultConfig.timeout = timeout;\n };\n this.setShowClose = function(value) {\n if (typeof value !== 'boolean') return;\n defaultConfig.showClose = value;\n };\n this.setTemplate = function(template) {\n if (typeof template !== 'string') return;\n defaultConfig.template = template;\n };\n this.setTemplatePreset = function(preset) {\n if (typeof preset !== 'string'\n || !(preset in templatePresets)) return;\n\n let template = templatePresets[preset];\n this.setTemplate(template.html);\n defaultConfig.templateTransclude = template.transclude;\n };\n this.setOnDismiss = function(callback) {\n if (typeof callback !== 'function') return;\n defaultConfig.onDismiss = callback;\n };\n\n this.setAutoDismiss = function (dismiss) {\n if (typeof dismiss !== 'boolean') return;\n defaultConfig.autoDismiss = dismiss;\n };\n\n this.setTimeout(5000);\n this.setShowClose(true);\n this.setTemplatePreset('bootstrap');\n this.setAutoDismiss(false);\n\n this.$get = ['$rootScope', '$interval', function($rootScope, $interval) {\n const dataFactory = {};\n let counter = 0;\n\n dataFactory.setTimeout = this.setTimeout;\n dataFactory.setShowClose = this.setShowClose;\n dataFactory.setOnDismiss = this.setOnDismiss;\n dataFactory.config = defaultConfig;\n\n dataFactory.create = function(type, text, timeout, config, showClose) {\n if ($rootScope.flashes.length === 1 && defaultConfig.autoDismiss) {\n dataFactory.dismiss($rootScope.flashes[0].id);\n }\n if (!text) return false;\n let $this, flash;\n $this = this;\n flash = {\n type: type,\n text: text,\n config: config,\n id: counter++\n };\n flash.showClose =\n typeof showClose !== 'undefined' ?\n showClose : defaultConfig.showClose;\n if (defaultConfig.timeout && typeof timeout === 'undefined') {\n flash.timeout = defaultConfig.timeout;\n }\n else if (timeout) {\n flash.timeout = timeout;\n }\n $rootScope.flashes.push(flash);\n if (flash.timeout) {\n flash.timeoutObj = $interval(function() {\n $this.dismiss(flash.id);\n }, flash.timeout, 1);\n }\n return flash.id;\n };\n dataFactory.pause = function(index) {\n if ($rootScope.flashes[index].timeoutObj) {\n $interval.cancel($rootScope.flashes[index].timeoutObj);\n }\n };\n dataFactory.dismiss = function(id) {\n const index = findIndexById(id);\n if (index !== -1) {\n const flash = $rootScope.flashes[index];\n dataFactory.pause(index);\n $rootScope.flashes.splice(index, 1);\n if (typeof defaultConfig.onDismiss === 'function') {\n defaultConfig.onDismiss(flash);\n }\n }\n };\n dataFactory.clear = function() {\n while ($rootScope.flashes.length > 0) {\n dataFactory.dismiss($rootScope.flashes[0].id);\n }\n };\n dataFactory.reset = dataFactory.clear;\n function findIndexById(id) {\n return $rootScope.flashes.map((flash) => flash.id).indexOf(id);\n }\n\n return dataFactory;\n }];\n});\n"]}
\ No newline at end of file
+{"version":3,"sources":["../src/angular-flash.js"],"names":["app","angular","module","run","$rootScope","flashes","directive","$compile","restrict","replace","link","scope","ele","attrs","$watch","dynamic","html","contents","_transclude","clone","empty","append","Flash","on","id","parseInt","closeFlash","dismiss","$apply","duration","showClose","onDismiss","name","ctrl","transclude","setTimeout","setShowClose","flash","setOnDismiss","config","templateTransclude","template","provider","defaultConfig","templatePresets","bootstrap","timeout","value","setTemplate","setTemplatePreset","preset","callback","setAutoDismiss","autoDismiss","$get","$interval","dataFactory","counter","create","type","text","length","$this","push","timeoutObj","pause","index","cancel","findIndexById","splice","clear","reset","map","indexOf"],"mappings":"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","file":"angular-flash.js","sourcesContent":["const app = angular.module('ngFlash', []);\n\napp.run([\n '$rootScope', function($rootScope) {\n return $rootScope.flashes = [];\n }\n]);\n\napp.directive('dynamic', [\n '$compile', function($compile) {\n return {\n restrict: 'A',\n replace: true,\n link: function(scope, ele, attrs) {\n return scope.$watch(attrs.dynamic, function(html) {\n ele.html(html);\n return $compile(ele.contents())(scope);\n });\n }\n };\n }\n]);\n\napp.directive('applytransclude', [\n '$compile', function($compile) {\n return {\n restrict: 'A',\n link: function(scope, ele, attrs) {\n scope._transclude(scope, function(clone, scope) {\n ele.empty().append(clone);\n });\n }\n };\n }\n]);\n\napp.directive('closeFlash', [\n '$compile', '$rootScope', 'Flash', function($compile, $rootScope, Flash) {\n return {\n link: function(scope, ele, attrs) {\n return ele.on('click', function() {\n let id = parseInt(attrs.closeFlash, 10);\n Flash.dismiss(id);\n $rootScope.$apply();\n });\n }\n };\n }\n]);\n\napp.directive('flashMessage', [\n 'Flash', function(Flash) {\n return {\n restrict: 'E',\n scope: {\n duration: '=',\n showClose: '=',\n onDismiss: '&',\n name: '@'\n },\n link: function(scope, ele, attrs, ctrl, transclude) {\n Flash.setTimeout(scope.duration);\n Flash.setShowClose(scope.showClose);\n function onDismiss(flash) {\n if (typeof scope.onDismiss !== 'function') return;\n scope.onDismiss({flash: flash});\n }\n\n Flash.setOnDismiss(onDismiss);\n\n if (Flash.config.templateTransclude) {\n scope._transclude = transclude;\n }\n },\n transclude: Flash.config.templateTransclude,\n template: `\n \n ` + Flash.config.template + `\n
\n `\n };\n }\n]);\n\napp.provider('Flash', function() {\n let defaultConfig = {};\n let templatePresets = {\n bootstrap: {\n html: `\n `,\n transclude: false\n },\n transclude: {\n html: ``,\n transclude: true\n }\n };\n\n this.setTimeout = function(timeout) {\n if (typeof timeout !== 'number') return;\n defaultConfig.timeout = timeout;\n };\n this.setShowClose = function(value) {\n if (typeof value !== 'boolean') return;\n defaultConfig.showClose = value;\n };\n this.setTemplate = function(template) {\n if (typeof template !== 'string') return;\n defaultConfig.template = template;\n };\n this.setTemplatePreset = function(preset) {\n if (typeof preset !== 'string'\n || !(preset in templatePresets)) return;\n\n let template = templatePresets[preset];\n this.setTemplate(template.html);\n defaultConfig.templateTransclude = template.transclude;\n };\n this.setOnDismiss = function(callback) {\n if (typeof callback !== 'function') return;\n defaultConfig.onDismiss = callback;\n };\n\n this.setAutoDismiss = function (dismiss) {\n if (typeof dismiss !== 'boolean') return;\n defaultConfig.autoDismiss = dismiss;\n };\n\n this.setTimeout(5000);\n this.setShowClose(true);\n this.setTemplatePreset('bootstrap');\n this.setAutoDismiss(false);\n\n this.$get = ['$rootScope', '$interval', function($rootScope, $interval) {\n const dataFactory = {};\n let counter = 0;\n\n dataFactory.setTimeout = this.setTimeout;\n dataFactory.setShowClose = this.setShowClose;\n dataFactory.setOnDismiss = this.setOnDismiss;\n dataFactory.config = defaultConfig;\n\n dataFactory.create = function(type, text, timeout, config, showClose) {\n if ($rootScope.flashes.length === 1 && defaultConfig.autoDismiss) {\n dataFactory.dismiss($rootScope.flashes[0].id);\n }\n if (!text) return false;\n let $this, flash;\n $this = this;\n flash = {\n type: type,\n text: text,\n config: config,\n id: counter++\n };\n flash.showClose =\n typeof showClose !== 'undefined' ?\n showClose : defaultConfig.showClose;\n if (defaultConfig.timeout && typeof timeout === 'undefined') {\n flash.timeout = defaultConfig.timeout;\n }\n else if (timeout) {\n flash.timeout = timeout;\n }\n $rootScope.flashes.push(flash);\n if (flash.timeout) {\n flash.timeoutObj = $interval(function() {\n $this.dismiss(flash.id);\n }, flash.timeout, 1);\n }\n return flash.id;\n };\n dataFactory.pause = function(index) {\n if ($rootScope.flashes[index].timeoutObj) {\n $interval.cancel($rootScope.flashes[index].timeoutObj);\n }\n };\n dataFactory.dismiss = function(id) {\n const index = findIndexById(id);\n if (index !== -1) {\n const flash = $rootScope.flashes[index];\n dataFactory.pause(index);\n $rootScope.flashes.splice(index, 1);\n if (typeof defaultConfig.onDismiss === 'function') {\n defaultConfig.onDismiss(flash);\n }\n }\n };\n dataFactory.clear = function() {\n while ($rootScope.flashes.length > 0) {\n dataFactory.dismiss($rootScope.flashes[0].id);\n }\n };\n dataFactory.reset = dataFactory.clear;\n function findIndexById(id) {\n return $rootScope.flashes.map((flash) => flash.id).indexOf(id);\n }\n\n return dataFactory;\n }];\n});\n"]}
\ No newline at end of file
diff --git a/dist/angular-flash.min.css b/dist/angular-flash.min.css
index d6af58f..4b7267c 100644
--- a/dist/angular-flash.min.css
+++ b/dist/angular-flash.min.css
@@ -1,6 +1,6 @@
-/*! angular-flash - v2.5.0 - 2017-07-23
+/*! angular-flash - v2.5.0 - 2018-01-26
* https://github.com/sachinchoolur/angular-flash
-* Copyright (c) 2017 Sachin; Licensed MIT */
+* Copyright (c) 2018 Sachin; Licensed MIT */
.alert .alert-link,.close{font-weight:700}/*! angular-flash - v2.5.0 - 2017-07-23
* https://github.com/sachinchoolur/angular-flash
@@ -12,6 +12,8 @@
* https://github.com/sachinchoolur/angular-flash
* Copyright (c) 2017 Sachin; Licensed MIT *//*! angular-flash - v2.5.0 - 2017-07-23
* https://github.com/sachinchoolur/angular-flash
+* Copyright (c) 2017 Sachin; Licensed MIT *//*! angular-flash - v2.5.0 - 2017-07-23
+* https://github.com/sachinchoolur/angular-flash
* Copyright (c) 2017 Sachin; Licensed MIT *//*! angular-flash - v2.4.0 - 2016-10-25
* https://github.com/sachinchoolur/angular-flash
* Copyright (c) 2016 Sachin; Licensed MIT *//*! angular-flash - v2.3.0 - 2016-10-25
diff --git a/dist/angular-flash.min.js b/dist/angular-flash.min.js
index 0dfb2ef..075476b 100644
--- a/dist/angular-flash.min.js
+++ b/dist/angular-flash.min.js
@@ -1,6 +1,6 @@
-/*! angular-flash - v2.5.0 - 2017-07-23
+/*! angular-flash - v2.5.0 - 2018-01-26
* https://github.com/sachinchoolur/angular-flash
-* Copyright (c) 2017 Sachin; Licensed MIT */
+* Copyright (c) 2018 Sachin; Licensed MIT */
-"use strict";var app=angular.module("ngFlash",[]);app.run(["$rootScope",function(a){return a.flashes=[]}]),app.directive("dynamic",["$compile",function(a){return{restrict:"A",replace:!0,link:function(b,c,d){return b.$watch(d.dynamic,function(d){return c.html(d),a(c.contents())(b)})}}}]),app.directive("applytransclude",["$compile",function(a){return{restrict:"A",link:function(a,b,c){a._transclude(a,function(a,c){b.empty().append(a)})}}}]),app.directive("closeFlash",["$compile","$rootScope","Flash",function(a,b,c){return{link:function(a,d,e){return d.on("click",function(){var a=parseInt(e.closeFlash,10);c.dismiss(a),b.$apply()})}}}]),app.directive("flashMessage",["Flash",function(a){return{restrict:"E",scope:{duration:"=",showClose:"=",onDismiss:"&",name:"@"},link:function(b,c,d,e,f){function g(a){"function"==typeof b.onDismiss&&b.onDismiss({flash:a})}a.setTimeout(b.duration),a.setShowClose(b.showClose),a.setOnDismiss(g),a.config.templateTransclude&&(b._transclude=f)},transclude:a.config.templateTransclude,template:'\n \n '+a.config.template+"\n
\n "}}]),app.provider("Flash",function(){var a={},b={bootstrap:{html:'\n ',transclude:!1},transclude:{html:"",transclude:!0}};this.setTimeout=function(b){"number"==typeof b&&(a.timeout=b)},this.setShowClose=function(b){"boolean"==typeof b&&(a.showClose=b)},this.setTemplate=function(b){"string"==typeof b&&(a.template=b)},this.setTemplatePreset=function(c){if("string"==typeof c&&c in b){var d=b[c];this.setTemplate(d.html),a.templateTransclude=d.transclude}},this.setOnDismiss=function(b){"function"==typeof b&&(a.onDismiss=b)},this.setAutoDismiss=function(b){"boolean"==typeof b&&(a.autoDismiss=b)},this.setTimeout(5e3),this.setShowClose(!0),this.setTemplatePreset("bootstrap"),this.setAutoDismiss(!1),this.$get=["$rootScope","$interval",function(b,c){function d(a){return b.flashes.map(function(a){return a.id}).indexOf(a)}var e={},f=0;return e.setTimeout=this.setTimeout,e.setShowClose=this.setShowClose,e.setOnDismiss=this.setOnDismiss,e.config=a,e.create=function(d,g,h,i,j){if(1===b.flashes.length&&a.autoDismiss&&e.dismiss(b.flashes[0].id),!g)return!1;var k=void 0,l=void 0;return k=this,l={type:d,text:g,config:i,id:f++},l.showClose=void 0!==j?j:a.showClose,a.timeout&&void 0===h?l.timeout=a.timeout:h&&(l.timeout=h),b.flashes.push(l),l.timeout&&(l.timeoutObj=c(function(){k.dismiss(l.id)},l.timeout,1)),l.id},e.pause=function(a){b.flashes[a].timeoutObj&&c.cancel(b.flashes[a].timeoutObj)},e.dismiss=function(c){var f=d(c);if(-1!==f){var g=b.flashes[f];e.pause(f),b.flashes.splice(f,1),"function"==typeof a.onDismiss&&a.onDismiss(g)}},e.clear=function(){for(;b.flashes.length>0;)e.dismiss(b.flashes[0].id)},e.reset=e.clear,e}]});
+"use strict";var app=angular.module("ngFlash",[]);app.run(["$rootScope",function(a){return a.flashes=[]}]),app.directive("dynamic",["$compile",function(a){return{restrict:"A",replace:!0,link:function(b,c,d){return b.$watch(d.dynamic,function(d){return c.html(d),a(c.contents())(b)})}}}]),app.directive("applytransclude",["$compile",function(a){return{restrict:"A",link:function(a,b,c){a._transclude(a,function(a,c){b.empty().append(a)})}}}]),app.directive("closeFlash",["$compile","$rootScope","Flash",function(a,b,c){return{link:function(a,d,e){return d.on("click",function(){var a=parseInt(e.closeFlash,10);c.dismiss(a),b.$apply()})}}}]),app.directive("flashMessage",["Flash",function(a){return{restrict:"E",scope:{duration:"=",showClose:"=",onDismiss:"&",name:"@"},link:function(b,c,d,e,f){function g(a){"function"==typeof b.onDismiss&&b.onDismiss({flash:a})}a.setTimeout(b.duration),a.setShowClose(b.showClose),a.setOnDismiss(g),a.config.templateTransclude&&(b._transclude=f)},transclude:a.config.templateTransclude,template:'\n \n '+a.config.template+"\n
\n "}}]),app.provider("Flash",function(){var a={},b={bootstrap:{html:'\n ',transclude:!1},transclude:{html:"",transclude:!0}};this.setTimeout=function(b){"number"==typeof b&&(a.timeout=b)},this.setShowClose=function(b){"boolean"==typeof b&&(a.showClose=b)},this.setTemplate=function(b){"string"==typeof b&&(a.template=b)},this.setTemplatePreset=function(c){if("string"==typeof c&&c in b){var d=b[c];this.setTemplate(d.html),a.templateTransclude=d.transclude}},this.setOnDismiss=function(b){"function"==typeof b&&(a.onDismiss=b)},this.setAutoDismiss=function(b){"boolean"==typeof b&&(a.autoDismiss=b)},this.setTimeout(5e3),this.setShowClose(!0),this.setTemplatePreset("bootstrap"),this.setAutoDismiss(!1),this.$get=["$rootScope","$interval",function(b,c){function d(a){return b.flashes.map(function(a){return a.id}).indexOf(a)}var e={},f=0;return e.setTimeout=this.setTimeout,e.setShowClose=this.setShowClose,e.setOnDismiss=this.setOnDismiss,e.config=a,e.create=function(d,g,h,i,j){if(1===b.flashes.length&&a.autoDismiss&&e.dismiss(b.flashes[0].id),!g)return!1;var k=void 0,l=void 0;return k=this,l={type:d,text:g,config:i,id:f++},l.showClose=void 0!==j?j:a.showClose,a.timeout&&void 0===h?l.timeout=a.timeout:h&&(l.timeout=h),b.flashes.push(l),l.timeout&&(l.timeoutObj=c(function(){k.dismiss(l.id)},l.timeout,1)),l.id},e.pause=function(a){b.flashes[a].timeoutObj&&c.cancel(b.flashes[a].timeoutObj)},e.dismiss=function(c){var f=d(c);if(-1!==f){var g=b.flashes[f];e.pause(f),b.flashes.splice(f,1),"function"==typeof a.onDismiss&&a.onDismiss(g)}},e.clear=function(){for(;b.flashes.length>0;)e.dismiss(b.flashes[0].id)},e.reset=e.clear,e}]});
//# sourceMappingURL=angular-flash.min.js.map
\ No newline at end of file
diff --git a/dist/angular-flash.min.js.map b/dist/angular-flash.min.js.map
index b04a00f..3cbb0b2 100644
--- a/dist/angular-flash.min.js.map
+++ b/dist/angular-flash.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["angular-flash.js"],"names":["app","angular","module","run","$rootScope","flashes","directive","$compile","restrict","replace","link","scope","ele","attrs","$watch","dynamic","html","contents","_transclude","clone","empty","append","Flash","on","id","parseInt","closeFlash","dismiss","$apply","duration","showClose","onDismiss","name","ctrl","transclude","flash","setTimeout","setShowClose","setOnDismiss","config","templateTransclude","template","provider","defaultConfig","templatePresets","bootstrap","this","timeout","value","setTemplate","setTemplatePreset","preset","callback","setAutoDismiss","autoDismiss","$get","$interval","findIndexById","map","indexOf","dataFactory","counter","create","type","text","length","$this","push","timeoutObj","pause","index","cancel","splice","clear","reset"],"mappings":"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","file":"angular-flash.min.js"}
\ No newline at end of file
+{"version":3,"sources":["angular-flash.js"],"names":["app","angular","module","run","$rootScope","flashes","directive","$compile","restrict","replace","link","scope","ele","attrs","$watch","dynamic","html","contents","_transclude","clone","empty","append","Flash","on","id","parseInt","closeFlash","dismiss","$apply","duration","showClose","onDismiss","name","ctrl","transclude","flash","setTimeout","setShowClose","setOnDismiss","config","templateTransclude","template","provider","defaultConfig","templatePresets","bootstrap","this","timeout","value","setTemplate","setTemplatePreset","preset","callback","setAutoDismiss","autoDismiss","$get","$interval","findIndexById","map","indexOf","dataFactory","counter","create","type","text","length","$this","push","timeoutObj","pause","index","cancel","splice","clear","reset"],"mappings":"AAAA,YAEA,IAAIA,KAAMC,QAAQC,OAAO,aAEzBF,KAAIG,KAAK,aAAc,SAAUC,GAC7B,MAAOA,GAAWC,cAGtBL,IAAIM,UAAU,WAAY,WAAY,SAAUC,GAC5C,OACIC,SAAU,IACVC,SAAS,EACTC,KAAM,SAAcC,EAAOC,EAAKC,GAC5B,MAAOF,GAAMG,OAAOD,EAAME,QAAS,SAAUC,GAEzC,MADAJ,GAAII,KAAKA,GACFT,EAASK,EAAIK,YAAYN,UAMhDX,IAAIM,UAAU,mBAAoB,WAAY,SAAUC,GACpD,OACIC,SAAU,IACVE,KAAM,SAAcC,EAAOC,EAAKC,GAC5BF,EAAMO,YAAYP,EAAO,SAAUQ,EAAOR,GACtCC,EAAIQ,QAAQC,OAAOF,UAMnCnB,IAAIM,UAAU,cAAe,WAAY,aAAc,QAAS,SAAUC,EAAUH,EAAYkB,GAC5F,OACIZ,KAAM,SAAcC,EAAOC,EAAKC,GAC5B,MAAOD,GAAIW,GAAG,QAAS,WACnB,GAAIC,GAAKC,SAASZ,EAAMa,WAAY,GACpCJ,GAAMK,QAAQH,GACdpB,EAAWwB,gBAM3B5B,IAAIM,UAAU,gBAAiB,QAAS,SAAUgB,GAC9C,OACId,SAAU,IACVG,OACIkB,SAAU,IACVC,UAAW,IACXC,UAAW,IACXC,KAAM,KAEVtB,KAAM,SAAcC,EAAOC,EAAKC,EAAOoB,EAAMC,GAGzC,QAASH,GAAUI,GACgB,kBAApBxB,GAAMoB,WACjBpB,EAAMoB,WAAYI,MAAOA,IAJ7Bb,EAAMc,WAAWzB,EAAMkB,UACvBP,EAAMe,aAAa1B,EAAMmB,WAMzBR,EAAMgB,aAAaP,GAEfT,EAAMiB,OAAOC,qBACb7B,EAAMO,YAAcgB,IAG5BA,WAAYZ,EAAMiB,OAAOC,mBACzBC,SAAU,qKAAuKnB,EAAMiB,OAAOE,SAAW,6CAIjNzC,IAAI0C,SAAS,QAAS,WAClB,GAAIC,MACAC,GACAC,WACI7B,KAAM,ugBACNkB,YAAY,GAEhBA,YACIlB,KAAM,8BACNkB,YAAY,GAIpBY,MAAKV,WAAa,SAAUW,GACD,gBAAZA,KACXJ,EAAcI,QAAUA,IAE5BD,KAAKT,aAAe,SAAUW,GACL,iBAAVA,KACXL,EAAcb,UAAYkB,IAE9BF,KAAKG,YAAc,SAAUR,GACD,gBAAbA,KACXE,EAAcF,SAAWA,IAE7BK,KAAKI,kBAAoB,SAAUC,GAC/B,GAAsB,gBAAXA,IAAyBA,IAAUP,GAA9C,CAEA,GAAIH,GAAWG,EAAgBO,EAC/BL,MAAKG,YAAYR,EAASzB,MAC1B2B,EAAcH,mBAAqBC,EAASP,aAEhDY,KAAKR,aAAe,SAAUc,GACF,kBAAbA,KACXT,EAAcZ,UAAYqB,IAG9BN,KAAKO,eAAiB,SAAU1B,GACL,iBAAZA,KACXgB,EAAcW,YAAc3B,IAGhCmB,KAAKV,WAAW,KAChBU,KAAKT,cAAa,GAClBS,KAAKI,kBAAkB,aACvBJ,KAAKO,gBAAe,GAEpBP,KAAKS,MAAQ,aAAc,YAAa,SAAUnD,EAAYoD,GA2D1D,QAASC,GAAcjC,GACnB,MAAOpB,GAAWC,QAAQqD,IAAI,SAAUvB,GACpC,MAAOA,GAAMX,KACdmC,QAAQnC,GA7Df,GAAIoC,MACAC,EAAU,CA+Dd,OA7DAD,GAAYxB,WAAaU,KAAKV,WAC9BwB,EAAYvB,aAAeS,KAAKT,aAChCuB,EAAYtB,aAAeQ,KAAKR,aAChCsB,EAAYrB,OAASI,EAErBiB,EAAYE,OAAS,SAAUC,EAAMC,EAAMjB,EAASR,EAAQT,GAIxD,GAHkC,IAA9B1B,EAAWC,QAAQ4D,QAAgBtB,EAAcW,aACjDM,EAAYjC,QAAQvB,EAAWC,QAAQ,GAAGmB,KAEzCwC,EAAM,OAAO,CAClB,IAAIE,OAAQ,GACR/B,MAAQ,EAoBZ,OAnBA+B,GAAQpB,KACRX,GACI4B,KAAMA,EACNC,KAAMA,EACNzB,OAAQA,EACRf,GAAIqC,KAER1B,EAAML,cAAiC,KAAdA,EAA4BA,EAAYa,EAAcb,UAC3Ea,EAAcI,aAA8B,KAAZA,EAChCZ,EAAMY,QAAUJ,EAAcI,QACvBA,IACPZ,EAAMY,QAAUA,GAEpB3C,EAAWC,QAAQ8D,KAAKhC,GACpBA,EAAMY,UACNZ,EAAMiC,WAAaZ,EAAU,WACzBU,EAAMvC,QAAQQ,EAAMX,KACrBW,EAAMY,QAAS,IAEfZ,EAAMX,IAEjBoC,EAAYS,MAAQ,SAAUC,GACtBlE,EAAWC,QAAQiE,GAAOF,YAC1BZ,EAAUe,OAAOnE,EAAWC,QAAQiE,GAAOF,aAGnDR,EAAYjC,QAAU,SAAUH,GAC5B,GAAI8C,GAAQb,EAAcjC,EAC1B,KAAe,IAAX8C,EAAc,CACd,GAAInC,GAAQ/B,EAAWC,QAAQiE,EAC/BV,GAAYS,MAAMC,GAClBlE,EAAWC,QAAQmE,OAAOF,EAAO,GACM,kBAA5B3B,GAAcZ,WACrBY,EAAcZ,UAAUI,KAIpCyB,EAAYa,MAAQ,WAChB,KAAOrE,EAAWC,QAAQ4D,OAAS,GAC/BL,EAAYjC,QAAQvB,EAAWC,QAAQ,GAAGmB,KAGlDoC,EAAYc,MAAQd,EAAYa,MAOzBb","file":"angular-flash.min.js"}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 1dba6c3..d61ec81 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,8 @@
"abbrev": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
- "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8="
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true
},
"accepts": {
"version": "1.3.3",
@@ -737,7 +738,8 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
},
"base64-arraybuffer": {
"version": "0.1.5",
@@ -897,6 +899,7 @@
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
@@ -1196,7 +1199,8 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
},
"concat-stream": {
"version": "1.6.0",
@@ -2489,6 +2493,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
"integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
+ "dev": true,
"requires": {
"findup-sync": "0.3.0",
"grunt-known-options": "1.1.0",
@@ -2500,6 +2505,7 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+ "dev": true,
"requires": {
"glob": "5.0.15"
}
@@ -2508,6 +2514,7 @@
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
"requires": {
"inflight": "1.0.6",
"inherits": "2.0.3",
@@ -2520,6 +2527,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
"requires": {
"brace-expansion": "1.1.8"
}
@@ -2528,6 +2536,7 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
"requires": {
"abbrev": "1.1.0"
}
@@ -2754,7 +2763,8 @@
"grunt-known-options": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
- "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk="
+ "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
+ "dev": true
},
"grunt-legacy-log": {
"version": "0.1.3",
@@ -2965,6 +2975,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
@@ -2973,7 +2984,8 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
},
"invariant": {
"version": "2.2.2",
@@ -3830,6 +3842,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
"requires": {
"wrappy": "1.0.2"
}
@@ -3946,7 +3959,8 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
},
"path-to-regexp": {
"version": "0.1.7",
@@ -4347,7 +4361,8 @@
"resolve": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
},
"response-time": {
"version": "2.3.2",
@@ -4749,12 +4764,6 @@
"readable-stream": "1.1.14"
}
},
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
"string-length": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
@@ -4764,6 +4773,12 @@
"strip-ansi": "3.0.1"
}
},
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -5047,7 +5062,8 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
},
"ws": {
"version": "1.1.4",
diff --git a/src/angular-flash.js b/src/angular-flash.js
index 8c21e98..47ed41d 100644
--- a/src/angular-flash.js
+++ b/src/angular-flash.js
@@ -74,7 +74,7 @@ app.directive('flashMessage', [
},
transclude: Flash.config.templateTransclude,
template: `
-
+
` + Flash.config.template + `
`