angular.module("ngWig",["ngwig-app-templates"]),angular.module("ngWig").directive("ngWig",["$window","$document","ngWigToolbar",function(a,b,c){return{scope:{content:"=ngWig",onPaste:"="},restrict:"A",replace:!0,templateUrl:"ng-wig/views/ng-wig.html",link:function(b,d,e){function f(a){return a.split(",").map(Function.prototype.call,String.prototype.trim)}b.editMode=!1,b.autoexpand=!("autoexpand"in e)||"off"!==e.autoexpand,b.toolbarButtons=c.getToolbarButtons(e.buttons&&f(e.buttons)),b.toggleEditMode=function(){b.editMode=!b.editMode,a.getSelection().removeAllRanges&&a.getSelection().removeAllRanges()},b.execCommand=function(a,c){return b.editMode?!1:void(("createlink"!==a||(c=prompt("Please enter the URL","http://")))&&b.$broadcast("execCommand",{command:a,options:c}))}}}}]),angular.module("ngWig").directive("ngWigEditable",["$document",function(a){function b(b,c,d,e){function f(){e.$setViewValue(c.html())}c.attr("contenteditable",!0),e.$render=function(){c.html(e.$viewValue||"")};var g=["blur","keyup","change","focus","click"];angular.isFunction(b.onPaste)?c.on("paste",function(a){b.onPaste(a,c.html()).then(function(a){c.html(a)})}):g.push("paste"),c.bind(g.join(" "),function(){f(),b.$applyAsync()}),b.isEditorActive=function(){return c[0]===a[0].activeElement},b.$on("execCommand",function(b,d){c[0].focus();var e=a[0].selection,g=d.command,h=d.options;if(e)var i=e.createRange();if(a[0].queryCommandSupported&&!a[0].queryCommandSupported(g))throw'The command "'+g+'" is not supported';a[0].execCommand(g,!1,h),e&&(i.collapse(!1),i.select()),f()})}return{restrict:"A",require:"ngModel",replace:!0,link:b}}]),angular.module("ngWig").directive("ngWigPlugin",["$compile",function(a){return{restrict:"E",link:function(b,c){var d="<"+b.button.pluginName+" />",e=a(d)(b);c.replaceWith(e)}}}]),angular.module("ngWig").provider("ngWigToolbar",function(){var a={list1:{title:"Unordered List",command:"insertunorderedlist",styleClass:"fa-list-ul"},list2:{title:"Ordered List",command:"insertorderedlist",styleClass:"fa-list-ol"},bold:{title:"Bold",command:"bold",styleClass:"fa-bold"},italic:{title:"Italic",command:"italic",styleClass:"fa-italic"},link:{title:"Link",command:"createlink",styleClass:"fa-link"}},b=["list1","list2","bold","italic","link"],c=function(){return this.command&&document.queryCommandState(this.command)};this.setButtons=function(a){if(!angular.isArray(a))throw'Argument "buttons" should be an array';b=a},this.addStandardButton=function(c,d,e,f){if(!c||!d||!e)throw'Arguments "name", "title" and "command" are required';f=f||"",a[c]={title:d,command:e,styleClass:f},b.push(c)},this.addCustomButton=function(c,d){if(!c||!d)throw'Arguments "name" and "pluginName" are required';a[c]={pluginName:d,isComplex:!0},b.push(c)},this.$get=function(){return{getToolbarButtons:function(d){var e=[];return(d||b).forEach(function(b){if(!a[b])throw'There is no "'+b+'" in your library. Possible variants: '+Object.keys(a);var d=angular.copy(a[b]);angular.isFunction(d.isActive)||(d.isActive=c),e.push(d)}),e}}}}),angular.module("ngWig").config(["ngWigToolbarProvider",function(a){a.addCustomButton("formats","nw-formats-button")}]).directive("nwFormatsButton",function(){return{restrict:"E",replace:!0,template:'',link:function(a){a.formats=[{name:"Normal text",value:"p"},{name:"Header 1",value:"h1"},{name:"Header 2",value:"h2"},{name:"Header 3",value:"h3"}],a.format=a.formats[0]}}}),angular.module("ngwig-app-templates",["ng-wig/views/ng-wig.html"]),angular.module("ng-wig/views/ng-wig.html",[]).run(["$templateCache",function(a){a.put("ng-wig/views/ng-wig.html",'