@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.
@@ -4,1554 +4,1591 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.kolkov = global.kolkov || {}, global.kolkov['angular-editor'] = {}), global.ng.core, global.ng.common.http, global.ng.common, global.ng.forms, global.ng.platformBrowser));
5
5
  }(this, (function (exports, core, http, common, forms, platformBrowser) { 'use strict';
6
6
 
7
- var AngularEditorService = /** @class */ (function () {
8
- function AngularEditorService(http, doc) {
9
- var _this = this;
10
- this.http = http;
11
- this.doc = doc;
12
- /**
13
- * save selection when the editor is focussed out
14
- */
15
- this.saveSelection = function () {
16
- if (_this.doc.getSelection) {
17
- var sel = _this.doc.getSelection();
18
- if (sel.getRangeAt && sel.rangeCount) {
19
- _this.savedSelection = sel.getRangeAt(0);
20
- _this.selectedText = sel.toString();
21
- }
22
- }
23
- else if (_this.doc.getSelection && _this.doc.createRange) {
24
- _this.savedSelection = document.createRange();
25
- }
26
- else {
27
- _this.savedSelection = null;
28
- }
29
- };
30
- }
31
- /**
32
- * Executed command from editor header buttons exclude toggleEditorMode
33
- * @param command string from triggerCommand
34
- */
35
- AngularEditorService.prototype.executeCommand = function (command) {
36
- var commands = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre'];
37
- if (commands.includes(command)) {
38
- this.doc.execCommand('formatBlock', false, command);
39
- return;
40
- }
41
- this.doc.execCommand(command, false, null);
42
- };
43
- /**
44
- * Create URL link
45
- * @param url string from UI prompt
46
- */
47
- AngularEditorService.prototype.createLink = function (url) {
48
- if (!url.includes('http')) {
49
- this.doc.execCommand('createlink', false, url);
50
- }
51
- else {
52
- var newUrl = '<a href="' + url + '" target="_blank">' + this.selectedText + '</a>';
53
- this.insertHtml(newUrl);
54
- }
55
- };
56
- /**
57
- * insert color either font or background
58
- *
59
- * @param color color to be inserted
60
- * @param where where the color has to be inserted either text/background
61
- */
62
- AngularEditorService.prototype.insertColor = function (color, where) {
63
- var restored = this.restoreSelection();
64
- if (restored) {
65
- if (where === 'textColor') {
66
- this.doc.execCommand('foreColor', false, color);
67
- }
68
- else {
69
- this.doc.execCommand('hiliteColor', false, color);
70
- }
71
- }
72
- };
73
- /**
74
- * Set font name
75
- * @param fontName string
76
- */
77
- AngularEditorService.prototype.setFontName = function (fontName) {
78
- this.doc.execCommand('fontName', false, fontName);
79
- };
80
- /**
81
- * Set font size
82
- * @param fontSize string
83
- */
84
- AngularEditorService.prototype.setFontSize = function (fontSize) {
85
- this.doc.execCommand('fontSize', false, fontSize);
86
- };
87
- /**
88
- * Create raw HTML
89
- * @param html HTML string
90
- */
91
- AngularEditorService.prototype.insertHtml = function (html) {
92
- var isHTMLInserted = this.doc.execCommand('insertHTML', false, html);
93
- if (!isHTMLInserted) {
94
- throw new Error('Unable to perform the operation');
95
- }
96
- };
97
- /**
98
- * restore selection when the editor is focused in
99
- *
100
- * saved selection when the editor is focused out
101
- */
102
- AngularEditorService.prototype.restoreSelection = function () {
103
- if (this.savedSelection) {
104
- if (this.doc.getSelection) {
105
- var sel = this.doc.getSelection();
106
- sel.removeAllRanges();
107
- sel.addRange(this.savedSelection);
108
- return true;
109
- }
110
- else if (this.doc.getSelection /*&& this.savedSelection.select*/) {
111
- // this.savedSelection.select();
112
- return true;
113
- }
114
- }
115
- else {
116
- return false;
117
- }
118
- };
119
- /**
120
- * setTimeout used for execute 'saveSelection' method in next event loop iteration
121
- */
122
- AngularEditorService.prototype.executeInNextQueueIteration = function (callbackFn, timeout) {
123
- if (timeout === void 0) { timeout = 1e2; }
124
- setTimeout(callbackFn, timeout);
125
- };
126
- /** check any selection is made or not */
127
- AngularEditorService.prototype.checkSelection = function () {
128
- var selectedText = this.savedSelection.toString();
129
- if (selectedText.length === 0) {
130
- throw new Error('No Selection Made');
131
- }
132
- return true;
133
- };
134
- /**
135
- * Upload file to uploadUrl
136
- * @param file The file
137
- */
138
- AngularEditorService.prototype.uploadImage = function (file) {
139
- var uploadData = new FormData();
140
- uploadData.append('file', file, file.name);
141
- return this.http.post(this.uploadUrl, uploadData, {
142
- reportProgress: true,
143
- observe: 'events',
144
- withCredentials: this.uploadWithCredentials,
145
- });
146
- };
147
- /**
148
- * Insert image with Url
149
- * @param imageUrl The imageUrl.
150
- */
151
- AngularEditorService.prototype.insertImage = function (imageUrl) {
152
- this.doc.execCommand('insertImage', false, imageUrl);
153
- };
154
- AngularEditorService.prototype.setDefaultParagraphSeparator = function (separator) {
155
- this.doc.execCommand('defaultParagraphSeparator', false, separator);
156
- };
157
- AngularEditorService.prototype.createCustomClass = function (customClass) {
158
- var newTag = this.selectedText;
159
- if (customClass) {
160
- var tagName = customClass.tag ? customClass.tag : 'span';
161
- newTag = '<' + tagName + ' class="' + customClass.class + '">' + this.selectedText + '</' + tagName + '>';
162
- }
163
- this.insertHtml(newTag);
164
- };
165
- AngularEditorService.prototype.insertVideo = function (videoUrl) {
166
- if (videoUrl.match('www.youtube.com')) {
167
- this.insertYouTubeVideoTag(videoUrl);
168
- }
169
- if (videoUrl.match('vimeo.com')) {
170
- this.insertVimeoVideoTag(videoUrl);
171
- }
172
- };
173
- AngularEditorService.prototype.insertYouTubeVideoTag = function (videoUrl) {
174
- var id = videoUrl.split('v=')[1];
175
- var imageUrl = "https://img.youtube.com/vi/" + id + "/0.jpg";
176
- var thumbnail = "\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='" + videoUrl + "' target='_blank'>\n <img src=\"" + imageUrl + "\" alt=\"click to watch\"/>\n </a>\n </div>";
177
- this.insertHtml(thumbnail);
178
- };
179
- AngularEditorService.prototype.insertVimeoVideoTag = function (videoUrl) {
180
- var _this = this;
181
- var sub = this.http.get("https://vimeo.com/api/oembed.json?url=" + videoUrl).subscribe(function (data) {
182
- var imageUrl = data.thumbnail_url_with_play_button;
183
- var thumbnail = "<div>\n <a href='" + videoUrl + "' target='_blank'>\n <img src=\"" + imageUrl + "\" alt=\"" + data.title + "\"/>\n </a>\n </div>";
184
- _this.insertHtml(thumbnail);
185
- sub.unsubscribe();
186
- });
187
- };
188
- AngularEditorService.prototype.nextNode = function (node) {
189
- if (node.hasChildNodes()) {
190
- return node.firstChild;
191
- }
192
- else {
193
- while (node && !node.nextSibling) {
194
- node = node.parentNode;
195
- }
196
- if (!node) {
197
- return null;
198
- }
199
- return node.nextSibling;
200
- }
201
- };
202
- AngularEditorService.prototype.getRangeSelectedNodes = function (range, includePartiallySelectedContainers) {
203
- var node = range.startContainer;
204
- var endNode = range.endContainer;
205
- var rangeNodes = [];
206
- // Special case for a range that is contained within a single node
207
- if (node === endNode) {
208
- rangeNodes = [node];
209
- }
210
- else {
211
- // Iterate nodes until we hit the end container
212
- while (node && node !== endNode) {
213
- rangeNodes.push(node = this.nextNode(node));
214
- }
215
- // Add partially selected nodes at the start of the range
216
- node = range.startContainer;
217
- while (node && node !== range.commonAncestorContainer) {
218
- rangeNodes.unshift(node);
219
- node = node.parentNode;
220
- }
221
- }
222
- // Add ancestors of the range container, if required
223
- if (includePartiallySelectedContainers) {
224
- node = range.commonAncestorContainer;
225
- while (node) {
226
- rangeNodes.push(node);
227
- node = node.parentNode;
228
- }
229
- }
230
- return rangeNodes;
231
- };
232
- AngularEditorService.prototype.getSelectedNodes = function () {
233
- var nodes = [];
234
- if (this.doc.getSelection) {
235
- var sel = this.doc.getSelection();
236
- for (var i = 0, len = sel.rangeCount; i < len; ++i) {
237
- nodes.push.apply(nodes, this.getRangeSelectedNodes(sel.getRangeAt(i), true));
238
- }
239
- }
240
- return nodes;
241
- };
242
- AngularEditorService.prototype.replaceWithOwnChildren = function (el) {
243
- var parent = el.parentNode;
244
- while (el.hasChildNodes()) {
245
- parent.insertBefore(el.firstChild, el);
246
- }
247
- parent.removeChild(el);
248
- };
249
- AngularEditorService.prototype.removeSelectedElements = function (tagNames) {
250
- var _this = this;
251
- var tagNamesArray = tagNames.toLowerCase().split(',');
252
- this.getSelectedNodes().forEach(function (node) {
253
- if (node.nodeType === 1 &&
254
- tagNamesArray.indexOf(node.tagName.toLowerCase()) > -1) {
255
- // Remove the node and replace it with its children
256
- _this.replaceWithOwnChildren(node);
257
- }
258
- });
259
- };
260
- return AngularEditorService;
261
- }());
262
- AngularEditorService.decorators = [
263
- { type: core.Injectable }
264
- ];
265
- AngularEditorService.ctorParameters = function () { return [
266
- { type: http.HttpClient },
267
- { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
7
+ var AngularEditorService = /** @class */ (function () {
8
+ function AngularEditorService(http, doc) {
9
+ var _this = this;
10
+ this.http = http;
11
+ this.doc = doc;
12
+ /**
13
+ * save selection when the editor is focussed out
14
+ */
15
+ this.saveSelection = function () {
16
+ if (_this.doc.getSelection) {
17
+ var sel = _this.doc.getSelection();
18
+ if (sel.getRangeAt && sel.rangeCount) {
19
+ _this.savedSelection = sel.getRangeAt(0);
20
+ _this.selectedText = sel.toString();
21
+ }
22
+ }
23
+ else if (_this.doc.getSelection && _this.doc.createRange) {
24
+ _this.savedSelection = document.createRange();
25
+ }
26
+ else {
27
+ _this.savedSelection = null;
28
+ }
29
+ };
30
+ }
31
+ /**
32
+ * Executed command from editor header buttons exclude toggleEditorMode
33
+ * @param command string from triggerCommand
34
+ */
35
+ AngularEditorService.prototype.executeCommand = function (command) {
36
+ var commands = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre'];
37
+ if (commands.includes(command)) {
38
+ this.doc.execCommand('formatBlock', false, command);
39
+ return;
40
+ }
41
+ this.doc.execCommand(command, false, null);
42
+ };
43
+ /**
44
+ * Create URL link
45
+ * @param url string from UI prompt
46
+ */
47
+ AngularEditorService.prototype.createLink = function (url) {
48
+ if (!url.includes('http')) {
49
+ this.doc.execCommand('createlink', false, url);
50
+ }
51
+ else {
52
+ var newUrl = '<a href="' + url + '" target="_blank">' + this.selectedText + '</a>';
53
+ this.insertHtml(newUrl);
54
+ }
55
+ };
56
+ /**
57
+ * insert color either font or background
58
+ *
59
+ * @param color color to be inserted
60
+ * @param where where the color has to be inserted either text/background
61
+ */
62
+ AngularEditorService.prototype.insertColor = function (color, where) {
63
+ var restored = this.restoreSelection();
64
+ if (restored) {
65
+ if (where === 'textColor') {
66
+ this.doc.execCommand('foreColor', false, color);
67
+ }
68
+ else {
69
+ this.doc.execCommand('hiliteColor', false, color);
70
+ }
71
+ }
72
+ };
73
+ /**
74
+ * Set font name
75
+ * @param fontName string
76
+ */
77
+ AngularEditorService.prototype.setFontName = function (fontName) {
78
+ this.doc.execCommand('fontName', false, fontName);
79
+ };
80
+ /**
81
+ * Set font size
82
+ * @param fontSize string
83
+ */
84
+ AngularEditorService.prototype.setFontSize = function (fontSize) {
85
+ this.doc.execCommand('fontSize', false, fontSize);
86
+ };
87
+ /**
88
+ * Create raw HTML
89
+ * @param html HTML string
90
+ */
91
+ AngularEditorService.prototype.insertHtml = function (html) {
92
+ var isHTMLInserted = this.doc.execCommand('insertHTML', false, html);
93
+ if (!isHTMLInserted) {
94
+ throw new Error('Unable to perform the operation');
95
+ }
96
+ };
97
+ /**
98
+ * restore selection when the editor is focused in
99
+ *
100
+ * saved selection when the editor is focused out
101
+ */
102
+ AngularEditorService.prototype.restoreSelection = function () {
103
+ if (this.savedSelection) {
104
+ if (this.doc.getSelection) {
105
+ var sel = this.doc.getSelection();
106
+ sel.removeAllRanges();
107
+ sel.addRange(this.savedSelection);
108
+ return true;
109
+ }
110
+ else if (this.doc.getSelection /*&& this.savedSelection.select*/) {
111
+ // this.savedSelection.select();
112
+ return true;
113
+ }
114
+ }
115
+ else {
116
+ return false;
117
+ }
118
+ };
119
+ /**
120
+ * setTimeout used for execute 'saveSelection' method in next event loop iteration
121
+ */
122
+ AngularEditorService.prototype.executeInNextQueueIteration = function (callbackFn, timeout) {
123
+ if (timeout === void 0) { timeout = 1e2; }
124
+ setTimeout(callbackFn, timeout);
125
+ };
126
+ /** check any selection is made or not */
127
+ AngularEditorService.prototype.checkSelection = function () {
128
+ var selectedText = this.savedSelection.toString();
129
+ if (selectedText.length === 0) {
130
+ throw new Error('No Selection Made');
131
+ }
132
+ return true;
133
+ };
134
+ /**
135
+ * Upload file to uploadUrl
136
+ * @param file The file
137
+ */
138
+ AngularEditorService.prototype.uploadImage = function (file) {
139
+ var uploadData = new FormData();
140
+ uploadData.append('file', file, file.name);
141
+ return this.http.post(this.uploadUrl, uploadData, {
142
+ reportProgress: true,
143
+ observe: 'events',
144
+ withCredentials: this.uploadWithCredentials,
145
+ });
146
+ };
147
+ /**
148
+ * Insert image with Url
149
+ * @param imageUrl The imageUrl.
150
+ */
151
+ AngularEditorService.prototype.insertImage = function (imageUrl) {
152
+ this.doc.execCommand('insertImage', false, imageUrl);
153
+ };
154
+ AngularEditorService.prototype.setDefaultParagraphSeparator = function (separator) {
155
+ this.doc.execCommand('defaultParagraphSeparator', false, separator);
156
+ };
157
+ AngularEditorService.prototype.createCustomClass = function (customClass) {
158
+ var newTag = this.selectedText;
159
+ if (customClass) {
160
+ var tagName = customClass.tag ? customClass.tag : 'span';
161
+ newTag = '<' + tagName + ' class="' + customClass.class + '">' + this.selectedText + '</' + tagName + '>';
162
+ }
163
+ this.insertHtml(newTag);
164
+ };
165
+ AngularEditorService.prototype.insertVideo = function (videoUrl) {
166
+ if (videoUrl.match('www.youtube.com')) {
167
+ this.insertYouTubeVideoTag(videoUrl);
168
+ }
169
+ if (videoUrl.match('vimeo.com')) {
170
+ this.insertVimeoVideoTag(videoUrl);
171
+ }
172
+ };
173
+ AngularEditorService.prototype.insertYouTubeVideoTag = function (videoUrl) {
174
+ var id = videoUrl.split('v=')[1];
175
+ var imageUrl = "https://img.youtube.com/vi/" + id + "/0.jpg";
176
+ var thumbnail = "\n <div style='position: relative'>\n <a href='" + videoUrl + "' target='_blank'>\n <img src=\"" + imageUrl + "\" alt=\"click to watch\"/>\n <img style='position: absolute; left:200px; top:140px'\n src=\"https://img.icons8.com/color/96/000000/youtube-play.png\"/>\n </a>\n </div>";
177
+ this.insertHtml(thumbnail);
178
+ };
179
+ AngularEditorService.prototype.insertVimeoVideoTag = function (videoUrl) {
180
+ var _this = this;
181
+ var sub = this.http.get("https://vimeo.com/api/oembed.json?url=" + videoUrl).subscribe(function (data) {
182
+ var imageUrl = data.thumbnail_url_with_play_button;
183
+ var thumbnail = "<div>\n <a href='" + videoUrl + "' target='_blank'>\n <img src=\"" + imageUrl + "\" alt=\"" + data.title + "\"/>\n </a>\n </div>";
184
+ _this.insertHtml(thumbnail);
185
+ sub.unsubscribe();
186
+ });
187
+ };
188
+ AngularEditorService.prototype.nextNode = function (node) {
189
+ if (node.hasChildNodes()) {
190
+ return node.firstChild;
191
+ }
192
+ else {
193
+ while (node && !node.nextSibling) {
194
+ node = node.parentNode;
195
+ }
196
+ if (!node) {
197
+ return null;
198
+ }
199
+ return node.nextSibling;
200
+ }
201
+ };
202
+ AngularEditorService.prototype.getRangeSelectedNodes = function (range, includePartiallySelectedContainers) {
203
+ var node = range.startContainer;
204
+ var endNode = range.endContainer;
205
+ var rangeNodes = [];
206
+ // Special case for a range that is contained within a single node
207
+ if (node === endNode) {
208
+ rangeNodes = [node];
209
+ }
210
+ else {
211
+ // Iterate nodes until we hit the end container
212
+ while (node && node !== endNode) {
213
+ rangeNodes.push(node = this.nextNode(node));
214
+ }
215
+ // Add partially selected nodes at the start of the range
216
+ node = range.startContainer;
217
+ while (node && node !== range.commonAncestorContainer) {
218
+ rangeNodes.unshift(node);
219
+ node = node.parentNode;
220
+ }
221
+ }
222
+ // Add ancestors of the range container, if required
223
+ if (includePartiallySelectedContainers) {
224
+ node = range.commonAncestorContainer;
225
+ while (node) {
226
+ rangeNodes.push(node);
227
+ node = node.parentNode;
228
+ }
229
+ }
230
+ return rangeNodes;
231
+ };
232
+ AngularEditorService.prototype.getSelectedNodes = function () {
233
+ var nodes = [];
234
+ if (this.doc.getSelection) {
235
+ var sel = this.doc.getSelection();
236
+ for (var i = 0, len = sel.rangeCount; i < len; ++i) {
237
+ nodes.push.apply(nodes, this.getRangeSelectedNodes(sel.getRangeAt(i), true));
238
+ }
239
+ }
240
+ return nodes;
241
+ };
242
+ AngularEditorService.prototype.replaceWithOwnChildren = function (el) {
243
+ var parent = el.parentNode;
244
+ while (el.hasChildNodes()) {
245
+ parent.insertBefore(el.firstChild, el);
246
+ }
247
+ parent.removeChild(el);
248
+ };
249
+ AngularEditorService.prototype.removeSelectedElements = function (tagNames) {
250
+ var _this = this;
251
+ var tagNamesArray = tagNames.toLowerCase().split(',');
252
+ this.getSelectedNodes().forEach(function (node) {
253
+ if (node.nodeType === 1 &&
254
+ tagNamesArray.indexOf(node.tagName.toLowerCase()) > -1) {
255
+ // Remove the node and replace it with its children
256
+ _this.replaceWithOwnChildren(node);
257
+ }
258
+ });
259
+ };
260
+ return AngularEditorService;
261
+ }());
262
+ AngularEditorService.decorators = [
263
+ { type: core.Injectable }
264
+ ];
265
+ AngularEditorService.ctorParameters = function () { return [
266
+ { type: http.HttpClient },
267
+ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
268
268
  ]; };
269
269
 
270
- var angularEditorConfig = {
271
- editable: true,
272
- spellcheck: true,
273
- height: 'auto',
274
- minHeight: '0',
275
- maxHeight: 'auto',
276
- width: 'auto',
277
- minWidth: '0',
278
- translate: 'yes',
279
- enableToolbar: true,
280
- showToolbar: true,
281
- placeholder: 'Enter text here...',
282
- defaultParagraphSeparator: '',
283
- defaultFontName: '',
284
- defaultFontSize: '',
285
- fonts: [
286
- { class: 'arial', name: 'Arial' },
287
- { class: 'times-new-roman', name: 'Times New Roman' },
288
- { class: 'calibri', name: 'Calibri' },
289
- { class: 'comic-sans-ms', name: 'Comic Sans MS' }
290
- ],
291
- uploadUrl: 'v1/image',
292
- uploadWithCredentials: false,
293
- sanitize: true,
294
- toolbarPosition: 'top',
295
- outline: true,
270
+ var angularEditorConfig = {
271
+ editable: true,
272
+ spellcheck: true,
273
+ height: 'auto',
274
+ minHeight: '0',
275
+ maxHeight: 'auto',
276
+ width: 'auto',
277
+ minWidth: '0',
278
+ translate: 'yes',
279
+ enableToolbar: true,
280
+ showToolbar: true,
281
+ placeholder: 'Enter text here...',
282
+ defaultParagraphSeparator: '',
283
+ defaultFontName: '',
284
+ defaultFontSize: '',
285
+ fonts: [
286
+ { class: 'arial', name: 'Arial' },
287
+ { class: 'times-new-roman', name: 'Times New Roman' },
288
+ { class: 'calibri', name: 'Calibri' },
289
+ { class: 'comic-sans-ms', name: 'Comic Sans MS' }
290
+ ],
291
+ uploadUrl: 'v1/image',
292
+ uploadWithCredentials: false,
293
+ sanitize: true,
294
+ toolbarPosition: 'top',
295
+ outline: true,
296
+ /*toolbarHiddenButtons: [
297
+ ['bold', 'italic', 'underline', 'strikeThrough', 'superscript', 'subscript'],
298
+ ['heading', 'fontName', 'fontSize', 'color'],
299
+ ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'indent', 'outdent'],
300
+ ['cut', 'copy', 'delete', 'removeFormat', 'undo', 'redo'],
301
+ ['paragraph', 'blockquote', 'removeBlockquote', 'horizontalLine', 'orderedList', 'unorderedList'],
302
+ ['link', 'unlink', 'image', 'video']
303
+ ]*/
296
304
  };
297
305
 
298
- function isDefined(value) {
299
- return value !== undefined && value !== null;
306
+ function isDefined(value) {
307
+ return value !== undefined && value !== null;
300
308
  }
301
309
 
302
- var AngularEditorComponent = /** @class */ (function () {
303
- function AngularEditorComponent(r, editorService, doc, sanitizer, cdRef, defaultTabIndex, autoFocus) {
304
- this.r = r;
305
- this.editorService = editorService;
306
- this.doc = doc;
307
- this.sanitizer = sanitizer;
308
- this.cdRef = cdRef;
309
- this.autoFocus = autoFocus;
310
- this.modeVisual = true;
311
- this.showPlaceholder = false;
312
- this.disabled = false;
313
- this.focused = false;
314
- this.touched = false;
315
- this.changed = false;
316
- this.id = '';
317
- this.config = angularEditorConfig;
318
- this.placeholder = '';
319
- this.viewMode = new core.EventEmitter();
320
- /** emits `blur` event when focused out from the textarea */
321
- // tslint:disable-next-line:no-output-native no-output-rename
322
- this.blurEvent = new core.EventEmitter();
323
- /** emits `focus` event when focused in to the textarea */
324
- // tslint:disable-next-line:no-output-rename no-output-native
325
- this.focusEvent = new core.EventEmitter();
326
- this.tabindex = -1;
327
- var parsedTabIndex = Number(defaultTabIndex);
328
- this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;
329
- }
330
- AngularEditorComponent.prototype.onFocus = function () {
331
- this.focus();
332
- };
333
- AngularEditorComponent.prototype.ngOnInit = function () {
334
- this.config.toolbarPosition = this.config.toolbarPosition ? this.config.toolbarPosition : angularEditorConfig.toolbarPosition;
335
- };
336
- AngularEditorComponent.prototype.ngAfterViewInit = function () {
337
- if (isDefined(this.autoFocus)) {
338
- this.focus();
339
- }
340
- };
341
- /**
342
- * Executed command from editor header buttons
343
- * @param command string from triggerCommand
344
- */
345
- AngularEditorComponent.prototype.executeCommand = function (command) {
346
- this.focus();
347
- if (command === 'focus') {
348
- return;
349
- }
350
- if (command === 'toggleEditorMode') {
351
- this.toggleEditorMode(this.modeVisual);
352
- }
353
- else if (command !== '') {
354
- if (command === 'clear') {
355
- this.editorService.removeSelectedElements(this.getCustomTags());
356
- this.onContentChange(this.textArea.nativeElement);
357
- }
358
- else if (command === 'default') {
359
- this.editorService.removeSelectedElements('h1,h2,h3,h4,h5,h6,p,pre');
360
- this.onContentChange(this.textArea.nativeElement);
361
- }
362
- else {
363
- this.editorService.executeCommand(command);
364
- }
365
- this.exec();
366
- }
367
- };
368
- /**
369
- * focus event
370
- */
371
- AngularEditorComponent.prototype.onTextAreaFocus = function (event) {
372
- var _this = this;
373
- if (this.focused) {
374
- event.stopPropagation();
375
- return;
376
- }
377
- this.focused = true;
378
- this.focusEvent.emit(event);
379
- if (!this.touched || !this.changed) {
380
- this.editorService.executeInNextQueueIteration(function () {
381
- _this.configure();
382
- _this.touched = true;
383
- });
384
- }
385
- };
386
- /**
387
- * @description fires when cursor leaves textarea
388
- */
389
- AngularEditorComponent.prototype.onTextAreaMouseOut = function (event) {
390
- this.editorService.saveSelection();
391
- };
392
- /**
393
- * blur event
394
- */
395
- AngularEditorComponent.prototype.onTextAreaBlur = function (event) {
396
- /**
397
- * save selection if focussed out
398
- */
399
- this.editorService.executeInNextQueueIteration(this.editorService.saveSelection);
400
- if (typeof this.onTouched === 'function') {
401
- this.onTouched();
402
- }
403
- if (event.relatedTarget !== null) {
404
- var parent = event.relatedTarget.parentElement;
405
- if (!parent.classList.contains('angular-editor-toolbar-set') && !parent.classList.contains('ae-picker')) {
406
- this.blurEvent.emit(event);
407
- this.focused = false;
408
- }
409
- }
410
- };
411
- /**
412
- * focus the text area when the editor is focused
413
- */
414
- AngularEditorComponent.prototype.focus = function () {
415
- if (this.modeVisual) {
416
- this.textArea.nativeElement.focus();
417
- }
418
- else {
419
- var sourceText = this.doc.getElementById('sourceText' + this.id);
420
- sourceText.focus();
421
- this.focused = true;
422
- }
423
- };
424
- /**
425
- * Executed from the contenteditable section while the input property changes
426
- * @param element html element from contenteditable
427
- */
428
- AngularEditorComponent.prototype.onContentChange = function (element) {
429
- var html = '';
430
- if (this.modeVisual) {
431
- html = element.innerHTML;
432
- }
433
- else {
434
- html = element.innerText;
435
- }
436
- if ((!html || html === '<br>')) {
437
- html = '';
438
- }
439
- if (typeof this.onChange === 'function') {
440
- this.onChange(this.config.sanitize || this.config.sanitize === undefined ?
441
- this.sanitizer.sanitize(core.SecurityContext.HTML, html) : html);
442
- if ((!html) !== this.showPlaceholder) {
443
- this.togglePlaceholder(this.showPlaceholder);
444
- }
445
- }
446
- this.changed = true;
447
- };
448
- /**
449
- * Set the function to be called
450
- * when the control receives a change event.
451
- *
452
- * @param fn a function
453
- */
454
- AngularEditorComponent.prototype.registerOnChange = function (fn) {
455
- this.onChange = function (e) { return (e === '<br>' ? fn('') : fn(e)); };
456
- };
457
- /**
458
- * Set the function to be called
459
- * when the control receives a touch event.
460
- *
461
- * @param fn a function
462
- */
463
- AngularEditorComponent.prototype.registerOnTouched = function (fn) {
464
- this.onTouched = fn;
465
- };
466
- /**
467
- * Write a new value to the element.
468
- *
469
- * @param value value to be executed when there is a change in contenteditable
470
- */
471
- AngularEditorComponent.prototype.writeValue = function (value) {
472
- if ((!value || value === '<br>' || value === '') !== this.showPlaceholder) {
473
- this.togglePlaceholder(this.showPlaceholder);
474
- }
475
- if (value === undefined || value === '' || value === '<br>') {
476
- value = null;
477
- }
478
- this.refreshView(value);
479
- };
480
- /**
481
- * refresh view/HTML of the editor
482
- *
483
- * @param value html string from the editor
484
- */
485
- AngularEditorComponent.prototype.refreshView = function (value) {
486
- var normalizedValue = value === null ? '' : value;
487
- this.r.setProperty(this.textArea.nativeElement, 'innerHTML', normalizedValue);
488
- return;
489
- };
490
- /**
491
- * toggles placeholder based on input string
492
- *
493
- * @param value A HTML string from the editor
494
- */
495
- AngularEditorComponent.prototype.togglePlaceholder = function (value) {
496
- if (!value) {
497
- this.r.addClass(this.editorWrapper.nativeElement, 'show-placeholder');
498
- this.showPlaceholder = true;
499
- }
500
- else {
501
- this.r.removeClass(this.editorWrapper.nativeElement, 'show-placeholder');
502
- this.showPlaceholder = false;
503
- }
504
- };
505
- /**
506
- * Implements disabled state for this element
507
- *
508
- * @param isDisabled Disabled flag
509
- */
510
- AngularEditorComponent.prototype.setDisabledState = function (isDisabled) {
511
- var div = this.textArea.nativeElement;
512
- var action = isDisabled ? 'addClass' : 'removeClass';
513
- this.r[action](div, 'disabled');
514
- this.disabled = isDisabled;
515
- };
516
- /**
517
- * toggles editor mode based on bToSource bool
518
- *
519
- * @param bToSource A boolean value from the editor
520
- */
521
- AngularEditorComponent.prototype.toggleEditorMode = function (bToSource) {
522
- var _this = this;
523
- var oContent;
524
- var editableElement = this.textArea.nativeElement;
525
- if (bToSource) {
526
- oContent = this.r.createText(editableElement.innerHTML);
527
- this.r.setProperty(editableElement, 'innerHTML', '');
528
- this.r.setProperty(editableElement, 'contentEditable', false);
529
- var oPre = this.r.createElement('pre');
530
- this.r.setStyle(oPre, 'margin', '0');
531
- this.r.setStyle(oPre, 'outline', 'none');
532
- var oCode = this.r.createElement('code');
533
- this.r.setProperty(oCode, 'id', 'sourceText' + this.id);
534
- this.r.setStyle(oCode, 'display', 'block');
535
- this.r.setStyle(oCode, 'white-space', 'pre-wrap');
536
- this.r.setStyle(oCode, 'word-break', 'keep-all');
537
- this.r.setStyle(oCode, 'outline', 'none');
538
- this.r.setStyle(oCode, 'margin', '0');
539
- this.r.setStyle(oCode, 'background-color', '#fff5b9');
540
- this.r.setProperty(oCode, 'contentEditable', true);
541
- this.r.appendChild(oCode, oContent);
542
- this.focusInstance = this.r.listen(oCode, 'focus', function (event) { return _this.onTextAreaFocus(event); });
543
- this.blurInstance = this.r.listen(oCode, 'blur', function (event) { return _this.onTextAreaBlur(event); });
544
- this.r.appendChild(oPre, oCode);
545
- this.r.appendChild(editableElement, oPre);
546
- // ToDo move to service
547
- this.doc.execCommand('defaultParagraphSeparator', false, 'div');
548
- this.modeVisual = false;
549
- this.viewMode.emit(false);
550
- oCode.focus();
551
- }
552
- else {
553
- if (this.doc.querySelectorAll) {
554
- this.r.setProperty(editableElement, 'innerHTML', editableElement.innerText);
555
- }
556
- else {
557
- oContent = this.doc.createRange();
558
- oContent.selectNodeContents(editableElement.firstChild);
559
- this.r.setProperty(editableElement, 'innerHTML', oContent.toString());
560
- }
561
- this.r.setProperty(editableElement, 'contentEditable', true);
562
- this.modeVisual = true;
563
- this.viewMode.emit(true);
564
- this.onContentChange(editableElement);
565
- editableElement.focus();
566
- }
567
- this.editorToolbar.setEditorMode(!this.modeVisual);
568
- };
569
- /**
570
- * toggles editor buttons when cursor moved or positioning
571
- *
572
- * Send a node array from the contentEditable of the editor
573
- */
574
- AngularEditorComponent.prototype.exec = function () {
575
- this.editorToolbar.triggerButtons();
576
- var userSelection;
577
- if (this.doc.getSelection) {
578
- userSelection = this.doc.getSelection();
579
- this.editorService.executeInNextQueueIteration(this.editorService.saveSelection);
580
- }
581
- var a = userSelection.focusNode;
582
- var els = [];
583
- while (a && a.id !== 'editor') {
584
- els.unshift(a);
585
- a = a.parentNode;
586
- }
587
- this.editorToolbar.triggerBlocks(els);
588
- };
589
- AngularEditorComponent.prototype.configure = function () {
590
- this.editorService.uploadUrl = this.config.uploadUrl;
591
- this.editorService.uploadWithCredentials = this.config.uploadWithCredentials;
592
- if (this.config.defaultParagraphSeparator) {
593
- this.editorService.setDefaultParagraphSeparator(this.config.defaultParagraphSeparator);
594
- }
595
- if (this.config.defaultFontName) {
596
- this.editorService.setFontName(this.config.defaultFontName);
597
- }
598
- if (this.config.defaultFontSize) {
599
- this.editorService.setFontSize(this.config.defaultFontSize);
600
- }
601
- };
602
- AngularEditorComponent.prototype.getFonts = function () {
603
- var fonts = this.config.fonts ? this.config.fonts : angularEditorConfig.fonts;
604
- return fonts.map(function (x) {
605
- return { label: x.name, value: x.name };
606
- });
607
- };
608
- AngularEditorComponent.prototype.getCustomTags = function () {
609
- var tags = ['span'];
610
- this.config.customClasses.forEach(function (x) {
611
- if (x.tag !== undefined) {
612
- if (!tags.includes(x.tag)) {
613
- tags.push(x.tag);
614
- }
615
- }
616
- });
617
- return tags.join(',');
618
- };
619
- AngularEditorComponent.prototype.ngOnDestroy = function () {
620
- if (this.blurInstance) {
621
- this.blurInstance();
622
- }
623
- if (this.focusInstance) {
624
- this.focusInstance();
625
- }
626
- };
627
- AngularEditorComponent.prototype.filterStyles = function (html) {
628
- html = html.replace('position: fixed;', '');
629
- return html;
630
- };
631
- return AngularEditorComponent;
632
- }());
633
- AngularEditorComponent.decorators = [
634
- { type: core.Component, args: [{
635
- selector: 'angular-editor',
636
- 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",
637
- providers: [
638
- {
639
- provide: forms.NG_VALUE_ACCESSOR,
640
- useExisting: core.forwardRef(function () { return AngularEditorComponent; }),
641
- multi: true
642
- },
643
- AngularEditorService
644
- ],
645
- 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:\"\uF000\"}.fa-music:before{content:\"\uF001\"}.fa-search:before{content:\"\uF002\"}.fa-envelope-o:before{content:\"\uF003\"}.fa-heart:before{content:\"\uF004\"}.fa-star:before{content:\"\uF005\"}.fa-star-o:before{content:\"\uF006\"}.fa-user:before{content:\"\uF007\"}.fa-film:before{content:\"\uF008\"}.fa-th-large:before{content:\"\uF009\"}.fa-th:before{content:\"\uF00A\"}.fa-th-list:before{content:\"\uF00B\"}.fa-check:before{content:\"\uF00C\"}.fa-close:before,.fa-remove:before,.fa-times:before{content:\"\uF00D\"}.fa-search-plus:before{content:\"\uF00E\"}.fa-search-minus:before{content:\"\uF010\"}.fa-power-off:before{content:\"\uF011\"}.fa-signal:before{content:\"\uF012\"}.fa-cog:before,.fa-gear:before{content:\"\uF013\"}.fa-trash-o:before{content:\"\uF014\"}.fa-home:before{content:\"\uF015\"}.fa-file-o:before{content:\"\uF016\"}.fa-clock-o:before{content:\"\uF017\"}.fa-road:before{content:\"\uF018\"}.fa-download:before{content:\"\uF019\"}.fa-arrow-circle-o-down:before{content:\"\uF01A\"}.fa-arrow-circle-o-up:before{content:\"\uF01B\"}.fa-inbox:before{content:\"\uF01C\"}.fa-play-circle-o:before{content:\"\uF01D\"}.fa-repeat:before,.fa-rotate-right:before{content:\"\uF01E\"}.fa-refresh:before{content:\"\uF021\"}.fa-list-alt:before{content:\"\uF022\"}.fa-lock:before{content:\"\uF023\"}.fa-flag:before{content:\"\uF024\"}.fa-headphones:before{content:\"\uF025\"}.fa-volume-off:before{content:\"\uF026\"}.fa-volume-down:before{content:\"\uF027\"}.fa-volume-up:before{content:\"\uF028\"}.fa-qrcode:before{content:\"\uF029\"}.fa-barcode:before{content:\"\uF02A\"}.fa-tag:before{content:\"\uF02B\"}.fa-tags:before{content:\"\uF02C\"}.fa-book:before{content:\"\uF02D\"}.fa-bookmark:before{content:\"\uF02E\"}.fa-print:before{content:\"\uF02F\"}.fa-camera:before{content:\"\uF030\"}.fa-font:before{content:\"\uF031\"}.fa-bold:before{content:\"\uF032\"}.fa-italic:before{content:\"\uF033\"}.fa-text-height:before{content:\"\uF034\"}.fa-text-width:before{content:\"\uF035\"}.fa-align-left:before{content:\"\uF036\"}.fa-align-center:before{content:\"\uF037\"}.fa-align-right:before{content:\"\uF038\"}.fa-align-justify:before{content:\"\uF039\"}.fa-list:before{content:\"\uF03A\"}.fa-dedent:before,.fa-outdent:before{content:\"\uF03B\"}.fa-indent:before{content:\"\uF03C\"}.fa-video-camera:before{content:\"\uF03D\"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:\"\uF03E\"}.fa-pencil:before{content:\"\uF040\"}.fa-map-marker:before{content:\"\uF041\"}.fa-adjust:before{content:\"\uF042\"}.fa-tint:before{content:\"\uF043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\uF044\"}.fa-share-square-o:before{content:\"\uF045\"}.fa-check-square-o:before{content:\"\uF046\"}.fa-arrows:before{content:\"\uF047\"}.fa-step-backward:before{content:\"\uF048\"}.fa-fast-backward:before{content:\"\uF049\"}.fa-backward:before{content:\"\uF04A\"}.fa-play:before{content:\"\uF04B\"}.fa-pause:before{content:\"\uF04C\"}.fa-stop:before{content:\"\uF04D\"}.fa-forward:before{content:\"\uF04E\"}.fa-fast-forward:before{content:\"\uF050\"}.fa-step-forward:before{content:\"\uF051\"}.fa-eject:before{content:\"\uF052\"}.fa-chevron-left:before{content:\"\uF053\"}.fa-chevron-right:before{content:\"\uF054\"}.fa-plus-circle:before{content:\"\uF055\"}.fa-minus-circle:before{content:\"\uF056\"}.fa-times-circle:before{content:\"\uF057\"}.fa-check-circle:before{content:\"\uF058\"}.fa-question-circle:before{content:\"\uF059\"}.fa-info-circle:before{content:\"\uF05A\"}.fa-crosshairs:before{content:\"\uF05B\"}.fa-times-circle-o:before{content:\"\uF05C\"}.fa-check-circle-o:before{content:\"\uF05D\"}.fa-ban:before{content:\"\uF05E\"}.fa-arrow-left:before{content:\"\uF060\"}.fa-arrow-right:before{content:\"\uF061\"}.fa-arrow-up:before{content:\"\uF062\"}.fa-arrow-down:before{content:\"\uF063\"}.fa-mail-forward:before,.fa-share:before{content:\"\uF064\"}.fa-expand:before{content:\"\uF065\"}.fa-compress:before{content:\"\uF066\"}.fa-plus:before{content:\"\uF067\"}.fa-minus:before{content:\"\uF068\"}.fa-asterisk:before{content:\"\uF069\"}.fa-exclamation-circle:before{content:\"\uF06A\"}.fa-gift:before{content:\"\uF06B\"}.fa-leaf:before{content:\"\uF06C\"}.fa-fire:before{content:\"\uF06D\"}.fa-eye:before{content:\"\uF06E\"}.fa-eye-slash:before{content:\"\uF070\"}.fa-exclamation-triangle:before,.fa-warning:before{content:\"\uF071\"}.fa-plane:before{content:\"\uF072\"}.fa-calendar:before{content:\"\uF073\"}.fa-random:before{content:\"\uF074\"}.fa-comment:before{content:\"\uF075\"}.fa-magnet:before{content:\"\uF076\"}.fa-chevron-up:before{content:\"\uF077\"}.fa-chevron-down:before{content:\"\uF078\"}.fa-retweet:before{content:\"\uF079\"}.fa-shopping-cart:before{content:\"\uF07A\"}.fa-folder:before{content:\"\uF07B\"}.fa-folder-open:before{content:\"\uF07C\"}.fa-arrows-v:before{content:\"\uF07D\"}.fa-arrows-h:before{content:\"\uF07E\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\uF080\"}.fa-twitter-square:before{content:\"\uF081\"}.fa-facebook-square:before{content:\"\uF082\"}.fa-camera-retro:before{content:\"\uF083\"}.fa-key:before{content:\"\uF084\"}.fa-cogs:before,.fa-gears:before{content:\"\uF085\"}.fa-comments:before{content:\"\uF086\"}.fa-thumbs-o-up:before{content:\"\uF087\"}.fa-thumbs-o-down:before{content:\"\uF088\"}.fa-star-half:before{content:\"\uF089\"}.fa-heart-o:before{content:\"\uF08A\"}.fa-sign-out:before{content:\"\uF08B\"}.fa-linkedin-square:before{content:\"\uF08C\"}.fa-thumb-tack:before{content:\"\uF08D\"}.fa-external-link:before{content:\"\uF08E\"}.fa-sign-in:before{content:\"\uF090\"}.fa-trophy:before{content:\"\uF091\"}.fa-github-square:before{content:\"\uF092\"}.fa-upload:before{content:\"\uF093\"}.fa-lemon-o:before{content:\"\uF094\"}.fa-phone:before{content:\"\uF095\"}.fa-square-o:before{content:\"\uF096\"}.fa-bookmark-o:before{content:\"\uF097\"}.fa-phone-square:before{content:\"\uF098\"}.fa-twitter:before{content:\"\uF099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\uF09A\"}.fa-github:before{content:\"\uF09B\"}.fa-unlock:before{content:\"\uF09C\"}.fa-credit-card:before{content:\"\uF09D\"}.fa-feed:before,.fa-rss:before{content:\"\uF09E\"}.fa-hdd-o:before{content:\"\uF0A0\"}.fa-bullhorn:before{content:\"\uF0A1\"}.fa-bell:before{content:\"\uF0F3\"}.fa-certificate:before{content:\"\uF0A3\"}.fa-hand-o-right:before{content:\"\uF0A4\"}.fa-hand-o-left:before{content:\"\uF0A5\"}.fa-hand-o-up:before{content:\"\uF0A6\"}.fa-hand-o-down:before{content:\"\uF0A7\"}.fa-arrow-circle-left:before{content:\"\uF0A8\"}.fa-arrow-circle-right:before{content:\"\uF0A9\"}.fa-arrow-circle-up:before{content:\"\uF0AA\"}.fa-arrow-circle-down:before{content:\"\uF0AB\"}.fa-globe:before{content:\"\uF0AC\"}.fa-wrench:before{content:\"\uF0AD\"}.fa-tasks:before{content:\"\uF0AE\"}.fa-filter:before{content:\"\uF0B0\"}.fa-briefcase:before{content:\"\uF0B1\"}.fa-arrows-alt:before{content:\"\uF0B2\"}.fa-group:before,.fa-users:before{content:\"\uF0C0\"}.fa-chain:before,.fa-link:before{content:\"\uF0C1\"}.fa-cloud:before{content:\"\uF0C2\"}.fa-flask:before{content:\"\uF0C3\"}.fa-cut:before,.fa-scissors:before{content:\"\uF0C4\"}.fa-copy:before,.fa-files-o:before{content:\"\uF0C5\"}.fa-paperclip:before{content:\"\uF0C6\"}.fa-floppy-o:before,.fa-save:before{content:\"\uF0C7\"}.fa-square:before{content:\"\uF0C8\"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:\"\uF0C9\"}.fa-list-ul:before{content:\"\uF0CA\"}.fa-list-ol:before{content:\"\uF0CB\"}.fa-strikethrough:before{content:\"\uF0CC\"}.fa-underline:before{content:\"\uF0CD\"}.fa-table:before{content:\"\uF0CE\"}.fa-magic:before{content:\"\uF0D0\"}.fa-truck:before{content:\"\uF0D1\"}.fa-pinterest:before{content:\"\uF0D2\"}.fa-pinterest-square:before{content:\"\uF0D3\"}.fa-google-plus-square:before{content:\"\uF0D4\"}.fa-google-plus:before{content:\"\uF0D5\"}.fa-money:before{content:\"\uF0D6\"}.fa-caret-down:before{content:\"\uF0D7\"}.fa-caret-up:before{content:\"\uF0D8\"}.fa-caret-left:before{content:\"\uF0D9\"}.fa-caret-right:before{content:\"\uF0DA\"}.fa-columns:before{content:\"\uF0DB\"}.fa-sort:before,.fa-unsorted:before{content:\"\uF0DC\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\uF0DD\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\uF0DE\"}.fa-envelope:before{content:\"\uF0E0\"}.fa-linkedin:before{content:\"\uF0E1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\uF0E2\"}.fa-gavel:before,.fa-legal:before{content:\"\uF0E3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\uF0E4\"}.fa-comment-o:before{content:\"\uF0E5\"}.fa-comments-o:before{content:\"\uF0E6\"}.fa-bolt:before,.fa-flash:before{content:\"\uF0E7\"}.fa-sitemap:before{content:\"\uF0E8\"}.fa-umbrella:before{content:\"\uF0E9\"}.fa-clipboard:before,.fa-paste:before{content:\"\uF0EA\"}.fa-lightbulb-o:before{content:\"\uF0EB\"}.fa-exchange:before{content:\"\uF0EC\"}.fa-cloud-download:before{content:\"\uF0ED\"}.fa-cloud-upload:before{content:\"\uF0EE\"}.fa-user-md:before{content:\"\uF0F0\"}.fa-stethoscope:before{content:\"\uF0F1\"}.fa-suitcase:before{content:\"\uF0F2\"}.fa-bell-o:before{content:\"\uF0A2\"}.fa-coffee:before{content:\"\uF0F4\"}.fa-cutlery:before{content:\"\uF0F5\"}.fa-file-text-o:before{content:\"\uF0F6\"}.fa-building-o:before{content:\"\uF0F7\"}.fa-hospital-o:before{content:\"\uF0F8\"}.fa-ambulance:before{content:\"\uF0F9\"}.fa-medkit:before{content:\"\uF0FA\"}.fa-fighter-jet:before{content:\"\uF0FB\"}.fa-beer:before{content:\"\uF0FC\"}.fa-h-square:before{content:\"\uF0FD\"}.fa-plus-square:before{content:\"\uF0FE\"}.fa-angle-double-left:before{content:\"\uF100\"}.fa-angle-double-right:before{content:\"\uF101\"}.fa-angle-double-up:before{content:\"\uF102\"}.fa-angle-double-down:before{content:\"\uF103\"}.fa-angle-left:before{content:\"\uF104\"}.fa-angle-right:before{content:\"\uF105\"}.fa-angle-up:before{content:\"\uF106\"}.fa-angle-down:before{content:\"\uF107\"}.fa-desktop:before{content:\"\uF108\"}.fa-laptop:before{content:\"\uF109\"}.fa-tablet:before{content:\"\uF10A\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\uF10B\"}.fa-circle-o:before{content:\"\uF10C\"}.fa-quote-left:before{content:\"\uF10D\"}.fa-quote-right:before{content:\"\uF10E\"}.fa-spinner:before{content:\"\uF110\"}.fa-circle:before{content:\"\uF111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\uF112\"}.fa-github-alt:before{content:\"\uF113\"}.fa-folder-o:before{content:\"\uF114\"}.fa-folder-open-o:before{content:\"\uF115\"}.fa-smile-o:before{content:\"\uF118\"}.fa-frown-o:before{content:\"\uF119\"}.fa-meh-o:before{content:\"\uF11A\"}.fa-gamepad:before{content:\"\uF11B\"}.fa-keyboard-o:before{content:\"\uF11C\"}.fa-flag-o:before{content:\"\uF11D\"}.fa-flag-checkered:before{content:\"\uF11E\"}.fa-terminal:before{content:\"\uF120\"}.fa-code:before{content:\"\uF121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\uF122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\uF123\"}.fa-location-arrow:before{content:\"\uF124\"}.fa-crop:before{content:\"\uF125\"}.fa-code-fork:before{content:\"\uF126\"}.fa-chain-broken:before,.fa-unlink:before{content:\"\uF127\"}.fa-question:before{content:\"\uF128\"}.fa-info:before{content:\"\uF129\"}.fa-exclamation:before{content:\"\uF12A\"}.fa-superscript:before{content:\"\uF12B\"}.fa-subscript:before{content:\"\uF12C\"}.fa-eraser:before{content:\"\uF12D\"}.fa-puzzle-piece:before{content:\"\uF12E\"}.fa-microphone:before{content:\"\uF130\"}.fa-microphone-slash:before{content:\"\uF131\"}.fa-shield:before{content:\"\uF132\"}.fa-calendar-o:before{content:\"\uF133\"}.fa-fire-extinguisher:before{content:\"\uF134\"}.fa-rocket:before{content:\"\uF135\"}.fa-maxcdn:before{content:\"\uF136\"}.fa-chevron-circle-left:before{content:\"\uF137\"}.fa-chevron-circle-right:before{content:\"\uF138\"}.fa-chevron-circle-up:before{content:\"\uF139\"}.fa-chevron-circle-down:before{content:\"\uF13A\"}.fa-html5:before{content:\"\uF13B\"}.fa-css3:before{content:\"\uF13C\"}.fa-anchor:before{content:\"\uF13D\"}.fa-unlock-alt:before{content:\"\uF13E\"}.fa-bullseye:before{content:\"\uF140\"}.fa-ellipsis-h:before{content:\"\uF141\"}.fa-ellipsis-v:before{content:\"\uF142\"}.fa-rss-square:before{content:\"\uF143\"}.fa-play-circle:before{content:\"\uF144\"}.fa-ticket:before{content:\"\uF145\"}.fa-minus-square:before{content:\"\uF146\"}.fa-minus-square-o:before{content:\"\uF147\"}.fa-level-up:before{content:\"\uF148\"}.fa-level-down:before{content:\"\uF149\"}.fa-check-square:before{content:\"\uF14A\"}.fa-pencil-square:before{content:\"\uF14B\"}.fa-external-link-square:before{content:\"\uF14C\"}.fa-share-square:before{content:\"\uF14D\"}.fa-compass:before{content:\"\uF14E\"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:\"\uF150\"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:\"\uF151\"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:\"\uF152\"}.fa-eur:before,.fa-euro:before{content:\"\uF153\"}.fa-gbp:before{content:\"\uF154\"}.fa-dollar:before,.fa-usd:before{content:\"\uF155\"}.fa-inr:before,.fa-rupee:before{content:\"\uF156\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:\"\uF157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:\"\uF158\"}.fa-krw:before,.fa-won:before{content:\"\uF159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\uF15A\"}.fa-file:before{content:\"\uF15B\"}.fa-file-text:before{content:\"\uF15C\"}.fa-sort-alpha-asc:before{content:\"\uF15D\"}.fa-sort-alpha-desc:before{content:\"\uF15E\"}.fa-sort-amount-asc:before{content:\"\uF160\"}.fa-sort-amount-desc:before{content:\"\uF161\"}.fa-sort-numeric-asc:before{content:\"\uF162\"}.fa-sort-numeric-desc:before{content:\"\uF163\"}.fa-thumbs-up:before{content:\"\uF164\"}.fa-thumbs-down:before{content:\"\uF165\"}.fa-youtube-square:before{content:\"\uF166\"}.fa-youtube:before{content:\"\uF167\"}.fa-xing:before{content:\"\uF168\"}.fa-xing-square:before{content:\"\uF169\"}.fa-youtube-play:before{content:\"\uF16A\"}.fa-dropbox:before{content:\"\uF16B\"}.fa-stack-overflow:before{content:\"\uF16C\"}.fa-instagram:before{content:\"\uF16D\"}.fa-flickr:before{content:\"\uF16E\"}.fa-adn:before{content:\"\uF170\"}.fa-bitbucket:before{content:\"\uF171\"}.fa-bitbucket-square:before{content:\"\uF172\"}.fa-tumblr:before{content:\"\uF173\"}.fa-tumblr-square:before{content:\"\uF174\"}.fa-long-arrow-down:before{content:\"\uF175\"}.fa-long-arrow-up:before{content:\"\uF176\"}.fa-long-arrow-left:before{content:\"\uF177\"}.fa-long-arrow-right:before{content:\"\uF178\"}.fa-apple:before{content:\"\uF179\"}.fa-windows:before{content:\"\uF17A\"}.fa-android:before{content:\"\uF17B\"}.fa-linux:before{content:\"\uF17C\"}.fa-dribbble:before{content:\"\uF17D\"}.fa-skype:before{content:\"\uF17E\"}.fa-foursquare:before{content:\"\uF180\"}.fa-trello:before{content:\"\uF181\"}.fa-female:before{content:\"\uF182\"}.fa-male:before{content:\"\uF183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\uF184\"}.fa-sun-o:before{content:\"\uF185\"}.fa-moon-o:before{content:\"\uF186\"}.fa-archive:before{content:\"\uF187\"}.fa-bug:before{content:\"\uF188\"}.fa-vk:before{content:\"\uF189\"}.fa-weibo:before{content:\"\uF18A\"}.fa-renren:before{content:\"\uF18B\"}.fa-pagelines:before{content:\"\uF18C\"}.fa-stack-exchange:before{content:\"\uF18D\"}.fa-arrow-circle-o-right:before{content:\"\uF18E\"}.fa-arrow-circle-o-left:before{content:\"\uF190\"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:\"\uF191\"}.fa-dot-circle-o:before{content:\"\uF192\"}.fa-wheelchair:before{content:\"\uF193\"}.fa-vimeo-square:before{content:\"\uF194\"}.fa-try:before,.fa-turkish-lira:before{content:\"\uF195\"}.fa-plus-square-o:before{content:\"\uF196\"}.fa-space-shuttle:before{content:\"\uF197\"}.fa-slack:before{content:\"\uF198\"}.fa-envelope-square:before{content:\"\uF199\"}.fa-wordpress:before{content:\"\uF19A\"}.fa-openid:before{content:\"\uF19B\"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:\"\uF19C\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\uF19D\"}.fa-yahoo:before{content:\"\uF19E\"}.fa-google:before{content:\"\uF1A0\"}.fa-reddit:before{content:\"\uF1A1\"}.fa-reddit-square:before{content:\"\uF1A2\"}.fa-stumbleupon-circle:before{content:\"\uF1A3\"}.fa-stumbleupon:before{content:\"\uF1A4\"}.fa-delicious:before{content:\"\uF1A5\"}.fa-digg:before{content:\"\uF1A6\"}.fa-pied-piper-pp:before{content:\"\uF1A7\"}.fa-pied-piper-alt:before{content:\"\uF1A8\"}.fa-drupal:before{content:\"\uF1A9\"}.fa-joomla:before{content:\"\uF1AA\"}.fa-language:before{content:\"\uF1AB\"}.fa-fax:before{content:\"\uF1AC\"}.fa-building:before{content:\"\uF1AD\"}.fa-child:before{content:\"\uF1AE\"}.fa-paw:before{content:\"\uF1B0\"}.fa-spoon:before{content:\"\uF1B1\"}.fa-cube:before{content:\"\uF1B2\"}.fa-cubes:before{content:\"\uF1B3\"}.fa-behance:before{content:\"\uF1B4\"}.fa-behance-square:before{content:\"\uF1B5\"}.fa-steam:before{content:\"\uF1B6\"}.fa-steam-square:before{content:\"\uF1B7\"}.fa-recycle:before{content:\"\uF1B8\"}.fa-automobile:before,.fa-car:before{content:\"\uF1B9\"}.fa-cab:before,.fa-taxi:before{content:\"\uF1BA\"}.fa-tree:before{content:\"\uF1BB\"}.fa-spotify:before{content:\"\uF1BC\"}.fa-deviantart:before{content:\"\uF1BD\"}.fa-soundcloud:before{content:\"\uF1BE\"}.fa-database:before{content:\"\uF1C0\"}.fa-file-pdf-o:before{content:\"\uF1C1\"}.fa-file-word-o:before{content:\"\uF1C2\"}.fa-file-excel-o:before{content:\"\uF1C3\"}.fa-file-powerpoint-o:before{content:\"\uF1C4\"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:\"\uF1C5\"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:\"\uF1C6\"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:\"\uF1C7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\uF1C8\"}.fa-file-code-o:before{content:\"\uF1C9\"}.fa-vine:before{content:\"\uF1CA\"}.fa-codepen:before{content:\"\uF1CB\"}.fa-jsfiddle:before{content:\"\uF1CC\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:\"\uF1CD\"}.fa-circle-o-notch:before{content:\"\uF1CE\"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:\"\uF1D0\"}.fa-empire:before,.fa-ge:before{content:\"\uF1D1\"}.fa-git-square:before{content:\"\uF1D2\"}.fa-git:before{content:\"\uF1D3\"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:\"\uF1D4\"}.fa-tencent-weibo:before{content:\"\uF1D5\"}.fa-qq:before{content:\"\uF1D6\"}.fa-wechat:before,.fa-weixin:before{content:\"\uF1D7\"}.fa-paper-plane:before,.fa-send:before{content:\"\uF1D8\"}.fa-paper-plane-o:before,.fa-send-o:before{content:\"\uF1D9\"}.fa-history:before{content:\"\uF1DA\"}.fa-circle-thin:before{content:\"\uF1DB\"}.fa-header:before{content:\"\uF1DC\"}.fa-paragraph:before{content:\"\uF1DD\"}.fa-sliders:before{content:\"\uF1DE\"}.fa-share-alt:before{content:\"\uF1E0\"}.fa-share-alt-square:before{content:\"\uF1E1\"}.fa-bomb:before{content:\"\uF1E2\"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:\"\uF1E3\"}.fa-tty:before{content:\"\uF1E4\"}.fa-binoculars:before{content:\"\uF1E5\"}.fa-plug:before{content:\"\uF1E6\"}.fa-slideshare:before{content:\"\uF1E7\"}.fa-twitch:before{content:\"\uF1E8\"}.fa-yelp:before{content:\"\uF1E9\"}.fa-newspaper-o:before{content:\"\uF1EA\"}.fa-wifi:before{content:\"\uF1EB\"}.fa-calculator:before{content:\"\uF1EC\"}.fa-paypal:before{content:\"\uF1ED\"}.fa-google-wallet:before{content:\"\uF1EE\"}.fa-cc-visa:before{content:\"\uF1F0\"}.fa-cc-mastercard:before{content:\"\uF1F1\"}.fa-cc-discover:before{content:\"\uF1F2\"}.fa-cc-amex:before{content:\"\uF1F3\"}.fa-cc-paypal:before{content:\"\uF1F4\"}.fa-cc-stripe:before{content:\"\uF1F5\"}.fa-bell-slash:before{content:\"\uF1F6\"}.fa-bell-slash-o:before{content:\"\uF1F7\"}.fa-trash:before{content:\"\uF1F8\"}.fa-copyright:before{content:\"\uF1F9\"}.fa-at:before{content:\"\uF1FA\"}.fa-eyedropper:before{content:\"\uF1FB\"}.fa-paint-brush:before{content:\"\uF1FC\"}.fa-birthday-cake:before{content:\"\uF1FD\"}.fa-area-chart:before{content:\"\uF1FE\"}.fa-pie-chart:before{content:\"\uF200\"}.fa-line-chart:before{content:\"\uF201\"}.fa-lastfm:before{content:\"\uF202\"}.fa-lastfm-square:before{content:\"\uF203\"}.fa-toggle-off:before{content:\"\uF204\"}.fa-toggle-on:before{content:\"\uF205\"}.fa-bicycle:before{content:\"\uF206\"}.fa-bus:before{content:\"\uF207\"}.fa-ioxhost:before{content:\"\uF208\"}.fa-angellist:before{content:\"\uF209\"}.fa-cc:before{content:\"\uF20A\"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:\"\uF20B\"}.fa-meanpath:before{content:\"\uF20C\"}.fa-buysellads:before{content:\"\uF20D\"}.fa-connectdevelop:before{content:\"\uF20E\"}.fa-dashcube:before{content:\"\uF210\"}.fa-forumbee:before{content:\"\uF211\"}.fa-leanpub:before{content:\"\uF212\"}.fa-sellsy:before{content:\"\uF213\"}.fa-shirtsinbulk:before{content:\"\uF214\"}.fa-simplybuilt:before{content:\"\uF215\"}.fa-skyatlas:before{content:\"\uF216\"}.fa-cart-plus:before{content:\"\uF217\"}.fa-cart-arrow-down:before{content:\"\uF218\"}.fa-diamond:before{content:\"\uF219\"}.fa-ship:before{content:\"\uF21A\"}.fa-user-secret:before{content:\"\uF21B\"}.fa-motorcycle:before{content:\"\uF21C\"}.fa-street-view:before{content:\"\uF21D\"}.fa-heartbeat:before{content:\"\uF21E\"}.fa-venus:before{content:\"\uF221\"}.fa-mars:before{content:\"\uF222\"}.fa-mercury:before{content:\"\uF223\"}.fa-intersex:before,.fa-transgender:before{content:\"\uF224\"}.fa-transgender-alt:before{content:\"\uF225\"}.fa-venus-double:before{content:\"\uF226\"}.fa-mars-double:before{content:\"\uF227\"}.fa-venus-mars:before{content:\"\uF228\"}.fa-mars-stroke:before{content:\"\uF229\"}.fa-mars-stroke-v:before{content:\"\uF22A\"}.fa-mars-stroke-h:before{content:\"\uF22B\"}.fa-neuter:before{content:\"\uF22C\"}.fa-genderless:before{content:\"\uF22D\"}.fa-facebook-official:before{content:\"\uF230\"}.fa-pinterest-p:before{content:\"\uF231\"}.fa-whatsapp:before{content:\"\uF232\"}.fa-server:before{content:\"\uF233\"}.fa-user-plus:before{content:\"\uF234\"}.fa-user-times:before{content:\"\uF235\"}.fa-bed:before,.fa-hotel:before{content:\"\uF236\"}.fa-viacoin:before{content:\"\uF237\"}.fa-train:before{content:\"\uF238\"}.fa-subway:before{content:\"\uF239\"}.fa-medium:before{content:\"\uF23A\"}.fa-y-combinator:before,.fa-yc:before{content:\"\uF23B\"}.fa-optin-monster:before{content:\"\uF23C\"}.fa-opencart:before{content:\"\uF23D\"}.fa-expeditedssl:before{content:\"\uF23E\"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:\"\uF240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\uF241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\uF242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\uF243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\uF244\"}.fa-mouse-pointer:before{content:\"\uF245\"}.fa-i-cursor:before{content:\"\uF246\"}.fa-object-group:before{content:\"\uF247\"}.fa-object-ungroup:before{content:\"\uF248\"}.fa-sticky-note:before{content:\"\uF249\"}.fa-sticky-note-o:before{content:\"\uF24A\"}.fa-cc-jcb:before{content:\"\uF24B\"}.fa-cc-diners-club:before{content:\"\uF24C\"}.fa-clone:before{content:\"\uF24D\"}.fa-balance-scale:before{content:\"\uF24E\"}.fa-hourglass-o:before{content:\"\uF250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\uF251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\uF252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\uF253\"}.fa-hourglass:before{content:\"\uF254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\uF255\"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:\"\uF256\"}.fa-hand-scissors-o:before{content:\"\uF257\"}.fa-hand-lizard-o:before{content:\"\uF258\"}.fa-hand-spock-o:before{content:\"\uF259\"}.fa-hand-pointer-o:before{content:\"\uF25A\"}.fa-hand-peace-o:before{content:\"\uF25B\"}.fa-trademark:before{content:\"\uF25C\"}.fa-registered:before{content:\"\uF25D\"}.fa-creative-commons:before{content:\"\uF25E\"}.fa-gg:before{content:\"\uF260\"}.fa-gg-circle:before{content:\"\uF261\"}.fa-tripadvisor:before{content:\"\uF262\"}.fa-odnoklassniki:before{content:\"\uF263\"}.fa-odnoklassniki-square:before{content:\"\uF264\"}.fa-get-pocket:before{content:\"\uF265\"}.fa-wikipedia-w:before{content:\"\uF266\"}.fa-safari:before{content:\"\uF267\"}.fa-chrome:before{content:\"\uF268\"}.fa-firefox:before{content:\"\uF269\"}.fa-opera:before{content:\"\uF26A\"}.fa-internet-explorer:before{content:\"\uF26B\"}.fa-television:before,.fa-tv:before{content:\"\uF26C\"}.fa-contao:before{content:\"\uF26D\"}.fa-500px:before{content:\"\uF26E\"}.fa-amazon:before{content:\"\uF270\"}.fa-calendar-plus-o:before{content:\"\uF271\"}.fa-calendar-minus-o:before{content:\"\uF272\"}.fa-calendar-times-o:before{content:\"\uF273\"}.fa-calendar-check-o:before{content:\"\uF274\"}.fa-industry:before{content:\"\uF275\"}.fa-map-pin:before{content:\"\uF276\"}.fa-map-signs:before{content:\"\uF277\"}.fa-map-o:before{content:\"\uF278\"}.fa-map:before{content:\"\uF279\"}.fa-commenting:before{content:\"\uF27A\"}.fa-commenting-o:before{content:\"\uF27B\"}.fa-houzz:before{content:\"\uF27C\"}.fa-vimeo:before{content:\"\uF27D\"}.fa-black-tie:before{content:\"\uF27E\"}.fa-fonticons:before{content:\"\uF280\"}.fa-reddit-alien:before{content:\"\uF281\"}.fa-edge:before{content:\"\uF282\"}.fa-credit-card-alt:before{content:\"\uF283\"}.fa-codiepie:before{content:\"\uF284\"}.fa-modx:before{content:\"\uF285\"}.fa-fort-awesome:before{content:\"\uF286\"}.fa-usb:before{content:\"\uF287\"}.fa-product-hunt:before{content:\"\uF288\"}.fa-mixcloud:before{content:\"\uF289\"}.fa-scribd:before{content:\"\uF28A\"}.fa-pause-circle:before{content:\"\uF28B\"}.fa-pause-circle-o:before{content:\"\uF28C\"}.fa-stop-circle:before{content:\"\uF28D\"}.fa-stop-circle-o:before{content:\"\uF28E\"}.fa-shopping-bag:before{content:\"\uF290\"}.fa-shopping-basket:before{content:\"\uF291\"}.fa-hashtag:before{content:\"\uF292\"}.fa-bluetooth:before{content:\"\uF293\"}.fa-bluetooth-b:before{content:\"\uF294\"}.fa-percent:before{content:\"\uF295\"}.fa-gitlab:before{content:\"\uF296\"}.fa-wpbeginner:before{content:\"\uF297\"}.fa-wpforms:before{content:\"\uF298\"}.fa-envira:before{content:\"\uF299\"}.fa-universal-access:before{content:\"\uF29A\"}.fa-wheelchair-alt:before{content:\"\uF29B\"}.fa-question-circle-o:before{content:\"\uF29C\"}.fa-blind:before{content:\"\uF29D\"}.fa-audio-description:before{content:\"\uF29E\"}.fa-volume-control-phone:before{content:\"\uF2A0\"}.fa-braille:before{content:\"\uF2A1\"}.fa-assistive-listening-systems:before{content:\"\uF2A2\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:\"\uF2A3\"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:\"\uF2A4\"}.fa-glide:before{content:\"\uF2A5\"}.fa-glide-g:before{content:\"\uF2A6\"}.fa-sign-language:before,.fa-signing:before{content:\"\uF2A7\"}.fa-low-vision:before{content:\"\uF2A8\"}.fa-viadeo:before{content:\"\uF2A9\"}.fa-viadeo-square:before{content:\"\uF2AA\"}.fa-snapchat:before{content:\"\uF2AB\"}.fa-snapchat-ghost:before{content:\"\uF2AC\"}.fa-snapchat-square:before{content:\"\uF2AD\"}.fa-pied-piper:before{content:\"\uF2AE\"}.fa-first-order:before{content:\"\uF2B0\"}.fa-yoast:before{content:\"\uF2B1\"}.fa-themeisle:before{content:\"\uF2B2\"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:\"\uF2B3\"}.fa-fa:before,.fa-font-awesome:before{content:\"\uF2B4\"}.fa-handshake-o:before{content:\"\uF2B5\"}.fa-envelope-open:before{content:\"\uF2B6\"}.fa-envelope-open-o:before{content:\"\uF2B7\"}.fa-linode:before{content:\"\uF2B8\"}.fa-address-book:before{content:\"\uF2B9\"}.fa-address-book-o:before{content:\"\uF2BA\"}.fa-address-card:before,.fa-vcard:before{content:\"\uF2BB\"}.fa-address-card-o:before,.fa-vcard-o:before{content:\"\uF2BC\"}.fa-user-circle:before{content:\"\uF2BD\"}.fa-user-circle-o:before{content:\"\uF2BE\"}.fa-user-o:before{content:\"\uF2C0\"}.fa-id-badge:before{content:\"\uF2C1\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\uF2C2\"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:\"\uF2C3\"}.fa-quora:before{content:\"\uF2C4\"}.fa-free-code-camp:before{content:\"\uF2C5\"}.fa-telegram:before{content:\"\uF2C6\"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:\"\uF2C7\"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\uF2C8\"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\uF2C9\"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\uF2CA\"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\uF2CB\"}.fa-shower:before{content:\"\uF2CC\"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:\"\uF2CD\"}.fa-podcast:before{content:\"\uF2CE\"}.fa-window-maximize:before{content:\"\uF2D0\"}.fa-window-minimize:before{content:\"\uF2D1\"}.fa-window-restore:before{content:\"\uF2D2\"}.fa-times-rectangle:before,.fa-window-close:before{content:\"\uF2D3\"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:\"\uF2D4\"}.fa-bandcamp:before{content:\"\uF2D5\"}.fa-grav:before{content:\"\uF2D6\"}.fa-etsy:before{content:\"\uF2D7\"}.fa-imdb:before{content:\"\uF2D8\"}.fa-ravelry:before{content:\"\uF2D9\"}.fa-eercast:before{content:\"\uF2DA\"}.fa-microchip:before{content:\"\uF2DB\"}.fa-snowflake-o:before{content:\"\uF2DC\"}.fa-superpowers:before{content:\"\uF2DD\"}.fa-wpexplorer:before{content:\"\uF2DE\"}.fa-meetup:before{content:\"\uF2E0\"}.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}"]
646
- },] }
647
- ];
648
- AngularEditorComponent.ctorParameters = function () { return [
649
- { type: core.Renderer2 },
650
- { type: AngularEditorService },
651
- { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] },
652
- { type: platformBrowser.DomSanitizer },
653
- { type: core.ChangeDetectorRef },
654
- { type: String, decorators: [{ type: core.Attribute, args: ['tabindex',] }] },
655
- { type: undefined, decorators: [{ type: core.Attribute, args: ['autofocus',] }] }
656
- ]; };
657
- AngularEditorComponent.propDecorators = {
658
- id: [{ type: core.Input }],
659
- config: [{ type: core.Input }],
660
- placeholder: [{ type: core.Input }],
661
- tabIndex: [{ type: core.Input }],
662
- html: [{ type: core.Output }],
663
- textArea: [{ type: core.ViewChild, args: ['editor', { static: true },] }],
664
- editorWrapper: [{ type: core.ViewChild, args: ['editorWrapper', { static: true },] }],
665
- editorToolbar: [{ type: core.ViewChild, args: ['editorToolbar',] }],
666
- viewMode: [{ type: core.Output }],
667
- blurEvent: [{ type: core.Output, args: ['blur',] }],
668
- focusEvent: [{ type: core.Output, args: ['focus',] }],
669
- tabindex: [{ type: core.HostBinding, args: ['attr.tabindex',] }],
670
- onFocus: [{ type: core.HostListener, args: ['focus',] }]
310
+ var AngularEditorComponent = /** @class */ (function () {
311
+ function AngularEditorComponent(r, editorService, doc, sanitizer, cdRef, defaultTabIndex, autoFocus) {
312
+ this.r = r;
313
+ this.editorService = editorService;
314
+ this.doc = doc;
315
+ this.sanitizer = sanitizer;
316
+ this.cdRef = cdRef;
317
+ this.autoFocus = autoFocus;
318
+ this.modeVisual = true;
319
+ this.showPlaceholder = false;
320
+ this.disabled = false;
321
+ this.focused = false;
322
+ this.touched = false;
323
+ this.changed = false;
324
+ this.id = '';
325
+ this.config = angularEditorConfig;
326
+ this.placeholder = '';
327
+ this.viewMode = new core.EventEmitter();
328
+ /** emits `blur` event when focused out from the textarea */
329
+ // eslint-disable-next-line @angular-eslint/no-output-native, @angular-eslint/no-output-rename
330
+ this.blurEvent = new core.EventEmitter();
331
+ /** emits `focus` event when focused in to the textarea */
332
+ // eslint-disable-next-line @angular-eslint/no-output-rename, @angular-eslint/no-output-native
333
+ this.focusEvent = new core.EventEmitter();
334
+ this.tabindex = -1;
335
+ var parsedTabIndex = Number(defaultTabIndex);
336
+ this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;
337
+ }
338
+ AngularEditorComponent.prototype.onFocus = function () {
339
+ this.focus();
340
+ };
341
+ AngularEditorComponent.prototype.ngOnInit = function () {
342
+ this.config.toolbarPosition = this.config.toolbarPosition ? this.config.toolbarPosition : angularEditorConfig.toolbarPosition;
343
+ };
344
+ AngularEditorComponent.prototype.ngAfterViewInit = function () {
345
+ if (isDefined(this.autoFocus)) {
346
+ this.focus();
347
+ }
348
+ };
349
+ AngularEditorComponent.prototype.onPaste = function (event) {
350
+ if (this.config.rawPaste) {
351
+ event.preventDefault();
352
+ var text = event.clipboardData.getData('text/plain');
353
+ document.execCommand('insertHTML', false, text);
354
+ return text;
355
+ }
356
+ };
357
+ /**
358
+ * Executed command from editor header buttons
359
+ * @param command string from triggerCommand
360
+ */
361
+ AngularEditorComponent.prototype.executeCommand = function (command) {
362
+ this.focus();
363
+ if (command === 'focus') {
364
+ return;
365
+ }
366
+ if (command === 'toggleEditorMode') {
367
+ this.toggleEditorMode(this.modeVisual);
368
+ }
369
+ else if (command !== '') {
370
+ if (command === 'clear') {
371
+ this.editorService.removeSelectedElements(this.getCustomTags());
372
+ this.onContentChange(this.textArea.nativeElement);
373
+ }
374
+ else if (command === 'default') {
375
+ this.editorService.removeSelectedElements('h1,h2,h3,h4,h5,h6,p,pre');
376
+ this.onContentChange(this.textArea.nativeElement);
377
+ }
378
+ else {
379
+ this.editorService.executeCommand(command);
380
+ }
381
+ this.exec();
382
+ }
383
+ };
384
+ /**
385
+ * focus event
386
+ */
387
+ AngularEditorComponent.prototype.onTextAreaFocus = function (event) {
388
+ var _this = this;
389
+ if (this.focused) {
390
+ event.stopPropagation();
391
+ return;
392
+ }
393
+ this.focused = true;
394
+ this.focusEvent.emit(event);
395
+ if (!this.touched || !this.changed) {
396
+ this.editorService.executeInNextQueueIteration(function () {
397
+ _this.configure();
398
+ _this.touched = true;
399
+ });
400
+ }
401
+ };
402
+ /**
403
+ * @description fires when cursor leaves textarea
404
+ */
405
+ AngularEditorComponent.prototype.onTextAreaMouseOut = function (event) {
406
+ this.editorService.saveSelection();
407
+ };
408
+ /**
409
+ * blur event
410
+ */
411
+ AngularEditorComponent.prototype.onTextAreaBlur = function (event) {
412
+ /**
413
+ * save selection if focussed out
414
+ */
415
+ this.editorService.executeInNextQueueIteration(this.editorService.saveSelection);
416
+ if (typeof this.onTouched === 'function') {
417
+ this.onTouched();
418
+ }
419
+ if (event.relatedTarget !== null) {
420
+ var parent = event.relatedTarget.parentElement;
421
+ if (!parent.classList.contains('angular-editor-toolbar-set') && !parent.classList.contains('ae-picker')) {
422
+ this.blurEvent.emit(event);
423
+ this.focused = false;
424
+ }
425
+ }
426
+ };
427
+ /**
428
+ * focus the text area when the editor is focused
429
+ */
430
+ AngularEditorComponent.prototype.focus = function () {
431
+ if (this.modeVisual) {
432
+ this.textArea.nativeElement.focus();
433
+ }
434
+ else {
435
+ var sourceText = this.doc.getElementById('sourceText' + this.id);
436
+ sourceText.focus();
437
+ this.focused = true;
438
+ }
439
+ };
440
+ /**
441
+ * Executed from the contenteditable section while the input property changes
442
+ * @param element html element from contenteditable
443
+ */
444
+ AngularEditorComponent.prototype.onContentChange = function (element) {
445
+ var html = '';
446
+ if (this.modeVisual) {
447
+ html = element.innerHTML;
448
+ }
449
+ else {
450
+ html = element.innerText;
451
+ }
452
+ if ((!html || html === '<br>')) {
453
+ html = '';
454
+ }
455
+ if (typeof this.onChange === 'function') {
456
+ this.onChange(this.config.sanitize || this.config.sanitize === undefined ?
457
+ this.sanitizer.sanitize(core.SecurityContext.HTML, html) : html);
458
+ if ((!html) !== this.showPlaceholder) {
459
+ this.togglePlaceholder(this.showPlaceholder);
460
+ }
461
+ }
462
+ this.changed = true;
463
+ };
464
+ /**
465
+ * Set the function to be called
466
+ * when the control receives a change event.
467
+ *
468
+ * @param fn a function
469
+ */
470
+ AngularEditorComponent.prototype.registerOnChange = function (fn) {
471
+ this.onChange = function (e) { return (e === '<br>' ? fn('') : fn(e)); };
472
+ };
473
+ /**
474
+ * Set the function to be called
475
+ * when the control receives a touch event.
476
+ *
477
+ * @param fn a function
478
+ */
479
+ AngularEditorComponent.prototype.registerOnTouched = function (fn) {
480
+ this.onTouched = fn;
481
+ };
482
+ /**
483
+ * Write a new value to the element.
484
+ *
485
+ * @param value value to be executed when there is a change in contenteditable
486
+ */
487
+ AngularEditorComponent.prototype.writeValue = function (value) {
488
+ if ((!value || value === '<br>' || value === '') !== this.showPlaceholder) {
489
+ this.togglePlaceholder(this.showPlaceholder);
490
+ }
491
+ if (value === undefined || value === '' || value === '<br>') {
492
+ value = null;
493
+ }
494
+ this.refreshView(value);
495
+ };
496
+ /**
497
+ * refresh view/HTML of the editor
498
+ *
499
+ * @param value html string from the editor
500
+ */
501
+ AngularEditorComponent.prototype.refreshView = function (value) {
502
+ var normalizedValue = value === null ? '' : value;
503
+ this.r.setProperty(this.textArea.nativeElement, 'innerHTML', normalizedValue);
504
+ return;
505
+ };
506
+ /**
507
+ * toggles placeholder based on input string
508
+ *
509
+ * @param value A HTML string from the editor
510
+ */
511
+ AngularEditorComponent.prototype.togglePlaceholder = function (value) {
512
+ if (!value) {
513
+ this.r.addClass(this.editorWrapper.nativeElement, 'show-placeholder');
514
+ this.showPlaceholder = true;
515
+ }
516
+ else {
517
+ this.r.removeClass(this.editorWrapper.nativeElement, 'show-placeholder');
518
+ this.showPlaceholder = false;
519
+ }
520
+ };
521
+ /**
522
+ * Implements disabled state for this element
523
+ *
524
+ * @param isDisabled Disabled flag
525
+ */
526
+ AngularEditorComponent.prototype.setDisabledState = function (isDisabled) {
527
+ var div = this.textArea.nativeElement;
528
+ var action = isDisabled ? 'addClass' : 'removeClass';
529
+ this.r[action](div, 'disabled');
530
+ this.disabled = isDisabled;
531
+ };
532
+ /**
533
+ * toggles editor mode based on bToSource bool
534
+ *
535
+ * @param bToSource A boolean value from the editor
536
+ */
537
+ AngularEditorComponent.prototype.toggleEditorMode = function (bToSource) {
538
+ var _this = this;
539
+ var oContent;
540
+ var editableElement = this.textArea.nativeElement;
541
+ if (bToSource) {
542
+ oContent = this.r.createText(editableElement.innerHTML);
543
+ this.r.setProperty(editableElement, 'innerHTML', '');
544
+ this.r.setProperty(editableElement, 'contentEditable', false);
545
+ var oPre = this.r.createElement('pre');
546
+ this.r.setStyle(oPre, 'margin', '0');
547
+ this.r.setStyle(oPre, 'outline', 'none');
548
+ var oCode = this.r.createElement('code');
549
+ this.r.setProperty(oCode, 'id', 'sourceText' + this.id);
550
+ this.r.setStyle(oCode, 'display', 'block');
551
+ this.r.setStyle(oCode, 'white-space', 'pre-wrap');
552
+ this.r.setStyle(oCode, 'word-break', 'keep-all');
553
+ this.r.setStyle(oCode, 'outline', 'none');
554
+ this.r.setStyle(oCode, 'margin', '0');
555
+ this.r.setStyle(oCode, 'background-color', '#fff5b9');
556
+ this.r.setProperty(oCode, 'contentEditable', true);
557
+ this.r.appendChild(oCode, oContent);
558
+ this.focusInstance = this.r.listen(oCode, 'focus', function (event) { return _this.onTextAreaFocus(event); });
559
+ this.blurInstance = this.r.listen(oCode, 'blur', function (event) { return _this.onTextAreaBlur(event); });
560
+ this.r.appendChild(oPre, oCode);
561
+ this.r.appendChild(editableElement, oPre);
562
+ // ToDo move to service
563
+ this.doc.execCommand('defaultParagraphSeparator', false, 'div');
564
+ this.modeVisual = false;
565
+ this.viewMode.emit(false);
566
+ oCode.focus();
567
+ }
568
+ else {
569
+ if (this.doc.querySelectorAll) {
570
+ this.r.setProperty(editableElement, 'innerHTML', editableElement.innerText);
571
+ }
572
+ else {
573
+ oContent = this.doc.createRange();
574
+ oContent.selectNodeContents(editableElement.firstChild);
575
+ this.r.setProperty(editableElement, 'innerHTML', oContent.toString());
576
+ }
577
+ this.r.setProperty(editableElement, 'contentEditable', true);
578
+ this.modeVisual = true;
579
+ this.viewMode.emit(true);
580
+ this.onContentChange(editableElement);
581
+ editableElement.focus();
582
+ }
583
+ this.editorToolbar.setEditorMode(!this.modeVisual);
584
+ };
585
+ /**
586
+ * toggles editor buttons when cursor moved or positioning
587
+ *
588
+ * Send a node array from the contentEditable of the editor
589
+ */
590
+ AngularEditorComponent.prototype.exec = function () {
591
+ this.editorToolbar.triggerButtons();
592
+ var userSelection;
593
+ if (this.doc.getSelection) {
594
+ userSelection = this.doc.getSelection();
595
+ this.editorService.executeInNextQueueIteration(this.editorService.saveSelection);
596
+ }
597
+ var a = userSelection.focusNode;
598
+ var els = [];
599
+ while (a && a.id !== 'editor') {
600
+ els.unshift(a);
601
+ a = a.parentNode;
602
+ }
603
+ this.editorToolbar.triggerBlocks(els);
604
+ };
605
+ AngularEditorComponent.prototype.configure = function () {
606
+ this.editorService.uploadUrl = this.config.uploadUrl;
607
+ this.editorService.uploadWithCredentials = this.config.uploadWithCredentials;
608
+ if (this.config.defaultParagraphSeparator) {
609
+ this.editorService.setDefaultParagraphSeparator(this.config.defaultParagraphSeparator);
610
+ }
611
+ if (this.config.defaultFontName) {
612
+ this.editorService.setFontName(this.config.defaultFontName);
613
+ }
614
+ if (this.config.defaultFontSize) {
615
+ this.editorService.setFontSize(this.config.defaultFontSize);
616
+ }
617
+ };
618
+ AngularEditorComponent.prototype.getFonts = function () {
619
+ var fonts = this.config.fonts ? this.config.fonts : angularEditorConfig.fonts;
620
+ return fonts.map(function (x) {
621
+ return { label: x.name, value: x.name };
622
+ });
623
+ };
624
+ AngularEditorComponent.prototype.getCustomTags = function () {
625
+ var tags = ['span'];
626
+ this.config.customClasses.forEach(function (x) {
627
+ if (x.tag !== undefined) {
628
+ if (!tags.includes(x.tag)) {
629
+ tags.push(x.tag);
630
+ }
631
+ }
632
+ });
633
+ return tags.join(',');
634
+ };
635
+ AngularEditorComponent.prototype.ngOnDestroy = function () {
636
+ if (this.blurInstance) {
637
+ this.blurInstance();
638
+ }
639
+ if (this.focusInstance) {
640
+ this.focusInstance();
641
+ }
642
+ };
643
+ AngularEditorComponent.prototype.filterStyles = function (html) {
644
+ html = html.replace('position: fixed;', '');
645
+ return html;
646
+ };
647
+ return AngularEditorComponent;
648
+ }());
649
+ AngularEditorComponent.decorators = [
650
+ { type: core.Component, args: [{
651
+ selector: 'angular-editor',
652
+ template: "<div\n class=\"angular-editor\"\n #angularEditor\n [style.width]=\"config.width\"\n [style.minWidth]=\"config.minWidth\"\n>\n <angular-editor-toolbar\n *ngIf=\"config.toolbarPosition === 'top'\"\n #editorToolbar\n [id]=\"id\"\n [uploadUrl]=\"config.uploadUrl\"\n [upload]=\"config.upload\"\n [showToolbar]=\"config.showToolbar !== undefined ? config.showToolbar : true\"\n [fonts]=\"getFonts()\"\n [customClasses]=\"config.customClasses\"\n [defaultFontName]=\"config.defaultFontName\"\n [defaultFontSize]=\"config.defaultFontSize\"\n [hiddenButtons]=\"config.toolbarHiddenButtons\"\n (execute)=\"executeCommand($event)\"\n ></angular-editor-toolbar>\n\n <div\n class=\"angular-editor-wrapper\"\n #editorWrapper\n >\n <div\n #editor\n class=\"angular-editor-textarea\"\n [attr.contenteditable]=\"config.editable\"\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\n [attr.translate]=\"config.translate\"\n [attr.spellcheck]=\"config.spellcheck\"\n [style.height]=\"config.height\"\n [style.minHeight]=\"config.minHeight\"\n [style.maxHeight]=\"config.maxHeight\"\n [style.outline]=\"config.outline === false ? 'none': undefined\"\n (input)=\"onContentChange($event.target)\"\n (focus)=\"onTextAreaFocus($event)\"\n (blur)=\"onTextAreaBlur($event)\"\n (click)=\"exec()\"\n (keyup)=\"exec()\"\n (mouseout)=\"onTextAreaMouseOut($event)\"\n (paste)=\"onPaste($event)\"\n >\n </div>\n <span class=\"angular-editor-placeholder\">{{ placeholder || config['placeholder'] }}</span>\n </div>\n <angular-editor-toolbar\n *ngIf=\"config.toolbarPosition === 'bottom'\"\n #editorToolbar\n [id]=\"id\"\n [uploadUrl]=\"config.uploadUrl\"\n [upload]=\"config.upload\"\n [showToolbar]=\"config.showToolbar !== undefined ? config.showToolbar : true\"\n [fonts]=\"getFonts()\"\n [customClasses]=\"config.customClasses\"\n [defaultFontName]=\"config.defaultFontName\"\n [defaultFontSize]=\"config.defaultFontSize\"\n [hiddenButtons]=\"config.toolbarHiddenButtons\"\n (execute)=\"executeCommand($event)\"\n ></angular-editor-toolbar>\n</div>\n",
653
+ providers: [
654
+ {
655
+ provide: forms.NG_VALUE_ACCESSOR,
656
+ useExisting: core.forwardRef(function () { return AngularEditorComponent; }),
657
+ multi: true
658
+ },
659
+ AngularEditorService
660
+ ],
661
+ 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;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\");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.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{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\uF000\"}.fa-music:before{content:\"\uF001\"}.fa-search:before{content:\"\uF002\"}.fa-envelope-o:before{content:\"\uF003\"}.fa-heart:before{content:\"\uF004\"}.fa-star:before{content:\"\uF005\"}.fa-star-o:before{content:\"\uF006\"}.fa-user:before{content:\"\uF007\"}.fa-film:before{content:\"\uF008\"}.fa-th-large:before{content:\"\uF009\"}.fa-th:before{content:\"\uF00A\"}.fa-th-list:before{content:\"\uF00B\"}.fa-check:before{content:\"\uF00C\"}.fa-close:before,.fa-remove:before,.fa-times:before{content:\"\uF00D\"}.fa-search-plus:before{content:\"\uF00E\"}.fa-search-minus:before{content:\"\uF010\"}.fa-power-off:before{content:\"\uF011\"}.fa-signal:before{content:\"\uF012\"}.fa-cog:before,.fa-gear:before{content:\"\uF013\"}.fa-trash-o:before{content:\"\uF014\"}.fa-home:before{content:\"\uF015\"}.fa-file-o:before{content:\"\uF016\"}.fa-clock-o:before{content:\"\uF017\"}.fa-road:before{content:\"\uF018\"}.fa-download:before{content:\"\uF019\"}.fa-arrow-circle-o-down:before{content:\"\uF01A\"}.fa-arrow-circle-o-up:before{content:\"\uF01B\"}.fa-inbox:before{content:\"\uF01C\"}.fa-play-circle-o:before{content:\"\uF01D\"}.fa-repeat:before,.fa-rotate-right:before{content:\"\uF01E\"}.fa-refresh:before{content:\"\uF021\"}.fa-list-alt:before{content:\"\uF022\"}.fa-lock:before{content:\"\uF023\"}.fa-flag:before{content:\"\uF024\"}.fa-headphones:before{content:\"\uF025\"}.fa-volume-off:before{content:\"\uF026\"}.fa-volume-down:before{content:\"\uF027\"}.fa-volume-up:before{content:\"\uF028\"}.fa-qrcode:before{content:\"\uF029\"}.fa-barcode:before{content:\"\uF02A\"}.fa-tag:before{content:\"\uF02B\"}.fa-tags:before{content:\"\uF02C\"}.fa-book:before{content:\"\uF02D\"}.fa-bookmark:before{content:\"\uF02E\"}.fa-print:before{content:\"\uF02F\"}.fa-camera:before{content:\"\uF030\"}.fa-font:before{content:\"\uF031\"}.fa-bold:before{content:\"\uF032\"}.fa-italic:before{content:\"\uF033\"}.fa-text-height:before{content:\"\uF034\"}.fa-text-width:before{content:\"\uF035\"}.fa-align-left:before{content:\"\uF036\"}.fa-align-center:before{content:\"\uF037\"}.fa-align-right:before{content:\"\uF038\"}.fa-align-justify:before{content:\"\uF039\"}.fa-list:before{content:\"\uF03A\"}.fa-dedent:before,.fa-outdent:before{content:\"\uF03B\"}.fa-indent:before{content:\"\uF03C\"}.fa-video-camera:before{content:\"\uF03D\"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:\"\uF03E\"}.fa-pencil:before{content:\"\uF040\"}.fa-map-marker:before{content:\"\uF041\"}.fa-adjust:before{content:\"\uF042\"}.fa-tint:before{content:\"\uF043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\uF044\"}.fa-share-square-o:before{content:\"\uF045\"}.fa-check-square-o:before{content:\"\uF046\"}.fa-arrows:before{content:\"\uF047\"}.fa-step-backward:before{content:\"\uF048\"}.fa-fast-backward:before{content:\"\uF049\"}.fa-backward:before{content:\"\uF04A\"}.fa-play:before{content:\"\uF04B\"}.fa-pause:before{content:\"\uF04C\"}.fa-stop:before{content:\"\uF04D\"}.fa-forward:before{content:\"\uF04E\"}.fa-fast-forward:before{content:\"\uF050\"}.fa-step-forward:before{content:\"\uF051\"}.fa-eject:before{content:\"\uF052\"}.fa-chevron-left:before{content:\"\uF053\"}.fa-chevron-right:before{content:\"\uF054\"}.fa-plus-circle:before{content:\"\uF055\"}.fa-minus-circle:before{content:\"\uF056\"}.fa-times-circle:before{content:\"\uF057\"}.fa-check-circle:before{content:\"\uF058\"}.fa-question-circle:before{content:\"\uF059\"}.fa-info-circle:before{content:\"\uF05A\"}.fa-crosshairs:before{content:\"\uF05B\"}.fa-times-circle-o:before{content:\"\uF05C\"}.fa-check-circle-o:before{content:\"\uF05D\"}.fa-ban:before{content:\"\uF05E\"}.fa-arrow-left:before{content:\"\uF060\"}.fa-arrow-right:before{content:\"\uF061\"}.fa-arrow-up:before{content:\"\uF062\"}.fa-arrow-down:before{content:\"\uF063\"}.fa-mail-forward:before,.fa-share:before{content:\"\uF064\"}.fa-expand:before{content:\"\uF065\"}.fa-compress:before{content:\"\uF066\"}.fa-plus:before{content:\"\uF067\"}.fa-minus:before{content:\"\uF068\"}.fa-asterisk:before{content:\"\uF069\"}.fa-exclamation-circle:before{content:\"\uF06A\"}.fa-gift:before{content:\"\uF06B\"}.fa-leaf:before{content:\"\uF06C\"}.fa-fire:before{content:\"\uF06D\"}.fa-eye:before{content:\"\uF06E\"}.fa-eye-slash:before{content:\"\uF070\"}.fa-exclamation-triangle:before,.fa-warning:before{content:\"\uF071\"}.fa-plane:before{content:\"\uF072\"}.fa-calendar:before{content:\"\uF073\"}.fa-random:before{content:\"\uF074\"}.fa-comment:before{content:\"\uF075\"}.fa-magnet:before{content:\"\uF076\"}.fa-chevron-up:before{content:\"\uF077\"}.fa-chevron-down:before{content:\"\uF078\"}.fa-retweet:before{content:\"\uF079\"}.fa-shopping-cart:before{content:\"\uF07A\"}.fa-folder:before{content:\"\uF07B\"}.fa-folder-open:before{content:\"\uF07C\"}.fa-arrows-v:before{content:\"\uF07D\"}.fa-arrows-h:before{content:\"\uF07E\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\uF080\"}.fa-twitter-square:before{content:\"\uF081\"}.fa-facebook-square:before{content:\"\uF082\"}.fa-camera-retro:before{content:\"\uF083\"}.fa-key:before{content:\"\uF084\"}.fa-cogs:before,.fa-gears:before{content:\"\uF085\"}.fa-comments:before{content:\"\uF086\"}.fa-thumbs-o-up:before{content:\"\uF087\"}.fa-thumbs-o-down:before{content:\"\uF088\"}.fa-star-half:before{content:\"\uF089\"}.fa-heart-o:before{content:\"\uF08A\"}.fa-sign-out:before{content:\"\uF08B\"}.fa-linkedin-square:before{content:\"\uF08C\"}.fa-thumb-tack:before{content:\"\uF08D\"}.fa-external-link:before{content:\"\uF08E\"}.fa-sign-in:before{content:\"\uF090\"}.fa-trophy:before{content:\"\uF091\"}.fa-github-square:before{content:\"\uF092\"}.fa-upload:before{content:\"\uF093\"}.fa-lemon-o:before{content:\"\uF094\"}.fa-phone:before{content:\"\uF095\"}.fa-square-o:before{content:\"\uF096\"}.fa-bookmark-o:before{content:\"\uF097\"}.fa-phone-square:before{content:\"\uF098\"}.fa-twitter:before{content:\"\uF099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\uF09A\"}.fa-github:before{content:\"\uF09B\"}.fa-unlock:before{content:\"\uF09C\"}.fa-credit-card:before{content:\"\uF09D\"}.fa-feed:before,.fa-rss:before{content:\"\uF09E\"}.fa-hdd-o:before{content:\"\uF0A0\"}.fa-bullhorn:before{content:\"\uF0A1\"}.fa-bell:before{content:\"\uF0F3\"}.fa-certificate:before{content:\"\uF0A3\"}.fa-hand-o-right:before{content:\"\uF0A4\"}.fa-hand-o-left:before{content:\"\uF0A5\"}.fa-hand-o-up:before{content:\"\uF0A6\"}.fa-hand-o-down:before{content:\"\uF0A7\"}.fa-arrow-circle-left:before{content:\"\uF0A8\"}.fa-arrow-circle-right:before{content:\"\uF0A9\"}.fa-arrow-circle-up:before{content:\"\uF0AA\"}.fa-arrow-circle-down:before{content:\"\uF0AB\"}.fa-globe:before{content:\"\uF0AC\"}.fa-wrench:before{content:\"\uF0AD\"}.fa-tasks:before{content:\"\uF0AE\"}.fa-filter:before{content:\"\uF0B0\"}.fa-briefcase:before{content:\"\uF0B1\"}.fa-arrows-alt:before{content:\"\uF0B2\"}.fa-group:before,.fa-users:before{content:\"\uF0C0\"}.fa-chain:before,.fa-link:before{content:\"\uF0C1\"}.fa-cloud:before{content:\"\uF0C2\"}.fa-flask:before{content:\"\uF0C3\"}.fa-cut:before,.fa-scissors:before{content:\"\uF0C4\"}.fa-copy:before,.fa-files-o:before{content:\"\uF0C5\"}.fa-paperclip:before{content:\"\uF0C6\"}.fa-floppy-o:before,.fa-save:before{content:\"\uF0C7\"}.fa-square:before{content:\"\uF0C8\"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:\"\uF0C9\"}.fa-list-ul:before{content:\"\uF0CA\"}.fa-list-ol:before{content:\"\uF0CB\"}.fa-strikethrough:before{content:\"\uF0CC\"}.fa-underline:before{content:\"\uF0CD\"}.fa-table:before{content:\"\uF0CE\"}.fa-magic:before{content:\"\uF0D0\"}.fa-truck:before{content:\"\uF0D1\"}.fa-pinterest:before{content:\"\uF0D2\"}.fa-pinterest-square:before{content:\"\uF0D3\"}.fa-google-plus-square:before{content:\"\uF0D4\"}.fa-google-plus:before{content:\"\uF0D5\"}.fa-money:before{content:\"\uF0D6\"}.fa-caret-down:before{content:\"\uF0D7\"}.fa-caret-up:before{content:\"\uF0D8\"}.fa-caret-left:before{content:\"\uF0D9\"}.fa-caret-right:before{content:\"\uF0DA\"}.fa-columns:before{content:\"\uF0DB\"}.fa-sort:before,.fa-unsorted:before{content:\"\uF0DC\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\uF0DD\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\uF0DE\"}.fa-envelope:before{content:\"\uF0E0\"}.fa-linkedin:before{content:\"\uF0E1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\uF0E2\"}.fa-gavel:before,.fa-legal:before{content:\"\uF0E3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\uF0E4\"}.fa-comment-o:before{content:\"\uF0E5\"}.fa-comments-o:before{content:\"\uF0E6\"}.fa-bolt:before,.fa-flash:before{content:\"\uF0E7\"}.fa-sitemap:before{content:\"\uF0E8\"}.fa-umbrella:before{content:\"\uF0E9\"}.fa-clipboard:before,.fa-paste:before{content:\"\uF0EA\"}.fa-lightbulb-o:before{content:\"\uF0EB\"}.fa-exchange:before{content:\"\uF0EC\"}.fa-cloud-download:before{content:\"\uF0ED\"}.fa-cloud-upload:before{content:\"\uF0EE\"}.fa-user-md:before{content:\"\uF0F0\"}.fa-stethoscope:before{content:\"\uF0F1\"}.fa-suitcase:before{content:\"\uF0F2\"}.fa-bell-o:before{content:\"\uF0A2\"}.fa-coffee:before{content:\"\uF0F4\"}.fa-cutlery:before{content:\"\uF0F5\"}.fa-file-text-o:before{content:\"\uF0F6\"}.fa-building-o:before{content:\"\uF0F7\"}.fa-hospital-o:before{content:\"\uF0F8\"}.fa-ambulance:before{content:\"\uF0F9\"}.fa-medkit:before{content:\"\uF0FA\"}.fa-fighter-jet:before{content:\"\uF0FB\"}.fa-beer:before{content:\"\uF0FC\"}.fa-h-square:before{content:\"\uF0FD\"}.fa-plus-square:before{content:\"\uF0FE\"}.fa-angle-double-left:before{content:\"\uF100\"}.fa-angle-double-right:before{content:\"\uF101\"}.fa-angle-double-up:before{content:\"\uF102\"}.fa-angle-double-down:before{content:\"\uF103\"}.fa-angle-left:before{content:\"\uF104\"}.fa-angle-right:before{content:\"\uF105\"}.fa-angle-up:before{content:\"\uF106\"}.fa-angle-down:before{content:\"\uF107\"}.fa-desktop:before{content:\"\uF108\"}.fa-laptop:before{content:\"\uF109\"}.fa-tablet:before{content:\"\uF10A\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\uF10B\"}.fa-circle-o:before{content:\"\uF10C\"}.fa-quote-left:before{content:\"\uF10D\"}.fa-quote-right:before{content:\"\uF10E\"}.fa-spinner:before{content:\"\uF110\"}.fa-circle:before{content:\"\uF111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\uF112\"}.fa-github-alt:before{content:\"\uF113\"}.fa-folder-o:before{content:\"\uF114\"}.fa-folder-open-o:before{content:\"\uF115\"}.fa-smile-o:before{content:\"\uF118\"}.fa-frown-o:before{content:\"\uF119\"}.fa-meh-o:before{content:\"\uF11A\"}.fa-gamepad:before{content:\"\uF11B\"}.fa-keyboard-o:before{content:\"\uF11C\"}.fa-flag-o:before{content:\"\uF11D\"}.fa-flag-checkered:before{content:\"\uF11E\"}.fa-terminal:before{content:\"\uF120\"}.fa-code:before{content:\"\uF121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\uF122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\uF123\"}.fa-location-arrow:before{content:\"\uF124\"}.fa-crop:before{content:\"\uF125\"}.fa-code-fork:before{content:\"\uF126\"}.fa-chain-broken:before,.fa-unlink:before{content:\"\uF127\"}.fa-question:before{content:\"\uF128\"}.fa-info:before{content:\"\uF129\"}.fa-exclamation:before{content:\"\uF12A\"}.fa-superscript:before{content:\"\uF12B\"}.fa-subscript:before{content:\"\uF12C\"}.fa-eraser:before{content:\"\uF12D\"}.fa-puzzle-piece:before{content:\"\uF12E\"}.fa-microphone:before{content:\"\uF130\"}.fa-microphone-slash:before{content:\"\uF131\"}.fa-shield:before{content:\"\uF132\"}.fa-calendar-o:before{content:\"\uF133\"}.fa-fire-extinguisher:before{content:\"\uF134\"}.fa-rocket:before{content:\"\uF135\"}.fa-maxcdn:before{content:\"\uF136\"}.fa-chevron-circle-left:before{content:\"\uF137\"}.fa-chevron-circle-right:before{content:\"\uF138\"}.fa-chevron-circle-up:before{content:\"\uF139\"}.fa-chevron-circle-down:before{content:\"\uF13A\"}.fa-html5:before{content:\"\uF13B\"}.fa-css3:before{content:\"\uF13C\"}.fa-anchor:before{content:\"\uF13D\"}.fa-unlock-alt:before{content:\"\uF13E\"}.fa-bullseye:before{content:\"\uF140\"}.fa-ellipsis-h:before{content:\"\uF141\"}.fa-ellipsis-v:before{content:\"\uF142\"}.fa-rss-square:before{content:\"\uF143\"}.fa-play-circle:before{content:\"\uF144\"}.fa-ticket:before{content:\"\uF145\"}.fa-minus-square:before{content:\"\uF146\"}.fa-minus-square-o:before{content:\"\uF147\"}.fa-level-up:before{content:\"\uF148\"}.fa-level-down:before{content:\"\uF149\"}.fa-check-square:before{content:\"\uF14A\"}.fa-pencil-square:before{content:\"\uF14B\"}.fa-external-link-square:before{content:\"\uF14C\"}.fa-share-square:before{content:\"\uF14D\"}.fa-compass:before{content:\"\uF14E\"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:\"\uF150\"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:\"\uF151\"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:\"\uF152\"}.fa-eur:before,.fa-euro:before{content:\"\uF153\"}.fa-gbp:before{content:\"\uF154\"}.fa-dollar:before,.fa-usd:before{content:\"\uF155\"}.fa-inr:before,.fa-rupee:before{content:\"\uF156\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:\"\uF157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:\"\uF158\"}.fa-krw:before,.fa-won:before{content:\"\uF159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\uF15A\"}.fa-file:before{content:\"\uF15B\"}.fa-file-text:before{content:\"\uF15C\"}.fa-sort-alpha-asc:before{content:\"\uF15D\"}.fa-sort-alpha-desc:before{content:\"\uF15E\"}.fa-sort-amount-asc:before{content:\"\uF160\"}.fa-sort-amount-desc:before{content:\"\uF161\"}.fa-sort-numeric-asc:before{content:\"\uF162\"}.fa-sort-numeric-desc:before{content:\"\uF163\"}.fa-thumbs-up:before{content:\"\uF164\"}.fa-thumbs-down:before{content:\"\uF165\"}.fa-youtube-square:before{content:\"\uF166\"}.fa-youtube:before{content:\"\uF167\"}.fa-xing:before{content:\"\uF168\"}.fa-xing-square:before{content:\"\uF169\"}.fa-youtube-play:before{content:\"\uF16A\"}.fa-dropbox:before{content:\"\uF16B\"}.fa-stack-overflow:before{content:\"\uF16C\"}.fa-instagram:before{content:\"\uF16D\"}.fa-flickr:before{content:\"\uF16E\"}.fa-adn:before{content:\"\uF170\"}.fa-bitbucket:before{content:\"\uF171\"}.fa-bitbucket-square:before{content:\"\uF172\"}.fa-tumblr:before{content:\"\uF173\"}.fa-tumblr-square:before{content:\"\uF174\"}.fa-long-arrow-down:before{content:\"\uF175\"}.fa-long-arrow-up:before{content:\"\uF176\"}.fa-long-arrow-left:before{content:\"\uF177\"}.fa-long-arrow-right:before{content:\"\uF178\"}.fa-apple:before{content:\"\uF179\"}.fa-windows:before{content:\"\uF17A\"}.fa-android:before{content:\"\uF17B\"}.fa-linux:before{content:\"\uF17C\"}.fa-dribbble:before{content:\"\uF17D\"}.fa-skype:before{content:\"\uF17E\"}.fa-foursquare:before{content:\"\uF180\"}.fa-trello:before{content:\"\uF181\"}.fa-female:before{content:\"\uF182\"}.fa-male:before{content:\"\uF183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\uF184\"}.fa-sun-o:before{content:\"\uF185\"}.fa-moon-o:before{content:\"\uF186\"}.fa-archive:before{content:\"\uF187\"}.fa-bug:before{content:\"\uF188\"}.fa-vk:before{content:\"\uF189\"}.fa-weibo:before{content:\"\uF18A\"}.fa-renren:before{content:\"\uF18B\"}.fa-pagelines:before{content:\"\uF18C\"}.fa-stack-exchange:before{content:\"\uF18D\"}.fa-arrow-circle-o-right:before{content:\"\uF18E\"}.fa-arrow-circle-o-left:before{content:\"\uF190\"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:\"\uF191\"}.fa-dot-circle-o:before{content:\"\uF192\"}.fa-wheelchair:before{content:\"\uF193\"}.fa-vimeo-square:before{content:\"\uF194\"}.fa-try:before,.fa-turkish-lira:before{content:\"\uF195\"}.fa-plus-square-o:before{content:\"\uF196\"}.fa-space-shuttle:before{content:\"\uF197\"}.fa-slack:before{content:\"\uF198\"}.fa-envelope-square:before{content:\"\uF199\"}.fa-wordpress:before{content:\"\uF19A\"}.fa-openid:before{content:\"\uF19B\"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:\"\uF19C\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\uF19D\"}.fa-yahoo:before{content:\"\uF19E\"}.fa-google:before{content:\"\uF1A0\"}.fa-reddit:before{content:\"\uF1A1\"}.fa-reddit-square:before{content:\"\uF1A2\"}.fa-stumbleupon-circle:before{content:\"\uF1A3\"}.fa-stumbleupon:before{content:\"\uF1A4\"}.fa-delicious:before{content:\"\uF1A5\"}.fa-digg:before{content:\"\uF1A6\"}.fa-pied-piper-pp:before{content:\"\uF1A7\"}.fa-pied-piper-alt:before{content:\"\uF1A8\"}.fa-drupal:before{content:\"\uF1A9\"}.fa-joomla:before{content:\"\uF1AA\"}.fa-language:before{content:\"\uF1AB\"}.fa-fax:before{content:\"\uF1AC\"}.fa-building:before{content:\"\uF1AD\"}.fa-child:before{content:\"\uF1AE\"}.fa-paw:before{content:\"\uF1B0\"}.fa-spoon:before{content:\"\uF1B1\"}.fa-cube:before{content:\"\uF1B2\"}.fa-cubes:before{content:\"\uF1B3\"}.fa-behance:before{content:\"\uF1B4\"}.fa-behance-square:before{content:\"\uF1B5\"}.fa-steam:before{content:\"\uF1B6\"}.fa-steam-square:before{content:\"\uF1B7\"}.fa-recycle:before{content:\"\uF1B8\"}.fa-automobile:before,.fa-car:before{content:\"\uF1B9\"}.fa-cab:before,.fa-taxi:before{content:\"\uF1BA\"}.fa-tree:before{content:\"\uF1BB\"}.fa-spotify:before{content:\"\uF1BC\"}.fa-deviantart:before{content:\"\uF1BD\"}.fa-soundcloud:before{content:\"\uF1BE\"}.fa-database:before{content:\"\uF1C0\"}.fa-file-pdf-o:before{content:\"\uF1C1\"}.fa-file-word-o:before{content:\"\uF1C2\"}.fa-file-excel-o:before{content:\"\uF1C3\"}.fa-file-powerpoint-o:before{content:\"\uF1C4\"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:\"\uF1C5\"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:\"\uF1C6\"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:\"\uF1C7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\uF1C8\"}.fa-file-code-o:before{content:\"\uF1C9\"}.fa-vine:before{content:\"\uF1CA\"}.fa-codepen:before{content:\"\uF1CB\"}.fa-jsfiddle:before{content:\"\uF1CC\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:\"\uF1CD\"}.fa-circle-o-notch:before{content:\"\uF1CE\"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:\"\uF1D0\"}.fa-empire:before,.fa-ge:before{content:\"\uF1D1\"}.fa-git-square:before{content:\"\uF1D2\"}.fa-git:before{content:\"\uF1D3\"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:\"\uF1D4\"}.fa-tencent-weibo:before{content:\"\uF1D5\"}.fa-qq:before{content:\"\uF1D6\"}.fa-wechat:before,.fa-weixin:before{content:\"\uF1D7\"}.fa-paper-plane:before,.fa-send:before{content:\"\uF1D8\"}.fa-paper-plane-o:before,.fa-send-o:before{content:\"\uF1D9\"}.fa-history:before{content:\"\uF1DA\"}.fa-circle-thin:before{content:\"\uF1DB\"}.fa-header:before{content:\"\uF1DC\"}.fa-paragraph:before{content:\"\uF1DD\"}.fa-sliders:before{content:\"\uF1DE\"}.fa-share-alt:before{content:\"\uF1E0\"}.fa-share-alt-square:before{content:\"\uF1E1\"}.fa-bomb:before{content:\"\uF1E2\"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:\"\uF1E3\"}.fa-tty:before{content:\"\uF1E4\"}.fa-binoculars:before{content:\"\uF1E5\"}.fa-plug:before{content:\"\uF1E6\"}.fa-slideshare:before{content:\"\uF1E7\"}.fa-twitch:before{content:\"\uF1E8\"}.fa-yelp:before{content:\"\uF1E9\"}.fa-newspaper-o:before{content:\"\uF1EA\"}.fa-wifi:before{content:\"\uF1EB\"}.fa-calculator:before{content:\"\uF1EC\"}.fa-paypal:before{content:\"\uF1ED\"}.fa-google-wallet:before{content:\"\uF1EE\"}.fa-cc-visa:before{content:\"\uF1F0\"}.fa-cc-mastercard:before{content:\"\uF1F1\"}.fa-cc-discover:before{content:\"\uF1F2\"}.fa-cc-amex:before{content:\"\uF1F3\"}.fa-cc-paypal:before{content:\"\uF1F4\"}.fa-cc-stripe:before{content:\"\uF1F5\"}.fa-bell-slash:before{content:\"\uF1F6\"}.fa-bell-slash-o:before{content:\"\uF1F7\"}.fa-trash:before{content:\"\uF1F8\"}.fa-copyright:before{content:\"\uF1F9\"}.fa-at:before{content:\"\uF1FA\"}.fa-eyedropper:before{content:\"\uF1FB\"}.fa-paint-brush:before{content:\"\uF1FC\"}.fa-birthday-cake:before{content:\"\uF1FD\"}.fa-area-chart:before{content:\"\uF1FE\"}.fa-pie-chart:before{content:\"\uF200\"}.fa-line-chart:before{content:\"\uF201\"}.fa-lastfm:before{content:\"\uF202\"}.fa-lastfm-square:before{content:\"\uF203\"}.fa-toggle-off:before{content:\"\uF204\"}.fa-toggle-on:before{content:\"\uF205\"}.fa-bicycle:before{content:\"\uF206\"}.fa-bus:before{content:\"\uF207\"}.fa-ioxhost:before{content:\"\uF208\"}.fa-angellist:before{content:\"\uF209\"}.fa-cc:before{content:\"\uF20A\"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:\"\uF20B\"}.fa-meanpath:before{content:\"\uF20C\"}.fa-buysellads:before{content:\"\uF20D\"}.fa-connectdevelop:before{content:\"\uF20E\"}.fa-dashcube:before{content:\"\uF210\"}.fa-forumbee:before{content:\"\uF211\"}.fa-leanpub:before{content:\"\uF212\"}.fa-sellsy:before{content:\"\uF213\"}.fa-shirtsinbulk:before{content:\"\uF214\"}.fa-simplybuilt:before{content:\"\uF215\"}.fa-skyatlas:before{content:\"\uF216\"}.fa-cart-plus:before{content:\"\uF217\"}.fa-cart-arrow-down:before{content:\"\uF218\"}.fa-diamond:before{content:\"\uF219\"}.fa-ship:before{content:\"\uF21A\"}.fa-user-secret:before{content:\"\uF21B\"}.fa-motorcycle:before{content:\"\uF21C\"}.fa-street-view:before{content:\"\uF21D\"}.fa-heartbeat:before{content:\"\uF21E\"}.fa-venus:before{content:\"\uF221\"}.fa-mars:before{content:\"\uF222\"}.fa-mercury:before{content:\"\uF223\"}.fa-intersex:before,.fa-transgender:before{content:\"\uF224\"}.fa-transgender-alt:before{content:\"\uF225\"}.fa-venus-double:before{content:\"\uF226\"}.fa-mars-double:before{content:\"\uF227\"}.fa-venus-mars:before{content:\"\uF228\"}.fa-mars-stroke:before{content:\"\uF229\"}.fa-mars-stroke-v:before{content:\"\uF22A\"}.fa-mars-stroke-h:before{content:\"\uF22B\"}.fa-neuter:before{content:\"\uF22C\"}.fa-genderless:before{content:\"\uF22D\"}.fa-facebook-official:before{content:\"\uF230\"}.fa-pinterest-p:before{content:\"\uF231\"}.fa-whatsapp:before{content:\"\uF232\"}.fa-server:before{content:\"\uF233\"}.fa-user-plus:before{content:\"\uF234\"}.fa-user-times:before{content:\"\uF235\"}.fa-bed:before,.fa-hotel:before{content:\"\uF236\"}.fa-viacoin:before{content:\"\uF237\"}.fa-train:before{content:\"\uF238\"}.fa-subway:before{content:\"\uF239\"}.fa-medium:before{content:\"\uF23A\"}.fa-y-combinator:before,.fa-yc:before{content:\"\uF23B\"}.fa-optin-monster:before{content:\"\uF23C\"}.fa-opencart:before{content:\"\uF23D\"}.fa-expeditedssl:before{content:\"\uF23E\"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:\"\uF240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\uF241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\uF242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\uF243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\uF244\"}.fa-mouse-pointer:before{content:\"\uF245\"}.fa-i-cursor:before{content:\"\uF246\"}.fa-object-group:before{content:\"\uF247\"}.fa-object-ungroup:before{content:\"\uF248\"}.fa-sticky-note:before{content:\"\uF249\"}.fa-sticky-note-o:before{content:\"\uF24A\"}.fa-cc-jcb:before{content:\"\uF24B\"}.fa-cc-diners-club:before{content:\"\uF24C\"}.fa-clone:before{content:\"\uF24D\"}.fa-balance-scale:before{content:\"\uF24E\"}.fa-hourglass-o:before{content:\"\uF250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\uF251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\uF252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\uF253\"}.fa-hourglass:before{content:\"\uF254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\uF255\"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:\"\uF256\"}.fa-hand-scissors-o:before{content:\"\uF257\"}.fa-hand-lizard-o:before{content:\"\uF258\"}.fa-hand-spock-o:before{content:\"\uF259\"}.fa-hand-pointer-o:before{content:\"\uF25A\"}.fa-hand-peace-o:before{content:\"\uF25B\"}.fa-trademark:before{content:\"\uF25C\"}.fa-registered:before{content:\"\uF25D\"}.fa-creative-commons:before{content:\"\uF25E\"}.fa-gg:before{content:\"\uF260\"}.fa-gg-circle:before{content:\"\uF261\"}.fa-tripadvisor:before{content:\"\uF262\"}.fa-odnoklassniki:before{content:\"\uF263\"}.fa-odnoklassniki-square:before{content:\"\uF264\"}.fa-get-pocket:before{content:\"\uF265\"}.fa-wikipedia-w:before{content:\"\uF266\"}.fa-safari:before{content:\"\uF267\"}.fa-chrome:before{content:\"\uF268\"}.fa-firefox:before{content:\"\uF269\"}.fa-opera:before{content:\"\uF26A\"}.fa-internet-explorer:before{content:\"\uF26B\"}.fa-television:before,.fa-tv:before{content:\"\uF26C\"}.fa-contao:before{content:\"\uF26D\"}.fa-500px:before{content:\"\uF26E\"}.fa-amazon:before{content:\"\uF270\"}.fa-calendar-plus-o:before{content:\"\uF271\"}.fa-calendar-minus-o:before{content:\"\uF272\"}.fa-calendar-times-o:before{content:\"\uF273\"}.fa-calendar-check-o:before{content:\"\uF274\"}.fa-industry:before{content:\"\uF275\"}.fa-map-pin:before{content:\"\uF276\"}.fa-map-signs:before{content:\"\uF277\"}.fa-map-o:before{content:\"\uF278\"}.fa-map:before{content:\"\uF279\"}.fa-commenting:before{content:\"\uF27A\"}.fa-commenting-o:before{content:\"\uF27B\"}.fa-houzz:before{content:\"\uF27C\"}.fa-vimeo:before{content:\"\uF27D\"}.fa-black-tie:before{content:\"\uF27E\"}.fa-fonticons:before{content:\"\uF280\"}.fa-reddit-alien:before{content:\"\uF281\"}.fa-edge:before{content:\"\uF282\"}.fa-credit-card-alt:before{content:\"\uF283\"}.fa-codiepie:before{content:\"\uF284\"}.fa-modx:before{content:\"\uF285\"}.fa-fort-awesome:before{content:\"\uF286\"}.fa-usb:before{content:\"\uF287\"}.fa-product-hunt:before{content:\"\uF288\"}.fa-mixcloud:before{content:\"\uF289\"}.fa-scribd:before{content:\"\uF28A\"}.fa-pause-circle:before{content:\"\uF28B\"}.fa-pause-circle-o:before{content:\"\uF28C\"}.fa-stop-circle:before{content:\"\uF28D\"}.fa-stop-circle-o:before{content:\"\uF28E\"}.fa-shopping-bag:before{content:\"\uF290\"}.fa-shopping-basket:before{content:\"\uF291\"}.fa-hashtag:before{content:\"\uF292\"}.fa-bluetooth:before{content:\"\uF293\"}.fa-bluetooth-b:before{content:\"\uF294\"}.fa-percent:before{content:\"\uF295\"}.fa-gitlab:before{content:\"\uF296\"}.fa-wpbeginner:before{content:\"\uF297\"}.fa-wpforms:before{content:\"\uF298\"}.fa-envira:before{content:\"\uF299\"}.fa-universal-access:before{content:\"\uF29A\"}.fa-wheelchair-alt:before{content:\"\uF29B\"}.fa-question-circle-o:before{content:\"\uF29C\"}.fa-blind:before{content:\"\uF29D\"}.fa-audio-description:before{content:\"\uF29E\"}.fa-volume-control-phone:before{content:\"\uF2A0\"}.fa-braille:before{content:\"\uF2A1\"}.fa-assistive-listening-systems:before{content:\"\uF2A2\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:\"\uF2A3\"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:\"\uF2A4\"}.fa-glide:before{content:\"\uF2A5\"}.fa-glide-g:before{content:\"\uF2A6\"}.fa-sign-language:before,.fa-signing:before{content:\"\uF2A7\"}.fa-low-vision:before{content:\"\uF2A8\"}.fa-viadeo:before{content:\"\uF2A9\"}.fa-viadeo-square:before{content:\"\uF2AA\"}.fa-snapchat:before{content:\"\uF2AB\"}.fa-snapchat-ghost:before{content:\"\uF2AC\"}.fa-snapchat-square:before{content:\"\uF2AD\"}.fa-pied-piper:before{content:\"\uF2AE\"}.fa-first-order:before{content:\"\uF2B0\"}.fa-yoast:before{content:\"\uF2B1\"}.fa-themeisle:before{content:\"\uF2B2\"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:\"\uF2B3\"}.fa-fa:before,.fa-font-awesome:before{content:\"\uF2B4\"}.fa-handshake-o:before{content:\"\uF2B5\"}.fa-envelope-open:before{content:\"\uF2B6\"}.fa-envelope-open-o:before{content:\"\uF2B7\"}.fa-linode:before{content:\"\uF2B8\"}.fa-address-book:before{content:\"\uF2B9\"}.fa-address-book-o:before{content:\"\uF2BA\"}.fa-address-card:before,.fa-vcard:before{content:\"\uF2BB\"}.fa-address-card-o:before,.fa-vcard-o:before{content:\"\uF2BC\"}.fa-user-circle:before{content:\"\uF2BD\"}.fa-user-circle-o:before{content:\"\uF2BE\"}.fa-user-o:before{content:\"\uF2C0\"}.fa-id-badge:before{content:\"\uF2C1\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\uF2C2\"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:\"\uF2C3\"}.fa-quora:before{content:\"\uF2C4\"}.fa-free-code-camp:before{content:\"\uF2C5\"}.fa-telegram:before{content:\"\uF2C6\"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:\"\uF2C7\"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\uF2C8\"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\uF2C9\"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\uF2CA\"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\uF2CB\"}.fa-shower:before{content:\"\uF2CC\"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:\"\uF2CD\"}.fa-podcast:before{content:\"\uF2CE\"}.fa-window-maximize:before{content:\"\uF2D0\"}.fa-window-minimize:before{content:\"\uF2D1\"}.fa-window-restore:before{content:\"\uF2D2\"}.fa-times-rectangle:before,.fa-window-close:before{content:\"\uF2D3\"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:\"\uF2D4\"}.fa-bandcamp:before{content:\"\uF2D5\"}.fa-grav:before{content:\"\uF2D6\"}.fa-etsy:before{content:\"\uF2D7\"}.fa-imdb:before{content:\"\uF2D8\"}.fa-ravelry:before{content:\"\uF2D9\"}.fa-eercast:before{content:\"\uF2DA\"}.fa-microchip:before{content:\"\uF2DB\"}.fa-snowflake-o:before{content:\"\uF2DC\"}.fa-superpowers:before{content:\"\uF2DD\"}.fa-wpexplorer:before{content:\"\uF2DE\"}.fa-meetup:before{content:\"\uF2E0\"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}a{cursor:pointer}.angular-editor-textarea{min-height:150px;overflow:auto;margin-top:5px;resize:vertical}.angular-editor-textarea:after{content:\"\";position:absolute;bottom:0;right:0;display:block;width:8px;height:8px;cursor:nwse-resize;background-color:hsla(0,0%,100%,.5)}.angular-editor-toolbar{font:100 14px/15px Roboto,Arial,sans-serif;background-color:#f5f5f5;font-size:.8rem;padding:.2rem;border:1px solid #ddd}.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;vertical-align:middle;border:1px solid #ddd;padding:.4rem;min-width:2rem;float:left}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:hover{cursor:pointer;background-color:#f1f1f1;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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label{pointer-events:none;cursor:not-allowed}.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{font-size:11px;width:90px;vertical-align:middle;background-color:transparent;border:.5px solid hsla(0,0%,100%,0);border-radius:5px;outline:none;padding:.4rem;cursor:pointer}.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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading option{border:1px solid;background-color:#fff}.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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font option{border:1px solid;background-color:#fff}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:disabled{background-color:#f5f5f5;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size option{border:1px solid;background-color:#fff}.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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style option{border:1px solid;background-color:#fff}}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:disabled{background-color:#f5f5f5;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:hover{cursor:pointer;background-color:#f1f1f1;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .color-label{position:relative;cursor:pointer}.angular-editor-toolbar .angular-editor-toolbar-set .background{font-size:smaller;background:#1b1b1b;color:#fff;padding:3px}.angular-editor-toolbar .angular-editor-toolbar-set .foreground :after{position:absolute;content:\"\";left:-1px;top:auto;bottom:-3px;right:auto;width:15px;height:2px;z-index:0;background:#1b1b1b}.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{content:attr(placeholder);color:#868e96;opacity:1}.angular-editor .angular-editor-wrapper{position:relative}.angular-editor .angular-editor-wrapper .angular-editor-textarea{min-height:5rem;padding:.5rem .8rem 1rem;border:1px solid #ddd;background-color:transparent;overflow-x:hidden;overflow-y:auto;position:relative}.angular-editor .angular-editor-wrapper .angular-editor-textarea ::ng-deep blockquote{margin-left:1rem;border-left:.2em solid #dfe2e5;padding-left:.5rem}.angular-editor .angular-editor-wrapper ::ng-deep p{margin-bottom:0}.angular-editor .angular-editor-wrapper .angular-editor-placeholder{display:none;position:absolute;top:0;padding:.5rem .8rem 1rem .9rem;color:#6c757d;opacity:.75}.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}"]
662
+ },] }
663
+ ];
664
+ AngularEditorComponent.ctorParameters = function () { return [
665
+ { type: core.Renderer2 },
666
+ { type: AngularEditorService },
667
+ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] },
668
+ { type: platformBrowser.DomSanitizer },
669
+ { type: core.ChangeDetectorRef },
670
+ { type: String, decorators: [{ type: core.Attribute, args: ['tabindex',] }] },
671
+ { type: undefined, decorators: [{ type: core.Attribute, args: ['autofocus',] }] }
672
+ ]; };
673
+ AngularEditorComponent.propDecorators = {
674
+ id: [{ type: core.Input }],
675
+ config: [{ type: core.Input }],
676
+ placeholder: [{ type: core.Input }],
677
+ tabIndex: [{ type: core.Input }],
678
+ html: [{ type: core.Output }],
679
+ textArea: [{ type: core.ViewChild, args: ['editor', { static: true },] }],
680
+ editorWrapper: [{ type: core.ViewChild, args: ['editorWrapper', { static: true },] }],
681
+ editorToolbar: [{ type: core.ViewChild, args: ['editorToolbar',] }],
682
+ viewMode: [{ type: core.Output }],
683
+ blurEvent: [{ type: core.Output, args: ['blur',] }],
684
+ focusEvent: [{ type: core.Output, args: ['focus',] }],
685
+ tabindex: [{ type: core.HostBinding, args: ['attr.tabindex',] }],
686
+ onFocus: [{ type: core.HostListener, args: ['focus',] }]
671
687
  };
672
688
 
673
- /*! *****************************************************************************
674
- Copyright (c) Microsoft Corporation.
675
-
676
- Permission to use, copy, modify, and/or distribute this software for any
677
- purpose with or without fee is hereby granted.
678
-
679
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
680
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
681
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
682
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
683
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
684
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
685
- PERFORMANCE OF THIS SOFTWARE.
686
- ***************************************************************************** */
687
- /* global Reflect, Promise */
688
- var extendStatics = function (d, b) {
689
- extendStatics = Object.setPrototypeOf ||
690
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
691
- function (d, b) { for (var p in b)
692
- if (Object.prototype.hasOwnProperty.call(b, p))
693
- d[p] = b[p]; };
694
- return extendStatics(d, b);
695
- };
696
- function __extends(d, b) {
697
- extendStatics(d, b);
698
- function __() { this.constructor = d; }
699
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
700
- }
701
- var __assign = function () {
702
- __assign = Object.assign || function __assign(t) {
703
- for (var s, i = 1, n = arguments.length; i < n; i++) {
704
- s = arguments[i];
705
- for (var p in s)
706
- if (Object.prototype.hasOwnProperty.call(s, p))
707
- t[p] = s[p];
708
- }
709
- return t;
710
- };
711
- return __assign.apply(this, arguments);
712
- };
713
- function __rest(s, e) {
714
- var t = {};
715
- for (var p in s)
716
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
717
- t[p] = s[p];
718
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
719
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
720
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
721
- t[p[i]] = s[p[i]];
722
- }
723
- return t;
724
- }
725
- function __decorate(decorators, target, key, desc) {
726
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
727
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
728
- r = Reflect.decorate(decorators, target, key, desc);
729
- else
730
- for (var i = decorators.length - 1; i >= 0; i--)
731
- if (d = decorators[i])
732
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
733
- return c > 3 && r && Object.defineProperty(target, key, r), r;
734
- }
735
- function __param(paramIndex, decorator) {
736
- return function (target, key) { decorator(target, key, paramIndex); };
737
- }
738
- function __metadata(metadataKey, metadataValue) {
739
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
740
- return Reflect.metadata(metadataKey, metadataValue);
741
- }
742
- function __awaiter(thisArg, _arguments, P, generator) {
743
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
744
- return new (P || (P = Promise))(function (resolve, reject) {
745
- function fulfilled(value) { try {
746
- step(generator.next(value));
747
- }
748
- catch (e) {
749
- reject(e);
750
- } }
751
- function rejected(value) { try {
752
- step(generator["throw"](value));
753
- }
754
- catch (e) {
755
- reject(e);
756
- } }
757
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
758
- step((generator = generator.apply(thisArg, _arguments || [])).next());
759
- });
760
- }
761
- function __generator(thisArg, body) {
762
- var _ = { label: 0, sent: function () { if (t[0] & 1)
763
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
764
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
765
- function verb(n) { return function (v) { return step([n, v]); }; }
766
- function step(op) {
767
- if (f)
768
- throw new TypeError("Generator is already executing.");
769
- while (_)
770
- try {
771
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
772
- return t;
773
- if (y = 0, t)
774
- op = [op[0] & 2, t.value];
775
- switch (op[0]) {
776
- case 0:
777
- case 1:
778
- t = op;
779
- break;
780
- case 4:
781
- _.label++;
782
- return { value: op[1], done: false };
783
- case 5:
784
- _.label++;
785
- y = op[1];
786
- op = [0];
787
- continue;
788
- case 7:
789
- op = _.ops.pop();
790
- _.trys.pop();
791
- continue;
792
- default:
793
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
794
- _ = 0;
795
- continue;
796
- }
797
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
798
- _.label = op[1];
799
- break;
800
- }
801
- if (op[0] === 6 && _.label < t[1]) {
802
- _.label = t[1];
803
- t = op;
804
- break;
805
- }
806
- if (t && _.label < t[2]) {
807
- _.label = t[2];
808
- _.ops.push(op);
809
- break;
810
- }
811
- if (t[2])
812
- _.ops.pop();
813
- _.trys.pop();
814
- continue;
815
- }
816
- op = body.call(thisArg, _);
817
- }
818
- catch (e) {
819
- op = [6, e];
820
- y = 0;
821
- }
822
- finally {
823
- f = t = 0;
824
- }
825
- if (op[0] & 5)
826
- throw op[1];
827
- return { value: op[0] ? op[1] : void 0, done: true };
828
- }
829
- }
830
- var __createBinding = Object.create ? (function (o, m, k, k2) {
831
- if (k2 === undefined)
832
- k2 = k;
833
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
834
- }) : (function (o, m, k, k2) {
835
- if (k2 === undefined)
836
- k2 = k;
837
- o[k2] = m[k];
838
- });
839
- function __exportStar(m, o) {
840
- for (var p in m)
841
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
842
- __createBinding(o, m, p);
843
- }
844
- function __values(o) {
845
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
846
- if (m)
847
- return m.call(o);
848
- if (o && typeof o.length === "number")
849
- return {
850
- next: function () {
851
- if (o && i >= o.length)
852
- o = void 0;
853
- return { value: o && o[i++], done: !o };
854
- }
855
- };
856
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
857
- }
858
- function __read(o, n) {
859
- var m = typeof Symbol === "function" && o[Symbol.iterator];
860
- if (!m)
861
- return o;
862
- var i = m.call(o), r, ar = [], e;
863
- try {
864
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
865
- ar.push(r.value);
866
- }
867
- catch (error) {
868
- e = { error: error };
869
- }
870
- finally {
871
- try {
872
- if (r && !r.done && (m = i["return"]))
873
- m.call(i);
874
- }
875
- finally {
876
- if (e)
877
- throw e.error;
878
- }
879
- }
880
- return ar;
881
- }
882
- function __spread() {
883
- for (var ar = [], i = 0; i < arguments.length; i++)
884
- ar = ar.concat(__read(arguments[i]));
885
- return ar;
886
- }
887
- function __spreadArrays() {
888
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
889
- s += arguments[i].length;
890
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
891
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
892
- r[k] = a[j];
893
- return r;
894
- }
895
- ;
896
- function __await(v) {
897
- return this instanceof __await ? (this.v = v, this) : new __await(v);
898
- }
899
- function __asyncGenerator(thisArg, _arguments, generator) {
900
- if (!Symbol.asyncIterator)
901
- throw new TypeError("Symbol.asyncIterator is not defined.");
902
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
903
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
904
- function verb(n) { if (g[n])
905
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
906
- function resume(n, v) { try {
907
- step(g[n](v));
908
- }
909
- catch (e) {
910
- settle(q[0][3], e);
911
- } }
912
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
913
- function fulfill(value) { resume("next", value); }
914
- function reject(value) { resume("throw", value); }
915
- function settle(f, v) { if (f(v), q.shift(), q.length)
916
- resume(q[0][0], q[0][1]); }
917
- }
918
- function __asyncDelegator(o) {
919
- var i, p;
920
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
921
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
922
- }
923
- function __asyncValues(o) {
924
- if (!Symbol.asyncIterator)
925
- throw new TypeError("Symbol.asyncIterator is not defined.");
926
- var m = o[Symbol.asyncIterator], i;
927
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
928
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
929
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
930
- }
931
- function __makeTemplateObject(cooked, raw) {
932
- if (Object.defineProperty) {
933
- Object.defineProperty(cooked, "raw", { value: raw });
934
- }
935
- else {
936
- cooked.raw = raw;
937
- }
938
- return cooked;
939
- }
940
- ;
941
- var __setModuleDefault = Object.create ? (function (o, v) {
942
- Object.defineProperty(o, "default", { enumerable: true, value: v });
943
- }) : function (o, v) {
944
- o["default"] = v;
945
- };
946
- function __importStar(mod) {
947
- if (mod && mod.__esModule)
948
- return mod;
949
- var result = {};
950
- if (mod != null)
951
- for (var k in mod)
952
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
953
- __createBinding(result, mod, k);
954
- __setModuleDefault(result, mod);
955
- return result;
956
- }
957
- function __importDefault(mod) {
958
- return (mod && mod.__esModule) ? mod : { default: mod };
959
- }
960
- function __classPrivateFieldGet(receiver, privateMap) {
961
- if (!privateMap.has(receiver)) {
962
- throw new TypeError("attempted to get private field on non-instance");
963
- }
964
- return privateMap.get(receiver);
965
- }
966
- function __classPrivateFieldSet(receiver, privateMap, value) {
967
- if (!privateMap.has(receiver)) {
968
- throw new TypeError("attempted to set private field on non-instance");
969
- }
970
- privateMap.set(receiver, value);
971
- return value;
689
+ /*! *****************************************************************************
690
+ Copyright (c) Microsoft Corporation.
691
+
692
+ Permission to use, copy, modify, and/or distribute this software for any
693
+ purpose with or without fee is hereby granted.
694
+
695
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
696
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
697
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
698
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
699
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
700
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
701
+ PERFORMANCE OF THIS SOFTWARE.
702
+ ***************************************************************************** */
703
+ /* global Reflect, Promise */
704
+ var extendStatics = function (d, b) {
705
+ extendStatics = Object.setPrototypeOf ||
706
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
707
+ function (d, b) { for (var p in b)
708
+ if (Object.prototype.hasOwnProperty.call(b, p))
709
+ d[p] = b[p]; };
710
+ return extendStatics(d, b);
711
+ };
712
+ function __extends(d, b) {
713
+ if (typeof b !== "function" && b !== null)
714
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
715
+ extendStatics(d, b);
716
+ function __() { this.constructor = d; }
717
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
718
+ }
719
+ var __assign = function () {
720
+ __assign = Object.assign || function __assign(t) {
721
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
722
+ s = arguments[i];
723
+ for (var p in s)
724
+ if (Object.prototype.hasOwnProperty.call(s, p))
725
+ t[p] = s[p];
726
+ }
727
+ return t;
728
+ };
729
+ return __assign.apply(this, arguments);
730
+ };
731
+ function __rest(s, e) {
732
+ var t = {};
733
+ for (var p in s)
734
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
735
+ t[p] = s[p];
736
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
737
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
738
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
739
+ t[p[i]] = s[p[i]];
740
+ }
741
+ return t;
742
+ }
743
+ function __decorate(decorators, target, key, desc) {
744
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
745
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
746
+ r = Reflect.decorate(decorators, target, key, desc);
747
+ else
748
+ for (var i = decorators.length - 1; i >= 0; i--)
749
+ if (d = decorators[i])
750
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
751
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
752
+ }
753
+ function __param(paramIndex, decorator) {
754
+ return function (target, key) { decorator(target, key, paramIndex); };
755
+ }
756
+ function __metadata(metadataKey, metadataValue) {
757
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
758
+ return Reflect.metadata(metadataKey, metadataValue);
759
+ }
760
+ function __awaiter(thisArg, _arguments, P, generator) {
761
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
762
+ return new (P || (P = Promise))(function (resolve, reject) {
763
+ function fulfilled(value) { try {
764
+ step(generator.next(value));
765
+ }
766
+ catch (e) {
767
+ reject(e);
768
+ } }
769
+ function rejected(value) { try {
770
+ step(generator["throw"](value));
771
+ }
772
+ catch (e) {
773
+ reject(e);
774
+ } }
775
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
776
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
777
+ });
778
+ }
779
+ function __generator(thisArg, body) {
780
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
781
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
782
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
783
+ function verb(n) { return function (v) { return step([n, v]); }; }
784
+ function step(op) {
785
+ if (f)
786
+ throw new TypeError("Generator is already executing.");
787
+ while (_)
788
+ try {
789
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
790
+ return t;
791
+ if (y = 0, t)
792
+ op = [op[0] & 2, t.value];
793
+ switch (op[0]) {
794
+ case 0:
795
+ case 1:
796
+ t = op;
797
+ break;
798
+ case 4:
799
+ _.label++;
800
+ return { value: op[1], done: false };
801
+ case 5:
802
+ _.label++;
803
+ y = op[1];
804
+ op = [0];
805
+ continue;
806
+ case 7:
807
+ op = _.ops.pop();
808
+ _.trys.pop();
809
+ continue;
810
+ default:
811
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
812
+ _ = 0;
813
+ continue;
814
+ }
815
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
816
+ _.label = op[1];
817
+ break;
818
+ }
819
+ if (op[0] === 6 && _.label < t[1]) {
820
+ _.label = t[1];
821
+ t = op;
822
+ break;
823
+ }
824
+ if (t && _.label < t[2]) {
825
+ _.label = t[2];
826
+ _.ops.push(op);
827
+ break;
828
+ }
829
+ if (t[2])
830
+ _.ops.pop();
831
+ _.trys.pop();
832
+ continue;
833
+ }
834
+ op = body.call(thisArg, _);
835
+ }
836
+ catch (e) {
837
+ op = [6, e];
838
+ y = 0;
839
+ }
840
+ finally {
841
+ f = t = 0;
842
+ }
843
+ if (op[0] & 5)
844
+ throw op[1];
845
+ return { value: op[0] ? op[1] : void 0, done: true };
846
+ }
847
+ }
848
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
849
+ if (k2 === undefined)
850
+ k2 = k;
851
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
852
+ }) : (function (o, m, k, k2) {
853
+ if (k2 === undefined)
854
+ k2 = k;
855
+ o[k2] = m[k];
856
+ });
857
+ function __exportStar(m, o) {
858
+ for (var p in m)
859
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
860
+ __createBinding(o, m, p);
861
+ }
862
+ function __values(o) {
863
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
864
+ if (m)
865
+ return m.call(o);
866
+ if (o && typeof o.length === "number")
867
+ return {
868
+ next: function () {
869
+ if (o && i >= o.length)
870
+ o = void 0;
871
+ return { value: o && o[i++], done: !o };
872
+ }
873
+ };
874
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
875
+ }
876
+ function __read(o, n) {
877
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
878
+ if (!m)
879
+ return o;
880
+ var i = m.call(o), r, ar = [], e;
881
+ try {
882
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
883
+ ar.push(r.value);
884
+ }
885
+ catch (error) {
886
+ e = { error: error };
887
+ }
888
+ finally {
889
+ try {
890
+ if (r && !r.done && (m = i["return"]))
891
+ m.call(i);
892
+ }
893
+ finally {
894
+ if (e)
895
+ throw e.error;
896
+ }
897
+ }
898
+ return ar;
899
+ }
900
+ /** @deprecated */
901
+ function __spread() {
902
+ for (var ar = [], i = 0; i < arguments.length; i++)
903
+ ar = ar.concat(__read(arguments[i]));
904
+ return ar;
905
+ }
906
+ /** @deprecated */
907
+ function __spreadArrays() {
908
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
909
+ s += arguments[i].length;
910
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
911
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
912
+ r[k] = a[j];
913
+ return r;
914
+ }
915
+ function __spreadArray(to, from, pack) {
916
+ if (pack || arguments.length === 2)
917
+ for (var i = 0, l = from.length, ar; i < l; i++) {
918
+ if (ar || !(i in from)) {
919
+ if (!ar)
920
+ ar = Array.prototype.slice.call(from, 0, i);
921
+ ar[i] = from[i];
922
+ }
923
+ }
924
+ return to.concat(ar || from);
925
+ }
926
+ function __await(v) {
927
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
928
+ }
929
+ function __asyncGenerator(thisArg, _arguments, generator) {
930
+ if (!Symbol.asyncIterator)
931
+ throw new TypeError("Symbol.asyncIterator is not defined.");
932
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
933
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
934
+ function verb(n) { if (g[n])
935
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
936
+ function resume(n, v) { try {
937
+ step(g[n](v));
938
+ }
939
+ catch (e) {
940
+ settle(q[0][3], e);
941
+ } }
942
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
943
+ function fulfill(value) { resume("next", value); }
944
+ function reject(value) { resume("throw", value); }
945
+ function settle(f, v) { if (f(v), q.shift(), q.length)
946
+ resume(q[0][0], q[0][1]); }
947
+ }
948
+ function __asyncDelegator(o) {
949
+ var i, p;
950
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
951
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
952
+ }
953
+ function __asyncValues(o) {
954
+ if (!Symbol.asyncIterator)
955
+ throw new TypeError("Symbol.asyncIterator is not defined.");
956
+ var m = o[Symbol.asyncIterator], i;
957
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
958
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
959
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
960
+ }
961
+ function __makeTemplateObject(cooked, raw) {
962
+ if (Object.defineProperty) {
963
+ Object.defineProperty(cooked, "raw", { value: raw });
964
+ }
965
+ else {
966
+ cooked.raw = raw;
967
+ }
968
+ return cooked;
969
+ }
970
+ ;
971
+ var __setModuleDefault = Object.create ? (function (o, v) {
972
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
973
+ }) : function (o, v) {
974
+ o["default"] = v;
975
+ };
976
+ function __importStar(mod) {
977
+ if (mod && mod.__esModule)
978
+ return mod;
979
+ var result = {};
980
+ if (mod != null)
981
+ for (var k in mod)
982
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
983
+ __createBinding(result, mod, k);
984
+ __setModuleDefault(result, mod);
985
+ return result;
986
+ }
987
+ function __importDefault(mod) {
988
+ return (mod && mod.__esModule) ? mod : { default: mod };
989
+ }
990
+ function __classPrivateFieldGet(receiver, state, kind, f) {
991
+ if (kind === "a" && !f)
992
+ throw new TypeError("Private accessor was defined without a getter");
993
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
994
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
995
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
996
+ }
997
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
998
+ if (kind === "m")
999
+ throw new TypeError("Private method is not writable");
1000
+ if (kind === "a" && !f)
1001
+ throw new TypeError("Private accessor was defined without a setter");
1002
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1003
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
1004
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
972
1005
  }
