@kolkov/angular-editor 1.1.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/LICENSE +21 -0
- package/README.md +265 -263
- package/bundles/kolkov-angular-editor.umd.js +1567 -1530
- package/bundles/kolkov-angular-editor.umd.js.map +1 -1
- package/esm2015/kolkov-angular-editor.js +6 -6
- package/esm2015/lib/ae-select/ae-select.component.js +173 -173
- package/esm2015/lib/angular-editor-toolbar.component.js +353 -350
- package/esm2015/lib/angular-editor.component.js +383 -376
- package/esm2015/lib/angular-editor.module.js +18 -18
- package/esm2015/lib/angular-editor.service.js +272 -272
- package/esm2015/lib/config.js +36 -28
- package/esm2015/lib/utils.js +4 -4
- package/esm2015/public-api.js +8 -8
- package/fesm2015/kolkov-angular-editor.js +1210 -1190
- package/fesm2015/kolkov-angular-editor.js.map +1 -1
- package/kolkov-angular-editor.d.ts +5 -5
- package/kolkov-angular-editor.metadata.json +1 -1
- package/lib/ae-select/ae-select.component.d.ts +43 -43
- package/lib/angular-editor-toolbar.component.d.ts +94 -88
- package/lib/angular-editor.component.d.ts +127 -126
- package/lib/angular-editor.module.d.ts +2 -2
- package/lib/angular-editor.service.d.ts +83 -83
- package/lib/config.d.ts +39 -34
- package/lib/utils.d.ts +1 -1
- package/package.json +7 -7
- package/public-api.d.ts +5 -5
- package/bundles/kolkov-angular-editor.umd.min.js +0 -2
- package/bundles/kolkov-angular-editor.umd.min.js.map +0 -1
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { HttpClient, HttpEvent } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { CustomClass } from './config';
|
|
4
|
-
export interface UploadResponse {
|
|
5
|
-
imageUrl: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class AngularEditorService {
|
|
8
|
-
private http;
|
|
9
|
-
private doc;
|
|
10
|
-
savedSelection: Range | null;
|
|
11
|
-
selectedText: string;
|
|
12
|
-
uploadUrl: string;
|
|
13
|
-
uploadWithCredentials: boolean;
|
|
14
|
-
constructor(http: HttpClient, doc: any);
|
|
15
|
-
/**
|
|
16
|
-
* Executed command from editor header buttons exclude toggleEditorMode
|
|
17
|
-
* @param command string from triggerCommand
|
|
18
|
-
*/
|
|
19
|
-
executeCommand(command: string): void;
|
|
20
|
-
/**
|
|
21
|
-
* Create URL link
|
|
22
|
-
* @param url string from UI prompt
|
|
23
|
-
*/
|
|
24
|
-
createLink(url: string): void;
|
|
25
|
-
/**
|
|
26
|
-
* insert color either font or background
|
|
27
|
-
*
|
|
28
|
-
* @param color color to be inserted
|
|
29
|
-
* @param where where the color has to be inserted either text/background
|
|
30
|
-
*/
|
|
31
|
-
insertColor(color: string, where: string): void;
|
|
32
|
-
/**
|
|
33
|
-
* Set font name
|
|
34
|
-
* @param fontName string
|
|
35
|
-
*/
|
|
36
|
-
setFontName(fontName: string): void;
|
|
37
|
-
/**
|
|
38
|
-
* Set font size
|
|
39
|
-
* @param fontSize string
|
|
40
|
-
*/
|
|
41
|
-
setFontSize(fontSize: string): void;
|
|
42
|
-
/**
|
|
43
|
-
* Create raw HTML
|
|
44
|
-
* @param html HTML string
|
|
45
|
-
*/
|
|
46
|
-
insertHtml(html: string): void;
|
|
47
|
-
/**
|
|
48
|
-
* save selection when the editor is focussed out
|
|
49
|
-
*/
|
|
50
|
-
saveSelection: () => void;
|
|
51
|
-
/**
|
|
52
|
-
* restore selection when the editor is focused in
|
|
53
|
-
*
|
|
54
|
-
* saved selection when the editor is focused out
|
|
55
|
-
*/
|
|
56
|
-
restoreSelection(): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* setTimeout used for execute 'saveSelection' method in next event loop iteration
|
|
59
|
-
*/
|
|
60
|
-
executeInNextQueueIteration(callbackFn: (...args: any[]) => any, timeout?: number): void;
|
|
61
|
-
/** check any selection is made or not */
|
|
62
|
-
private checkSelection;
|
|
63
|
-
/**
|
|
64
|
-
* Upload file to uploadUrl
|
|
65
|
-
* @param file The file
|
|
66
|
-
*/
|
|
67
|
-
uploadImage(file: File): Observable<HttpEvent<UploadResponse>>;
|
|
68
|
-
/**
|
|
69
|
-
* Insert image with Url
|
|
70
|
-
* @param imageUrl The imageUrl.
|
|
71
|
-
*/
|
|
72
|
-
insertImage(imageUrl: string): void;
|
|
73
|
-
setDefaultParagraphSeparator(separator: string): void;
|
|
74
|
-
createCustomClass(customClass: CustomClass): void;
|
|
75
|
-
insertVideo(videoUrl: string): void;
|
|
76
|
-
private insertYouTubeVideoTag;
|
|
77
|
-
private insertVimeoVideoTag;
|
|
78
|
-
nextNode(node: any): any;
|
|
79
|
-
getRangeSelectedNodes(range: any, includePartiallySelectedContainers: any): any[];
|
|
80
|
-
getSelectedNodes(): any[];
|
|
81
|
-
replaceWithOwnChildren(el: any): void;
|
|
82
|
-
removeSelectedElements(tagNames: any): void;
|
|
83
|
-
}
|
|
1
|
+
import { HttpClient, HttpEvent } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { CustomClass } from './config';
|
|
4
|
+
export interface UploadResponse {
|
|
5
|
+
imageUrl: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class AngularEditorService {
|
|
8
|
+
private http;
|
|
9
|
+
private doc;
|
|
10
|
+
savedSelection: Range | null;
|
|
11
|
+
selectedText: string;
|
|
12
|
+
uploadUrl: string;
|
|
13
|
+
uploadWithCredentials: boolean;
|
|
14
|
+
constructor(http: HttpClient, doc: any);
|
|
15
|
+
/**
|
|
16
|
+
* Executed command from editor header buttons exclude toggleEditorMode
|
|
17
|
+
* @param command string from triggerCommand
|
|
18
|
+
*/
|
|
19
|
+
executeCommand(command: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Create URL link
|
|
22
|
+
* @param url string from UI prompt
|
|
23
|
+
*/
|
|
24
|
+
createLink(url: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* insert color either font or background
|
|
27
|
+
*
|
|
28
|
+
* @param color color to be inserted
|
|
29
|
+
* @param where where the color has to be inserted either text/background
|
|
30
|
+
*/
|
|
31
|
+
insertColor(color: string, where: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Set font name
|
|
34
|
+
* @param fontName string
|
|
35
|
+
*/
|
|
36
|
+
setFontName(fontName: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Set font size
|
|
39
|
+
* @param fontSize string
|
|
40
|
+
*/
|
|
41
|
+
setFontSize(fontSize: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Create raw HTML
|
|
44
|
+
* @param html HTML string
|
|
45
|
+
*/
|
|
46
|
+
insertHtml(html: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* save selection when the editor is focussed out
|
|
49
|
+
*/
|
|
50
|
+
saveSelection: () => void;
|
|
51
|
+
/**
|
|
52
|
+
* restore selection when the editor is focused in
|
|
53
|
+
*
|
|
54
|
+
* saved selection when the editor is focused out
|
|
55
|
+
*/
|
|
56
|
+
restoreSelection(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* setTimeout used for execute 'saveSelection' method in next event loop iteration
|
|
59
|
+
*/
|
|
60
|
+
executeInNextQueueIteration(callbackFn: (...args: any[]) => any, timeout?: number): void;
|
|
61
|
+
/** check any selection is made or not */
|
|
62
|
+
private checkSelection;
|
|
63
|
+
/**
|
|
64
|
+
* Upload file to uploadUrl
|
|
65
|
+
* @param file The file
|
|
66
|
+
*/
|
|
67
|
+
uploadImage(file: File): Observable<HttpEvent<UploadResponse>>;
|
|
68
|
+
/**
|
|
69
|
+
* Insert image with Url
|
|
70
|
+
* @param imageUrl The imageUrl.
|
|
71
|
+
*/
|
|
72
|
+
insertImage(imageUrl: string): void;
|
|
73
|
+
setDefaultParagraphSeparator(separator: string): void;
|
|
74
|
+
createCustomClass(customClass: CustomClass): void;
|
|
75
|
+
insertVideo(videoUrl: string): void;
|
|
76
|
+
private insertYouTubeVideoTag;
|
|
77
|
+
private insertVimeoVideoTag;
|
|
78
|
+
nextNode(node: any): any;
|
|
79
|
+
getRangeSelectedNodes(range: any, includePartiallySelectedContainers: any): any[];
|
|
80
|
+
getSelectedNodes(): any[];
|
|
81
|
+
replaceWithOwnChildren(el: any): void;
|
|
82
|
+
removeSelectedElements(tagNames: any): void;
|
|
83
|
+
}
|
package/lib/config.d.ts
CHANGED
|
@@ -1,34 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
import { UploadResponse } from './angular-editor.service';
|
|
2
|
+
import { HttpEvent } from '@angular/common/http';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
export interface CustomClass {
|
|
5
|
+
name: string;
|
|
6
|
+
class: string;
|
|
7
|
+
tag?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface Font {
|
|
10
|
+
name: string;
|
|
11
|
+
class: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AngularEditorConfig {
|
|
14
|
+
editable?: boolean;
|
|
15
|
+
spellcheck?: boolean;
|
|
16
|
+
height?: 'auto' | string;
|
|
17
|
+
minHeight?: '0' | string;
|
|
18
|
+
maxHeight?: 'auto' | string;
|
|
19
|
+
width?: 'auto' | string;
|
|
20
|
+
minWidth?: '0' | string;
|
|
21
|
+
translate?: 'yes' | 'now' | string;
|
|
22
|
+
enableToolbar?: boolean;
|
|
23
|
+
showToolbar?: boolean;
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
defaultParagraphSeparator?: string;
|
|
26
|
+
defaultFontName?: string;
|
|
27
|
+
defaultFontSize?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | string;
|
|
28
|
+
uploadUrl?: string;
|
|
29
|
+
upload?: (file: File) => Observable<HttpEvent<UploadResponse>>;
|
|
30
|
+
uploadWithCredentials?: boolean;
|
|
31
|
+
fonts?: Font[];
|
|
32
|
+
customClasses?: CustomClass[];
|
|
33
|
+
sanitize?: boolean;
|
|
34
|
+
toolbarPosition?: 'top' | 'bottom';
|
|
35
|
+
outline?: boolean;
|
|
36
|
+
toolbarHiddenButtons?: string[][];
|
|
37
|
+
rawPaste?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare const angularEditorConfig: AngularEditorConfig;
|
package/lib/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function isDefined(value: any): boolean;
|
|
1
|
+
export declare function isDefined(value: any): boolean;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkov/angular-editor",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "A simple native WYSIWYG editor for Angular
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "A simple native WYSIWYG editor for Angular 8+, 12+. Rich Text editor component for Angular.",
|
|
5
5
|
"author": "Andrey Kolkov <a.kolkov@gmail.com>",
|
|
6
6
|
"repository": "https://github.com/kolkov/angular-editor",
|
|
7
7
|
"license": "MIT",
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"url": "https://github.com/kolkov/angular-editor/issues"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@angular/common": ">=8.0.0 <
|
|
14
|
-
"@angular/core": ">=8.0.0 <
|
|
15
|
-
"@angular/forms": ">=8.0.0 <
|
|
16
|
-
"@angular/platform-browser": ">=8.0.0 <
|
|
13
|
+
"@angular/common": ">=8.0.0 <13",
|
|
14
|
+
"@angular/core": ">=8.0.0 <13",
|
|
15
|
+
"@angular/forms": ">=8.0.0 <13",
|
|
16
|
+
"@angular/platform-browser": ">=8.0.0 <13",
|
|
17
17
|
"rxjs": "^6.x.x"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
@@ -38,4 +38,4 @@
|
|
|
38
38
|
"typings": "kolkov-angular-editor.d.ts",
|
|
39
39
|
"metadata": "kolkov-angular-editor.metadata.json",
|
|
40
40
|
"sideEffects": false
|
|
41
|
-
}
|
|
41
|
+
}
|
package/public-api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './lib/angular-editor.service';
|
|
2
|
-
export * from './lib/angular-editor.component';
|
|
3
|
-
export * from './lib/angular-editor-toolbar.component';
|
|
4
|
-
export * from './lib/angular-editor.module';
|
|
5
|
-
export { AngularEditorConfig, CustomClass } from './lib/config';
|
|
1
|
+
export * from './lib/angular-editor.service';
|
|
2
|
+
export * from './lib/angular-editor.component';
|
|
3
|
+
export * from './lib/angular-editor-toolbar.component';
|
|
4
|
+
export * from './lib/angular-editor.module';
|
|
5
|
+
export { AngularEditorConfig, CustomClass } from './lib/config';
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("@angular/common"),require("@angular/forms"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("@kolkov/angular-editor",["exports","@angular/core","@angular/common/http","@angular/common","@angular/forms","@angular/platform-browser"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kolkov=e.kolkov||{},e.kolkov["angular-editor"]={}),e.ng.core,e.ng.common.http,e.ng.common,e.ng.forms,e.ng.platformBrowser)}(this,(function(e,t,o,n,r,a){"use strict";var f=function(){function e(e,t){var o=this;this.http=e,this.doc=t,this.saveSelection=function(){if(o.doc.getSelection){var e=o.doc.getSelection();e.getRangeAt&&e.rangeCount&&(o.savedSelection=e.getRangeAt(0),o.selectedText=e.toString())}else o.doc.getSelection&&o.doc.createRange?o.savedSelection=document.createRange():o.savedSelection=null}}return e.prototype.executeCommand=function(e){["h1","h2","h3","h4","h5","h6","p","pre"].includes(e)?this.doc.execCommand("formatBlock",!1,e):this.doc.execCommand(e,!1,null)},e.prototype.createLink=function(e){if(e.includes("http")){var t='<a href="'+e+'" target="_blank">'+this.selectedText+"</a>";this.insertHtml(t)}else this.doc.execCommand("createlink",!1,e)},e.prototype.insertColor=function(e,t){this.restoreSelection()&&("textColor"===t?this.doc.execCommand("foreColor",!1,e):this.doc.execCommand("hiliteColor",!1,e))},e.prototype.setFontName=function(e){this.doc.execCommand("fontName",!1,e)},e.prototype.setFontSize=function(e){this.doc.execCommand("fontSize",!1,e)},e.prototype.insertHtml=function(e){if(!this.doc.execCommand("insertHTML",!1,e))throw new Error("Unable to perform the operation")},e.prototype.restoreSelection=function(){if(!this.savedSelection)return!1;if(this.doc.getSelection){var e=this.doc.getSelection();return e.removeAllRanges(),e.addRange(this.savedSelection),!0}return!!this.doc.getSelection||void 0},e.prototype.executeInNextQueueIteration=function(e,t){void 0===t&&(t=100),setTimeout(e,t)},e.prototype.checkSelection=function(){if(0===this.savedSelection.toString().length)throw new Error("No Selection Made");return!0},e.prototype.uploadImage=function(e){var t=new FormData;return t.append("file",e,e.name),this.http.post(this.uploadUrl,t,{reportProgress:!0,observe:"events",withCredentials:this.uploadWithCredentials})},e.prototype.insertImage=function(e){this.doc.execCommand("insertImage",!1,e)},e.prototype.setDefaultParagraphSeparator=function(e){this.doc.execCommand("defaultParagraphSeparator",!1,e)},e.prototype.createCustomClass=function(e){var t=this.selectedText;if(e){var o=e.tag?e.tag:"span";t="<"+o+' class="'+e.class+'">'+this.selectedText+"</"+o+">"}this.insertHtml(t)},e.prototype.insertVideo=function(e){e.match("www.youtube.com")&&this.insertYouTubeVideoTag(e),e.match("vimeo.com")&&this.insertVimeoVideoTag(e)},e.prototype.insertYouTubeVideoTag=function(e){var t=e.split("v=")[1],o="\n <div style='position: relative'>\n <img style='position: absolute; left:200px; top:140px'\n src=\"https://img.icons8.com/color/96/000000/youtube-play.png\"/>\n <a href='"+e+"' target='_blank'>\n <img src=\""+("https://img.youtube.com/vi/"+t+"/0.jpg")+'" alt="click to watch"/>\n </a>\n </div>';this.insertHtml(o)},e.prototype.insertVimeoVideoTag=function(e){var t=this,o=this.http.get("https://vimeo.com/api/oembed.json?url="+e).subscribe((function(n){var r=n.thumbnail_url_with_play_button,a="<div>\n <a href='"+e+"' target='_blank'>\n <img src=\""+r+'" alt="'+n.title+'"/>\n </a>\n </div>';t.insertHtml(a),o.unsubscribe()}))},e.prototype.nextNode=function(e){if(e.hasChildNodes())return e.firstChild;for(;e&&!e.nextSibling;)e=e.parentNode;return e?e.nextSibling:null},e.prototype.getRangeSelectedNodes=function(e,t){var o=e.startContainer,n=e.endContainer,r=[];if(o===n)r=[o];else{for(;o&&o!==n;)r.push(o=this.nextNode(o));for(o=e.startContainer;o&&o!==e.commonAncestorContainer;)r.unshift(o),o=o.parentNode}if(t)for(o=e.commonAncestorContainer;o;)r.push(o),o=o.parentNode;return r},e.prototype.getSelectedNodes=function(){var e=[];if(this.doc.getSelection)for(var t=this.doc.getSelection(),o=0,n=t.rangeCount;o<n;++o)e.push.apply(e,this.getRangeSelectedNodes(t.getRangeAt(o),!0));return e},e.prototype.replaceWithOwnChildren=function(e){for(var t=e.parentNode;e.hasChildNodes();)t.insertBefore(e.firstChild,e);t.removeChild(e)},e.prototype.removeSelectedElements=function(e){var t=this,o=e.toLowerCase().split(",");this.getSelectedNodes().forEach((function(e){1===e.nodeType&&o.indexOf(e.tagName.toLowerCase())>-1&&t.replaceWithOwnChildren(e)}))},e}();f.decorators=[{type:t.Injectable}],f.ctorParameters=function(){return[{type:o.HttpClient},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var i={editable:!0,spellcheck:!0,height:"auto",minHeight:"0",maxHeight:"auto",width:"auto",minWidth:"0",translate:"yes",enableToolbar:!0,showToolbar:!0,placeholder:"Enter text here...",defaultParagraphSeparator:"",defaultFontName:"",defaultFontSize:"",fonts:[{class:"arial",name:"Arial"},{class:"times-new-roman",name:"Times New Roman"},{class:"calibri",name:"Calibri"},{class:"comic-sans-ms",name:"Comic Sans MS"}],uploadUrl:"v1/image",uploadWithCredentials:!1,sanitize:!0,toolbarPosition:"top",outline:!0};function c(e){return null!=e}var l=function(){function e(e,o,n,r,a,f,c){this.r=e,this.editorService=o,this.doc=n,this.sanitizer=r,this.cdRef=a,this.autoFocus=c,this.modeVisual=!0,this.showPlaceholder=!1,this.disabled=!1,this.focused=!1,this.touched=!1,this.changed=!1,this.id="",this.config=i,this.placeholder="",this.viewMode=new t.EventEmitter,this.blurEvent=new t.EventEmitter,this.focusEvent=new t.EventEmitter,this.tabindex=-1;var l=Number(f);this.tabIndex=l||0===l?l:null}return e.prototype.onFocus=function(){this.focus()},e.prototype.ngOnInit=function(){this.config.toolbarPosition=this.config.toolbarPosition?this.config.toolbarPosition:i.toolbarPosition},e.prototype.ngAfterViewInit=function(){c(this.autoFocus)&&this.focus()},e.prototype.executeCommand=function(e){this.focus(),"focus"!==e&&("toggleEditorMode"===e?this.toggleEditorMode(this.modeVisual):""!==e&&("clear"===e?(this.editorService.removeSelectedElements(this.getCustomTags()),this.onContentChange(this.textArea.nativeElement)):"default"===e?(this.editorService.removeSelectedElements("h1,h2,h3,h4,h5,h6,p,pre"),this.onContentChange(this.textArea.nativeElement)):this.editorService.executeCommand(e),this.exec()))},e.prototype.onTextAreaFocus=function(e){var t=this;this.focused?e.stopPropagation():(this.focused=!0,this.focusEvent.emit(e),this.touched&&this.changed||this.editorService.executeInNextQueueIteration((function(){t.configure(),t.touched=!0})))},e.prototype.onTextAreaMouseOut=function(e){this.editorService.saveSelection()},e.prototype.onTextAreaBlur=function(e){if(this.editorService.executeInNextQueueIteration(this.editorService.saveSelection),"function"==typeof this.onTouched&&this.onTouched(),null!==e.relatedTarget){var t=e.relatedTarget.parentElement;t.classList.contains("angular-editor-toolbar-set")||t.classList.contains("ae-picker")||(this.blurEvent.emit(e),this.focused=!1)}},e.prototype.focus=function(){this.modeVisual?this.textArea.nativeElement.focus():(this.doc.getElementById("sourceText"+this.id).focus(),this.focused=!0)},e.prototype.onContentChange=function(e){var o="";(o=this.modeVisual?e.innerHTML:e.innerText)&&"<br>"!==o||(o=""),"function"==typeof this.onChange&&(this.onChange(this.config.sanitize||void 0===this.config.sanitize?this.sanitizer.sanitize(t.SecurityContext.HTML,o):o),!o!==this.showPlaceholder&&this.togglePlaceholder(this.showPlaceholder)),this.changed=!0},e.prototype.registerOnChange=function(e){this.onChange=function(t){return e("<br>"===t?"":t)}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.writeValue=function(e){(!e||"<br>"===e||""===e)!==this.showPlaceholder&&this.togglePlaceholder(this.showPlaceholder),void 0!==e&&""!==e&&"<br>"!==e||(e=null),this.refreshView(e)},e.prototype.refreshView=function(e){var t=null===e?"":e;this.r.setProperty(this.textArea.nativeElement,"innerHTML",t)},e.prototype.togglePlaceholder=function(e){e?(this.r.removeClass(this.editorWrapper.nativeElement,"show-placeholder"),this.showPlaceholder=!1):(this.r.addClass(this.editorWrapper.nativeElement,"show-placeholder"),this.showPlaceholder=!0)},e.prototype.setDisabledState=function(e){var t=this.textArea.nativeElement,o=e?"addClass":"removeClass";this.r[o](t,"disabled"),this.disabled=e},e.prototype.toggleEditorMode=function(e){var t,o=this,n=this.textArea.nativeElement;if(e){t=this.r.createText(n.innerHTML),this.r.setProperty(n,"innerHTML",""),this.r.setProperty(n,"contentEditable",!1);var r=this.r.createElement("pre");this.r.setStyle(r,"margin","0"),this.r.setStyle(r,"outline","none");var a=this.r.createElement("code");this.r.setProperty(a,"id","sourceText"+this.id),this.r.setStyle(a,"display","block"),this.r.setStyle(a,"white-space","pre-wrap"),this.r.setStyle(a,"word-break","keep-all"),this.r.setStyle(a,"outline","none"),this.r.setStyle(a,"margin","0"),this.r.setStyle(a,"background-color","#fff5b9"),this.r.setProperty(a,"contentEditable",!0),this.r.appendChild(a,t),this.focusInstance=this.r.listen(a,"focus",(function(e){return o.onTextAreaFocus(e)})),this.blurInstance=this.r.listen(a,"blur",(function(e){return o.onTextAreaBlur(e)})),this.r.appendChild(r,a),this.r.appendChild(n,r),this.doc.execCommand("defaultParagraphSeparator",!1,"div"),this.modeVisual=!1,this.viewMode.emit(!1),a.focus()}else this.doc.querySelectorAll?this.r.setProperty(n,"innerHTML",n.innerText):((t=this.doc.createRange()).selectNodeContents(n.firstChild),this.r.setProperty(n,"innerHTML",t.toString())),this.r.setProperty(n,"contentEditable",!0),this.modeVisual=!0,this.viewMode.emit(!0),this.onContentChange(n),n.focus();this.editorToolbar.setEditorMode(!this.modeVisual)},e.prototype.exec=function(){var e;this.editorToolbar.triggerButtons(),this.doc.getSelection&&(e=this.doc.getSelection(),this.editorService.executeInNextQueueIteration(this.editorService.saveSelection));for(var t=e.focusNode,o=[];t&&"editor"!==t.id;)o.unshift(t),t=t.parentNode;this.editorToolbar.triggerBlocks(o)},e.prototype.configure=function(){this.editorService.uploadUrl=this.config.uploadUrl,this.editorService.uploadWithCredentials=this.config.uploadWithCredentials,this.config.defaultParagraphSeparator&&this.editorService.setDefaultParagraphSeparator(this.config.defaultParagraphSeparator),this.config.defaultFontName&&this.editorService.setFontName(this.config.defaultFontName),this.config.defaultFontSize&&this.editorService.setFontSize(this.config.defaultFontSize)},e.prototype.getFonts=function(){return(this.config.fonts?this.config.fonts:i.fonts).map((function(e){return{label:e.name,value:e.name}}))},e.prototype.getCustomTags=function(){var e=["span"];return this.config.customClasses.forEach((function(t){void 0!==t.tag&&(e.includes(t.tag)||e.push(t.tag))})),e.join(",")},e.prototype.ngOnDestroy=function(){this.blurInstance&&this.blurInstance(),this.focusInstance&&this.focusInstance()},e.prototype.filterStyles=function(e){return e=e.replace("position: fixed;","")},e}();l.decorators=[{type:t.Component,args:[{selector:"angular-editor",template:'<div class="angular-editor" #angularEditor [style.width]="config.width"\r\n [style.minWidth]="config.minWidth">\r\n <angular-editor-toolbar *ngIf="config.toolbarPosition === \'top\'" #editorToolbar\r\n [id]="id"\r\n [uploadUrl]="config.uploadUrl"\r\n [showToolbar]="config.showToolbar !== undefined ? config.showToolbar : true"\r\n [fonts]="getFonts()"\r\n [customClasses]="config.customClasses"\r\n [defaultFontName]="config.defaultFontName"\r\n [defaultFontSize]="config.defaultFontSize"\r\n [hiddenButtons]="config.toolbarHiddenButtons"\r\n (execute)="executeCommand($event)"></angular-editor-toolbar>\r\n\r\n <div class="angular-editor-wrapper" #editorWrapper>\r\n <div #editor class="angular-editor-textarea"\r\n [attr.contenteditable]="config.editable"\r\n [attr.tabindex]="disabled ? -1 : tabIndex"\r\n [attr.translate]="config.translate"\r\n [attr.spellcheck]="config.spellcheck"\r\n [style.height]="config.height"\r\n [style.minHeight]="config.minHeight"\r\n [style.maxHeight]="config.maxHeight"\r\n [style.outline]="config.outline === false ? \'none\': undefined"\r\n (input)="onContentChange($event.target)"\r\n (focus)="onTextAreaFocus($event)"\r\n (blur)="onTextAreaBlur($event)"\r\n (click)="exec()"\r\n (keyup)="exec()"\r\n (mouseout)="onTextAreaMouseOut($event)"\r\n >\r\n </div>\r\n <span class="angular-editor-placeholder">{{ placeholder || config[\'placeholder\'] }}</span>\r\n </div>\r\n <angular-editor-toolbar *ngIf="config.toolbarPosition === \'bottom\'" #editorToolbar\r\n [id]="id"\r\n [uploadUrl]="config.uploadUrl"\r\n [showToolbar]="config.showToolbar !== undefined ? config.showToolbar : true"\r\n [fonts]="getFonts()"\r\n [customClasses]="config.customClasses"\r\n [defaultFontName]="config.defaultFontName"\r\n [defaultFontSize]="config.defaultFontSize"\r\n [hiddenButtons]="config.toolbarHiddenButtons"\r\n (execute)="executeCommand($event)"></angular-editor-toolbar>\r\n</div>\r\n',providers:[{provide:r.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return l})),multi:!0},f],styles:['@charset "UTF-8";\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot#iefix&v=4.7.0) format("embedded-opentype"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg")}.fa{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.2857142857em}.fa-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}a{cursor:pointer}.angular-editor-textarea{margin-top:5px;min-height:150px;overflow:auto;resize:vertical}.angular-editor-textarea:after{background-color:hsla(0,0%,100%,.5);bottom:0;content:"";cursor:nwse-resize;display:block;height:8px;position:absolute;right:0;width:8px}.angular-editor-toolbar{background-color:#f5f5f5;border:1px solid #ddd;font:100 14px/15px Roboto,Arial,sans-serif;font-size:.8rem;padding:.2rem}.angular-editor-toolbar .angular-editor-toolbar-set{display:none;margin-right:5px;vertical-align:baseline}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button{background-color:#fff;border:1px solid #ddd;float:left;min-width:2rem;padding:.4rem;vertical-align:middle}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.focus,.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:focus{outline:0}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label{cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label.background,.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label.foreground :after{background:#555}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.active{background:#fff5b9}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.active:hover{background-color:#fffa98}.angular-editor-toolbar .angular-editor-toolbar-set select{background-color:transparent;border:.5px solid hsla(0,0%,100%,0);border-radius:5px;cursor:pointer;font-size:11px;outline:none;padding:.4rem;vertical-align:middle;width:90px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-heading optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading option{background-color:#fff;border:1px solid}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .default{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h1{font-size:24px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h2{font-size:20px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h3{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h4{font-size:15px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h5{font-size:14px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h6{font-size:13px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .div,.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .pre{font-size:12px}}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-font{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-font optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font option{background-color:#fff;border:1px solid}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size{display:inline-block;width:50px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size option{background-color:#fff;border:1px solid}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size1{font-size:10px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size2{font-size:12px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size3{font-size:14px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size4{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size5{font-size:18px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size6{font-size:20px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size7{font-size:22px}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style option{background-color:#fff;border:1px solid}}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .color-label{cursor:pointer;position:relative}.angular-editor-toolbar .angular-editor-toolbar-set .background{background:#1b1b1b;color:#fff;font-size:smaller;padding:3px}.angular-editor-toolbar .angular-editor-toolbar-set .foreground :after{background:#1b1b1b;bottom:-3px;content:"";height:2px;left:-1px;position:absolute;right:auto;top:auto;width:15px;z-index:0}.angular-editor-toolbar .angular-editor-toolbar-set:not([style*="display:none"]):not([style*="display: none"]){display:inline-block}.angular-editor{position:relative}.angular-editor ::ng-deep [contenteditable=true]:empty:before{color:#868e96;content:attr(placeholder);opacity:1}.angular-editor .angular-editor-wrapper{position:relative}.angular-editor .angular-editor-wrapper .angular-editor-textarea{background-color:transparent;border:1px solid #ddd;min-height:5rem;overflow-x:hidden;overflow-y:auto;padding:.5rem .8rem 1rem;position:relative}.angular-editor .angular-editor-wrapper .angular-editor-textarea ::ng-deep blockquote{border-left:.2em solid #dfe2e5;margin-left:1rem;padding-left:.5rem}.angular-editor .angular-editor-wrapper ::ng-deep p{margin-bottom:0}.angular-editor .angular-editor-wrapper .angular-editor-placeholder{color:#6c757d;display:none;opacity:.75;padding:.5rem .8rem 1rem .9rem;position:absolute;top:0}.angular-editor .angular-editor-wrapper.show-placeholder .angular-editor-placeholder{display:block}.angular-editor .angular-editor-wrapper.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}']}]}],l.ctorParameters=function(){return[{type:t.Renderer2},{type:f},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]},{type:a.DomSanitizer},{type:t.ChangeDetectorRef},{type:String,decorators:[{type:t.Attribute,args:["tabindex"]}]},{type:void 0,decorators:[{type:t.Attribute,args:["autofocus"]}]}]},l.propDecorators={id:[{type:t.Input}],config:[{type:t.Input}],placeholder:[{type:t.Input}],tabIndex:[{type:t.Input}],html:[{type:t.Output}],textArea:[{type:t.ViewChild,args:["editor",{static:!0}]}],editorWrapper:[{type:t.ViewChild,args:["editorWrapper",{static:!0}]}],editorToolbar:[{type:t.ViewChild,args:["editorToolbar"]}],viewMode:[{type:t.Output}],blurEvent:[{type:t.Output,args:["blur"]}],focusEvent:[{type:t.Output,args:["focus"]}],tabindex:[{type:t.HostBinding,args:["attr.tabindex"]}],onFocus:[{type:t.HostListener,args:["focus"]}]};Object.create;function s(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],n=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var b=function(){function e(e,o,n,r){this.r=e,this.editorService=o,this.er=n,this.doc=r,this.htmlMode=!1,this.linkSelected=!1,this.block="default",this.fontName="Times New Roman",this.fontSize="3",this.headings=[{label:"Heading 1",value:"h1"},{label:"Heading 2",value:"h2"},{label:"Heading 3",value:"h3"},{label:"Heading 4",value:"h4"},{label:"Heading 5",value:"h5"},{label:"Heading 6",value:"h6"},{label:"Heading 7",value:"h7"},{label:"Paragraph",value:"p"},{label:"Predefined",value:"pre"},{label:"Standard",value:"div"},{label:"default",value:"default"}],this.fontSizes=[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"}],this.customClassId="-1",this.customClassList=[{label:"",value:""}],this.tagMap={BLOCKQUOTE:"indent",A:"link"},this.select=["H1","H2","H3","H4","H5","H6","P","PRE","DIV"],this.buttons=["bold","italic","underline","strikeThrough","subscript","superscript","justifyLeft","justifyCenter","justifyRight","justifyFull","indent","outdent","insertUnorderedList","insertOrderedList","link"],this.fonts=[{label:"",value:""}],this.execute=new t.EventEmitter}return Object.defineProperty(e.prototype,"customClasses",{set:function(e){e&&(this._customClasses=e,this.customClassList=this._customClasses.map((function(e,t){return{label:e.name,value:t.toString()}})),this.customClassList.unshift({label:"Clear Class",value:"-1"}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultFontName",{set:function(e){e&&(this.fontName=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultFontSize",{set:function(e){e&&(this.fontSize=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isLinkButtonDisabled",{get:function(){return this.htmlMode||!Boolean(this.editorService.selectedText)},enumerable:!1,configurable:!0}),e.prototype.triggerCommand=function(e){this.execute.emit(e)},e.prototype.triggerButtons=function(){var e=this;this.showToolbar&&this.buttons.forEach((function(t){var o=e.doc.queryCommandState(t),n=e.doc.getElementById(t+"-"+e.id);o?e.r.addClass(n,"active"):e.r.removeClass(n,"active")}))},e.prototype.triggerBlocks=function(e){var t=this;if(this.showToolbar){this.linkSelected=e.findIndex((function(e){return"A"===e.nodeName}))>-1;var o=!1;this.select.forEach((function(n){var r=e.find((function(e){return e.nodeName===n}));void 0!==r&&n===r.nodeName?!1===o&&(t.block=r.nodeName.toLowerCase(),o=!0):!1===o&&(t.block="default")})),o=!1,this._customClasses&&this._customClasses.forEach((function(n,r){void 0!==e.find((function(e){if(e instanceof Element)return e.className===n.class}))?!1===o&&(t.customClassId=r.toString(),o=!0):!1===o&&(t.customClassId="-1")})),Object.keys(this.tagMap).map((function(o){var n=t.doc.getElementById(t.tagMap[o]+"-"+t.id),r=e.find((function(e){return e.nodeName===o}));void 0!==r&&o===r.nodeName?t.r.addClass(n,"active"):t.r.removeClass(n,"active")})),this.foreColour=this.doc.queryCommandValue("ForeColor"),this.fontSize=this.doc.queryCommandValue("FontSize"),this.fontName=this.doc.queryCommandValue("FontName").replace(/"/g,""),this.backColor=this.doc.queryCommandValue("backColor")}},e.prototype.insertUrl=function(){var e="https://",t=this.editorService.savedSelection;if(t&&"A"===t.commonAncestorContainer.parentElement.nodeName){var o=t.commonAncestorContainer.parentElement;""!==o.href&&(e=o.href)}(e=prompt("Insert URL link",e))&&""!==e&&"https://"!==e&&this.editorService.createLink(e)},e.prototype.insertVideo=function(){this.execute.emit("");var e=prompt("Insert Video link","https://");e&&""!==e&&"https://"!==e&&this.editorService.insertVideo(e)},e.prototype.insertColor=function(e,t){this.editorService.insertColor(e,t),this.execute.emit("")},e.prototype.setFontName=function(e){this.editorService.setFontName(e),this.execute.emit("")},e.prototype.setFontSize=function(e){this.editorService.setFontSize(e),this.execute.emit("")},e.prototype.setEditorMode=function(e){var t=this.doc.getElementById("toggleEditorMode-"+this.id);e?this.r.addClass(t,"active"):this.r.removeClass(t,"active"),this.htmlMode=e},e.prototype.onFileChanged=function(e){var t=this,n=e.target.files[0];if(n.type.includes("image/"))if(this.uploadUrl)this.editorService.uploadImage(n).subscribe((function(n){n instanceof o.HttpResponse&&(t.editorService.insertImage(n.body.imageUrl),e.srcElement.value=null)}));else{var r=new FileReader;r.onload=function(e){var o=e.currentTarget;t.editorService.insertImage(o.result.toString())},r.readAsDataURL(n)}},e.prototype.setCustomClass=function(e){"-1"===e?this.execute.emit("clear"):this.editorService.createCustomClass(this._customClasses[+e])},e.prototype.isButtonHidden=function(e){var t,o,n;if(!e)return!1;if(!(this.hiddenButtons instanceof Array))return!1;try{for(var r=s(this.hiddenButtons),a=r.next();!a.done;a=r.next()){var f=a.value;if(f instanceof Array&&(n=f.find((function(t){return t===e}))),n)break}}catch(e){t={error:e}}finally{try{a&&!a.done&&(o=r.return)&&o.call(r)}finally{if(t)throw t.error}}return void 0!==n},e.prototype.focus=function(){this.execute.emit("focus"),console.log("focused")},e}();b.decorators=[{type:t.Component,args:[{selector:"angular-editor-toolbar",template:'<div class="angular-editor-toolbar" *ngIf="showToolbar">\r\n <div class="angular-editor-toolbar-set">\r\n <button type="button" title="Undo" class="angular-editor-button" (click)="triggerCommand(\'undo\')"\r\n [hidden]="isButtonHidden(\'undo\')" tabindex="-1"><i\r\n class=\'fa fa-undo\'></i></button>\r\n <button type="button" title="Redo" class="angular-editor-button" (click)="triggerCommand(\'redo\')"\r\n [hidden]="isButtonHidden(\'redo\')" tabindex="-1"><i\r\n class=\'fa fa-repeat\'></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'bold-\'+id" type="button" title="Bold" class="angular-editor-button" (click)="triggerCommand(\'bold\')"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'bold\')" tabindex="-1"><i class=\'fa fa-bold\'></i></button>\r\n <button [id]="\'italic-\'+id" type="button" title="Italic" class="angular-editor-button"\r\n (click)="triggerCommand(\'italic\')"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'italic\')" tabindex="-1"><i class=\'fa fa-italic\'></i>\r\n </button>\r\n <button [id]="\'underline-\'+id" type="button" title="Underline" class="angular-editor-button"\r\n (click)="triggerCommand(\'underline\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'underline\')"\r\n tabindex="-1"><i class=\'fa fa-underline\'></i></button>\r\n <button [id]="\'strikeThrough-\'+id" type="button" title="Strikethrough" class="angular-editor-button"\r\n (click)="triggerCommand(\'strikeThrough\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'strikeThrough\')"\r\n tabindex="-1"><i class=\'fa fa-strikethrough\'></i></button>\r\n <button [id]="\'subscript-\'+id" type="button" title="Subscript" class="angular-editor-button"\r\n (click)="triggerCommand(\'subscript\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'subscript\')"\r\n tabindex="-1"><i class=\'fa fa-subscript\'></i></button>\r\n <button [id]="\'superscript-\'+id" type="button" title="Superscript" class="angular-editor-button"\r\n (click)="triggerCommand(\'superscript\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'superscript\')"\r\n tabindex="-1"><i class=\'fa fa-superscript\'></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'justifyLeft-\'+id" type="button" title="Justify Left" class="angular-editor-button"\r\n (click)="triggerCommand(\'justifyLeft\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'justifyLeft\')"\r\n tabindex="-1"><i\r\n class=\'fa fa-align-left\'></i></button>\r\n <button [id]="\'justifyCenter-\'+id" type="button" title="Justify Center" class="angular-editor-button"\r\n (click)="triggerCommand(\'justifyCenter\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'justifyCenter\')"\r\n tabindex="-1"><i\r\n class=\'fa fa-align-center\'></i></button>\r\n <button [id]="\'justifyRight-\'+id" type="button" title="Justify Right" class="angular-editor-button"\r\n (click)="triggerCommand(\'justifyRight\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'justifyRight\')"\r\n tabindex="-1">\r\n <i class=\'fa fa-align-right\'></i></button>\r\n <button [id]="\'justifyFull-\'+id" type="button" title="Justify Full" class="angular-editor-button"\r\n (click)="triggerCommand(\'justifyFull\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'justifyFull\')"\r\n tabindex="-1"><i\r\n class=\'fa fa-align-justify\'></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'indent-\'+id" type="button" title="Indent" class="angular-editor-button"\r\n (click)="triggerCommand(\'indent\')"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'indent\')" tabindex="-1"><i\r\n class=\'fa fa-indent\'></i></button>\r\n <button [id]="\'outdent-\'+id" type="button" title="Outdent" class="angular-editor-button"\r\n (click)="triggerCommand(\'outdent\')"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'outdent\')" tabindex="-1"><i\r\n class=\'fa fa-outdent\'></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'insertUnorderedList-\'+id" type="button" title="Unordered List" class="angular-editor-button"\r\n (click)="triggerCommand(\'insertUnorderedList\')" [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'insertUnorderedList\')" tabindex="-1"><i\r\n class=\'fa fa-list-ul\'></i></button>\r\n <button [id]="\'insertOrderedList-\'+id" type="button" title="Ordered List" class="angular-editor-button"\r\n (click)="triggerCommand(\'insertOrderedList\')" [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'insertOrderedList\')" tabindex="-1"><i\r\n class=\'fa fa-list-ol\'></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n\r\n <ae-select class="select-heading" [options]="headings"\r\n [(ngModel)]="block"\r\n (change)="triggerCommand(block)"\r\n [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'heading\')"\r\n tabindex="-1"></ae-select>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n\r\n <ae-select class="select-font" [options]="fonts"\r\n [(ngModel)]="fontName"\r\n (change)="setFontName(fontName)"\r\n [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'fontName\')"\r\n tabindex="-1"></ae-select>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n\r\n <ae-select class="select-font-size" [options]="fontSizes"\r\n [(ngModel)]="fontSize"\r\n (change)="setFontSize(fontSize)"\r\n [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'fontSize\')"\r\n tabindex="-1">\r\n </ae-select>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <input\r\n style="display: none"\r\n type="color" (change)="insertColor(fgInput.value, \'textColor\')"\r\n #fgInput>\r\n <button [id]="\'foregroundColorPicker-\'+id" type="button" class="angular-editor-button" (click)="focus(); ; fgInput.click()"\r\n title="Text Color"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'textColor\')" tabindex="-1"><span\r\n class="color-label foreground"><i class="fa fa-font"></i></span>\r\n </button>\r\n <input\r\n style="display: none"\r\n type="color" (change)="insertColor(bgInput.value, \'backgroundColor\')"\r\n #bgInput>\r\n <button [id]="\'backgroundColorPicker-\'+id" type="button" class="angular-editor-button" (click)="focus(); ; bgInput.click()"\r\n title="Background Color"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'backgroundColor\')" tabindex="-1"><span\r\n class="color-label background"><i class="fa fa-font"></i></span>\r\n </button>\r\n </div>\r\n <div *ngIf="_customClasses" class="angular-editor-toolbar-set">\r\n <ae-select class="select-custom-style" [options]="customClassList"\r\n [(ngModel)]="customClassId"\r\n (change)="setCustomClass(customClassId)"\r\n [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'customClasses\')"\r\n tabindex="-1"></ae-select>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'link-\'+id" type="button" class="angular-editor-button" (click)="insertUrl()"\r\n title="Insert Link" [disabled]="isLinkButtonDisabled" [hidden]="isButtonHidden(\'link\')" tabindex="-1">\r\n <i class="fa fa-link"></i>\r\n </button>\r\n <button [id]="\'unlink-\'+id" type="button" class="angular-editor-button" (click)="triggerCommand(\'unlink\')"\r\n title="Unlink" [disabled]="htmlMode || !linkSelected" [hidden]="isButtonHidden(\'unlink\')" tabindex="-1">\r\n <i class="fa fa-chain-broken"></i>\r\n </button>\r\n <input\r\n style="display: none"\r\n accept="image/*"\r\n type="file" (change)="onFileChanged($event)"\r\n #fileInput>\r\n <button [id]="\'insertImage-\'+id" type="button" class="angular-editor-button" (click)="focus(); fileInput.click()"\r\n title="Insert Image"\r\n [disabled]="htmlMode" [hidden]="isButtonHidden(\'insertImage\')" tabindex="-1"><i class="fa fa-image"></i>\r\n </button>\r\n <button [id]="\'insertVideo-\'+id" type="button" class="angular-editor-button"\r\n (click)="insertVideo()" title="Insert Video" [disabled]="htmlMode" [hidden]="isButtonHidden(\'insertVideo\')"\r\n tabindex="-1"><i\r\n class="fa fa-video-camera"></i></button>\r\n <button [id]="\'insertHorizontalRule-\'+id" type="button" title="Horizontal Line" class="angular-editor-button"\r\n (click)="triggerCommand(\'insertHorizontalRule\')" [disabled]="htmlMode"\r\n [hidden]="isButtonHidden(\'insertHorizontalRule\')" tabindex="-1"><i\r\n class="fa fa-minus"></i></button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'clearFormatting-\'+id" type="button" title="Clear Formatting" class="angular-editor-button"\r\n (click)="triggerCommand(\'removeFormat\')" [disabled]="htmlMode" [hidden]="isButtonHidden(\'removeFormat\')"\r\n tabindex="-1"><i class=\'fa fa-remove\'></i>\r\n </button>\r\n </div>\r\n <div class="angular-editor-toolbar-set">\r\n <button [id]="\'toggleEditorMode-\'+id" type="button" title="HTML Code" class="angular-editor-button"\r\n (click)="triggerCommand(\'toggleEditorMode\')" [hidden]="isButtonHidden(\'toggleEditorMode\')" tabindex="-1"><i\r\n class=\'fa fa-code\'></i></button>\r\n </div>\r\n</div>\r\n',styles:['@charset "UTF-8";\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot#iefix&v=4.7.0) format("embedded-opentype"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg")}.fa{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.2857142857em}.fa-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}a{cursor:pointer}.angular-editor-textarea{margin-top:5px;min-height:150px;overflow:auto;resize:vertical}.angular-editor-textarea:after{background-color:hsla(0,0%,100%,.5);bottom:0;content:"";cursor:nwse-resize;display:block;height:8px;position:absolute;right:0;width:8px}.angular-editor-toolbar{background-color:#f5f5f5;border:1px solid #ddd;font:100 14px/15px Roboto,Arial,sans-serif;font-size:.8rem;padding:.2rem}.angular-editor-toolbar .angular-editor-toolbar-set{display:none;margin-right:5px;vertical-align:baseline}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button{background-color:#fff;border:1px solid #ddd;float:left;min-width:2rem;padding:.4rem;vertical-align:middle}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.focus,.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:focus{outline:0}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label{cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label.background,.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label.foreground :after{background:#555}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.active{background:#fff5b9}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button.active:hover{background-color:#fffa98}.angular-editor-toolbar .angular-editor-toolbar-set select{background-color:transparent;border:.5px solid hsla(0,0%,100%,0);border-radius:5px;cursor:pointer;font-size:11px;outline:none;padding:.4rem;vertical-align:middle;width:90px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-heading optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading option{background-color:#fff;border:1px solid}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .default{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h1{font-size:24px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h2{font-size:20px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h3{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h4{font-size:15px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h5{font-size:14px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .h6{font-size:13px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .div,.angular-editor-toolbar .angular-editor-toolbar-set .select-heading .pre{font-size:12px}}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-font{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-font optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font option{background-color:#fff;border:1px solid}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size{display:inline-block;width:50px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size option{background-color:#fff;border:1px solid}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size1{font-size:10px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size2{font-size:12px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size3{font-size:14px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size4{font-size:16px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size5{font-size:18px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size6{font-size:20px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size .size7{font-size:22px}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style{display:inline-block;width:90px}@supports not (-moz-appearance:none){.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style optgroup{background-color:#f4f4f4;font-size:12px;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style option{background-color:#fff;border:1px solid}}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .color-label{cursor:pointer;position:relative}.angular-editor-toolbar .angular-editor-toolbar-set .background{background:#1b1b1b;color:#fff;font-size:smaller;padding:3px}.angular-editor-toolbar .angular-editor-toolbar-set .foreground :after{background:#1b1b1b;bottom:-3px;content:"";height:2px;left:-1px;position:absolute;right:auto;top:auto;width:15px;z-index:0}.angular-editor-toolbar .angular-editor-toolbar-set:not([style*="display:none"]):not([style*="display: none"]),.select-button{display:inline-block}.select-button.disabled{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}']}]}],b.ctorParameters=function(){return[{type:t.Renderer2},{type:f},{type:t.ElementRef},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},b.propDecorators={id:[{type:t.Input}],uploadUrl:[{type:t.Input}],showToolbar:[{type:t.Input}],fonts:[{type:t.Input}],customClasses:[{type:t.Input}],defaultFontName:[{type:t.Input}],defaultFontSize:[{type:t.Input}],hiddenButtons:[{type:t.Input}],execute:[{type:t.Output}],myInputFile:[{type:t.ViewChild,args:["fileInput",{static:!0}]}]};var d=function(){function e(e,o){this.elRef=e,this.r=o,this.options=[],this.disabled=!1,this.optionId=0,this.opened=!1,this.hidden="inline-block",this.changeEvent=new t.EventEmitter,this.onChange=function(){},this.onTouched=function(){}}return Object.defineProperty(e.prototype,"label",{get:function(){return this.selectedOption&&this.selectedOption.hasOwnProperty("label")?this.selectedOption.label:"Select"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.selectedOption.value},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.selectedOption=this.options[0],c(this.isHidden)&&this.isHidden&&this.hide()},e.prototype.hide=function(){this.hidden="none"},e.prototype.optionSelect=function(e,t){t.stopPropagation(),this.setValue(e.value),this.onChange(this.selectedOption.value),this.changeEvent.emit(this.selectedOption.value),this.onTouched(),this.opened=!1},e.prototype.toggleOpen=function(e){this.disabled||(this.opened=!this.opened)},e.prototype.onClick=function(e){this.elRef.nativeElement.contains(e.target)||this.close()},e.prototype.close=function(){this.opened=!1},Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.opened},enumerable:!1,configurable:!0}),e.prototype.writeValue=function(e){e&&"string"==typeof e&&this.setValue(e)},e.prototype.setValue=function(e){var t=0,o=this.options.find((function(o,n){return t=n,o.value===e}));o&&(this.selectedOption=o,this.optionId=t)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this.labelButton.nativeElement.disabled=e;var t=this.labelButton.nativeElement,o=e?"addClass":"removeClass";this.r[o](t,"disabled"),this.disabled=e},e.prototype.handleKeyDown=function(e){if(this.opened)switch(e.key){case"ArrowDown":this._handleArrowDown(e);break;case"ArrowUp":this._handleArrowUp(e);break;case"Space":this._handleSpace(e);break;case"Enter":this._handleEnter(e);break;case"Tab":this._handleTab(e);break;case"Escape":this.close(),e.preventDefault();break;case"Backspace":this._handleBackspace()}},e.prototype._handleArrowDown=function(e){this.optionId<this.options.length-1&&this.optionId++},e.prototype._handleArrowUp=function(e){this.optionId>=1&&this.optionId--},e.prototype._handleSpace=function(e){},e.prototype._handleEnter=function(e){this.optionSelect(this.options[this.optionId],e)},e.prototype._handleTab=function(e){},e.prototype._handleBackspace=function(){},e}();d.decorators=[{type:t.Component,args:[{selector:"ae-select",template:'<span class="ae-font ae-picker" [ngClass]="{\'ae-expanded\':isOpen}">\r\n <button [tabIndex]="-1" #labelButton tabindex="0" type="button" role="button" class="ae-picker-label" (click)="toggleOpen($event);">{{label}}\r\n <svg viewBox="0 0 18 18">\r\n \x3c!-- <use x="0" y="0" xlink:href="../assets/icons.svg#hom"></use>--\x3e\r\n <polygon class="ae-stroke" points="7 11 9 13 11 11 7 11"></polygon>\r\n <polygon class="ae-stroke" points="7 7 9 5 11 7 7 7"></polygon>\r\n </svg>\r\n </button>\r\n <span class="ae-picker-options">\r\n <button tabindex="-1" type="button" role="button" class="ae-picker-item"\r\n *ngFor="let item of options; let i = index"\r\n [ngClass]="{\'selected\': item.value === value, \'focused\': i === optionId}"\r\n (click)="optionSelect(item, $event)">\r\n {{item.label}}\r\n </button>\r\n <span class="dropdown-item" *ngIf="!options.length">No items for select</span>\r\n </span>\r\n</span>\r\n',encapsulation:t.ViewEncapsulation.None,providers:[{provide:r.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return d})),multi:!0}],styles:['.ae-font.ae-picker{color:#444}.ae-font.ae-picker,.ae-font .ae-picker-label{display:inline-block;float:left;position:relative;vertical-align:middle;width:100%}.ae-font .ae-picker-label{background-color:#fff;border:1px solid #ddd;cursor:pointer;font-size:85%;height:100%;line-height:26px;min-width:2rem;overflow:hidden;padding-left:8px;padding-right:10px;text-align:left;text-overflow:clip;white-space:nowrap}.ae-font .ae-picker-label:before{background:linear-gradient(90deg,#fff,#fff);content:"";height:100%;position:absolute;right:0;top:0;width:20px}.ae-font .ae-picker-label:focus{outline:none}.ae-font .ae-picker-label:hover{background-color:#f1f1f1;cursor:pointer;transition:.2s ease}.ae-font .ae-picker-label:hover:before{background:linear-gradient(90deg,#f5f5f5 100%,#fff 0)}.ae-font .ae-picker-label:disabled{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none}.ae-font .ae-picker-label:disabled:before{background:linear-gradient(90deg,#f5f5f5 100%,#fff 0)}.ae-font .ae-picker-label svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ae-font .ae-picker-label svg:not(:root){overflow:hidden}.ae-font .ae-picker-label svg .ae-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ae-font .ae-picker-options{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2);display:none;min-width:100%;position:absolute;white-space:nowrap;z-index:3}.ae-font .ae-picker-options .ae-picker-item{background-color:transparent;border:0 solid #ddd;cursor:pointer;display:block;min-width:2rem;padding-bottom:5px;padding-left:5px;padding-top:5px;text-align:left;width:100%;z-index:3}.ae-font .ae-picker-options .ae-picker-item.selected{background-color:#fff4c2;color:#06c}.ae-font .ae-picker-options .ae-picker-item.focused,.ae-font .ae-picker-options .ae-picker-item:hover{background-color:#fffa98}.ae-font.ae-expanded{display:block;margin-top:-1px;z-index:1}.ae-font.ae-expanded .ae-picker-label,.ae-font.ae-expanded .ae-picker-label svg{color:#ccc;z-index:2}.ae-font.ae-expanded .ae-picker-label svg .ae-stroke{stroke:#ccc}.ae-font.ae-expanded .ae-picker-options{border-color:#ccc;display:block;margin-top:-1px;top:100%;z-index:3}']}]}],d.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},d.propDecorators={options:[{type:t.Input}],isHidden:[{type:t.Input,args:["hidden"]}],hidden:[{type:t.HostBinding,args:["style.display"]}],changeEvent:[{type:t.Output,args:["change"]}],labelButton:[{type:t.ViewChild,args:["labelButton",{static:!0}]}],onClick:[{type:t.HostListener,args:["document:click",["$event"]]}],handleKeyDown:[{type:t.HostListener,args:["keydown",["$event"]]}]};var u=function(){};u.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule],declarations:[l,b,d],exports:[l,b]}]}],e.AngularEditorComponent=l,e.AngularEditorModule=u,e.AngularEditorService=f,e.AngularEditorToolbarComponent=b,e.ɵa=d,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=kolkov-angular-editor.umd.min.js.map
|