973
1006
 
974
- var AngularEditorToolbarComponent = /** @class */ (function () {
975
- function AngularEditorToolbarComponent(r, editorService, er, doc) {
976
- this.r = r;
977
- this.editorService = editorService;
978
- this.er = er;
979
- this.doc = doc;
980
- this.htmlMode = false;
981
- this.linkSelected = false;
982
- this.block = 'default';
983
- this.fontName = 'Times New Roman';
984
- this.fontSize = '3';
985
- this.headings = [
986
- {
987
- label: 'Heading 1',
988
- value: 'h1',
989
- },
990
- {
991
- label: 'Heading 2',
992
- value: 'h2',
993
- },
994
- {
995
- label: 'Heading 3',
996
- value: 'h3',
997
- },
998
- {
999
- label: 'Heading 4',
1000
- value: 'h4',
1001
- },
1002
- {
1003
- label: 'Heading 5',
1004
- value: 'h5',
1005
- },
1006
- {
1007
- label: 'Heading 6',
1008
- value: 'h6',
1009
- },
1010
- {
1011
- label: 'Heading 7',
1012
- value: 'h7',
1013
- },
1014
- {
1015
- label: 'Paragraph',
1016
- value: 'p',
1017
- },
1018
- {
1019
- label: 'Predefined',
1020
- value: 'pre'
1021
- },
1022
- {
1023
- label: 'Standard',
1024
- value: 'div'
1025
- },
1026
- {
1027
- label: 'default',
1028
- value: 'default'
1029
- }
1030
- ];
1031
- this.fontSizes = [
1032
- {
1033
- label: '1',
1034
- value: '1',
1035
- },
1036
- {
1037
- label: '2',
1038
- value: '2',
1039
- },
1040
- {
1041
- label: '3',
1042
- value: '3',
1043
- },
1044
- {
1045
- label: '4',
1046
- value: '4',
1047
- },
1048
- {
1049
- label: '5',
1050
- value: '5',
1051
- },
1052
- {
1053
- label: '6',
1054
- value: '6',
1055
- },
1056
- {
1057
- label: '7',
1058
- value: '7',
1059
- }
1060
- ];
1061
- this.customClassId = '-1';
1062
- this.customClassList = [{ label: '', value: '' }];
1063
- // uploadUrl: string;
1064
- this.tagMap = {
1065
- BLOCKQUOTE: 'indent',
1066
- A: 'link'
1067
- };
1068
- this.select = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'PRE', 'DIV'];
1069
- this.buttons = ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'justifyLeft', 'justifyCenter',
1070
- 'justifyRight', 'justifyFull', 'indent', 'outdent', 'insertUnorderedList', 'insertOrderedList', 'link'];
1071
- this.fonts = [{ label: '', value: '' }];
1072
- this.execute = new core.EventEmitter();
1073
- }
1074
- Object.defineProperty(AngularEditorToolbarComponent.prototype, "customClasses", {
1075
- set: function (classes) {
1076
- if (classes) {
1077
- this._customClasses = classes;
1078
- this.customClassList = this._customClasses.map(function (x, i) { return ({ label: x.name, value: i.toString() }); });
1079
- this.customClassList.unshift({ label: 'Clear Class', value: '-1' });
1080
- }
1081
- },
1082
- enumerable: false,
1083
- configurable: true
1084
- });
1085
- Object.defineProperty(AngularEditorToolbarComponent.prototype, "defaultFontName", {
1086
- set: function (value) {
1087
- if (value) {
1088
- this.fontName = value;
1089
- }
1090
- },
1091
- enumerable: false,
1092
- configurable: true
1093
- });
1094
- Object.defineProperty(AngularEditorToolbarComponent.prototype, "defaultFontSize", {
1095
- set: function (value) {
1096
- if (value) {
1097
- this.fontSize = value;
1098
- }
1099
- },
1100
- enumerable: false,
1101
- configurable: true
1102
- });
1103
- Object.defineProperty(AngularEditorToolbarComponent.prototype, "isLinkButtonDisabled", {
1104
- get: function () {
1105
- return this.htmlMode || !Boolean(this.editorService.selectedText);
1106
- },
1107
- enumerable: false,
1108
- configurable: true
1109
- });
1110
- /**
1111
- * Trigger command from editor header buttons
1112
- * @param command string from toolbar buttons
1113
- */
1114
- AngularEditorToolbarComponent.prototype.triggerCommand = function (command) {
1115
- this.execute.emit(command);
1116
- };
1117
- /**
1118
- * highlight editor buttons when cursor moved or positioning
1119
- */
1120
- AngularEditorToolbarComponent.prototype.triggerButtons = function () {
1121
- var _this = this;
1122
- if (!this.showToolbar) {
1123
- return;
1124
- }
1125
- this.buttons.forEach(function (e) {
1126
- var result = _this.doc.queryCommandState(e);
1127
- var elementById = _this.doc.getElementById(e + '-' + _this.id);
1128
- if (result) {
1129
- _this.r.addClass(elementById, 'active');
1130
- }
1131
- else {
1132
- _this.r.removeClass(elementById, 'active');
1133
- }
1134
- });
1135
- };
1136
- /**
1137
- * trigger highlight editor buttons when cursor moved or positioning in block
1138
- */
1139
- AngularEditorToolbarComponent.prototype.triggerBlocks = function (nodes) {
1140
- var _this = this;
1141
- if (!this.showToolbar) {
1142
- return;
1143
- }
1144
- this.linkSelected = nodes.findIndex(function (x) { return x.nodeName === 'A'; }) > -1;
1145
- var found = false;
1146
- this.select.forEach(function (y) {
1147
- var node = nodes.find(function (x) { return x.nodeName === y; });
1148
- if (node !== undefined && y === node.nodeName) {
1149
- if (found === false) {
1150
- _this.block = node.nodeName.toLowerCase();
1151
- found = true;
1152
- }
1153
- }
1154
- else if (found === false) {
1155
- _this.block = 'default';
1156
- }
1157
- });
1158
- found = false;
1159
- if (this._customClasses) {
1160
- this._customClasses.forEach(function (y, index) {
1161
- var node = nodes.find(function (x) {
1162
- if (x instanceof Element) {
1163
- return x.className === y.class;
1164
- }
1165
- });
1166
- if (node !== undefined) {
1167
- if (found === false) {
1168
- _this.customClassId = index.toString();
1169
- found = true;
1170
- }
1171
- }
1172
- else if (found === false) {
1173
- _this.customClassId = '-1';
1174
- }
1175
- });
1176
- }
1177
- Object.keys(this.tagMap).map(function (e) {
1178
- var elementById = _this.doc.getElementById(_this.tagMap[e] + '-' + _this.id);
1179
- var node = nodes.find(function (x) { return x.nodeName === e; });
1180
- if (node !== undefined && e === node.nodeName) {
1181
- _this.r.addClass(elementById, 'active');
1182
- }
1183
- else {
1184
- _this.r.removeClass(elementById, 'active');
1185
- }
1186
- });
1187
- this.foreColour = this.doc.queryCommandValue('ForeColor');
1188
- this.fontSize = this.doc.queryCommandValue('FontSize');
1189
- this.fontName = this.doc.queryCommandValue('FontName').replace(/"/g, '');
1190
- this.backColor = this.doc.queryCommandValue('backColor');
1191
- };
1192
- /**
1193
- * insert URL link
1194
- */
1195
- AngularEditorToolbarComponent.prototype.insertUrl = function () {
1196
- var url = 'https:\/\/';
1197
- var selection = this.editorService.savedSelection;
1198
- if (selection && selection.commonAncestorContainer.parentElement.nodeName === 'A') {
1199
- var parent = selection.commonAncestorContainer.parentElement;
1200
- if (parent.href !== '') {
1201
- url = parent.href;
1202
- }
1203
- }
1204
- url = prompt('Insert URL link', url);
1205
- if (url && url !== '' && url !== 'https://') {
1206
- this.editorService.createLink(url);
1207
- }
1208
- };
1209
- /**
1210
- * insert Video link
1211
- */
1212
- AngularEditorToolbarComponent.prototype.insertVideo = function () {
1213
- this.execute.emit('');
1214
- var url = prompt('Insert Video link', "https://");
1215
- if (url && url !== '' && url !== "https://") {
1216
- this.editorService.insertVideo(url);
1217
- }
1218
- };
1219
- /** insert color */
1220
- AngularEditorToolbarComponent.prototype.insertColor = function (color, where) {
1221
- this.editorService.insertColor(color, where);
1222
- this.execute.emit('');
1223
- };
1224
- /**
1225
- * set font Name/family
1226
- * @param foreColor string
1227
- */
1228
- AngularEditorToolbarComponent.prototype.setFontName = function (foreColor) {
1229
- this.editorService.setFontName(foreColor);
1230
- this.execute.emit('');
1231
- };
1232
- /**
1233
- * set font Size
1234
- * @param fontSize string
1235
- */
1236
- AngularEditorToolbarComponent.prototype.setFontSize = function (fontSize) {
1237
- this.editorService.setFontSize(fontSize);
1238
- this.execute.emit('');
1239
- };
1240
- /**
1241
- * toggle editor mode (WYSIWYG or SOURCE)
1242
- * @param m boolean
1243
- */
1244
- AngularEditorToolbarComponent.prototype.setEditorMode = function (m) {
1245
- var toggleEditorModeButton = this.doc.getElementById('toggleEditorMode' + '-' + this.id);
1246
- if (m) {
1247
- this.r.addClass(toggleEditorModeButton, 'active');
1248
- }
1249
- else {
1250
- this.r.removeClass(toggleEditorModeButton, 'active');
1251
- }
1252
- this.htmlMode = m;
1253
- };
1254
- /**
1255
- * Upload image when file is selected
1256
- */
1257
- AngularEditorToolbarComponent.prototype.onFileChanged = function (event) {
1258
- var _this = this;
1259
- var file = event.target.files[0];
1260
- if (file.type.includes('image/')) {
1261
- if (this.uploadUrl) {
1262
- this.editorService.uploadImage(file).subscribe(function (e) {
1263
- if (e instanceof http.HttpResponse) {
1264
- _this.editorService.insertImage(e.body.imageUrl);
1265
- event.srcElement.value = null;
1266
- }
1267
- });
1268
- }
1269
- else {
1270
- var reader = new FileReader();
1271
- reader.onload = function (e) {
1272
- var fr = e.currentTarget;
1273
- _this.editorService.insertImage(fr.result.toString());
1274
- };
1275
- reader.readAsDataURL(file);
1276
- }
1277
- }
1278
- };
1279
- /**
1280
- * Set custom class
1281
- */
1282
- AngularEditorToolbarComponent.prototype.setCustomClass = function (classId) {
1283
- if (classId === '-1') {
1284
- this.execute.emit('clear');
1285
- }
1286
- else {
1287
- this.editorService.createCustomClass(this._customClasses[+classId]);
1288
- }
1289
- };
1290
- AngularEditorToolbarComponent.prototype.isButtonHidden = function (name) {
1291
- var e_1, _a;
1292
- if (!name) {
1293
- return false;
1294
- }
1295
- if (!(this.hiddenButtons instanceof Array)) {
1296
- return false;
1297
- }
1298
- var result;
1299
- try {
1300
- for (var _b = __values(this.hiddenButtons), _c = _b.next(); !_c.done; _c = _b.next()) {
1301
- var arr = _c.value;
1302
- if (arr instanceof Array) {
1303
- result = arr.find(function (item) { return item === name; });
1304
- }
1305
- if (result) {
1306
- break;
1307
- }
1308
- }
1309
- }
1310
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1311
- finally {
1312
- try {
1313
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1314
- }
1315
- finally { if (e_1) throw e_1.error; }
1316
- }
1317
- return result !== undefined;
1318
- };
1319
- AngularEditorToolbarComponent.prototype.focus = function () {
1320
- this.execute.emit('focus');
1321
- console.log('focused');
1322
- };
1323
- return AngularEditorToolbarComponent;
1324
- }());
1325
- AngularEditorToolbarComponent.decorators = [
1326
- { type: core.Component, args: [{
1327
- selector: 'angular-editor-toolbar',
1328
- 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",
1329
- 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:\"\uF000\"}.fa-music:before{content:\"\uF001\"}.fa-search:before{content:\"\uF002\"}.fa-envelope-o:before{content:\"\uF003\"}.fa-heart:before{content:\"\uF004\"}.fa-star:before{content:\"\uF005\"}.fa-star-o:before{content:\"\uF006\"}.fa-user:before{content:\"\uF007\"}.fa-film:before{content:\"\uF008\"}.fa-th-large:before{content:\"\uF009\"}.fa-th:before{content:\"\uF00A\"}.fa-th-list:before{content:\"\uF00B\"}.fa-check:before{content:\"\uF00C\"}.fa-close:before,.fa-remove:before,.fa-times:before{content:\"\uF00D\"}.fa-search-plus:before{content:\"\uF00E\"}.fa-search-minus:before{content:\"\uF010\"}.fa-power-off:before{content:\"\uF011\"}.fa-signal:before{content:\"\uF012\"}.fa-cog:before,.fa-gear:before{content:\"\uF013\"}.fa-trash-o:before{content:\"\uF014\"}.fa-home:before{content:\"\uF015\"}.fa-file-o:before{content:\"\uF016\"}.fa-clock-o:before{content:\"\uF017\"}.fa-road:before{content:\"\uF018\"}.fa-download:before{content:\"\uF019\"}.fa-arrow-circle-o-down:before{content:\"\uF01A\"}.fa-arrow-circle-o-up:before{content:\"\uF01B\"}.fa-inbox:before{content:\"\uF01C\"}.fa-play-circle-o:before{content:\"\uF01D\"}.fa-repeat:before,.fa-rotate-right:before{content:\"\uF01E\"}.fa-refresh:before{content:\"\uF021\"}.fa-list-alt:before{content:\"\uF022\"}.fa-lock:before{content:\"\uF023\"}.fa-flag:before{content:\"\uF024\"}.fa-headphones:before{content:\"\uF025\"}.fa-volume-off:before{content:\"\uF026\"}.fa-volume-down:before{content:\"\uF027\"}.fa-volume-up:before{content:\"\uF028\"}.fa-qrcode:before{content:\"\uF029\"}.fa-barcode:before{content:\"\uF02A\"}.fa-tag:before{content:\"\uF02B\"}.fa-tags:before{content:\"\uF02C\"}.fa-book:before{content:\"\uF02D\"}.fa-bookmark:before{content:\"\uF02E\"}.fa-print:before{content:\"\uF02F\"}.fa-camera:before{content:\"\uF030\"}.fa-font:before{content:\"\uF031\"}.fa-bold:before{content:\"\uF032\"}.fa-italic:before{content:\"\uF033\"}.fa-text-height:before{content:\"\uF034\"}.fa-text-width:before{content:\"\uF035\"}.fa-align-left:before{content:\"\uF036\"}.fa-align-center:before{content:\"\uF037\"}.fa-align-right:before{content:\"\uF038\"}.fa-align-justify:before{content:\"\uF039\"}.fa-list:before{content:\"\uF03A\"}.fa-dedent:before,.fa-outdent:before{content:\"\uF03B\"}.fa-indent:before{content:\"\uF03C\"}.fa-video-camera:before{content:\"\uF03D\"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:\"\uF03E\"}.fa-pencil:before{content:\"\uF040\"}.fa-map-marker:before{content:\"\uF041\"}.fa-adjust:before{content:\"\uF042\"}.fa-tint:before{content:\"\uF043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\uF044\"}.fa-share-square-o:before{content:\"\uF045\"}.fa-check-square-o:before{content:\"\uF046\"}.fa-arrows:before{content:\"\uF047\"}.fa-step-backward:before{content:\"\uF048\"}.fa-fast-backward:before{content:\"\uF049\"}.fa-backward:before{content:\"\uF04A\"}.fa-play:before{content:\"\uF04B\"}.fa-pause:before{content:\"\uF04C\"}.fa-stop:before{content:\"\uF04D\"}.fa-forward:before{content:\"\uF04E\"}.fa-fast-forward:before{content:\"\uF050\"}.fa-step-forward:before{content:\"\uF051\"}.fa-eject:before{content:\"\uF052\"}.fa-chevron-left:before{content:\"\uF053\"}.fa-chevron-right:before{content:\"\uF054\"}.fa-plus-circle:before{content:\"\uF055\"}.fa-minus-circle:before{content:\"\uF056\"}.fa-times-circle:before{content:\"\uF057\"}.fa-check-circle:before{content:\"\uF058\"}.fa-question-circle:before{content:\"\uF059\"}.fa-info-circle:before{content:\"\uF05A\"}.fa-crosshairs:before{content:\"\uF05B\"}.fa-times-circle-o:before{content:\"\uF05C\"}.fa-check-circle-o:before{content:\"\uF05D\"}.fa-ban:before{content:\"\uF05E\"}.fa-arrow-left:before{content:\"\uF060\"}.fa-arrow-right:before{content:\"\uF061\"}.fa-arrow-up:before{content:\"\uF062\"}.fa-arrow-down:before{content:\"\uF063\"}.fa-mail-forward:before,.fa-share:before{content:\"\uF064\"}.fa-expand:before{content:\"\uF065\"}.fa-compress:before{content:\"\uF066\"}.fa-plus:before{content:\"\uF067\"}.fa-minus:before{content:\"\uF068\"}.fa-asterisk:before{content:\"\uF069\"}.fa-exclamation-circle:before{content:\"\uF06A\"}.fa-gift:before{content:\"\uF06B\"}.fa-leaf:before{content:\"\uF06C\"}.fa-fire:before{content:\"\uF06D\"}.fa-eye:before{content:\"\uF06E\"}.fa-eye-slash:before{content:\"\uF070\"}.fa-exclamation-triangle:before,.fa-warning:before{content:\"\uF071\"}.fa-plane:before{content:\"\uF072\"}.fa-calendar:before{content:\"\uF073\"}.fa-random:before{content:\"\uF074\"}.fa-comment:before{content:\"\uF075\"}.fa-magnet:before{content:\"\uF076\"}.fa-chevron-up:before{content:\"\uF077\"}.fa-chevron-down:before{content:\"\uF078\"}.fa-retweet:before{content:\"\uF079\"}.fa-shopping-cart:before{content:\"\uF07A\"}.fa-folder:before{content:\"\uF07B\"}.fa-folder-open:before{content:\"\uF07C\"}.fa-arrows-v:before{content:\"\uF07D\"}.fa-arrows-h:before{content:\"\uF07E\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\uF080\"}.fa-twitter-square:before{content:\"\uF081\"}.fa-facebook-square:before{content:\"\uF082\"}.fa-camera-retro:before{content:\"\uF083\"}.fa-key:before{content:\"\uF084\"}.fa-cogs:before,.fa-gears:before{content:\"\uF085\"}.fa-comments:before{content:\"\uF086\"}.fa-thumbs-o-up:before{content:\"\uF087\"}.fa-thumbs-o-down:before{content:\"\uF088\"}.fa-star-half:before{content:\"\uF089\"}.fa-heart-o:before{content:\"\uF08A\"}.fa-sign-out:before{content:\"\uF08B\"}.fa-linkedin-square:before{content:\"\uF08C\"}.fa-thumb-tack:before{content:\"\uF08D\"}.fa-external-link:before{content:\"\uF08E\"}.fa-sign-in:before{content:\"\uF090\"}.fa-trophy:before{content:\"\uF091\"}.fa-github-square:before{content:\"\uF092\"}.fa-upload:before{content:\"\uF093\"}.fa-lemon-o:before{content:\"\uF094\"}.fa-phone:before{content:\"\uF095\"}.fa-square-o:before{content:\"\uF096\"}.fa-bookmark-o:before{content:\"\uF097\"}.fa-phone-square:before{content:\"\uF098\"}.fa-twitter:before{content:\"\uF099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\uF09A\"}.fa-github:before{content:\"\uF09B\"}.fa-unlock:before{content:\"\uF09C\"}.fa-credit-card:before{content:\"\uF09D\"}.fa-feed:before,.fa-rss:before{content:\"\uF09E\"}.fa-hdd-o:before{content:\"\uF0A0\"}.fa-bullhorn:before{content:\"\uF0A1\"}.fa-bell:before{content:\"\uF0F3\"}.fa-certificate:before{content:\"\uF0A3\"}.fa-hand-o-right:before{content:\"\uF0A4\"}.fa-hand-o-left:before{content:\"\uF0A5\"}.fa-hand-o-up:before{content:\"\uF0A6\"}.fa-hand-o-down:before{content:\"\uF0A7\"}.fa-arrow-circle-left:before{content:\"\uF0A8\"}.fa-arrow-circle-right:before{content:\"\uF0A9\"}.fa-arrow-circle-up:before{content:\"\uF0AA\"}.fa-arrow-circle-down:before{content:\"\uF0AB\"}.fa-globe:before{content:\"\uF0AC\"}.fa-wrench:before{content:\"\uF0AD\"}.fa-tasks:before{content:\"\uF0AE\"}.fa-filter:before{content:\"\uF0B0\"}.fa-briefcase:before{content:\"\uF0B1\"}.fa-arrows-alt:before{content:\"\uF0B2\"}.fa-group:before,.fa-users:before{content:\"\uF0C0\"}.fa-chain:before,.fa-link:before{content:\"\uF0C1\"}.fa-cloud:before{content:\"\uF0C2\"}.fa-flask:before{content:\"\uF0C3\"}.fa-cut:before,.fa-scissors:before{content:\"\uF0C4\"}.fa-copy:before,.fa-files-o:before{content:\"\uF0C5\"}.fa-paperclip:before{content:\"\uF0C6\"}.fa-floppy-o:before,.fa-save:before{content:\"\uF0C7\"}.fa-square:before{content:\"\uF0C8\"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:\"\uF0C9\"}.fa-list-ul:before{content:\"\uF0CA\"}.fa-list-ol:before{content:\"\uF0CB\"}.fa-strikethrough:before{content:\"\uF0CC\"}.fa-underline:before{content:\"\uF0CD\"}.fa-table:before{content:\"\uF0CE\"}.fa-magic:before{content:\"\uF0D0\"}.fa-truck:before{content:\"\uF0D1\"}.fa-pinterest:before{content:\"\uF0D2\"}.fa-pinterest-square:before{content:\"\uF0D3\"}.fa-google-plus-square:before{content:\"\uF0D4\"}.fa-google-plus:before{content:\"\uF0D5\"}.fa-money:before{content:\"\uF0D6\"}.fa-caret-down:before{content:\"\uF0D7\"}.fa-caret-up:before{content:\"\uF0D8\"}.fa-caret-left:before{content:\"\uF0D9\"}.fa-caret-right:before{content:\"\uF0DA\"}.fa-columns:before{content:\"\uF0DB\"}.fa-sort:before,.fa-unsorted:before{content:\"\uF0DC\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\uF0DD\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\uF0DE\"}.fa-envelope:before{content:\"\uF0E0\"}.fa-linkedin:before{content:\"\uF0E1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\uF0E2\"}.fa-gavel:before,.fa-legal:before{content:\"\uF0E3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\uF0E4\"}.fa-comment-o:before{content:\"\uF0E5\"}.fa-comments-o:before{content:\"\uF0E6\"}.fa-bolt:before,.fa-flash:before{content:\"\uF0E7\"}.fa-sitemap:before{content:\"\uF0E8\"}.fa-umbrella:before{content:\"\uF0E9\"}.fa-clipboard:before,.fa-paste:before{content:\"\uF0EA\"}.fa-lightbulb-o:before{content:\"\uF0EB\"}.fa-exchange:before{content:\"\uF0EC\"}.fa-cloud-download:before{content:\"\uF0ED\"}.fa-cloud-upload:before{content:\"\uF0EE\"}.fa-user-md:before{content:\"\uF0F0\"}.fa-stethoscope:before{content:\"\uF0F1\"}.fa-suitcase:before{content:\"\uF0F2\"}.fa-bell-o:before{content:\"\uF0A2\"}.fa-coffee:before{content:\"\uF0F4\"}.fa-cutlery:before{content:\"\uF0F5\"}.fa-file-text-o:before{content:\"\uF0F6\"}.fa-building-o:before{content:\"\uF0F7\"}.fa-hospital-o:before{content:\"\uF0F8\"}.fa-ambulance:before{content:\"\uF0F9\"}.fa-medkit:before{content:\"\uF0FA\"}.fa-fighter-jet:before{content:\"\uF0FB\"}.fa-beer:before{content:\"\uF0FC\"}.fa-h-square:before{content:\"\uF0FD\"}.fa-plus-square:before{content:\"\uF0FE\"}.fa-angle-double-left:before{content:\"\uF100\"}.fa-angle-double-right:before{content:\"\uF101\"}.fa-angle-double-up:before{content:\"\uF102\"}.fa-angle-double-down:before{content:\"\uF103\"}.fa-angle-left:before{content:\"\uF104\"}.fa-angle-right:before{content:\"\uF105\"}.fa-angle-up:before{content:\"\uF106\"}.fa-angle-down:before{content:\"\uF107\"}.fa-desktop:before{content:\"\uF108\"}.fa-laptop:before{content:\"\uF109\"}.fa-tablet:before{content:\"\uF10A\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\uF10B\"}.fa-circle-o:before{content:\"\uF10C\"}.fa-quote-left:before{content:\"\uF10D\"}.fa-quote-right:before{content:\"\uF10E\"}.fa-spinner:before{content:\"\uF110\"}.fa-circle:before{content:\"\uF111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\uF112\"}.fa-github-alt:before{content:\"\uF113\"}.fa-folder-o:before{content:\"\uF114\"}.fa-folder-open-o:before{content:\"\uF115\"}.fa-smile-o:before{content:\"\uF118\"}.fa-frown-o:before{content:\"\uF119\"}.fa-meh-o:before{content:\"\uF11A\"}.fa-gamepad:before{content:\"\uF11B\"}.fa-keyboard-o:before{content:\"\uF11C\"}.fa-flag-o:before{content:\"\uF11D\"}.fa-flag-checkered:before{content:\"\uF11E\"}.fa-terminal:before{content:\"\uF120\"}.fa-code:before{content:\"\uF121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\uF122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\uF123\"}.fa-location-arrow:before{content:\"\uF124\"}.fa-crop:before{content:\"\uF125\"}.fa-code-fork:before{content:\"\uF126\"}.fa-chain-broken:before,.fa-unlink:before{content:\"\uF127\"}.fa-question:before{content:\"\uF128\"}.fa-info:before{content:\"\uF129\"}.fa-exclamation:before{content:\"\uF12A\"}.fa-superscript:before{content:\"\uF12B\"}.fa-subscript:before{content:\"\uF12C\"}.fa-eraser:before{content:\"\uF12D\"}.fa-puzzle-piece:before{content:\"\uF12E\"}.fa-microphone:before{content:\"\uF130\"}.fa-microphone-slash:before{content:\"\uF131\"}.fa-shield:before{content:\"\uF132\"}.fa-calendar-o:before{content:\"\uF133\"}.fa-fire-extinguisher:before{content:\"\uF134\"}.fa-rocket:before{content:\"\uF135\"}.fa-maxcdn:before{content:\"\uF136\"}.fa-chevron-circle-left:before{content:\"\uF137\"}.fa-chevron-circle-right:before{content:\"\uF138\"}.fa-chevron-circle-up:before{content:\"\uF139\"}.fa-chevron-circle-down:before{content:\"\uF13A\"}.fa-html5:before{content:\"\uF13B\"}.fa-css3:before{content:\"\uF13C\"}.fa-anchor:before{content:\"\uF13D\"}.fa-unlock-alt:before{content:\"\uF13E\"}.fa-bullseye:before{content:\"\uF140\"}.fa-ellipsis-h:before{content:\"\uF141\"}.fa-ellipsis-v:before{content:\"\uF142\"}.fa-rss-square:before{content:\"\uF143\"}.fa-play-circle:before{content:\"\uF144\"}.fa-ticket:before{content:\"\uF145\"}.fa-minus-square:before{content:\"\uF146\"}.fa-minus-square-o:before{content:\"\uF147\"}.fa-level-up:before{content:\"\uF148\"}.fa-level-down:before{content:\"\uF149\"}.fa-check-square:before{content:\"\uF14A\"}.fa-pencil-square:before{content:\"\uF14B\"}.fa-external-link-square:before{content:\"\uF14C\"}.fa-share-square:before{content:\"\uF14D\"}.fa-compass:before{content:\"\uF14E\"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:\"\uF150\"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:\"\uF151\"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:\"\uF152\"}.fa-eur:before,.fa-euro:before{content:\"\uF153\"}.fa-gbp:before{content:\"\uF154\"}.fa-dollar:before,.fa-usd:before{content:\"\uF155\"}.fa-inr:before,.fa-rupee:before{content:\"\uF156\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:\"\uF157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:\"\uF158\"}.fa-krw:before,.fa-won:before{content:\"\uF159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\uF15A\"}.fa-file:before{content:\"\uF15B\"}.fa-file-text:before{content:\"\uF15C\"}.fa-sort-alpha-asc:before{content:\"\uF15D\"}.fa-sort-alpha-desc:before{content:\"\uF15E\"}.fa-sort-amount-asc:before{content:\"\uF160\"}.fa-sort-amount-desc:before{content:\"\uF161\"}.fa-sort-numeric-asc:before{content:\"\uF162\"}.fa-sort-numeric-desc:before{content:\"\uF163\"}.fa-thumbs-up:before{content:\"\uF164\"}.fa-thumbs-down:before{content:\"\uF165\"}.fa-youtube-square:before{content:\"\uF166\"}.fa-youtube:before{content:\"\uF167\"}.fa-xing:before{content:\"\uF168\"}.fa-xing-square:before{content:\"\uF169\"}.fa-youtube-play:before{content:\"\uF16A\"}.fa-dropbox:before{content:\"\uF16B\"}.fa-stack-overflow:before{content:\"\uF16C\"}.fa-instagram:before{content:\"\uF16D\"}.fa-flickr:before{content:\"\uF16E\"}.fa-adn:before{content:\"\uF170\"}.fa-bitbucket:before{content:\"\uF171\"}.fa-bitbucket-square:before{content:\"\uF172\"}.fa-tumblr:before{content:\"\uF173\"}.fa-tumblr-square:before{content:\"\uF174\"}.fa-long-arrow-down:before{content:\"\uF175\"}.fa-long-arrow-up:before{content:\"\uF176\"}.fa-long-arrow-left:before{content:\"\uF177\"}.fa-long-arrow-right:before{content:\"\uF178\"}.fa-apple:before{content:\"\uF179\"}.fa-windows:before{content:\"\uF17A\"}.fa-android:before{content:\"\uF17B\"}.fa-linux:before{content:\"\uF17C\"}.fa-dribbble:before{content:\"\uF17D\"}.fa-skype:before{content:\"\uF17E\"}.fa-foursquare:before{content:\"\uF180\"}.fa-trello:before{content:\"\uF181\"}.fa-female:before{content:\"\uF182\"}.fa-male:before{content:\"\uF183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\uF184\"}.fa-sun-o:before{content:\"\uF185\"}.fa-moon-o:before{content:\"\uF186\"}.fa-archive:before{content:\"\uF187\"}.fa-bug:before{content:\"\uF188\"}.fa-vk:before{content:\"\uF189\"}.fa-weibo:before{content:\"\uF18A\"}.fa-renren:before{content:\"\uF18B\"}.fa-pagelines:before{content:\"\uF18C\"}.fa-stack-exchange:before{content:\"\uF18D\"}.fa-arrow-circle-o-right:before{content:\"\uF18E\"}.fa-arrow-circle-o-left:before{content:\"\uF190\"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:\"\uF191\"}.fa-dot-circle-o:before{content:\"\uF192\"}.fa-wheelchair:before{content:\"\uF193\"}.fa-vimeo-square:before{content:\"\uF194\"}.fa-try:before,.fa-turkish-lira:before{content:\"\uF195\"}.fa-plus-square-o:before{content:\"\uF196\"}.fa-space-shuttle:before{content:\"\uF197\"}.fa-slack:before{content:\"\uF198\"}.fa-envelope-square:before{content:\"\uF199\"}.fa-wordpress:before{content:\"\uF19A\"}.fa-openid:before{content:\"\uF19B\"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:\"\uF19C\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\uF19D\"}.fa-yahoo:before{content:\"\uF19E\"}.fa-google:before{content:\"\uF1A0\"}.fa-reddit:before{content:\"\uF1A1\"}.fa-reddit-square:before{content:\"\uF1A2\"}.fa-stumbleupon-circle:before{content:\"\uF1A3\"}.fa-stumbleupon:before{content:\"\uF1A4\"}.fa-delicious:before{content:\"\uF1A5\"}.fa-digg:before{content:\"\uF1A6\"}.fa-pied-piper-pp:before{content:\"\uF1A7\"}.fa-pied-piper-alt:before{content:\"\uF1A8\"}.fa-drupal:before{content:\"\uF1A9\"}.fa-joomla:before{content:\"\uF1AA\"}.fa-language:before{content:\"\uF1AB\"}.fa-fax:before{content:\"\uF1AC\"}.fa-building:before{content:\"\uF1AD\"}.fa-child:before{content:\"\uF1AE\"}.fa-paw:before{content:\"\uF1B0\"}.fa-spoon:before{content:\"\uF1B1\"}.fa-cube:before{content:\"\uF1B2\"}.fa-cubes:before{content:\"\uF1B3\"}.fa-behance:before{content:\"\uF1B4\"}.fa-behance-square:before{content:\"\uF1B5\"}.fa-steam:before{content:\"\uF1B6\"}.fa-steam-square:before{content:\"\uF1B7\"}.fa-recycle:before{content:\"\uF1B8\"}.fa-automobile:before,.fa-car:before{content:\"\uF1B9\"}.fa-cab:before,.fa-taxi:before{content:\"\uF1BA\"}.fa-tree:before{content:\"\uF1BB\"}.fa-spotify:before{content:\"\uF1BC\"}.fa-deviantart:before{content:\"\uF1BD\"}.fa-soundcloud:before{content:\"\uF1BE\"}.fa-database:before{content:\"\uF1C0\"}.fa-file-pdf-o:before{content:\"\uF1C1\"}.fa-file-word-o:before{content:\"\uF1C2\"}.fa-file-excel-o:before{content:\"\uF1C3\"}.fa-file-powerpoint-o:before{content:\"\uF1C4\"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:\"\uF1C5\"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:\"\uF1C6\"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:\"\uF1C7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\uF1C8\"}.fa-file-code-o:before{content:\"\uF1C9\"}.fa-vine:before{content:\"\uF1CA\"}.fa-codepen:before{content:\"\uF1CB\"}.fa-jsfiddle:before{content:\"\uF1CC\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:\"\uF1CD\"}.fa-circle-o-notch:before{content:\"\uF1CE\"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:\"\uF1D0\"}.fa-empire:before,.fa-ge:before{content:\"\uF1D1\"}.fa-git-square:before{content:\"\uF1D2\"}.fa-git:before{content:\"\uF1D3\"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:\"\uF1D4\"}.fa-tencent-weibo:before{content:\"\uF1D5\"}.fa-qq:before{content:\"\uF1D6\"}.fa-wechat:before,.fa-weixin:before{content:\"\uF1D7\"}.fa-paper-plane:before,.fa-send:before{content:\"\uF1D8\"}.fa-paper-plane-o:before,.fa-send-o:before{content:\"\uF1D9\"}.fa-history:before{content:\"\uF1DA\"}.fa-circle-thin:before{content:\"\uF1DB\"}.fa-header:before{content:\"\uF1DC\"}.fa-paragraph:before{content:\"\uF1DD\"}.fa-sliders:before{content:\"\uF1DE\"}.fa-share-alt:before{content:\"\uF1E0\"}.fa-share-alt-square:before{content:\"\uF1E1\"}.fa-bomb:before{content:\"\uF1E2\"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:\"\uF1E3\"}.fa-tty:before{content:\"\uF1E4\"}.fa-binoculars:before{content:\"\uF1E5\"}.fa-plug:before{content:\"\uF1E6\"}.fa-slideshare:before{content:\"\uF1E7\"}.fa-twitch:before{content:\"\uF1E8\"}.fa-yelp:before{content:\"\uF1E9\"}.fa-newspaper-o:before{content:\"\uF1EA\"}.fa-wifi:before{content:\"\uF1EB\"}.fa-calculator:before{content:\"\uF1EC\"}.fa-paypal:before{content:\"\uF1ED\"}.fa-google-wallet:before{content:\"\uF1EE\"}.fa-cc-visa:before{content:\"\uF1F0\"}.fa-cc-mastercard:before{content:\"\uF1F1\"}.fa-cc-discover:before{content:\"\uF1F2\"}.fa-cc-amex:before{content:\"\uF1F3\"}.fa-cc-paypal:before{content:\"\uF1F4\"}.fa-cc-stripe:before{content:\"\uF1F5\"}.fa-bell-slash:before{content:\"\uF1F6\"}.fa-bell-slash-o:before{content:\"\uF1F7\"}.fa-trash:before{content:\"\uF1F8\"}.fa-copyright:before{content:\"\uF1F9\"}.fa-at:before{content:\"\uF1FA\"}.fa-eyedropper:before{content:\"\uF1FB\"}.fa-paint-brush:before{content:\"\uF1FC\"}.fa-birthday-cake:before{content:\"\uF1FD\"}.fa-area-chart:before{content:\"\uF1FE\"}.fa-pie-chart:before{content:\"\uF200\"}.fa-line-chart:before{content:\"\uF201\"}.fa-lastfm:before{content:\"\uF202\"}.fa-lastfm-square:before{content:\"\uF203\"}.fa-toggle-off:before{content:\"\uF204\"}.fa-toggle-on:before{content:\"\uF205\"}.fa-bicycle:before{content:\"\uF206\"}.fa-bus:before{content:\"\uF207\"}.fa-ioxhost:before{content:\"\uF208\"}.fa-angellist:before{content:\"\uF209\"}.fa-cc:before{content:\"\uF20A\"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:\"\uF20B\"}.fa-meanpath:before{content:\"\uF20C\"}.fa-buysellads:before{content:\"\uF20D\"}.fa-connectdevelop:before{content:\"\uF20E\"}.fa-dashcube:before{content:\"\uF210\"}.fa-forumbee:before{content:\"\uF211\"}.fa-leanpub:before{content:\"\uF212\"}.fa-sellsy:before{content:\"\uF213\"}.fa-shirtsinbulk:before{content:\"\uF214\"}.fa-simplybuilt:before{content:\"\uF215\"}.fa-skyatlas:before{content:\"\uF216\"}.fa-cart-plus:before{content:\"\uF217\"}.fa-cart-arrow-down:before{content:\"\uF218\"}.fa-diamond:before{content:\"\uF219\"}.fa-ship:before{content:\"\uF21A\"}.fa-user-secret:before{content:\"\uF21B\"}.fa-motorcycle:before{content:\"\uF21C\"}.fa-street-view:before{content:\"\uF21D\"}.fa-heartbeat:before{content:\"\uF21E\"}.fa-venus:before{content:\"\uF221\"}.fa-mars:before{content:\"\uF222\"}.fa-mercury:before{content:\"\uF223\"}.fa-intersex:before,.fa-transgender:before{content:\"\uF224\"}.fa-transgender-alt:before{content:\"\uF225\"}.fa-venus-double:before{content:\"\uF226\"}.fa-mars-double:before{content:\"\uF227\"}.fa-venus-mars:before{content:\"\uF228\"}.fa-mars-stroke:before{content:\"\uF229\"}.fa-mars-stroke-v:before{content:\"\uF22A\"}.fa-mars-stroke-h:before{content:\"\uF22B\"}.fa-neuter:before{content:\"\uF22C\"}.fa-genderless:before{content:\"\uF22D\"}.fa-facebook-official:before{content:\"\uF230\"}.fa-pinterest-p:before{content:\"\uF231\"}.fa-whatsapp:before{content:\"\uF232\"}.fa-server:before{content:\"\uF233\"}.fa-user-plus:before{content:\"\uF234\"}.fa-user-times:before{content:\"\uF235\"}.fa-bed:before,.fa-hotel:before{content:\"\uF236\"}.fa-viacoin:before{content:\"\uF237\"}.fa-train:before{content:\"\uF238\"}.fa-subway:before{content:\"\uF239\"}.fa-medium:before{content:\"\uF23A\"}.fa-y-combinator:before,.fa-yc:before{content:\"\uF23B\"}.fa-optin-monster:before{content:\"\uF23C\"}.fa-opencart:before{content:\"\uF23D\"}.fa-expeditedssl:before{content:\"\uF23E\"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:\"\uF240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\uF241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\uF242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\uF243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\uF244\"}.fa-mouse-pointer:before{content:\"\uF245\"}.fa-i-cursor:before{content:\"\uF246\"}.fa-object-group:before{content:\"\uF247\"}.fa-object-ungroup:before{content:\"\uF248\"}.fa-sticky-note:before{content:\"\uF249\"}.fa-sticky-note-o:before{content:\"\uF24A\"}.fa-cc-jcb:before{content:\"\uF24B\"}.fa-cc-diners-club:before{content:\"\uF24C\"}.fa-clone:before{content:\"\uF24D\"}.fa-balance-scale:before{content:\"\uF24E\"}.fa-hourglass-o:before{content:\"\uF250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\uF251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\uF252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\uF253\"}.fa-hourglass:before{content:\"\uF254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\uF255\"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:\"\uF256\"}.fa-hand-scissors-o:before{content:\"\uF257\"}.fa-hand-lizard-o:before{content:\"\uF258\"}.fa-hand-spock-o:before{content:\"\uF259\"}.fa-hand-pointer-o:before{content:\"\uF25A\"}.fa-hand-peace-o:before{content:\"\uF25B\"}.fa-trademark:before{content:\"\uF25C\"}.fa-registered:before{content:\"\uF25D\"}.fa-creative-commons:before{content:\"\uF25E\"}.fa-gg:before{content:\"\uF260\"}.fa-gg-circle:before{content:\"\uF261\"}.fa-tripadvisor:before{content:\"\uF262\"}.fa-odnoklassniki:before{content:\"\uF263\"}.fa-odnoklassniki-square:before{content:\"\uF264\"}.fa-get-pocket:before{content:\"\uF265\"}.fa-wikipedia-w:before{content:\"\uF266\"}.fa-safari:before{content:\"\uF267\"}.fa-chrome:before{content:\"\uF268\"}.fa-firefox:before{content:\"\uF269\"}.fa-opera:before{content:\"\uF26A\"}.fa-internet-explorer:before{content:\"\uF26B\"}.fa-television:before,.fa-tv:before{content:\"\uF26C\"}.fa-contao:before{content:\"\uF26D\"}.fa-500px:before{content:\"\uF26E\"}.fa-amazon:before{content:\"\uF270\"}.fa-calendar-plus-o:before{content:\"\uF271\"}.fa-calendar-minus-o:before{content:\"\uF272\"}.fa-calendar-times-o:before{content:\"\uF273\"}.fa-calendar-check-o:before{content:\"\uF274\"}.fa-industry:before{content:\"\uF275\"}.fa-map-pin:before{content:\"\uF276\"}.fa-map-signs:before{content:\"\uF277\"}.fa-map-o:before{content:\"\uF278\"}.fa-map:before{content:\"\uF279\"}.fa-commenting:before{content:\"\uF27A\"}.fa-commenting-o:before{content:\"\uF27B\"}.fa-houzz:before{content:\"\uF27C\"}.fa-vimeo:before{content:\"\uF27D\"}.fa-black-tie:before{content:\"\uF27E\"}.fa-fonticons:before{content:\"\uF280\"}.fa-reddit-alien:before{content:\"\uF281\"}.fa-edge:before{content:\"\uF282\"}.fa-credit-card-alt:before{content:\"\uF283\"}.fa-codiepie:before{content:\"\uF284\"}.fa-modx:before{content:\"\uF285\"}.fa-fort-awesome:before{content:\"\uF286\"}.fa-usb:before{content:\"\uF287\"}.fa-product-hunt:before{content:\"\uF288\"}.fa-mixcloud:before{content:\"\uF289\"}.fa-scribd:before{content:\"\uF28A\"}.fa-pause-circle:before{content:\"\uF28B\"}.fa-pause-circle-o:before{content:\"\uF28C\"}.fa-stop-circle:before{content:\"\uF28D\"}.fa-stop-circle-o:before{content:\"\uF28E\"}.fa-shopping-bag:before{content:\"\uF290\"}.fa-shopping-basket:before{content:\"\uF291\"}.fa-hashtag:before{content:\"\uF292\"}.fa-bluetooth:before{content:\"\uF293\"}.fa-bluetooth-b:before{content:\"\uF294\"}.fa-percent:before{content:\"\uF295\"}.fa-gitlab:before{content:\"\uF296\"}.fa-wpbeginner:before{content:\"\uF297\"}.fa-wpforms:before{content:\"\uF298\"}.fa-envira:before{content:\"\uF299\"}.fa-universal-access:before{content:\"\uF29A\"}.fa-wheelchair-alt:before{content:\"\uF29B\"}.fa-question-circle-o:before{content:\"\uF29C\"}.fa-blind:before{content:\"\uF29D\"}.fa-audio-description:before{content:\"\uF29E\"}.fa-volume-control-phone:before{content:\"\uF2A0\"}.fa-braille:before{content:\"\uF2A1\"}.fa-assistive-listening-systems:before{content:\"\uF2A2\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:\"\uF2A3\"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:\"\uF2A4\"}.fa-glide:before{content:\"\uF2A5\"}.fa-glide-g:before{content:\"\uF2A6\"}.fa-sign-language:before,.fa-signing:before{content:\"\uF2A7\"}.fa-low-vision:before{content:\"\uF2A8\"}.fa-viadeo:before{content:\"\uF2A9\"}.fa-viadeo-square:before{content:\"\uF2AA\"}.fa-snapchat:before{content:\"\uF2AB\"}.fa-snapchat-ghost:before{content:\"\uF2AC\"}.fa-snapchat-square:before{content:\"\uF2AD\"}.fa-pied-piper:before{content:\"\uF2AE\"}.fa-first-order:before{content:\"\uF2B0\"}.fa-yoast:before{content:\"\uF2B1\"}.fa-themeisle:before{content:\"\uF2B2\"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:\"\uF2B3\"}.fa-fa:before,.fa-font-awesome:before{content:\"\uF2B4\"}.fa-handshake-o:before{content:\"\uF2B5\"}.fa-envelope-open:before{content:\"\uF2B6\"}.fa-envelope-open-o:before{content:\"\uF2B7\"}.fa-linode:before{content:\"\uF2B8\"}.fa-address-book:before{content:\"\uF2B9\"}.fa-address-book-o:before{content:\"\uF2BA\"}.fa-address-card:before,.fa-vcard:before{content:\"\uF2BB\"}.fa-address-card-o:before,.fa-vcard-o:before{content:\"\uF2BC\"}.fa-user-circle:before{content:\"\uF2BD\"}.fa-user-circle-o:before{content:\"\uF2BE\"}.fa-user-o:before{content:\"\uF2C0\"}.fa-id-badge:before{content:\"\uF2C1\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\uF2C2\"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:\"\uF2C3\"}.fa-quora:before{content:\"\uF2C4\"}.fa-free-code-camp:before{content:\"\uF2C5\"}.fa-telegram:before{content:\"\uF2C6\"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:\"\uF2C7\"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\uF2C8\"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\uF2C9\"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\uF2CA\"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\uF2CB\"}.fa-shower:before{content:\"\uF2CC\"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:\"\uF2CD\"}.fa-podcast:before{content:\"\uF2CE\"}.fa-window-maximize:before{content:\"\uF2D0\"}.fa-window-minimize:before{content:\"\uF2D1\"}.fa-window-restore:before{content:\"\uF2D2\"}.fa-times-rectangle:before,.fa-window-close:before{content:\"\uF2D3\"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:\"\uF2D4\"}.fa-bandcamp:before{content:\"\uF2D5\"}.fa-grav:before{content:\"\uF2D6\"}.fa-etsy:before{content:\"\uF2D7\"}.fa-imdb:before{content:\"\uF2D8\"}.fa-ravelry:before{content:\"\uF2D9\"}.fa-eercast:before{content:\"\uF2DA\"}.fa-microchip:before{content:\"\uF2DB\"}.fa-snowflake-o:before{content:\"\uF2DC\"}.fa-superpowers:before{content:\"\uF2DD\"}.fa-wpexplorer:before{content:\"\uF2DE\"}.fa-meetup:before{content:\"\uF2E0\"}.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}"]
1330
- },] }
1331
- ];
1332
- AngularEditorToolbarComponent.ctorParameters = function () { return [
1333
- { type: core.Renderer2 },
1334
- { type: AngularEditorService },
1335
- { type: core.ElementRef },
1336
- { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
1337
- ]; };
1338
- AngularEditorToolbarComponent.propDecorators = {
1339
- id: [{ type: core.Input }],
1340
- uploadUrl: [{ type: core.Input }],
1341
- showToolbar: [{ type: core.Input }],
1342
- fonts: [{ type: core.Input }],
1343
- customClasses: [{ type: core.Input }],
1344
- defaultFontName: [{ type: core.Input }],
1345
- defaultFontSize: [{ type: core.Input }],
1346
- hiddenButtons: [{ type: core.Input }],
1347
- execute: [{ type: core.Output }],
1348
- myInputFile: [{ type: core.ViewChild, args: ['fileInput', { static: true },] }]
1007
+ var AngularEditorToolbarComponent = /** @class */ (function () {
1008
+ function AngularEditorToolbarComponent(r, editorService, er, doc) {
1009
+ this.r = r;
1010
+ this.editorService = editorService;
1011
+ this.er = er;
1012
+ this.doc = doc;
1013
+ this.htmlMode = false;
1014
+ this.linkSelected = false;
1015
+ this.block = 'default';
1016
+ this.fontName = 'Times New Roman';
1017
+ this.fontSize = '3';
1018
+ this.headings = [
1019
+ {
1020
+ label: 'Heading 1',
1021
+ value: 'h1',
1022
+ },
1023
+ {
1024
+ label: 'Heading 2',
1025
+ value: 'h2',
1026
+ },
1027
+ {
1028
+ label: 'Heading 3',
1029
+ value: 'h3',
1030
+ },
1031
+ {
1032
+ label: 'Heading 4',
1033
+ value: 'h4',
1034
+ },
1035
+ {
1036
+ label: 'Heading 5',
1037
+ value: 'h5',
1038
+ },
1039
+ {
1040
+ label: 'Heading 6',
1041
+ value: 'h6',
1042
+ },
1043
+ {
1044
+ label: 'Heading 7',
1045
+ value: 'h7',
1046
+ },
1047
+ {
1048
+ label: 'Paragraph',
1049
+ value: 'p',
1050
+ },
1051
+ {
1052
+ label: 'Predefined',
1053
+ value: 'pre'
1054
+ },
1055
+ {
1056
+ label: 'Standard',
1057
+ value: 'div'
1058
+ },
1059
+ {
1060
+ label: 'default',
1061
+ value: 'default'
1062
+ }
1063
+ ];
1064
+ this.fontSizes = [
1065
+ {
1066
+ label: '1',
1067
+ value: '1',
1068
+ },
1069
+ {
1070
+ label: '2',
1071
+ value: '2',
1072
+ },
1073
+ {
1074
+ label: '3',
1075
+ value: '3',
1076
+ },
1077
+ {
1078
+ label: '4',
1079
+ value: '4',
1080
+ },
1081
+ {
1082
+ label: '5',
1083
+ value: '5',
1084
+ },
1085
+ {
1086
+ label: '6',
1087
+ value: '6',
1088
+ },
1089
+ {
1090
+ label: '7',
1091
+ value: '7',
1092
+ }
1093
+ ];
1094
+ this.customClassId = '-1';
1095
+ this.customClassList = [{ label: '', value: '' }];
1096
+ // uploadUrl: string;
1097
+ this.tagMap = {
1098
+ BLOCKQUOTE: 'indent',
1099
+ A: 'link'
1100
+ };
1101
+ this.select = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'PRE', 'DIV'];
1102
+ this.buttons = ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'justifyLeft', 'justifyCenter',
1103
+ 'justifyRight', 'justifyFull', 'indent', 'outdent', 'insertUnorderedList', 'insertOrderedList', 'link'];
1104
+ this.fonts = [{ label: '', value: '' }];
1105
+ this.execute = new core.EventEmitter();
1106
+ }
1107
+ Object.defineProperty(AngularEditorToolbarComponent.prototype, "customClasses", {
1108
+ set: function (classes) {
1109
+ if (classes) {
1110
+ this._customClasses = classes;
1111
+ this.customClassList = this._customClasses.map(function (x, i) { return ({ label: x.name, value: i.toString() }); });
1112
+ this.customClassList.unshift({ label: 'Clear Class', value: '-1' });
1113
+ }
1114
+ },
1115
+ enumerable: false,
1116
+ configurable: true
1117
+ });
1118
+ Object.defineProperty(AngularEditorToolbarComponent.prototype, "defaultFontName", {
1119
+ set: function (value) {
1120
+ if (value) {
1121
+ this.fontName = value;
1122
+ }
1123
+ },
1124
+ enumerable: false,
1125
+ configurable: true
1126
+ });
1127
+ Object.defineProperty(AngularEditorToolbarComponent.prototype, "defaultFontSize", {
1128
+ set: function (value) {
1129
+ if (value) {
1130
+ this.fontSize = value;
1131
+ }
1132
+ },
1133
+ enumerable: false,
1134
+ configurable: true
1135
+ });
1136
+ Object.defineProperty(AngularEditorToolbarComponent.prototype, "isLinkButtonDisabled", {
1137
+ get: function () {
1138
+ return this.htmlMode || !Boolean(this.editorService.selectedText);
1139
+ },
1140
+ enumerable: false,
1141
+ configurable: true
1142
+ });
1143
+ /**
1144
+ * Trigger command from editor header buttons
1145
+ * @param command string from toolbar buttons
1146
+ */
1147
+ AngularEditorToolbarComponent.prototype.triggerCommand = function (command) {
1148
+ this.execute.emit(command);
1149
+ };
1150
+ /**
1151
+ * highlight editor buttons when cursor moved or positioning
1152
+ */
1153
+ AngularEditorToolbarComponent.prototype.triggerButtons = function () {
1154
+ var _this = this;
1155
+ if (!this.showToolbar) {
1156
+ return;
1157
+ }
1158
+ this.buttons.forEach(function (e) {
1159
+ var result = _this.doc.queryCommandState(e);
1160
+ var elementById = _this.doc.getElementById(e + '-' + _this.id);
1161
+ if (result) {
1162
+ _this.r.addClass(elementById, 'active');
1163
+ }
1164
+ else {
1165
+ _this.r.removeClass(elementById, 'active');
1166
+ }
1167
+ });
1168
+ };
1169
+ /**
1170
+ * trigger highlight editor buttons when cursor moved or positioning in block
1171
+ */
1172
+ AngularEditorToolbarComponent.prototype.triggerBlocks = function (nodes) {
1173
+ var _this = this;
1174
+ if (!this.showToolbar) {
1175
+ return;
1176
+ }
1177
+ this.linkSelected = nodes.findIndex(function (x) { return x.nodeName === 'A'; }) > -1;
1178
+ var found = false;
1179
+ this.select.forEach(function (y) {
1180
+ var node = nodes.find(function (x) { return x.nodeName === y; });
1181
+ if (node !== undefined && y === node.nodeName) {
1182
+ if (found === false) {
1183
+ _this.block = node.nodeName.toLowerCase();
1184
+ found = true;
1185
+ }
1186
+ }
1187
+ else if (found === false) {
1188
+ _this.block = 'default';
1189
+ }
1190
+ });
1191
+ found = false;
1192
+ if (this._customClasses) {
1193
+ this._customClasses.forEach(function (y, index) {
1194
+ var node = nodes.find(function (x) {
1195
+ if (x instanceof Element) {
1196
+ return x.className === y.class;
1197
+ }
1198
+ });
1199
+ if (node !== undefined) {
1200
+ if (found === false) {
1201
+ _this.customClassId = index.toString();
1202
+ found = true;
1203
+ }
1204
+ }
1205
+ else if (found === false) {
1206
+ _this.customClassId = '-1';
1207
+ }
1208
+ });
1209
+ }
1210
+ Object.keys(this.tagMap).map(function (e) {
1211
+ var elementById = _this.doc.getElementById(_this.tagMap[e] + '-' + _this.id);
1212
+ var node = nodes.find(function (x) { return x.nodeName === e; });
1213
+ if (node !== undefined && e === node.nodeName) {
1214
+ _this.r.addClass(elementById, 'active');
1215
+ }
1216
+ else {
1217
+ _this.r.removeClass(elementById, 'active');
1218
+ }
1219
+ });
1220
+ this.foreColour = this.doc.queryCommandValue('ForeColor');
1221
+ this.fontSize = this.doc.queryCommandValue('FontSize');
1222
+ this.fontName = this.doc.queryCommandValue('FontName').replace(/"/g, '');
1223
+ this.backColor = this.doc.queryCommandValue('backColor');
1224
+ };
1225
+ /**
1226
+ * insert URL link
1227
+ */
1228
+ AngularEditorToolbarComponent.prototype.insertUrl = function () {
1229
+ var url = 'https:\/\/';
1230
+ var selection = this.editorService.savedSelection;
1231
+ if (selection && selection.commonAncestorContainer.parentElement.nodeName === 'A') {
1232
+ var parent = selection.commonAncestorContainer.parentElement;
1233
+ if (parent.href !== '') {
1234
+ url = parent.href;
1235
+ }
1236
+ }
1237
+ url = prompt('Insert URL link', url);
1238
+ if (url && url !== '' && url !== 'https://') {
1239
+ this.editorService.createLink(url);
1240
+ }
1241
+ };
1242
+ /**
1243
+ * insert Video link
1244
+ */
1245
+ AngularEditorToolbarComponent.prototype.insertVideo = function () {
1246
+ this.execute.emit('');
1247
+ var url = prompt('Insert Video link', "https://");
1248
+ if (url && url !== '' && url !== "https://") {
1249
+ this.editorService.insertVideo(url);
1250
+ }
1251
+ };
1252
+ /** insert color */
1253
+ AngularEditorToolbarComponent.prototype.insertColor = function (color, where) {
1254
+ this.editorService.insertColor(color, where);
1255
+ this.execute.emit('');
1256
+ };
1257
+ /**
1258
+ * set font Name/family
1259
+ * @param foreColor string
1260
+ */
1261
+ AngularEditorToolbarComponent.prototype.setFontName = function (foreColor) {
1262
+ this.editorService.setFontName(foreColor);
1263
+ this.execute.emit('');
1264
+ };
1265
+ /**
1266
+ * set font Size
1267
+ * @param fontSize string
1268
+ */
1269
+ AngularEditorToolbarComponent.prototype.setFontSize = function (fontSize) {
1270
+ this.editorService.setFontSize(fontSize);
1271
+ this.execute.emit('');
1272
+ };
1273
+ /**
1274
+ * toggle editor mode (WYSIWYG or SOURCE)
1275
+ * @param m boolean
1276
+ */
1277
+ AngularEditorToolbarComponent.prototype.setEditorMode = function (m) {
1278
+ var toggleEditorModeButton = this.doc.getElementById('toggleEditorMode' + '-' + this.id);
1279
+ if (m) {
1280
+ this.r.addClass(toggleEditorModeButton, 'active');
1281
+ }
1282
+ else {
1283
+ this.r.removeClass(toggleEditorModeButton, 'active');
1284
+ }
1285
+ this.htmlMode = m;
1286
+ };
1287
+ /**
1288
+ * Upload image when file is selected.
1289
+ */
1290
+ AngularEditorToolbarComponent.prototype.onFileChanged = function (event) {
1291
+ var _this = this;
1292
+ var file = event.target.files[0];
1293
+ if (file.type.includes('image/')) {
1294
+ if (this.upload) {
1295
+ this.upload(file).subscribe(function () { return _this.watchUploadImage; });
1296
+ }
1297
+ else if (this.uploadUrl) {
1298
+ this.editorService.uploadImage(file).subscribe(function () { return _this.watchUploadImage; });
1299
+ }
1300
+ else {
1301
+ var reader = new FileReader();
1302
+ reader.onload = function (e) {
1303
+ var fr = e.currentTarget;
1304
+ _this.editorService.insertImage(fr.result.toString());
1305
+ };
1306
+ reader.readAsDataURL(file);
1307
+ }
1308
+ }
1309
+ };
1310
+ AngularEditorToolbarComponent.prototype.watchUploadImage = function (response, event) {
1311
+ var imageUrl = response.body.imageUrl;
1312
+ this.editorService.insertImage(imageUrl);
1313
+ event.srcElement.value = null;
1314
+ };
1315
+ /**
1316
+ * Set custom class
1317
+ */
1318
+ AngularEditorToolbarComponent.prototype.setCustomClass = function (classId) {
1319
+ if (classId === '-1') {
1320
+ this.execute.emit('clear');
1321
+ }
1322
+ else {
1323
+ this.editorService.createCustomClass(this._customClasses[+classId]);
1324
+ }
1325
+ };
1326
+ AngularEditorToolbarComponent.prototype.isButtonHidden = function (name) {
1327
+ var e_1, _a;
1328
+ if (!name) {
1329
+ return false;
1330
+ }
1331
+ if (!(this.hiddenButtons instanceof Array)) {
1332
+ return false;
1333
+ }
1334
+ var result;
1335
+ try {
1336
+ for (var _b = __values(this.hiddenButtons), _c = _b.next(); !_c.done; _c = _b.next()) {
1337
+ var arr = _c.value;
1338
+ if (arr instanceof Array) {
1339
+ result = arr.find(function (item) { return item === name; });
1340
+ }
1341
+ if (result) {
1342
+ break;
1343
+ }
1344
+ }
1345
+ }
1346
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1347
+ finally {
1348
+ try {
1349
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1350
+ }
1351
+ finally { if (e_1) throw e_1.error; }
1352
+ }
1353
+ return result !== undefined;
1354
+ };
1355
+ AngularEditorToolbarComponent.prototype.focus = function () {
1356
+ this.execute.emit('focus');
1357
+ console.log('focused');
1358
+ };
1359
+ return AngularEditorToolbarComponent;
1360
+ }());
1361
+ AngularEditorToolbarComponent.decorators = [
1362
+ { type: core.Component, args: [{
1363
+ selector: 'angular-editor-toolbar',
1364
+ template: "<div class=\"angular-editor-toolbar\" *ngIf=\"showToolbar\">\n <div class=\"angular-editor-toolbar-set\">\n <button type=\"button\" title=\"Undo\" class=\"angular-editor-button\" (click)=\"triggerCommand('undo')\"\n [hidden]=\"isButtonHidden('undo')\" tabindex=\"-1\"><i\n class='fa fa-undo'></i></button>\n <button type=\"button\" title=\"Redo\" class=\"angular-editor-button\" (click)=\"triggerCommand('redo')\"\n [hidden]=\"isButtonHidden('redo')\" tabindex=\"-1\"><i\n class='fa fa-repeat'></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'bold-'+id\" type=\"button\" title=\"Bold\" class=\"angular-editor-button\" (click)=\"triggerCommand('bold')\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('bold')\" tabindex=\"-1\"><i class='fa fa-bold'></i></button>\n <button [id]=\"'italic-'+id\" type=\"button\" title=\"Italic\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('italic')\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('italic')\" tabindex=\"-1\"><i class='fa fa-italic'></i>\n </button>\n <button [id]=\"'underline-'+id\" type=\"button\" title=\"Underline\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('underline')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('underline')\"\n tabindex=\"-1\"><i class='fa fa-underline'></i></button>\n <button [id]=\"'strikeThrough-'+id\" type=\"button\" title=\"Strikethrough\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('strikeThrough')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('strikeThrough')\"\n tabindex=\"-1\"><i class='fa fa-strikethrough'></i></button>\n <button [id]=\"'subscript-'+id\" type=\"button\" title=\"Subscript\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('subscript')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('subscript')\"\n tabindex=\"-1\"><i class='fa fa-subscript'></i></button>\n <button [id]=\"'superscript-'+id\" type=\"button\" title=\"Superscript\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('superscript')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('superscript')\"\n tabindex=\"-1\"><i class='fa fa-superscript'></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'justifyLeft-'+id\" type=\"button\" title=\"Justify Left\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('justifyLeft')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('justifyLeft')\"\n tabindex=\"-1\"><i\n class='fa fa-align-left'></i></button>\n <button [id]=\"'justifyCenter-'+id\" type=\"button\" title=\"Justify Center\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('justifyCenter')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('justifyCenter')\"\n tabindex=\"-1\"><i\n class='fa fa-align-center'></i></button>\n <button [id]=\"'justifyRight-'+id\" type=\"button\" title=\"Justify Right\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('justifyRight')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('justifyRight')\"\n tabindex=\"-1\">\n <i class='fa fa-align-right'></i></button>\n <button [id]=\"'justifyFull-'+id\" type=\"button\" title=\"Justify Full\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('justifyFull')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('justifyFull')\"\n tabindex=\"-1\"><i\n class='fa fa-align-justify'></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'indent-'+id\" type=\"button\" title=\"Indent\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('indent')\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('indent')\" tabindex=\"-1\"><i\n class='fa fa-indent'></i></button>\n <button [id]=\"'outdent-'+id\" type=\"button\" title=\"Outdent\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('outdent')\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('outdent')\" tabindex=\"-1\"><i\n class='fa fa-outdent'></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'insertUnorderedList-'+id\" type=\"button\" title=\"Unordered List\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('insertUnorderedList')\" [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('insertUnorderedList')\" tabindex=\"-1\"><i\n class='fa fa-list-ul'></i></button>\n <button [id]=\"'insertOrderedList-'+id\" type=\"button\" title=\"Ordered List\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('insertOrderedList')\" [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('insertOrderedList')\" tabindex=\"-1\"><i\n class='fa fa-list-ol'></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n\n <ae-select class=\"select-heading\" [options]=\"headings\"\n [(ngModel)]=\"block\"\n (change)=\"triggerCommand(block)\"\n [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('heading')\"\n tabindex=\"-1\"></ae-select>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n\n <ae-select class=\"select-font\" [options]=\"fonts\"\n [(ngModel)]=\"fontName\"\n (change)=\"setFontName(fontName)\"\n [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('fontName')\"\n tabindex=\"-1\"></ae-select>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n\n <ae-select class=\"select-font-size\" [options]=\"fontSizes\"\n [(ngModel)]=\"fontSize\"\n (change)=\"setFontSize(fontSize)\"\n [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('fontSize')\"\n tabindex=\"-1\">\n </ae-select>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <input\n style=\"display: none\"\n type=\"color\" (change)=\"insertColor(fgInput.value, 'textColor')\"\n #fgInput>\n <button [id]=\"'foregroundColorPicker-'+id\" type=\"button\" class=\"angular-editor-button\" (click)=\"focus(); ; fgInput.click()\"\n title=\"Text Color\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('textColor')\" tabindex=\"-1\"><span\n class=\"color-label foreground\"><i class=\"fa fa-font\"></i></span>\n </button>\n <input\n style=\"display: none\"\n type=\"color\" (change)=\"insertColor(bgInput.value, 'backgroundColor')\"\n #bgInput>\n <button [id]=\"'backgroundColorPicker-'+id\" type=\"button\" class=\"angular-editor-button\" (click)=\"focus(); ; bgInput.click()\"\n title=\"Background Color\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('backgroundColor')\" tabindex=\"-1\"><span\n class=\"color-label background\"><i class=\"fa fa-font\"></i></span>\n </button>\n </div>\n <div *ngIf=\"_customClasses\" class=\"angular-editor-toolbar-set\">\n <ae-select class=\"select-custom-style\" [options]=\"customClassList\"\n [(ngModel)]=\"customClassId\"\n (change)=\"setCustomClass(customClassId)\"\n [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('customClasses')\"\n tabindex=\"-1\"></ae-select>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'link-'+id\" type=\"button\" class=\"angular-editor-button\" (click)=\"insertUrl()\"\n title=\"Insert Link\" [disabled]=\"isLinkButtonDisabled\" [hidden]=\"isButtonHidden('link')\" tabindex=\"-1\">\n <i class=\"fa fa-link\"></i>\n </button>\n <button [id]=\"'unlink-'+id\" type=\"button\" class=\"angular-editor-button\" (click)=\"triggerCommand('unlink')\"\n title=\"Unlink\" [disabled]=\"htmlMode || !linkSelected\" [hidden]=\"isButtonHidden('unlink')\" tabindex=\"-1\">\n <i class=\"fa fa-chain-broken\"></i>\n </button>\n <input\n style=\"display: none\"\n accept=\"image/*\"\n type=\"file\" (change)=\"onFileChanged($event)\"\n #fileInput>\n <button [id]=\"'insertImage-'+id\" type=\"button\" class=\"angular-editor-button\" (click)=\"focus(); fileInput.click()\"\n title=\"Insert Image\"\n [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('insertImage')\" tabindex=\"-1\"><i class=\"fa fa-image\"></i>\n </button>\n <button [id]=\"'insertVideo-'+id\" type=\"button\" class=\"angular-editor-button\"\n (click)=\"insertVideo()\" title=\"Insert Video\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('insertVideo')\"\n tabindex=\"-1\"><i\n class=\"fa fa-video-camera\"></i></button>\n <button [id]=\"'insertHorizontalRule-'+id\" type=\"button\" title=\"Horizontal Line\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('insertHorizontalRule')\" [disabled]=\"htmlMode\"\n [hidden]=\"isButtonHidden('insertHorizontalRule')\" tabindex=\"-1\"><i\n class=\"fa fa-minus\"></i></button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'clearFormatting-'+id\" type=\"button\" title=\"Clear Formatting\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('removeFormat')\" [disabled]=\"htmlMode\" [hidden]=\"isButtonHidden('removeFormat')\"\n tabindex=\"-1\"><i class='fa fa-remove'></i>\n </button>\n </div>\n <div class=\"angular-editor-toolbar-set\">\n <button [id]=\"'toggleEditorMode-'+id\" type=\"button\" title=\"HTML Code\" class=\"angular-editor-button\"\n (click)=\"triggerCommand('toggleEditorMode')\" [hidden]=\"isButtonHidden('toggleEditorMode')\" tabindex=\"-1\"><i\n class='fa fa-code'></i></button>\n </div>\n</div>\n",
1365
+ 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;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\");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.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{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\uF000\"}.fa-music:before{content:\"\uF001\"}.fa-search:before{content:\"\uF002\"}.fa-envelope-o:before{content:\"\uF003\"}.fa-heart:before{content:\"\uF004\"}.fa-star:before{content:\"\uF005\"}.fa-star-o:before{content:\"\uF006\"}.fa-user:before{content:\"\uF007\"}.fa-film:before{content:\"\uF008\"}.fa-th-large:before{content:\"\uF009\"}.fa-th:before{content:\"\uF00A\"}.fa-th-list:before{content:\"\uF00B\"}.fa-check:before{content:\"\uF00C\"}.fa-close:before,.fa-remove:before,.fa-times:before{content:\"\uF00D\"}.fa-search-plus:before{content:\"\uF00E\"}.fa-search-minus:before{content:\"\uF010\"}.fa-power-off:before{content:\"\uF011\"}.fa-signal:before{content:\"\uF012\"}.fa-cog:before,.fa-gear:before{content:\"\uF013\"}.fa-trash-o:before{content:\"\uF014\"}.fa-home:before{content:\"\uF015\"}.fa-file-o:before{content:\"\uF016\"}.fa-clock-o:before{content:\"\uF017\"}.fa-road:before{content:\"\uF018\"}.fa-download:before{content:\"\uF019\"}.fa-arrow-circle-o-down:before{content:\"\uF01A\"}.fa-arrow-circle-o-up:before{content:\"\uF01B\"}.fa-inbox:before{content:\"\uF01C\"}.fa-play-circle-o:before{content:\"\uF01D\"}.fa-repeat:before,.fa-rotate-right:before{content:\"\uF01E\"}.fa-refresh:before{content:\"\uF021\"}.fa-list-alt:before{content:\"\uF022\"}.fa-lock:before{content:\"\uF023\"}.fa-flag:before{content:\"\uF024\"}.fa-headphones:before{content:\"\uF025\"}.fa-volume-off:before{content:\"\uF026\"}.fa-volume-down:before{content:\"\uF027\"}.fa-volume-up:before{content:\"\uF028\"}.fa-qrcode:before{content:\"\uF029\"}.fa-barcode:before{content:\"\uF02A\"}.fa-tag:before{content:\"\uF02B\"}.fa-tags:before{content:\"\uF02C\"}.fa-book:before{content:\"\uF02D\"}.fa-bookmark:before{content:\"\uF02E\"}.fa-print:before{content:\"\uF02F\"}.fa-camera:before{content:\"\uF030\"}.fa-font:before{content:\"\uF031\"}.fa-bold:before{content:\"\uF032\"}.fa-italic:before{content:\"\uF033\"}.fa-text-height:before{content:\"\uF034\"}.fa-text-width:before{content:\"\uF035\"}.fa-align-left:before{content:\"\uF036\"}.fa-align-center:before{content:\"\uF037\"}.fa-align-right:before{content:\"\uF038\"}.fa-align-justify:before{content:\"\uF039\"}.fa-list:before{content:\"\uF03A\"}.fa-dedent:before,.fa-outdent:before{content:\"\uF03B\"}.fa-indent:before{content:\"\uF03C\"}.fa-video-camera:before{content:\"\uF03D\"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:\"\uF03E\"}.fa-pencil:before{content:\"\uF040\"}.fa-map-marker:before{content:\"\uF041\"}.fa-adjust:before{content:\"\uF042\"}.fa-tint:before{content:\"\uF043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\uF044\"}.fa-share-square-o:before{content:\"\uF045\"}.fa-check-square-o:before{content:\"\uF046\"}.fa-arrows:before{content:\"\uF047\"}.fa-step-backward:before{content:\"\uF048\"}.fa-fast-backward:before{content:\"\uF049\"}.fa-backward:before{content:\"\uF04A\"}.fa-play:before{content:\"\uF04B\"}.fa-pause:before{content:\"\uF04C\"}.fa-stop:before{content:\"\uF04D\"}.fa-forward:before{content:\"\uF04E\"}.fa-fast-forward:before{content:\"\uF050\"}.fa-step-forward:before{content:\"\uF051\"}.fa-eject:before{content:\"\uF052\"}.fa-chevron-left:before{content:\"\uF053\"}.fa-chevron-right:before{content:\"\uF054\"}.fa-plus-circle:before{content:\"\uF055\"}.fa-minus-circle:before{content:\"\uF056\"}.fa-times-circle:before{content:\"\uF057\"}.fa-check-circle:before{content:\"\uF058\"}.fa-question-circle:before{content:\"\uF059\"}.fa-info-circle:before{content:\"\uF05A\"}.fa-crosshairs:before{content:\"\uF05B\"}.fa-times-circle-o:before{content:\"\uF05C\"}.fa-check-circle-o:before{content:\"\uF05D\"}.fa-ban:before{content:\"\uF05E\"}.fa-arrow-left:before{content:\"\uF060\"}.fa-arrow-right:before{content:\"\uF061\"}.fa-arrow-up:before{content:\"\uF062\"}.fa-arrow-down:before{content:\"\uF063\"}.fa-mail-forward:before,.fa-share:before{content:\"\uF064\"}.fa-expand:before{content:\"\uF065\"}.fa-compress:before{content:\"\uF066\"}.fa-plus:before{content:\"\uF067\"}.fa-minus:before{content:\"\uF068\"}.fa-asterisk:before{content:\"\uF069\"}.fa-exclamation-circle:before{content:\"\uF06A\"}.fa-gift:before{content:\"\uF06B\"}.fa-leaf:before{content:\"\uF06C\"}.fa-fire:before{content:\"\uF06D\"}.fa-eye:before{content:\"\uF06E\"}.fa-eye-slash:before{content:\"\uF070\"}.fa-exclamation-triangle:before,.fa-warning:before{content:\"\uF071\"}.fa-plane:before{content:\"\uF072\"}.fa-calendar:before{content:\"\uF073\"}.fa-random:before{content:\"\uF074\"}.fa-comment:before{content:\"\uF075\"}.fa-magnet:before{content:\"\uF076\"}.fa-chevron-up:before{content:\"\uF077\"}.fa-chevron-down:before{content:\"\uF078\"}.fa-retweet:before{content:\"\uF079\"}.fa-shopping-cart:before{content:\"\uF07A\"}.fa-folder:before{content:\"\uF07B\"}.fa-folder-open:before{content:\"\uF07C\"}.fa-arrows-v:before{content:\"\uF07D\"}.fa-arrows-h:before{content:\"\uF07E\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\uF080\"}.fa-twitter-square:before{content:\"\uF081\"}.fa-facebook-square:before{content:\"\uF082\"}.fa-camera-retro:before{content:\"\uF083\"}.fa-key:before{content:\"\uF084\"}.fa-cogs:before,.fa-gears:before{content:\"\uF085\"}.fa-comments:before{content:\"\uF086\"}.fa-thumbs-o-up:before{content:\"\uF087\"}.fa-thumbs-o-down:before{content:\"\uF088\"}.fa-star-half:before{content:\"\uF089\"}.fa-heart-o:before{content:\"\uF08A\"}.fa-sign-out:before{content:\"\uF08B\"}.fa-linkedin-square:before{content:\"\uF08C\"}.fa-thumb-tack:before{content:\"\uF08D\"}.fa-external-link:before{content:\"\uF08E\"}.fa-sign-in:before{content:\"\uF090\"}.fa-trophy:before{content:\"\uF091\"}.fa-github-square:before{content:\"\uF092\"}.fa-upload:before{content:\"\uF093\"}.fa-lemon-o:before{content:\"\uF094\"}.fa-phone:before{content:\"\uF095\"}.fa-square-o:before{content:\"\uF096\"}.fa-bookmark-o:before{content:\"\uF097\"}.fa-phone-square:before{content:\"\uF098\"}.fa-twitter:before{content:\"\uF099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\uF09A\"}.fa-github:before{content:\"\uF09B\"}.fa-unlock:before{content:\"\uF09C\"}.fa-credit-card:before{content:\"\uF09D\"}.fa-feed:before,.fa-rss:before{content:\"\uF09E\"}.fa-hdd-o:before{content:\"\uF0A0\"}.fa-bullhorn:before{content:\"\uF0A1\"}.fa-bell:before{content:\"\uF0F3\"}.fa-certificate:before{content:\"\uF0A3\"}.fa-hand-o-right:before{content:\"\uF0A4\"}.fa-hand-o-left:before{content:\"\uF0A5\"}.fa-hand-o-up:before{content:\"\uF0A6\"}.fa-hand-o-down:before{content:\"\uF0A7\"}.fa-arrow-circle-left:before{content:\"\uF0A8\"}.fa-arrow-circle-right:before{content:\"\uF0A9\"}.fa-arrow-circle-up:before{content:\"\uF0AA\"}.fa-arrow-circle-down:before{content:\"\uF0AB\"}.fa-globe:before{content:\"\uF0AC\"}.fa-wrench:before{content:\"\uF0AD\"}.fa-tasks:before{content:\"\uF0AE\"}.fa-filter:before{content:\"\uF0B0\"}.fa-briefcase:before{content:\"\uF0B1\"}.fa-arrows-alt:before{content:\"\uF0B2\"}.fa-group:before,.fa-users:before{content:\"\uF0C0\"}.fa-chain:before,.fa-link:before{content:\"\uF0C1\"}.fa-cloud:before{content:\"\uF0C2\"}.fa-flask:before{content:\"\uF0C3\"}.fa-cut:before,.fa-scissors:before{content:\"\uF0C4\"}.fa-copy:before,.fa-files-o:before{content:\"\uF0C5\"}.fa-paperclip:before{content:\"\uF0C6\"}.fa-floppy-o:before,.fa-save:before{content:\"\uF0C7\"}.fa-square:before{content:\"\uF0C8\"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:\"\uF0C9\"}.fa-list-ul:before{content:\"\uF0CA\"}.fa-list-ol:before{content:\"\uF0CB\"}.fa-strikethrough:before{content:\"\uF0CC\"}.fa-underline:before{content:\"\uF0CD\"}.fa-table:before{content:\"\uF0CE\"}.fa-magic:before{content:\"\uF0D0\"}.fa-truck:before{content:\"\uF0D1\"}.fa-pinterest:before{content:\"\uF0D2\"}.fa-pinterest-square:before{content:\"\uF0D3\"}.fa-google-plus-square:before{content:\"\uF0D4\"}.fa-google-plus:before{content:\"\uF0D5\"}.fa-money:before{content:\"\uF0D6\"}.fa-caret-down:before{content:\"\uF0D7\"}.fa-caret-up:before{content:\"\uF0D8\"}.fa-caret-left:before{content:\"\uF0D9\"}.fa-caret-right:before{content:\"\uF0DA\"}.fa-columns:before{content:\"\uF0DB\"}.fa-sort:before,.fa-unsorted:before{content:\"\uF0DC\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\uF0DD\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\uF0DE\"}.fa-envelope:before{content:\"\uF0E0\"}.fa-linkedin:before{content:\"\uF0E1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\uF0E2\"}.fa-gavel:before,.fa-legal:before{content:\"\uF0E3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\uF0E4\"}.fa-comment-o:before{content:\"\uF0E5\"}.fa-comments-o:before{content:\"\uF0E6\"}.fa-bolt:before,.fa-flash:before{content:\"\uF0E7\"}.fa-sitemap:before{content:\"\uF0E8\"}.fa-umbrella:before{content:\"\uF0E9\"}.fa-clipboard:before,.fa-paste:before{content:\"\uF0EA\"}.fa-lightbulb-o:before{content:\"\uF0EB\"}.fa-exchange:before{content:\"\uF0EC\"}.fa-cloud-download:before{content:\"\uF0ED\"}.fa-cloud-upload:before{content:\"\uF0EE\"}.fa-user-md:before{content:\"\uF0F0\"}.fa-stethoscope:before{content:\"\uF0F1\"}.fa-suitcase:before{content:\"\uF0F2\"}.fa-bell-o:before{content:\"\uF0A2\"}.fa-coffee:before{content:\"\uF0F4\"}.fa-cutlery:before{content:\"\uF0F5\"}.fa-file-text-o:before{content:\"\uF0F6\"}.fa-building-o:before{content:\"\uF0F7\"}.fa-hospital-o:before{content:\"\uF0F8\"}.fa-ambulance:before{content:\"\uF0F9\"}.fa-medkit:before{content:\"\uF0FA\"}.fa-fighter-jet:before{content:\"\uF0FB\"}.fa-beer:before{content:\"\uF0FC\"}.fa-h-square:before{content:\"\uF0FD\"}.fa-plus-square:before{content:\"\uF0FE\"}.fa-angle-double-left:before{content:\"\uF100\"}.fa-angle-double-right:before{content:\"\uF101\"}.fa-angle-double-up:before{content:\"\uF102\"}.fa-angle-double-down:before{content:\"\uF103\"}.fa-angle-left:before{content:\"\uF104\"}.fa-angle-right:before{content:\"\uF105\"}.fa-angle-up:before{content:\"\uF106\"}.fa-angle-down:before{content:\"\uF107\"}.fa-desktop:before{content:\"\uF108\"}.fa-laptop:before{content:\"\uF109\"}.fa-tablet:before{content:\"\uF10A\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\uF10B\"}.fa-circle-o:before{content:\"\uF10C\"}.fa-quote-left:before{content:\"\uF10D\"}.fa-quote-right:before{content:\"\uF10E\"}.fa-spinner:before{content:\"\uF110\"}.fa-circle:before{content:\"\uF111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\uF112\"}.fa-github-alt:before{content:\"\uF113\"}.fa-folder-o:before{content:\"\uF114\"}.fa-folder-open-o:before{content:\"\uF115\"}.fa-smile-o:before{content:\"\uF118\"}.fa-frown-o:before{content:\"\uF119\"}.fa-meh-o:before{content:\"\uF11A\"}.fa-gamepad:before{content:\"\uF11B\"}.fa-keyboard-o:before{content:\"\uF11C\"}.fa-flag-o:before{content:\"\uF11D\"}.fa-flag-checkered:before{content:\"\uF11E\"}.fa-terminal:before{content:\"\uF120\"}.fa-code:before{content:\"\uF121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\uF122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\uF123\"}.fa-location-arrow:before{content:\"\uF124\"}.fa-crop:before{content:\"\uF125\"}.fa-code-fork:before{content:\"\uF126\"}.fa-chain-broken:before,.fa-unlink:before{content:\"\uF127\"}.fa-question:before{content:\"\uF128\"}.fa-info:before{content:\"\uF129\"}.fa-exclamation:before{content:\"\uF12A\"}.fa-superscript:before{content:\"\uF12B\"}.fa-subscript:before{content:\"\uF12C\"}.fa-eraser:before{content:\"\uF12D\"}.fa-puzzle-piece:before{content:\"\uF12E\"}.fa-microphone:before{content:\"\uF130\"}.fa-microphone-slash:before{content:\"\uF131\"}.fa-shield:before{content:\"\uF132\"}.fa-calendar-o:before{content:\"\uF133\"}.fa-fire-extinguisher:before{content:\"\uF134\"}.fa-rocket:before{content:\"\uF135\"}.fa-maxcdn:before{content:\"\uF136\"}.fa-chevron-circle-left:before{content:\"\uF137\"}.fa-chevron-circle-right:before{content:\"\uF138\"}.fa-chevron-circle-up:before{content:\"\uF139\"}.fa-chevron-circle-down:before{content:\"\uF13A\"}.fa-html5:before{content:\"\uF13B\"}.fa-css3:before{content:\"\uF13C\"}.fa-anchor:before{content:\"\uF13D\"}.fa-unlock-alt:before{content:\"\uF13E\"}.fa-bullseye:before{content:\"\uF140\"}.fa-ellipsis-h:before{content:\"\uF141\"}.fa-ellipsis-v:before{content:\"\uF142\"}.fa-rss-square:before{content:\"\uF143\"}.fa-play-circle:before{content:\"\uF144\"}.fa-ticket:before{content:\"\uF145\"}.fa-minus-square:before{content:\"\uF146\"}.fa-minus-square-o:before{content:\"\uF147\"}.fa-level-up:before{content:\"\uF148\"}.fa-level-down:before{content:\"\uF149\"}.fa-check-square:before{content:\"\uF14A\"}.fa-pencil-square:before{content:\"\uF14B\"}.fa-external-link-square:before{content:\"\uF14C\"}.fa-share-square:before{content:\"\uF14D\"}.fa-compass:before{content:\"\uF14E\"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:\"\uF150\"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:\"\uF151\"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:\"\uF152\"}.fa-eur:before,.fa-euro:before{content:\"\uF153\"}.fa-gbp:before{content:\"\uF154\"}.fa-dollar:before,.fa-usd:before{content:\"\uF155\"}.fa-inr:before,.fa-rupee:before{content:\"\uF156\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:\"\uF157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:\"\uF158\"}.fa-krw:before,.fa-won:before{content:\"\uF159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\uF15A\"}.fa-file:before{content:\"\uF15B\"}.fa-file-text:before{content:\"\uF15C\"}.fa-sort-alpha-asc:before{content:\"\uF15D\"}.fa-sort-alpha-desc:before{content:\"\uF15E\"}.fa-sort-amount-asc:before{content:\"\uF160\"}.fa-sort-amount-desc:before{content:\"\uF161\"}.fa-sort-numeric-asc:before{content:\"\uF162\"}.fa-sort-numeric-desc:before{content:\"\uF163\"}.fa-thumbs-up:before{content:\"\uF164\"}.fa-thumbs-down:before{content:\"\uF165\"}.fa-youtube-square:before{content:\"\uF166\"}.fa-youtube:before{content:\"\uF167\"}.fa-xing:before{content:\"\uF168\"}.fa-xing-square:before{content:\"\uF169\"}.fa-youtube-play:before{content:\"\uF16A\"}.fa-dropbox:before{content:\"\uF16B\"}.fa-stack-overflow:before{content:\"\uF16C\"}.fa-instagram:before{content:\"\uF16D\"}.fa-flickr:before{content:\"\uF16E\"}.fa-adn:before{content:\"\uF170\"}.fa-bitbucket:before{content:\"\uF171\"}.fa-bitbucket-square:before{content:\"\uF172\"}.fa-tumblr:before{content:\"\uF173\"}.fa-tumblr-square:before{content:\"\uF174\"}.fa-long-arrow-down:before{content:\"\uF175\"}.fa-long-arrow-up:before{content:\"\uF176\"}.fa-long-arrow-left:before{content:\"\uF177\"}.fa-long-arrow-right:before{content:\"\uF178\"}.fa-apple:before{content:\"\uF179\"}.fa-windows:before{content:\"\uF17A\"}.fa-android:before{content:\"\uF17B\"}.fa-linux:before{content:\"\uF17C\"}.fa-dribbble:before{content:\"\uF17D\"}.fa-skype:before{content:\"\uF17E\"}.fa-foursquare:before{content:\"\uF180\"}.fa-trello:before{content:\"\uF181\"}.fa-female:before{content:\"\uF182\"}.fa-male:before{content:\"\uF183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\uF184\"}.fa-sun-o:before{content:\"\uF185\"}.fa-moon-o:before{content:\"\uF186\"}.fa-archive:before{content:\"\uF187\"}.fa-bug:before{content:\"\uF188\"}.fa-vk:before{content:\"\uF189\"}.fa-weibo:before{content:\"\uF18A\"}.fa-renren:before{content:\"\uF18B\"}.fa-pagelines:before{content:\"\uF18C\"}.fa-stack-exchange:before{content:\"\uF18D\"}.fa-arrow-circle-o-right:before{content:\"\uF18E\"}.fa-arrow-circle-o-left:before{content:\"\uF190\"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:\"\uF191\"}.fa-dot-circle-o:before{content:\"\uF192\"}.fa-wheelchair:before{content:\"\uF193\"}.fa-vimeo-square:before{content:\"\uF194\"}.fa-try:before,.fa-turkish-lira:before{content:\"\uF195\"}.fa-plus-square-o:before{content:\"\uF196\"}.fa-space-shuttle:before{content:\"\uF197\"}.fa-slack:before{content:\"\uF198\"}.fa-envelope-square:before{content:\"\uF199\"}.fa-wordpress:before{content:\"\uF19A\"}.fa-openid:before{content:\"\uF19B\"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:\"\uF19C\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\uF19D\"}.fa-yahoo:before{content:\"\uF19E\"}.fa-google:before{content:\"\uF1A0\"}.fa-reddit:before{content:\"\uF1A1\"}.fa-reddit-square:before{content:\"\uF1A2\"}.fa-stumbleupon-circle:before{content:\"\uF1A3\"}.fa-stumbleupon:before{content:\"\uF1A4\"}.fa-delicious:before{content:\"\uF1A5\"}.fa-digg:before{content:\"\uF1A6\"}.fa-pied-piper-pp:before{content:\"\uF1A7\"}.fa-pied-piper-alt:before{content:\"\uF1A8\"}.fa-drupal:before{content:\"\uF1A9\"}.fa-joomla:before{content:\"\uF1AA\"}.fa-language:before{content:\"\uF1AB\"}.fa-fax:before{content:\"\uF1AC\"}.fa-building:before{content:\"\uF1AD\"}.fa-child:before{content:\"\uF1AE\"}.fa-paw:before{content:\"\uF1B0\"}.fa-spoon:before{content:\"\uF1B1\"}.fa-cube:before{content:\"\uF1B2\"}.fa-cubes:before{content:\"\uF1B3\"}.fa-behance:before{content:\"\uF1B4\"}.fa-behance-square:before{content:\"\uF1B5\"}.fa-steam:before{content:\"\uF1B6\"}.fa-steam-square:before{content:\"\uF1B7\"}.fa-recycle:before{content:\"\uF1B8\"}.fa-automobile:before,.fa-car:before{content:\"\uF1B9\"}.fa-cab:before,.fa-taxi:before{content:\"\uF1BA\"}.fa-tree:before{content:\"\uF1BB\"}.fa-spotify:before{content:\"\uF1BC\"}.fa-deviantart:before{content:\"\uF1BD\"}.fa-soundcloud:before{content:\"\uF1BE\"}.fa-database:before{content:\"\uF1C0\"}.fa-file-pdf-o:before{content:\"\uF1C1\"}.fa-file-word-o:before{content:\"\uF1C2\"}.fa-file-excel-o:before{content:\"\uF1C3\"}.fa-file-powerpoint-o:before{content:\"\uF1C4\"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:\"\uF1C5\"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:\"\uF1C6\"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:\"\uF1C7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\uF1C8\"}.fa-file-code-o:before{content:\"\uF1C9\"}.fa-vine:before{content:\"\uF1CA\"}.fa-codepen:before{content:\"\uF1CB\"}.fa-jsfiddle:before{content:\"\uF1CC\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:\"\uF1CD\"}.fa-circle-o-notch:before{content:\"\uF1CE\"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:\"\uF1D0\"}.fa-empire:before,.fa-ge:before{content:\"\uF1D1\"}.fa-git-square:before{content:\"\uF1D2\"}.fa-git:before{content:\"\uF1D3\"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:\"\uF1D4\"}.fa-tencent-weibo:before{content:\"\uF1D5\"}.fa-qq:before{content:\"\uF1D6\"}.fa-wechat:before,.fa-weixin:before{content:\"\uF1D7\"}.fa-paper-plane:before,.fa-send:before{content:\"\uF1D8\"}.fa-paper-plane-o:before,.fa-send-o:before{content:\"\uF1D9\"}.fa-history:before{content:\"\uF1DA\"}.fa-circle-thin:before{content:\"\uF1DB\"}.fa-header:before{content:\"\uF1DC\"}.fa-paragraph:before{content:\"\uF1DD\"}.fa-sliders:before{content:\"\uF1DE\"}.fa-share-alt:before{content:\"\uF1E0\"}.fa-share-alt-square:before{content:\"\uF1E1\"}.fa-bomb:before{content:\"\uF1E2\"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:\"\uF1E3\"}.fa-tty:before{content:\"\uF1E4\"}.fa-binoculars:before{content:\"\uF1E5\"}.fa-plug:before{content:\"\uF1E6\"}.fa-slideshare:before{content:\"\uF1E7\"}.fa-twitch:before{content:\"\uF1E8\"}.fa-yelp:before{content:\"\uF1E9\"}.fa-newspaper-o:before{content:\"\uF1EA\"}.fa-wifi:before{content:\"\uF1EB\"}.fa-calculator:before{content:\"\uF1EC\"}.fa-paypal:before{content:\"\uF1ED\"}.fa-google-wallet:before{content:\"\uF1EE\"}.fa-cc-visa:before{content:\"\uF1F0\"}.fa-cc-mastercard:before{content:\"\uF1F1\"}.fa-cc-discover:before{content:\"\uF1F2\"}.fa-cc-amex:before{content:\"\uF1F3\"}.fa-cc-paypal:before{content:\"\uF1F4\"}.fa-cc-stripe:before{content:\"\uF1F5\"}.fa-bell-slash:before{content:\"\uF1F6\"}.fa-bell-slash-o:before{content:\"\uF1F7\"}.fa-trash:before{content:\"\uF1F8\"}.fa-copyright:before{content:\"\uF1F9\"}.fa-at:before{content:\"\uF1FA\"}.fa-eyedropper:before{content:\"\uF1FB\"}.fa-paint-brush:before{content:\"\uF1FC\"}.fa-birthday-cake:before{content:\"\uF1FD\"}.fa-area-chart:before{content:\"\uF1FE\"}.fa-pie-chart:before{content:\"\uF200\"}.fa-line-chart:before{content:\"\uF201\"}.fa-lastfm:before{content:\"\uF202\"}.fa-lastfm-square:before{content:\"\uF203\"}.fa-toggle-off:before{content:\"\uF204\"}.fa-toggle-on:before{content:\"\uF205\"}.fa-bicycle:before{content:\"\uF206\"}.fa-bus:before{content:\"\uF207\"}.fa-ioxhost:before{content:\"\uF208\"}.fa-angellist:before{content:\"\uF209\"}.fa-cc:before{content:\"\uF20A\"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:\"\uF20B\"}.fa-meanpath:before{content:\"\uF20C\"}.fa-buysellads:before{content:\"\uF20D\"}.fa-connectdevelop:before{content:\"\uF20E\"}.fa-dashcube:before{content:\"\uF210\"}.fa-forumbee:before{content:\"\uF211\"}.fa-leanpub:before{content:\"\uF212\"}.fa-sellsy:before{content:\"\uF213\"}.fa-shirtsinbulk:before{content:\"\uF214\"}.fa-simplybuilt:before{content:\"\uF215\"}.fa-skyatlas:before{content:\"\uF216\"}.fa-cart-plus:before{content:\"\uF217\"}.fa-cart-arrow-down:before{content:\"\uF218\"}.fa-diamond:before{content:\"\uF219\"}.fa-ship:before{content:\"\uF21A\"}.fa-user-secret:before{content:\"\uF21B\"}.fa-motorcycle:before{content:\"\uF21C\"}.fa-street-view:before{content:\"\uF21D\"}.fa-heartbeat:before{content:\"\uF21E\"}.fa-venus:before{content:\"\uF221\"}.fa-mars:before{content:\"\uF222\"}.fa-mercury:before{content:\"\uF223\"}.fa-intersex:before,.fa-transgender:before{content:\"\uF224\"}.fa-transgender-alt:before{content:\"\uF225\"}.fa-venus-double:before{content:\"\uF226\"}.fa-mars-double:before{content:\"\uF227\"}.fa-venus-mars:before{content:\"\uF228\"}.fa-mars-stroke:before{content:\"\uF229\"}.fa-mars-stroke-v:before{content:\"\uF22A\"}.fa-mars-stroke-h:before{content:\"\uF22B\"}.fa-neuter:before{content:\"\uF22C\"}.fa-genderless:before{content:\"\uF22D\"}.fa-facebook-official:before{content:\"\uF230\"}.fa-pinterest-p:before{content:\"\uF231\"}.fa-whatsapp:before{content:\"\uF232\"}.fa-server:before{content:\"\uF233\"}.fa-user-plus:before{content:\"\uF234\"}.fa-user-times:before{content:\"\uF235\"}.fa-bed:before,.fa-hotel:before{content:\"\uF236\"}.fa-viacoin:before{content:\"\uF237\"}.fa-train:before{content:\"\uF238\"}.fa-subway:before{content:\"\uF239\"}.fa-medium:before{content:\"\uF23A\"}.fa-y-combinator:before,.fa-yc:before{content:\"\uF23B\"}.fa-optin-monster:before{content:\"\uF23C\"}.fa-opencart:before{content:\"\uF23D\"}.fa-expeditedssl:before{content:\"\uF23E\"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:\"\uF240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\uF241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\uF242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\uF243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\uF244\"}.fa-mouse-pointer:before{content:\"\uF245\"}.fa-i-cursor:before{content:\"\uF246\"}.fa-object-group:before{content:\"\uF247\"}.fa-object-ungroup:before{content:\"\uF248\"}.fa-sticky-note:before{content:\"\uF249\"}.fa-sticky-note-o:before{content:\"\uF24A\"}.fa-cc-jcb:before{content:\"\uF24B\"}.fa-cc-diners-club:before{content:\"\uF24C\"}.fa-clone:before{content:\"\uF24D\"}.fa-balance-scale:before{content:\"\uF24E\"}.fa-hourglass-o:before{content:\"\uF250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\uF251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\uF252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\uF253\"}.fa-hourglass:before{content:\"\uF254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\uF255\"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:\"\uF256\"}.fa-hand-scissors-o:before{content:\"\uF257\"}.fa-hand-lizard-o:before{content:\"\uF258\"}.fa-hand-spock-o:before{content:\"\uF259\"}.fa-hand-pointer-o:before{content:\"\uF25A\"}.fa-hand-peace-o:before{content:\"\uF25B\"}.fa-trademark:before{content:\"\uF25C\"}.fa-registered:before{content:\"\uF25D\"}.fa-creative-commons:before{content:\"\uF25E\"}.fa-gg:before{content:\"\uF260\"}.fa-gg-circle:before{content:\"\uF261\"}.fa-tripadvisor:before{content:\"\uF262\"}.fa-odnoklassniki:before{content:\"\uF263\"}.fa-odnoklassniki-square:before{content:\"\uF264\"}.fa-get-pocket:before{content:\"\uF265\"}.fa-wikipedia-w:before{content:\"\uF266\"}.fa-safari:before{content:\"\uF267\"}.fa-chrome:before{content:\"\uF268\"}.fa-firefox:before{content:\"\uF269\"}.fa-opera:before{content:\"\uF26A\"}.fa-internet-explorer:before{content:\"\uF26B\"}.fa-television:before,.fa-tv:before{content:\"\uF26C\"}.fa-contao:before{content:\"\uF26D\"}.fa-500px:before{content:\"\uF26E\"}.fa-amazon:before{content:\"\uF270\"}.fa-calendar-plus-o:before{content:\"\uF271\"}.fa-calendar-minus-o:before{content:\"\uF272\"}.fa-calendar-times-o:before{content:\"\uF273\"}.fa-calendar-check-o:before{content:\"\uF274\"}.fa-industry:before{content:\"\uF275\"}.fa-map-pin:before{content:\"\uF276\"}.fa-map-signs:before{content:\"\uF277\"}.fa-map-o:before{content:\"\uF278\"}.fa-map:before{content:\"\uF279\"}.fa-commenting:before{content:\"\uF27A\"}.fa-commenting-o:before{content:\"\uF27B\"}.fa-houzz:before{content:\"\uF27C\"}.fa-vimeo:before{content:\"\uF27D\"}.fa-black-tie:before{content:\"\uF27E\"}.fa-fonticons:before{content:\"\uF280\"}.fa-reddit-alien:before{content:\"\uF281\"}.fa-edge:before{content:\"\uF282\"}.fa-credit-card-alt:before{content:\"\uF283\"}.fa-codiepie:before{content:\"\uF284\"}.fa-modx:before{content:\"\uF285\"}.fa-fort-awesome:before{content:\"\uF286\"}.fa-usb:before{content:\"\uF287\"}.fa-product-hunt:before{content:\"\uF288\"}.fa-mixcloud:before{content:\"\uF289\"}.fa-scribd:before{content:\"\uF28A\"}.fa-pause-circle:before{content:\"\uF28B\"}.fa-pause-circle-o:before{content:\"\uF28C\"}.fa-stop-circle:before{content:\"\uF28D\"}.fa-stop-circle-o:before{content:\"\uF28E\"}.fa-shopping-bag:before{content:\"\uF290\"}.fa-shopping-basket:before{content:\"\uF291\"}.fa-hashtag:before{content:\"\uF292\"}.fa-bluetooth:before{content:\"\uF293\"}.fa-bluetooth-b:before{content:\"\uF294\"}.fa-percent:before{content:\"\uF295\"}.fa-gitlab:before{content:\"\uF296\"}.fa-wpbeginner:before{content:\"\uF297\"}.fa-wpforms:before{content:\"\uF298\"}.fa-envira:before{content:\"\uF299\"}.fa-universal-access:before{content:\"\uF29A\"}.fa-wheelchair-alt:before{content:\"\uF29B\"}.fa-question-circle-o:before{content:\"\uF29C\"}.fa-blind:before{content:\"\uF29D\"}.fa-audio-description:before{content:\"\uF29E\"}.fa-volume-control-phone:before{content:\"\uF2A0\"}.fa-braille:before{content:\"\uF2A1\"}.fa-assistive-listening-systems:before{content:\"\uF2A2\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:\"\uF2A3\"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:\"\uF2A4\"}.fa-glide:before{content:\"\uF2A5\"}.fa-glide-g:before{content:\"\uF2A6\"}.fa-sign-language:before,.fa-signing:before{content:\"\uF2A7\"}.fa-low-vision:before{content:\"\uF2A8\"}.fa-viadeo:before{content:\"\uF2A9\"}.fa-viadeo-square:before{content:\"\uF2AA\"}.fa-snapchat:before{content:\"\uF2AB\"}.fa-snapchat-ghost:before{content:\"\uF2AC\"}.fa-snapchat-square:before{content:\"\uF2AD\"}.fa-pied-piper:before{content:\"\uF2AE\"}.fa-first-order:before{content:\"\uF2B0\"}.fa-yoast:before{content:\"\uF2B1\"}.fa-themeisle:before{content:\"\uF2B2\"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:\"\uF2B3\"}.fa-fa:before,.fa-font-awesome:before{content:\"\uF2B4\"}.fa-handshake-o:before{content:\"\uF2B5\"}.fa-envelope-open:before{content:\"\uF2B6\"}.fa-envelope-open-o:before{content:\"\uF2B7\"}.fa-linode:before{content:\"\uF2B8\"}.fa-address-book:before{content:\"\uF2B9\"}.fa-address-book-o:before{content:\"\uF2BA\"}.fa-address-card:before,.fa-vcard:before{content:\"\uF2BB\"}.fa-address-card-o:before,.fa-vcard-o:before{content:\"\uF2BC\"}.fa-user-circle:before{content:\"\uF2BD\"}.fa-user-circle-o:before{content:\"\uF2BE\"}.fa-user-o:before{content:\"\uF2C0\"}.fa-id-badge:before{content:\"\uF2C1\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\uF2C2\"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:\"\uF2C3\"}.fa-quora:before{content:\"\uF2C4\"}.fa-free-code-camp:before{content:\"\uF2C5\"}.fa-telegram:before{content:\"\uF2C6\"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:\"\uF2C7\"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\uF2C8\"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\uF2C9\"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\uF2CA\"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\uF2CB\"}.fa-shower:before{content:\"\uF2CC\"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:\"\uF2CD\"}.fa-podcast:before{content:\"\uF2CE\"}.fa-window-maximize:before{content:\"\uF2D0\"}.fa-window-minimize:before{content:\"\uF2D1\"}.fa-window-restore:before{content:\"\uF2D2\"}.fa-times-rectangle:before,.fa-window-close:before{content:\"\uF2D3\"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:\"\uF2D4\"}.fa-bandcamp:before{content:\"\uF2D5\"}.fa-grav:before{content:\"\uF2D6\"}.fa-etsy:before{content:\"\uF2D7\"}.fa-imdb:before{content:\"\uF2D8\"}.fa-ravelry:before{content:\"\uF2D9\"}.fa-eercast:before{content:\"\uF2DA\"}.fa-microchip:before{content:\"\uF2DB\"}.fa-snowflake-o:before{content:\"\uF2DC\"}.fa-superpowers:before{content:\"\uF2DD\"}.fa-wpexplorer:before{content:\"\uF2DE\"}.fa-meetup:before{content:\"\uF2E0\"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}a{cursor:pointer}.angular-editor-textarea{min-height:150px;overflow:auto;margin-top:5px;resize:vertical}.angular-editor-textarea:after{content:\"\";position:absolute;bottom:0;right:0;display:block;width:8px;height:8px;cursor:nwse-resize;background-color:hsla(0,0%,100%,.5)}.angular-editor-toolbar{font:100 14px/15px Roboto,Arial,sans-serif;background-color:#f5f5f5;font-size:.8rem;padding:.2rem;border:1px solid #ddd}.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;vertical-align:middle;border:1px solid #ddd;padding:.4rem;min-width:2rem;float:left}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:hover{cursor:pointer;background-color:#f1f1f1;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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .angular-editor-button:disabled>.color-label{pointer-events:none;cursor:not-allowed}.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{font-size:11px;width:90px;vertical-align:middle;background-color:transparent;border:.5px solid hsla(0,0%,100%,0);border-radius:5px;outline:none;padding:.4rem;cursor:pointer}.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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading option{border:1px solid;background-color:#fff}.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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-heading:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font option{border:1px solid;background-color:#fff}}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:disabled{background-color:#f5f5f5;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-font:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size option{border:1px solid;background-color:#fff}.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;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-font-size:hover{cursor:pointer;background-color:#f1f1f1;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{font-size:12px;background-color:#f4f4f4;padding:5px}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style option{border:1px solid;background-color:#fff}}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:disabled{background-color:#f5f5f5;pointer-events:none;cursor:not-allowed}.angular-editor-toolbar .angular-editor-toolbar-set .select-custom-style:hover{cursor:pointer;background-color:#f1f1f1;transition:.2s ease}.angular-editor-toolbar .angular-editor-toolbar-set .color-label{position:relative;cursor:pointer}.angular-editor-toolbar .angular-editor-toolbar-set .background{font-size:smaller;background:#1b1b1b;color:#fff;padding:3px}.angular-editor-toolbar .angular-editor-toolbar-set .foreground :after{position:absolute;content:\"\";left:-1px;top:auto;bottom:-3px;right:auto;width:15px;height:2px;z-index:0;background:#1b1b1b}.angular-editor-toolbar .angular-editor-toolbar-set:not([style*=\"display:none\"]):not([style*=\"display: none\"]),.select-button{display:inline-block}.select-button.disabled{cursor:pointer;background-color:#f1f1f1;transition:.2s ease}"]
1366
+ },] }
1367
+ ];
1368
+ AngularEditorToolbarComponent.ctorParameters = function () { return [
1369
+ { type: core.Renderer2 },
1370
+ { type: AngularEditorService },
1371
+ { type: core.ElementRef },
1372
+ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
1373
+ ]; };
1374
+ AngularEditorToolbarComponent.propDecorators = {
1375
+ id: [{ type: core.Input }],
1376
+ uploadUrl: [{ type: core.Input }],
1377
+ upload: [{ type: core.Input }],
1378
+ showToolbar: [{ type: core.Input }],
1379
+ fonts: [{ type: core.Input }],
1380
+ customClasses: [{ type: core.Input }],
1381
+ defaultFontName: [{ type: core.Input }],
1382
+ defaultFontSize: [{ type: core.Input }],
1383
+ hiddenButtons: [{ type: core.Input }],
1384
+ execute: [{ type: core.Output }],
1385
+ myInputFile: [{ type: core.ViewChild, args: ['fileInput', { static: true },] }]
1349
1386
  };
1350
1387
 
1351
- var AeSelectComponent = /** @class */ (function () {
1352
- function AeSelectComponent(elRef, r) {
1353
- this.elRef = elRef;
1354
- this.r = r;
1355
- this.options = [];
1356
- this.disabled = false;
1357
- this.optionId = 0;
1358
- this.opened = false;
1359
- this.hidden = 'inline-block';
1360
- // tslint:disable-next-line:no-output-native no-output-rename
1361
- this.changeEvent = new core.EventEmitter();
1362
- this.onChange = function () {
1363
- };
1364
- this.onTouched = function () {
1365
- };
1366
- }
1367
- Object.defineProperty(AeSelectComponent.prototype, "label", {
1368
- get: function () {
1369
- return this.selectedOption && this.selectedOption.hasOwnProperty('label') ? this.selectedOption.label : 'Select';
1370
- },
1371
- enumerable: false,
1372
- configurable: true
1373
- });
1374
- Object.defineProperty(AeSelectComponent.prototype, "value", {
1375
- get: function () {
1376
- return this.selectedOption.value;
1377
- },
1378
- enumerable: false,
1379
- configurable: true
1380
- });
1381
- AeSelectComponent.prototype.ngOnInit = function () {
1382
- this.selectedOption = this.options[0];
1383
- if (isDefined(this.isHidden) && this.isHidden) {
1384
- this.hide();
1385
- }
1386
- };
1387
- AeSelectComponent.prototype.hide = function () {
1388
- this.hidden = 'none';
1389
- };
1390
- AeSelectComponent.prototype.optionSelect = function (option, event) {
1391
- event.stopPropagation();
1392
- this.setValue(option.value);
1393
- this.onChange(this.selectedOption.value);
1394
- this.changeEvent.emit(this.selectedOption.value);
1395
- this.onTouched();
1396
- this.opened = false;
1397
- };
1398
- AeSelectComponent.prototype.toggleOpen = function (event) {
1399
- // event.stopPropagation();
1400
- if (this.disabled) {
1401
- return;
1402
- }
1403
- this.opened = !this.opened;
1404
- };
1405
- AeSelectComponent.prototype.onClick = function ($event) {
1406
- if (!this.elRef.nativeElement.contains($event.target)) {
1407
- this.close();
1408
- }
1409
- };
1410
- AeSelectComponent.prototype.close = function () {
1411
- this.opened = false;
1412
- };
1413
- Object.defineProperty(AeSelectComponent.prototype, "isOpen", {
1414
- get: function () {
1415
- return this.opened;
1416
- },
1417
- enumerable: false,
1418
- configurable: true
1419
- });
1420
- AeSelectComponent.prototype.writeValue = function (value) {
1421
- if (!value || typeof value !== 'string') {
1422
- return;
1423
- }
1424
- this.setValue(value);
1425
- };
1426
- AeSelectComponent.prototype.setValue = function (value) {
1427
- var index = 0;
1428
- var selectedEl = this.options.find(function (el, i) {
1429
- index = i;
1430
- return el.value === value;
1431
- });
1432
- if (selectedEl) {
1433
- this.selectedOption = selectedEl;
1434
- this.optionId = index;
1435
- }
1436
- };
1437
- AeSelectComponent.prototype.registerOnChange = function (fn) {
1438
- this.onChange = fn;
1439
- };
1440
- AeSelectComponent.prototype.registerOnTouched = function (fn) {
1441
- this.onTouched = fn;
1442
- };
1443
- AeSelectComponent.prototype.setDisabledState = function (isDisabled) {
1444
- this.labelButton.nativeElement.disabled = isDisabled;
1445
- var div = this.labelButton.nativeElement;
1446
- var action = isDisabled ? 'addClass' : 'removeClass';
1447
- this.r[action](div, 'disabled');
1448
- this.disabled = isDisabled;
1449
- };
1450
- AeSelectComponent.prototype.handleKeyDown = function ($event) {
1451
- if (!this.opened) {
1452
- return;
1453
- }
1454
- // console.log($event.key);
1455
- // if (KeyCode[$event.key]) {
1456
- switch ($event.key) {
1457
- case 'ArrowDown':
1458
- this._handleArrowDown($event);
1459
- break;
1460
- case 'ArrowUp':
1461
- this._handleArrowUp($event);
1462
- break;
1463
- case 'Space':
1464
- this._handleSpace($event);
1465
- break;
1466
- case 'Enter':
1467
- this._handleEnter($event);
1468
- break;
1469
- case 'Tab':
1470
- this._handleTab($event);
1471
- break;
1472
- case 'Escape':
1473
- this.close();
1474
- $event.preventDefault();
1475
- break;
1476
- case 'Backspace':
1477
- this._handleBackspace();
1478
- break;
1479
- }
1480
- // } else if ($event.key && $event.key.length === 1) {
1481
- // this._keyPress$.next($event.key.toLocaleLowerCase());
1482
- // }
1483
- };
1484
- AeSelectComponent.prototype._handleArrowDown = function ($event) {
1485
- if (this.optionId < this.options.length - 1) {
1486
- this.optionId++;
1487
- }
1488
- };
1489
- AeSelectComponent.prototype._handleArrowUp = function ($event) {
1490
- if (this.optionId >= 1) {
1491
- this.optionId--;
1492
- }
1493
- };
1494
- AeSelectComponent.prototype._handleSpace = function ($event) {
1495
- };
1496
- AeSelectComponent.prototype._handleEnter = function ($event) {
1497
- this.optionSelect(this.options[this.optionId], $event);
1498
- };
1499
- AeSelectComponent.prototype._handleTab = function ($event) {
1500
- };
1501
- AeSelectComponent.prototype._handleBackspace = function () {
1502
- };
1503
- return AeSelectComponent;
1504
- }());
1505
- AeSelectComponent.decorators = [
1506
- { type: core.Component, args: [{
1507
- selector: 'ae-select',
1508
- 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 <!-- <use x=\"0\" y=\"0\" xlink:href=\"../assets/icons.svg#hom\"></use>-->\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",
1509
- encapsulation: core.ViewEncapsulation.None,
1510
- providers: [
1511
- {
1512
- provide: forms.NG_VALUE_ACCESSOR,
1513
- useExisting: core.forwardRef(function () { return AeSelectComponent; }),
1514
- multi: true,
1515
- }
1516
- ],
1517
- 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}"]
1518
- },] }
1519
- ];
1520
- AeSelectComponent.ctorParameters = function () { return [
1521
- { type: core.ElementRef },
1522
- { type: core.Renderer2 }
1523
- ]; };
1524
- AeSelectComponent.propDecorators = {
1525
- options: [{ type: core.Input }],
1526
- isHidden: [{ type: core.Input, args: ['hidden',] }],
1527
- hidden: [{ type: core.HostBinding, args: ['style.display',] }],
1528
- changeEvent: [{ type: core.Output, args: ['change',] }],
1529
- labelButton: [{ type: core.ViewChild, args: ['labelButton', { static: true },] }],
1530
- onClick: [{ type: core.HostListener, args: ['document:click', ['$event'],] }],
1531
- handleKeyDown: [{ type: core.HostListener, args: ['keydown', ['$event'],] }]
1388
+ var AeSelectComponent = /** @class */ (function () {
1389
+ function AeSelectComponent(elRef, r) {
1390
+ this.elRef = elRef;
1391
+ this.r = r;
1392
+ this.options = [];
1393
+ this.disabled = false;
1394
+ this.optionId = 0;
1395
+ this.opened = false;
1396
+ this.hidden = 'inline-block';
1397
+ // eslint-disable-next-line @angular-eslint/no-output-native, @angular-eslint/no-output-rename
1398
+ this.changeEvent = new core.EventEmitter();
1399
+ this.onChange = function () {
1400
+ };
1401
+ this.onTouched = function () {
1402
+ };
1403
+ }
1404
+ Object.defineProperty(AeSelectComponent.prototype, "label", {
1405
+ get: function () {
1406
+ return this.selectedOption && this.selectedOption.hasOwnProperty('label') ? this.selectedOption.label : 'Select';
1407
+ },
1408
+ enumerable: false,
1409
+ configurable: true
1410
+ });
1411
+ Object.defineProperty(AeSelectComponent.prototype, "value", {
1412
+ get: function () {
1413
+ return this.selectedOption.value;
1414
+ },
1415
+ enumerable: false,
1416
+ configurable: true
1417
+ });
1418
+ AeSelectComponent.prototype.ngOnInit = function () {
1419
+ this.selectedOption = this.options[0];
1420
+ if (isDefined(this.isHidden) && this.isHidden) {
1421
+ this.hide();
1422
+ }
1423
+ };
1424
+ AeSelectComponent.prototype.hide = function () {
1425
+ this.hidden = 'none';
1426
+ };
1427
+ AeSelectComponent.prototype.optionSelect = function (option, event) {
1428
+ event.stopPropagation();
1429
+ this.setValue(option.value);
1430
+ this.onChange(this.selectedOption.value);
1431
+ this.changeEvent.emit(this.selectedOption.value);
1432
+ this.onTouched();
1433
+ this.opened = false;
1434
+ };
1435
+ AeSelectComponent.prototype.toggleOpen = function (event) {
1436
+ // event.stopPropagation();
1437
+ if (this.disabled) {
1438
+ return;
1439
+ }
1440
+ this.opened = !this.opened;
1441
+ };
1442
+ AeSelectComponent.prototype.onClick = function ($event) {
1443
+ if (!this.elRef.nativeElement.contains($event.target)) {
1444
+ this.close();
1445
+ }
1446
+ };
1447
+ AeSelectComponent.prototype.close = function () {
1448
+ this.opened = false;
1449
+ };
1450
+ Object.defineProperty(AeSelectComponent.prototype, "isOpen", {
1451
+ get: function () {
1452
+ return this.opened;
1453
+ },
1454
+ enumerable: false,
1455
+ configurable: true
1456
+ });
1457
+ AeSelectComponent.prototype.writeValue = function (value) {
1458
+ if (!value || typeof value !== 'string') {
1459
+ return;
1460
+ }
1461
+ this.setValue(value);
1462
+ };
1463
+ AeSelectComponent.prototype.setValue = function (value) {
1464
+ var index = 0;
1465
+ var selectedEl = this.options.find(function (el, i) {
1466
+ index = i;
1467
+ return el.value === value;
1468
+ });
1469
+ if (selectedEl) {
1470
+ this.selectedOption = selectedEl;
1471
+ this.optionId = index;
1472
+ }
1473
+ };
1474
+ AeSelectComponent.prototype.registerOnChange = function (fn) {
1475
+ this.onChange = fn;
1476
+ };
1477
+ AeSelectComponent.prototype.registerOnTouched = function (fn) {
1478
+ this.onTouched = fn;
1479
+ };
1480
+ AeSelectComponent.prototype.setDisabledState = function (isDisabled) {
1481
+ this.labelButton.nativeElement.disabled = isDisabled;
1482
+ var div = this.labelButton.nativeElement;
1483
+ var action = isDisabled ? 'addClass' : 'removeClass';
1484
+ this.r[action](div, 'disabled');
1485
+ this.disabled = isDisabled;
1486
+ };
1487
+ AeSelectComponent.prototype.handleKeyDown = function ($event) {
1488
+ if (!this.opened) {
1489
+ return;
1490
+ }
1491
+ // console.log($event.key);
1492
+ // if (KeyCode[$event.key]) {
1493
+ switch ($event.key) {
1494
+ case 'ArrowDown':
1495
+ this._handleArrowDown($event);
1496
+ break;
1497
+ case 'ArrowUp':
1498
+ this._handleArrowUp($event);
1499
+ break;
1500
+ case 'Space':
1501
+ this._handleSpace($event);
1502
+ break;
1503
+ case 'Enter':
1504
+ this._handleEnter($event);
1505
+ break;
1506
+ case 'Tab':
1507
+ this._handleTab($event);
1508
+ break;
1509
+ case 'Escape':
1510
+ this.close();
1511
+ $event.preventDefault();
1512
+ break;
1513
+ case 'Backspace':
1514
+ this._handleBackspace();
1515
+ break;
1516
+ }
1517
+ // } else if ($event.key && $event.key.length === 1) {
1518
+ // this._keyPress$.next($event.key.toLocaleLowerCase());
1519
+ // }
1520
+ };
1521
+ AeSelectComponent.prototype._handleArrowDown = function ($event) {
1522
+ if (this.optionId < this.options.length - 1) {
1523
+ this.optionId++;
1524
+ }
1525
+ };
1526
+ AeSelectComponent.prototype._handleArrowUp = function ($event) {
1527
+ if (this.optionId >= 1) {
1528
+ this.optionId--;
1529
+ }
1530
+ };
1531
+ AeSelectComponent.prototype._handleSpace = function ($event) {
1532
+ };
1533
+ AeSelectComponent.prototype._handleEnter = function ($event) {
1534
+ this.optionSelect(this.options[this.optionId], $event);
1535
+ };
1536
+ AeSelectComponent.prototype._handleTab = function ($event) {
1537
+ };
1538
+ AeSelectComponent.prototype._handleBackspace = function () {
1539
+ };
1540
+ return AeSelectComponent;
1541
+ }());
1542
+ AeSelectComponent.decorators = [
1543
+ { type: core.Component, args: [{
1544
+ selector: 'ae-select',
1545
+ template: "<span class=\"ae-font ae-picker\" [ngClass]=\"{'ae-expanded':isOpen}\">\n <button [tabIndex]=\"-1\" #labelButton tabindex=\"0\" type=\"button\" role=\"button\" class=\"ae-picker-label\" (click)=\"toggleOpen($event);\">{{label}}\n <svg viewBox=\"0 0 18 18\">\n <!-- <use x=\"0\" y=\"0\" xlink:href=\"../assets/icons.svg#hom\"></use>-->\n <polygon class=\"ae-stroke\" points=\"7 11 9 13 11 11 7 11\"></polygon>\n <polygon class=\"ae-stroke\" points=\"7 7 9 5 11 7 7 7\"></polygon>\n </svg>\n </button>\n <span class=\"ae-picker-options\">\n <button tabindex=\"-1\" type=\"button\" role=\"button\" class=\"ae-picker-item\"\n *ngFor=\"let item of options; let i = index\"\n [ngClass]=\"{'selected': item.value === value, 'focused': i === optionId}\"\n (click)=\"optionSelect(item, $event)\">\n {{item.label}}\n </button>\n <span class=\"dropdown-item\" *ngIf=\"!options.length\">No items for select</span>\n </span>\n</span>\n",
1546
+ encapsulation: core.ViewEncapsulation.None,
1547
+ providers: [
1548
+ {
1549
+ provide: forms.NG_VALUE_ACCESSOR,
1550
+ useExisting: core.forwardRef(function () { return AeSelectComponent; }),
1551
+ multi: true,
1552
+ }
1553
+ ],
1554
+ styles: [".ae-font.ae-picker{color:#444}.ae-font.ae-picker,.ae-font .ae-picker-label{display:inline-block;float:left;width:100%;position:relative;vertical-align:middle}.ae-font .ae-picker-label{cursor:pointer;height:100%;padding-left:8px;padding-right:10px;line-height:26px;font-size:85%;text-align:left;background-color:#fff;min-width:2rem;border:1px solid #ddd;text-overflow:clip;overflow:hidden;white-space:nowrap}.ae-font .ae-picker-label:before{content:\"\";position:absolute;right:0;top:0;width:20px;height:100%;background:linear-gradient(90deg,#fff,#fff)}.ae-font .ae-picker-label:focus{outline:none}.ae-font .ae-picker-label:hover{cursor:pointer;background-color:#f1f1f1;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;pointer-events:none;cursor:not-allowed}.ae-font .ae-picker-label:disabled:before{background:linear-gradient(90deg,#f5f5f5 100%,#fff 0)}.ae-font .ae-picker-label svg{position:absolute;margin-top:-9px;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;display:none;min-width:100%;position:absolute;white-space:nowrap;z-index:3;border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ae-font .ae-picker-options .ae-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px;padding-left:5px;z-index:3;text-align:left;background-color:transparent;min-width:2rem;width:100%;border:0 solid #ddd}.ae-font .ae-picker-options .ae-picker-item.selected{color:#06c;background-color:#fff4c2}.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{display:block;margin-top:-1px;top:100%;z-index:3;border-color:#ccc}"]
1555
+ },] }
1556
+ ];
1557
+ AeSelectComponent.ctorParameters = function () { return [
1558
+ { type: core.ElementRef },
1559
+ { type: core.Renderer2 }
1560
+ ]; };
1561
+ AeSelectComponent.propDecorators = {
1562
+ options: [{ type: core.Input }],
1563
+ isHidden: [{ type: core.Input, args: ['hidden',] }],
1564
+ hidden: [{ type: core.HostBinding, args: ['style.display',] }],
1565
+ changeEvent: [{ type: core.Output, args: ['change',] }],
1566
+ labelButton: [{ type: core.ViewChild, args: ['labelButton', { static: true },] }],
1567
+ onClick: [{ type: core.HostListener, args: ['document:click', ['$event'],] }],
1568
+ handleKeyDown: [{ type: core.HostListener, args: ['keydown', ['$event'],] }]
1532
1569
  };
1533
1570
 
1534
- var AngularEditorModule = /** @class */ (function () {
1535
- function AngularEditorModule() {
1536
- }
1537
- return AngularEditorModule;
1538
- }());
1539
- AngularEditorModule.decorators = [
1540
- { type: core.NgModule, args: [{
1541
- imports: [
1542
- common.CommonModule, forms.FormsModule, forms.ReactiveFormsModule
1543
- ],
1544
- declarations: [AngularEditorComponent, AngularEditorToolbarComponent, AeSelectComponent],
1545
- exports: [AngularEditorComponent, AngularEditorToolbarComponent]
1546
- },] }
1571
+ var AngularEditorModule = /** @class */ (function () {
1572
+ function AngularEditorModule() {
1573
+ }
1574
+ return AngularEditorModule;
1575
+ }());
1576
+ AngularEditorModule.decorators = [
1577
+ { type: core.NgModule, args: [{
1578
+ imports: [
1579
+ common.CommonModule, forms.FormsModule, forms.ReactiveFormsModule
1580
+ ],
1581
+ declarations: [AngularEditorComponent, AngularEditorToolbarComponent, AeSelectComponent],
1582
+ exports: [AngularEditorComponent, AngularEditorToolbarComponent]
1583
+ },] }
1547
1584
  ];
1548
1585
 
1549
- /*
1550
- * Public API Surface of angular-editor
1586
+ /*
1587
+ * Public API Surface of angular-editor
1551
1588
  */
1552
1589
 
1553
- /**
1554
- * Generated bundle index. Do not edit.
1590
+ /**
1591
+ * Generated bundle index. Do not edit.
1555
1592
  */
1556
1593
 
1557
1594
  exports.AngularEditorComponent = AngularEditorComponent;