@firestitch/html-editor 9.5.7 → 12.0.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.
Files changed (62) hide show
  1. package/app/components/html-editor/html-editor.component.d.ts +7 -4
  2. package/app/components/html-renderer/html-renderer.component.d.ts +4 -1
  3. package/app/fs-html-editor.module.d.ts +8 -0
  4. package/app/plugins/configs/mention-plugin.config.d.ts +1 -0
  5. package/app/plugins/mention.plugin.d.ts +3 -0
  6. package/app/services/froala-loader.service.d.ts +6 -3
  7. package/bundles/firestitch-html-editor.umd.js +510 -382
  8. package/bundles/firestitch-html-editor.umd.js.map +1 -1
  9. package/esm2015/app/classes/plugin.js +1 -1
  10. package/esm2015/app/components/html-editor/html-editor.component.js +59 -51
  11. package/esm2015/app/components/html-renderer/html-renderer.component.js +21 -26
  12. package/esm2015/app/consts/paragraph-buttons.const.js +1 -1
  13. package/esm2015/app/consts/rich-buttons.const.js +1 -1
  14. package/esm2015/app/consts/text-buttons.const.js +1 -1
  15. package/esm2015/app/enums/default-plugin.enum.js +2 -1
  16. package/esm2015/app/fs-html-editor.module.js +29 -21
  17. package/esm2015/app/injects/config.inject.js +1 -1
  18. package/esm2015/app/interfaces/html-editor-config.js +2 -1
  19. package/esm2015/app/interfaces/plugin-button.js +2 -1
  20. package/esm2015/app/interfaces/plugin-config.js +2 -1
  21. package/esm2015/app/plugins/checklist.plugin.js +1 -1
  22. package/esm2015/app/plugins/code.plugin.js +1 -1
  23. package/esm2015/app/plugins/configs/mention-plugin.config.js +2 -1
  24. package/esm2015/app/plugins/configs/screen-record-plugin.config.js +2 -1
  25. package/esm2015/app/plugins/mention.plugin.js +16 -2
  26. package/esm2015/app/plugins/screen-record.plugin.js +1 -1
  27. package/esm2015/app/services/froala-loader.service.js +16 -17
  28. package/esm2015/app/utils/loader.js +1 -1
  29. package/esm2015/firestitch-html-editor.js +1 -5
  30. package/esm2015/public_api.js +1 -1
  31. package/fesm2015/firestitch-html-editor.js +141 -113
  32. package/fesm2015/firestitch-html-editor.js.map +1 -1
  33. package/firestitch-html-editor.d.ts +1 -5
  34. package/package.json +4 -7
  35. package/styles.scss +3 -2
  36. package/bundles/firestitch-html-editor.umd.min.js +0 -17
  37. package/bundles/firestitch-html-editor.umd.min.js.map +0 -1
  38. package/esm5/app/classes/plugin.js +0 -9
  39. package/esm5/app/components/html-editor/html-editor.component.js +0 -471
  40. package/esm5/app/components/html-renderer/html-renderer.component.js +0 -39
  41. package/esm5/app/consts/paragraph-buttons.const.js +0 -9
  42. package/esm5/app/consts/rich-buttons.const.js +0 -7
  43. package/esm5/app/consts/text-buttons.const.js +0 -19
  44. package/esm5/app/enums/default-plugin.enum.js +0 -1
  45. package/esm5/app/fs-html-editor.module.js +0 -62
  46. package/esm5/app/injects/config.inject.js +0 -4
  47. package/esm5/app/interfaces/html-editor-config.js +0 -1
  48. package/esm5/app/interfaces/plugin-button.js +0 -1
  49. package/esm5/app/interfaces/plugin-config.js +0 -1
  50. package/esm5/app/plugins/checklist.plugin.js +0 -41
  51. package/esm5/app/plugins/code.plugin.js +0 -70
  52. package/esm5/app/plugins/configs/mention-plugin.config.js +0 -1
  53. package/esm5/app/plugins/configs/screen-record-plugin.config.js +0 -1
  54. package/esm5/app/plugins/mention.plugin.js +0 -79
  55. package/esm5/app/plugins/screen-record.plugin.js +0 -106
  56. package/esm5/app/services/froala-loader.service.js +0 -96
  57. package/esm5/app/utils/loader.js +0 -83
  58. package/esm5/firestitch-html-editor.js +0 -9
  59. package/esm5/public_api.js +0 -12
  60. package/fesm5/firestitch-html-editor.js +0 -1060
  61. package/fesm5/firestitch-html-editor.js.map +0 -1
  62. package/firestitch-html-editor.metadata.json +0 -1
@@ -1,249 +1,351 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@firestitch/skeleton'), require('@angular/forms'), require('@firestitch/file'), require('rxjs'), require('rxjs/operators'), require('lodash-es'), require('@angular/platform-browser'), require('tributejs')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/html-editor', ['exports', '@angular/core', '@angular/common', '@firestitch/skeleton', '@angular/forms', '@firestitch/file', 'rxjs', 'rxjs/operators', 'lodash-es', '@angular/platform-browser', 'tributejs'], factory) :
4
- (global = global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch['html-editor'] = {}), global.ng.core, global.ng.common, global.skeleton, global.ng.forms, global.file, global.rxjs, global.rxjs.operators, global.lodashEs, global.ng.platformBrowser, global.Tribute));
5
- }(this, (function (exports, core, common, skeleton, forms, file, rxjs, operators, lodashEs, platformBrowser, Tribute) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@firestitch/skeleton'), require('@angular/forms'), require('@firestitch/file'), require('rxjs'), require('rxjs/operators'), require('lodash-es'), require('@angular/platform-browser'), require('tributejs'), require('@firestitch/common')) :
3
+ typeof define === 'function' && define.amd ? define('@firestitch/html-editor', ['exports', '@angular/core', '@angular/common', '@firestitch/skeleton', '@angular/forms', '@firestitch/file', 'rxjs', 'rxjs/operators', 'lodash-es', '@angular/platform-browser', 'tributejs', '@firestitch/common'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["html-editor"] = {}), global.ng.core, global.ng.common, global.i4, global.ng.forms, global.file, global.rxjs, global.rxjs.operators, global.lodashEs, global.ng.platformBrowser, global.Tribute, global.common));
5
+ })(this, (function (exports, i0, i3, i4, forms, file, rxjs, operators, lodashEs, i1, Tribute, common) { 'use strict';
6
6
 
7
- Tribute = Tribute && Object.prototype.hasOwnProperty.call(Tribute, 'default') ? Tribute['default'] : Tribute;
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
- /*! *****************************************************************************
10
- Copyright (c) Microsoft Corporation.
11
-
12
- Permission to use, copy, modify, and/or distribute this software for any
13
- purpose with or without fee is hereby granted.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
16
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
17
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
18
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21
- PERFORMANCE OF THIS SOFTWARE.
22
- ***************************************************************************** */
23
- /* global Reflect, Promise */
24
-
25
- var extendStatics = function(d, b) {
26
- extendStatics = Object.setPrototypeOf ||
27
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
28
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
29
- return extendStatics(d, b);
30
- };
31
-
32
- function __extends(d, b) {
33
- if (typeof b !== "function" && b !== null)
34
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
35
- extendStatics(d, b);
36
- function __() { this.constructor = d; }
37
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
38
- }
39
-
40
- var __assign = function() {
41
- __assign = Object.assign || function __assign(t) {
42
- for (var s, i = 1, n = arguments.length; i < n; i++) {
43
- s = arguments[i];
44
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
45
- }
46
- return t;
47
- };
48
- return __assign.apply(this, arguments);
49
- };
50
-
51
- function __rest(s, e) {
52
- var t = {};
53
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
54
- t[p] = s[p];
55
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
56
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
57
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
58
- t[p[i]] = s[p[i]];
59
- }
60
- return t;
61
- }
62
-
63
- function __decorate(decorators, target, key, desc) {
64
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
65
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
66
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
- return c > 3 && r && Object.defineProperty(target, key, r), r;
68
- }
69
-
70
- function __param(paramIndex, decorator) {
71
- return function (target, key) { decorator(target, key, paramIndex); }
72
- }
73
-
74
- function __metadata(metadataKey, metadataValue) {
75
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
76
- }
77
-
78
- function __awaiter(thisArg, _arguments, P, generator) {
79
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
80
- return new (P || (P = Promise))(function (resolve, reject) {
81
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
82
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
83
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
84
- step((generator = generator.apply(thisArg, _arguments || [])).next());
85
- });
86
- }
87
-
88
- function __generator(thisArg, body) {
89
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
90
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
91
- function verb(n) { return function (v) { return step([n, v]); }; }
92
- function step(op) {
93
- if (f) throw new TypeError("Generator is already executing.");
94
- while (_) try {
95
- 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) return t;
96
- if (y = 0, t) op = [op[0] & 2, t.value];
97
- switch (op[0]) {
98
- case 0: case 1: t = op; break;
99
- case 4: _.label++; return { value: op[1], done: false };
100
- case 5: _.label++; y = op[1]; op = [0]; continue;
101
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
102
- default:
103
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
104
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
105
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
106
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
107
- if (t[2]) _.ops.pop();
108
- _.trys.pop(); continue;
109
- }
110
- op = body.call(thisArg, _);
111
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
112
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
113
- }
114
- }
115
-
116
- var __createBinding = Object.create ? (function(o, m, k, k2) {
117
- if (k2 === undefined) k2 = k;
118
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
119
- }) : (function(o, m, k, k2) {
120
- if (k2 === undefined) k2 = k;
121
- o[k2] = m[k];
122
- });
123
-
124
- function __exportStar(m, o) {
125
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
126
- }
127
-
128
- function __values(o) {
129
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
130
- if (m) return m.call(o);
131
- if (o && typeof o.length === "number") return {
132
- next: function () {
133
- if (o && i >= o.length) o = void 0;
134
- return { value: o && o[i++], done: !o };
135
- }
136
- };
137
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
138
- }
139
-
140
- function __read(o, n) {
141
- var m = typeof Symbol === "function" && o[Symbol.iterator];
142
- if (!m) return o;
143
- var i = m.call(o), r, ar = [], e;
144
- try {
145
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
146
- }
147
- catch (error) { e = { error: error }; }
148
- finally {
149
- try {
150
- if (r && !r.done && (m = i["return"])) m.call(i);
151
- }
152
- finally { if (e) throw e.error; }
153
- }
154
- return ar;
155
- }
156
-
157
- /** @deprecated */
158
- function __spread() {
159
- for (var ar = [], i = 0; i < arguments.length; i++)
160
- ar = ar.concat(__read(arguments[i]));
161
- return ar;
162
- }
163
-
164
- /** @deprecated */
165
- function __spreadArrays() {
166
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
167
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
168
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
169
- r[k] = a[j];
170
- return r;
171
- }
172
-
173
- function __spreadArray(to, from, pack) {
174
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
175
- if (ar || !(i in from)) {
176
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
177
- ar[i] = from[i];
178
- }
179
- }
180
- return to.concat(ar || Array.prototype.slice.call(from));
181
- }
182
-
183
- function __await(v) {
184
- return this instanceof __await ? (this.v = v, this) : new __await(v);
185
- }
186
-
187
- function __asyncGenerator(thisArg, _arguments, generator) {
188
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
189
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
190
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
191
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
192
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
193
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
194
- function fulfill(value) { resume("next", value); }
195
- function reject(value) { resume("throw", value); }
196
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
197
- }
198
-
199
- function __asyncDelegator(o) {
200
- var i, p;
201
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
202
- 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; }
203
- }
204
-
205
- function __asyncValues(o) {
206
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
207
- var m = o[Symbol.asyncIterator], i;
208
- 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);
209
- 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); }); }; }
210
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
211
- }
212
-
213
- function __makeTemplateObject(cooked, raw) {
214
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
215
- return cooked;
216
- };
217
-
218
- var __setModuleDefault = Object.create ? (function(o, v) {
219
- Object.defineProperty(o, "default", { enumerable: true, value: v });
220
- }) : function(o, v) {
221
- o["default"] = v;
222
- };
223
-
224
- function __importStar(mod) {
225
- if (mod && mod.__esModule) return mod;
226
- var result = {};
227
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
228
- __setModuleDefault(result, mod);
229
- return result;
230
- }
231
-
232
- function __importDefault(mod) {
233
- return (mod && mod.__esModule) ? mod : { default: mod };
234
- }
235
-
236
- function __classPrivateFieldGet(receiver, state, kind, f) {
237
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
238
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
239
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
240
- }
241
-
242
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
243
- if (kind === "m") throw new TypeError("Private method is not writable");
244
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
245
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
246
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n["default"] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
29
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
31
+ var Tribute__default = /*#__PURE__*/_interopDefaultLegacy(Tribute);
32
+
33
+ /*! *****************************************************************************
34
+ Copyright (c) Microsoft Corporation.
35
+
36
+ Permission to use, copy, modify, and/or distribute this software for any
37
+ purpose with or without fee is hereby granted.
38
+
39
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
40
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
41
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
42
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
43
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
44
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
45
+ PERFORMANCE OF THIS SOFTWARE.
46
+ ***************************************************************************** */
47
+ /* global Reflect, Promise */
48
+ var extendStatics = function (d, b) {
49
+ extendStatics = Object.setPrototypeOf ||
50
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
51
+ function (d, b) { for (var p in b)
52
+ if (Object.prototype.hasOwnProperty.call(b, p))
53
+ d[p] = b[p]; };
54
+ return extendStatics(d, b);
55
+ };
56
+ function __extends(d, b) {
57
+ if (typeof b !== "function" && b !== null)
58
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
59
+ extendStatics(d, b);
60
+ function __() { this.constructor = d; }
61
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
62
+ }
63
+ var __assign = function () {
64
+ __assign = Object.assign || function __assign(t) {
65
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
66
+ s = arguments[i];
67
+ for (var p in s)
68
+ if (Object.prototype.hasOwnProperty.call(s, p))
69
+ t[p] = s[p];
70
+ }
71
+ return t;
72
+ };
73
+ return __assign.apply(this, arguments);
74
+ };
75
+ function __rest(s, e) {
76
+ var t = {};
77
+ for (var p in s)
78
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
79
+ t[p] = s[p];
80
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
81
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
82
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
83
+ t[p[i]] = s[p[i]];
84
+ }
85
+ return t;
86
+ }
87
+ function __decorate(decorators, target, key, desc) {
88
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
89
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
90
+ r = Reflect.decorate(decorators, target, key, desc);
91
+ else
92
+ for (var i = decorators.length - 1; i >= 0; i--)
93
+ if (d = decorators[i])
94
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
95
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
96
+ }
97
+ function __param(paramIndex, decorator) {
98
+ return function (target, key) { decorator(target, key, paramIndex); };
99
+ }
100
+ function __metadata(metadataKey, metadataValue) {
101
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
102
+ return Reflect.metadata(metadataKey, metadataValue);
103
+ }
104
+ function __awaiter(thisArg, _arguments, P, generator) {
105
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
106
+ return new (P || (P = Promise))(function (resolve, reject) {
107
+ function fulfilled(value) { try {
108
+ step(generator.next(value));
109
+ }
110
+ catch (e) {
111
+ reject(e);
112
+ } }
113
+ function rejected(value) { try {
114
+ step(generator["throw"](value));
115
+ }
116
+ catch (e) {
117
+ reject(e);
118
+ } }
119
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
120
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
121
+ });
122
+ }
123
+ function __generator(thisArg, body) {
124
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
125
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
126
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
127
+ function verb(n) { return function (v) { return step([n, v]); }; }
128
+ function step(op) {
129
+ if (f)
130
+ throw new TypeError("Generator is already executing.");
131
+ while (_)
132
+ try {
133
+ 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)
134
+ return t;
135
+ if (y = 0, t)
136
+ op = [op[0] & 2, t.value];
137
+ switch (op[0]) {
138
+ case 0:
139
+ case 1:
140
+ t = op;
141
+ break;
142
+ case 4:
143
+ _.label++;
144
+ return { value: op[1], done: false };
145
+ case 5:
146
+ _.label++;
147
+ y = op[1];
148
+ op = [0];
149
+ continue;
150
+ case 7:
151
+ op = _.ops.pop();
152
+ _.trys.pop();
153
+ continue;
154
+ default:
155
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
156
+ _ = 0;
157
+ continue;
158
+ }
159
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
160
+ _.label = op[1];
161
+ break;
162
+ }
163
+ if (op[0] === 6 && _.label < t[1]) {
164
+ _.label = t[1];
165
+ t = op;
166
+ break;
167
+ }
168
+ if (t && _.label < t[2]) {
169
+ _.label = t[2];
170
+ _.ops.push(op);
171
+ break;
172
+ }
173
+ if (t[2])
174
+ _.ops.pop();
175
+ _.trys.pop();
176
+ continue;
177
+ }
178
+ op = body.call(thisArg, _);
179
+ }
180
+ catch (e) {
181
+ op = [6, e];
182
+ y = 0;
183
+ }
184
+ finally {
185
+ f = t = 0;
186
+ }
187
+ if (op[0] & 5)
188
+ throw op[1];
189
+ return { value: op[0] ? op[1] : void 0, done: true };
190
+ }
191
+ }
192
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
193
+ if (k2 === undefined)
194
+ k2 = k;
195
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
196
+ }) : (function (o, m, k, k2) {
197
+ if (k2 === undefined)
198
+ k2 = k;
199
+ o[k2] = m[k];
200
+ });
201
+ function __exportStar(m, o) {
202
+ for (var p in m)
203
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
204
+ __createBinding(o, m, p);
205
+ }
206
+ function __values(o) {
207
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
208
+ if (m)
209
+ return m.call(o);
210
+ if (o && typeof o.length === "number")
211
+ return {
212
+ next: function () {
213
+ if (o && i >= o.length)
214
+ o = void 0;
215
+ return { value: o && o[i++], done: !o };
216
+ }
217
+ };
218
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
219
+ }
220
+ function __read(o, n) {
221
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
222
+ if (!m)
223
+ return o;
224
+ var i = m.call(o), r, ar = [], e;
225
+ try {
226
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
227
+ ar.push(r.value);
228
+ }
229
+ catch (error) {
230
+ e = { error: error };
231
+ }
232
+ finally {
233
+ try {
234
+ if (r && !r.done && (m = i["return"]))
235
+ m.call(i);
236
+ }
237
+ finally {
238
+ if (e)
239
+ throw e.error;
240
+ }
241
+ }
242
+ return ar;
243
+ }
244
+ /** @deprecated */
245
+ function __spread() {
246
+ for (var ar = [], i = 0; i < arguments.length; i++)
247
+ ar = ar.concat(__read(arguments[i]));
248
+ return ar;
249
+ }
250
+ /** @deprecated */
251
+ function __spreadArrays() {
252
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
253
+ s += arguments[i].length;
254
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
255
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
256
+ r[k] = a[j];
257
+ return r;
258
+ }
259
+ function __spreadArray(to, from, pack) {
260
+ if (pack || arguments.length === 2)
261
+ for (var i = 0, l = from.length, ar; i < l; i++) {
262
+ if (ar || !(i in from)) {
263
+ if (!ar)
264
+ ar = Array.prototype.slice.call(from, 0, i);
265
+ ar[i] = from[i];
266
+ }
267
+ }
268
+ return to.concat(ar || Array.prototype.slice.call(from));
269
+ }
270
+ function __await(v) {
271
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
272
+ }
273
+ function __asyncGenerator(thisArg, _arguments, generator) {
274
+ if (!Symbol.asyncIterator)
275
+ throw new TypeError("Symbol.asyncIterator is not defined.");
276
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
277
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
278
+ function verb(n) { if (g[n])
279
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
280
+ function resume(n, v) { try {
281
+ step(g[n](v));
282
+ }
283
+ catch (e) {
284
+ settle(q[0][3], e);
285
+ } }
286
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
287
+ function fulfill(value) { resume("next", value); }
288
+ function reject(value) { resume("throw", value); }
289
+ function settle(f, v) { if (f(v), q.shift(), q.length)
290
+ resume(q[0][0], q[0][1]); }
291
+ }
292
+ function __asyncDelegator(o) {
293
+ var i, p;
294
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
295
+ 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; }
296
+ }
297
+ function __asyncValues(o) {
298
+ if (!Symbol.asyncIterator)
299
+ throw new TypeError("Symbol.asyncIterator is not defined.");
300
+ var m = o[Symbol.asyncIterator], i;
301
+ 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);
302
+ 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); }); }; }
303
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
304
+ }
305
+ function __makeTemplateObject(cooked, raw) {
306
+ if (Object.defineProperty) {
307
+ Object.defineProperty(cooked, "raw", { value: raw });
308
+ }
309
+ else {
310
+ cooked.raw = raw;
311
+ }
312
+ return cooked;
313
+ }
314
+ ;
315
+ var __setModuleDefault = Object.create ? (function (o, v) {
316
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
317
+ }) : function (o, v) {
318
+ o["default"] = v;
319
+ };
320
+ function __importStar(mod) {
321
+ if (mod && mod.__esModule)
322
+ return mod;
323
+ var result = {};
324
+ if (mod != null)
325
+ for (var k in mod)
326
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
327
+ __createBinding(result, mod, k);
328
+ __setModuleDefault(result, mod);
329
+ return result;
330
+ }
331
+ function __importDefault(mod) {
332
+ return (mod && mod.__esModule) ? mod : { default: mod };
333
+ }
334
+ function __classPrivateFieldGet(receiver, state, kind, f) {
335
+ if (kind === "a" && !f)
336
+ throw new TypeError("Private accessor was defined without a getter");
337
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
338
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
339
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
340
+ }
341
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
342
+ if (kind === "m")
343
+ throw new TypeError("Private method is not writable");
344
+ if (kind === "a" && !f)
345
+ throw new TypeError("Private accessor was defined without a setter");
346
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
347
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
348
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
247
349
  }
248
350
 
249
351
  var RichButtons = [
@@ -281,8 +383,8 @@
281
383
  'outdent',
282
384
  ];
283
385
 
284
- var FS_HTML_EDITOR_DEFAULT_CONFIG = new core.InjectionToken('fs-html-editor.default-config');
285
- var FS_HTML_EDITOR_CONFIG = new core.InjectionToken('fs-html-editor.config');
386
+ var FS_HTML_EDITOR_DEFAULT_CONFIG = new i0.InjectionToken('fs-html-editor.default-config');
387
+ var FS_HTML_EDITOR_CONFIG = new i0.InjectionToken('fs-html-editor.config');
286
388
 
287
389
  function resourceLoaderFactory() {
288
390
  var resourceBase = '/assets/js/froala/';
@@ -389,21 +491,21 @@
389
491
  get: function () {
390
492
  return this._loaded$;
391
493
  },
392
- enumerable: true,
494
+ enumerable: false,
393
495
  configurable: true
394
496
  });
395
497
  Object.defineProperty(FsFroalaLoaderService.prototype, "ready", {
396
498
  get: function () {
397
499
  return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
398
500
  },
399
- enumerable: true,
501
+ enumerable: false,
400
502
  configurable: true
401
503
  });
402
504
  Object.defineProperty(FsFroalaLoaderService.prototype, "FroalaEditor", {
403
505
  get: function () {
404
506
  return this._FroalaEditor;
405
507
  },
406
- enumerable: true,
508
+ enumerable: false,
407
509
  configurable: true
408
510
  });
409
511
  FsFroalaLoaderService.prototype._load = function () {
@@ -438,19 +540,53 @@
438
540
  FsFroalaLoaderService.prototype._defaultPluginsDone = function () {
439
541
  this._defaultPluginsLoaded.next(true);
440
542
  };
441
- FsFroalaLoaderService.ctorParameters = function () { return [
442
- { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [FS_HTML_EDITOR_CONFIG,] }] }
443
- ]; };
444
- FsFroalaLoaderService.ɵprov = core.ɵɵdefineInjectable({ factory: function FsFroalaLoaderService_Factory() { return new FsFroalaLoaderService(core.ɵɵinject(FS_HTML_EDITOR_CONFIG, 8)); }, token: FsFroalaLoaderService, providedIn: "root" });
445
- FsFroalaLoaderService = __decorate([
446
- core.Injectable({
447
- providedIn: 'root',
448
- }),
449
- __param(0, core.Optional()), __param(0, core.Inject(FS_HTML_EDITOR_CONFIG)),
450
- __metadata("design:paramtypes", [Object])
451
- ], FsFroalaLoaderService);
452
543
  return FsFroalaLoaderService;
453
544
  }());
545
+ FsFroalaLoaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsFroalaLoaderService, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
546
+ FsFroalaLoaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsFroalaLoaderService, providedIn: 'root' });
547
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsFroalaLoaderService, decorators: [{
548
+ type: i0.Injectable,
549
+ args: [{
550
+ providedIn: 'root',
551
+ }]
552
+ }], ctorParameters: function () {
553
+ return [{ type: undefined, decorators: [{
554
+ type: i0.Optional
555
+ }, {
556
+ type: i0.Inject,
557
+ args: [FS_HTML_EDITOR_CONFIG]
558
+ }] }];
559
+ } });
560
+
561
+ var FsHtmlRendererComponent = /** @class */ (function () {
562
+ function FsHtmlRendererComponent(sanitized, _cdRef) {
563
+ this.sanitized = sanitized;
564
+ this._cdRef = _cdRef;
565
+ }
566
+ Object.defineProperty(FsHtmlRendererComponent.prototype, "setHtml", {
567
+ set: function (html) {
568
+ this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html || '');
569
+ this._cdRef.markForCheck();
570
+ },
571
+ enumerable: false,
572
+ configurable: true
573
+ });
574
+ return FsHtmlRendererComponent;
575
+ }());
576
+ FsHtmlRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlRendererComponent, deps: [{ token: i1__namespace.DomSanitizer }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
577
+ FsHtmlRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: { setHtml: ["html", "setHtml"] }, ngImport: i0__namespace, template: "<div class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></div>\n", styles: [""], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
578
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlRendererComponent, decorators: [{
579
+ type: i0.Component,
580
+ args: [{
581
+ selector: 'fs-html-renderer',
582
+ templateUrl: 'html-renderer.component.html',
583
+ styleUrls: ['html-renderer.component.scss'],
584
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
585
+ }]
586
+ }], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { setHtml: [{
587
+ type: i0.Input,
588
+ args: ['html']
589
+ }] } });
454
590
 
455
591
  var FsHtmlEditorComponent = /** @class */ (function () {
456
592
  function FsHtmlEditorComponent(_defaultConfig, _cdRef, _fr) {
@@ -467,33 +603,32 @@
467
603
  this.onChange = function (data) { };
468
604
  this.onTouched = function () { };
469
605
  }
470
- FsHtmlEditorComponent_1 = FsHtmlEditorComponent;
471
606
  Object.defineProperty(FsHtmlEditorComponent.prototype, "el", {
472
607
  get: function () {
473
608
  return this.elRef.nativeElement;
474
609
  },
475
- enumerable: true,
610
+ enumerable: false,
476
611
  configurable: true
477
612
  });
478
613
  Object.defineProperty(FsHtmlEditorComponent.prototype, "html", {
479
614
  get: function () {
480
615
  return this._html;
481
616
  },
482
- enumerable: true,
617
+ enumerable: false,
483
618
  configurable: true
484
619
  });
485
620
  Object.defineProperty(FsHtmlEditorComponent.prototype, "editor", {
486
621
  get: function () {
487
622
  return this._editor;
488
623
  },
489
- enumerable: true,
624
+ enumerable: false,
490
625
  configurable: true
491
626
  });
492
627
  Object.defineProperty(FsHtmlEditorComponent.prototype, "froalaLoaded$", {
493
628
  get: function () {
494
629
  return this._fr.loaded$;
495
630
  },
496
- enumerable: true,
631
+ enumerable: false,
497
632
  configurable: true
498
633
  });
499
634
  FsHtmlEditorComponent.prototype.ngOnInit = function () {
@@ -578,9 +713,9 @@
578
713
  var err = {};
579
714
  if (this.config.maxLength && this._html) {
580
715
  var maxLength = this.config.maxLength;
581
- var length_1 = this._html.length;
582
- if (length_1 > maxLength) {
583
- err.maxLengthError = "Must be " + maxLength + " characters or fewer. You entered " + length_1 + " characters.";
716
+ var length = this._html.length;
717
+ if (length > maxLength) {
718
+ err.maxLengthError = "Must be " + maxLength + " characters or fewer. You entered " + length + " characters.";
584
719
  }
585
720
  }
586
721
  return Object.keys(err).length ? err : null;
@@ -801,9 +936,9 @@
801
936
  div.querySelectorAll('*')
802
937
  .forEach(function (el) {
803
938
  for (var i = 0; i < el.attributes.length; i++) {
804
- var name_1 = el.attributes[0].name;
805
- if (name_1 !== 'href') {
806
- el.removeAttribute(name_1);
939
+ var name = el.attributes[0].name;
940
+ if (name !== 'href') {
941
+ el.removeAttribute(name);
807
942
  }
808
943
  }
809
944
  });
@@ -862,97 +997,68 @@
862
997
  this.focus();
863
998
  }
864
999
  };
865
- var FsHtmlEditorComponent_1;
866
- FsHtmlEditorComponent.ctorParameters = function () { return [
867
- { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [FS_HTML_EDITOR_CONFIG,] }] },
868
- { type: core.ChangeDetectorRef },
869
- { type: FsFroalaLoaderService }
870
- ]; };
871
- __decorate([
872
- core.HostBinding('class.focused'),
873
- __metadata("design:type", Object)
874
- ], FsHtmlEditorComponent.prototype, "classFocused", void 0);
875
- __decorate([
876
- core.HostBinding('class.disabled'),
877
- __metadata("design:type", Object)
878
- ], FsHtmlEditorComponent.prototype, "classDisabled", void 0);
879
- __decorate([
880
- core.ViewChild('elRef'),
881
- __metadata("design:type", core.ElementRef)
882
- ], FsHtmlEditorComponent.prototype, "elRef", void 0);
883
- __decorate([
884
- core.Input(),
885
- __metadata("design:type", Object)
886
- ], FsHtmlEditorComponent.prototype, "config", void 0);
887
- FsHtmlEditorComponent = FsHtmlEditorComponent_1 = __decorate([
888
- core.Component({
889
- selector: 'fs-html-editor',
890
- template: "<div class=\"fs-html-editor-default\">\n <ng-container *ngIf=\"initialized\">\n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\">\n </ng-container>\n </ng-container>\n\n <div #elRef></div>\n\n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n <fs-html-renderer\n *ngIf=\"!initialized\"\n [html]=\"html\"\n (click)=\"uninitializedClick($event)\">\n </fs-html-renderer>\n</div>\n",
891
- providers: [
892
- {
893
- provide: forms.NG_VALUE_ACCESSOR,
894
- useExisting: core.forwardRef(function () { return FsHtmlEditorComponent_1; }),
895
- multi: true
896
- },
897
- {
898
- provide: forms.NG_VALIDATORS,
899
- useExisting: core.forwardRef(function () { return FsHtmlEditorComponent_1; }),
900
- multi: true
901
- },
902
- ],
903
- changeDetection: core.ChangeDetectionStrategy.OnPush,
904
- styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px;background-color:transparent}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit;min-height:auto}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-dropdown:after,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2;border-radius:0;background-color:#fff}:host ::ng-deep .fr-toolbar .fr-btn-grp{margin:0 20px 0 0}:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(1):after,:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(2):after{content:\"\";position:absolute;top:9px;height:30px;border-left:1px solid #e5e5e5;margin-left:10px}:host ::ng-deep .fr-toolbar div:first-of-type:before{border:none}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:3px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}:host ::ng-deep .fr-view ol,:host ::ng-deep .fr-view ul{list-style-position:unset}:host.disabled ::ng-deep .fr-box.fr-basic{opacity:.5;pointer-events:none}:host.disabled ::ng-deep .fr-box.fr-basic .fr-wrapper{border:none}:host.disabled ::ng-deep .disabled-line{display:block}::ng-deep .fr-popup{z-index:1001!important}::ng-deep .fr-video-by-url-layer .fr-checkbox-line{display:none}.disabled-line{display:none;position:absolute;bottom:-1px;z-index:1;background-image:linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x;height:1px;width:100%}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}::ng-deep .fs-html-editor-mention-container{position:absolute;top:0;left:0;height:auto;max-height:300px;max-width:500px;overflow:auto;display:block;z-index:999999;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background:#fff}::ng-deep .fs-html-editor-mention-container ul{margin:0;padding:0;list-style:none}::ng-deep .fs-html-editor-mention-container li{padding:0 16px;cursor:pointer;line-height:48px}::ng-deep .fs-html-editor-mention-container li.highlight,::ng-deep .fs-html-editor-mention-container li:hover{background:#f5f5f5}::ng-deep .fs-html-editor-mention-container li.no-match{cursor:default}"]
905
- }),
906
- __param(0, core.Optional()), __param(0, core.Inject(FS_HTML_EDITOR_CONFIG)),
907
- __metadata("design:paramtypes", [Object, core.ChangeDetectorRef,
908
- FsFroalaLoaderService])
909
- ], FsHtmlEditorComponent);
910
1000
  return FsHtmlEditorComponent;
911
1001
  }());
912
-
913
- var FsHtmlRendererComponent = /** @class */ (function () {
914
- function FsHtmlRendererComponent(sanitized, _cdRef) {
915
- this.sanitized = sanitized;
916
- this._cdRef = _cdRef;
917
- }
918
- Object.defineProperty(FsHtmlRendererComponent.prototype, "setHtml", {
919
- set: function (html) {
920
- this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html);
921
- this._cdRef.markForCheck();
1002
+ FsHtmlEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorComponent, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }, { token: i0__namespace.ChangeDetectorRef }, { token: FsFroalaLoaderService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1003
+ FsHtmlEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHtmlEditorComponent, selector: "fs-html-editor", inputs: { config: "config" }, host: { properties: { "class.focused": "this.classFocused", "class.disabled": "this.classDisabled" } }, providers: [
1004
+ {
1005
+ provide: forms.NG_VALUE_ACCESSOR,
1006
+ useExisting: i0.forwardRef(function () { return FsHtmlEditorComponent; }),
1007
+ multi: true
922
1008
  },
923
- enumerable: true,
924
- configurable: true
925
- });
926
- FsHtmlRendererComponent.ctorParameters = function () { return [
927
- { type: platformBrowser.DomSanitizer },
928
- { type: core.ChangeDetectorRef }
929
- ]; };
930
- __decorate([
931
- core.Input('html'),
932
- __metadata("design:type", Object),
933
- __metadata("design:paramtypes", [Object])
934
- ], FsHtmlRendererComponent.prototype, "setHtml", null);
935
- FsHtmlRendererComponent = __decorate([
936
- core.Component({
937
- selector: 'fs-html-renderer',
938
- template: "<div class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></div>\n",
939
- changeDetection: core.ChangeDetectionStrategy.OnPush,
940
- styles: [""]
941
- }),
942
- __metadata("design:paramtypes", [platformBrowser.DomSanitizer,
943
- core.ChangeDetectorRef])
944
- ], FsHtmlRendererComponent);
945
- return FsHtmlRendererComponent;
946
- }());
1009
+ {
1010
+ provide: forms.NG_VALIDATORS,
1011
+ useExisting: i0.forwardRef(function () { return FsHtmlEditorComponent; }),
1012
+ multi: true
1013
+ },
1014
+ ], viewQueries: [{ propertyName: "elRef", first: true, predicate: ["elRef"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"fs-html-editor-default\">\n <ng-container *ngIf=\"initialized\">\n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\">\n </ng-container>\n </ng-container>\n\n <div #elRef></div>\n\n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n <fs-html-renderer\n *ngIf=\"!initialized\"\n [html]=\"html\"\n (click)=\"uninitializedClick($event)\">\n </fs-html-renderer>\n</div>\n", styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px;background-color:transparent}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit;min-height:auto}:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar,:host ::ng-deep .fr-dropdown:after,:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper{transition:none!important}:host ::ng-deep .fr-toolbar.fr-top{position:sticky;z-index:2;border-radius:0;background-color:#fff}:host ::ng-deep .fr-toolbar.fr-top .fr-btn-grp{margin:0 20px 0 0}:host ::ng-deep .fr-toolbar.fr-top .fr-btn-grp:nth-child(1):after,:host ::ng-deep .fr-toolbar.fr-top .fr-btn-grp:nth-child(2):after{content:\"\";position:absolute;top:9px;height:30px;border-left:1px solid #e5e5e5;margin-left:10px}:host ::ng-deep .fr-toolbar.fr-top div:first-of-type:before{border:none}:host ::ng-deep .fr-toolbar.fr-top.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar.fr-top .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top.fr-top{border:0}:host ::ng-deep .fr-toolbar.fr-top .fr-newline{margin:0}:host ::ng-deep .fr-toolbar.fr-top .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar.fr-top .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar.fr-top .fr-command.fr-btn.fr-dropdown:after{right:3px}:host ::ng-deep .fr-toolbar.fr-top .fr-command.fr-btn.fr-dropdown.fr-selection span{margin-right:24px}:host ::ng-deep .fr-toolbar.fr-top .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}:host ::ng-deep .fr-view ol,:host ::ng-deep .fr-view ul{list-style-position:unset}:host.disabled ::ng-deep .fr-box.fr-basic{opacity:.5;pointer-events:none}:host.disabled ::ng-deep .fr-box.fr-basic .fr-wrapper{border:none}:host.disabled ::ng-deep .disabled-line{display:block}::ng-deep .fr-popup{z-index:1001!important}::ng-deep .fr-video-by-url-layer .fr-checkbox-line{display:none}.disabled-line{display:none;position:absolute;bottom:-1px;z-index:1;background-image:linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x;height:1px;width:100%}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}::ng-deep .fs-html-editor-mention-container{position:absolute;top:0;left:0;height:auto;max-height:300px;max-width:500px;overflow:auto;display:block;z-index:999999;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;border-bottom-left-radius:4px;border-bottom-right-radius:4px;background:#fff}::ng-deep .fs-html-editor-mention-container ul{margin:0;padding:0;list-style:none}::ng-deep .fs-html-editor-mention-container li{padding:0 16px;cursor:pointer;line-height:48px}::ng-deep .fs-html-editor-mention-container li.highlight,::ng-deep .fs-html-editor-mention-container li:hover{background:#F5F5F5}::ng-deep .fs-html-editor-mention-container li.no-match{cursor:default}\n"], components: [{ type: FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: ["html"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1015
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorComponent, decorators: [{
1016
+ type: i0.Component,
1017
+ args: [{
1018
+ selector: 'fs-html-editor',
1019
+ templateUrl: 'html-editor.component.html',
1020
+ styleUrls: ['html-editor.component.scss'],
1021
+ providers: [
1022
+ {
1023
+ provide: forms.NG_VALUE_ACCESSOR,
1024
+ useExisting: i0.forwardRef(function () { return FsHtmlEditorComponent; }),
1025
+ multi: true
1026
+ },
1027
+ {
1028
+ provide: forms.NG_VALIDATORS,
1029
+ useExisting: i0.forwardRef(function () { return FsHtmlEditorComponent; }),
1030
+ multi: true
1031
+ },
1032
+ ],
1033
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1034
+ }]
1035
+ }], ctorParameters: function () {
1036
+ return [{ type: undefined, decorators: [{
1037
+ type: i0.Optional
1038
+ }, {
1039
+ type: i0.Inject,
1040
+ args: [FS_HTML_EDITOR_CONFIG]
1041
+ }] }, { type: i0__namespace.ChangeDetectorRef }, { type: FsFroalaLoaderService }];
1042
+ }, propDecorators: { classFocused: [{
1043
+ type: i0.HostBinding,
1044
+ args: ['class.focused']
1045
+ }], classDisabled: [{
1046
+ type: i0.HostBinding,
1047
+ args: ['class.disabled']
1048
+ }], elRef: [{
1049
+ type: i0.ViewChild,
1050
+ args: ['elRef']
1051
+ }], config: [{
1052
+ type: i0.Input
1053
+ }] } });
947
1054
 
948
1055
  var FsHtmlEditorModule = /** @class */ (function () {
949
1056
  function FsHtmlEditorModule() {
950
1057
  }
951
- FsHtmlEditorModule_1 = FsHtmlEditorModule;
952
1058
  FsHtmlEditorModule.forRoot = function (config) {
953
1059
  if (config === void 0) { config = {}; }
954
1060
  return {
955
- ngModule: FsHtmlEditorModule_1,
1061
+ ngModule: FsHtmlEditorModule,
956
1062
  providers: [
957
1063
  { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },
958
1064
  {
@@ -963,27 +1069,36 @@
963
1069
  ]
964
1070
  };
965
1071
  };
966
- var FsHtmlEditorModule_1;
967
- FsHtmlEditorModule = FsHtmlEditorModule_1 = __decorate([
968
- core.NgModule({
969
- imports: [
970
- common.CommonModule,
971
- skeleton.FsSkeletonModule,
972
- ],
973
- exports: [
974
- FsHtmlEditorComponent,
975
- FsHtmlRendererComponent,
976
- ],
977
- declarations: [
978
- FsHtmlEditorComponent,
979
- FsHtmlRendererComponent,
980
- ],
981
- })
982
- ], FsHtmlEditorModule);
983
1072
  return FsHtmlEditorModule;
984
1073
  }());
1074
+ FsHtmlEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1075
+ FsHtmlEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorModule, declarations: [FsHtmlEditorComponent,
1076
+ FsHtmlRendererComponent], imports: [i3.CommonModule,
1077
+ i4.FsSkeletonModule], exports: [FsHtmlEditorComponent,
1078
+ FsHtmlRendererComponent] });
1079
+ FsHtmlEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorModule, imports: [[
1080
+ i3.CommonModule,
1081
+ i4.FsSkeletonModule,
1082
+ ]] });
1083
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorModule, decorators: [{
1084
+ type: i0.NgModule,
1085
+ args: [{
1086
+ imports: [
1087
+ i3.CommonModule,
1088
+ i4.FsSkeletonModule,
1089
+ ],
1090
+ exports: [
1091
+ FsHtmlEditorComponent,
1092
+ FsHtmlRendererComponent,
1093
+ ],
1094
+ declarations: [
1095
+ FsHtmlEditorComponent,
1096
+ FsHtmlRendererComponent,
1097
+ ],
1098
+ }]
1099
+ }] });
985
1100
  function FsHtmlEditorConfigFactory(config) {
986
- return __assign({ defaultPlugins: [
1101
+ return Object.assign({ defaultPlugins: [
987
1102
  "align" /* Align */,
988
1103
  "colors" /* Colors */,
989
1104
  "image" /* Image */,
@@ -1012,7 +1127,15 @@
1012
1127
  function MentionPlugin(config) {
1013
1128
  var _this = _super.call(this) || this;
1014
1129
  _this.config = config;
1015
- _this.config = __assign(__assign({}, config), { buttons: [
1130
+ _this._guid = common.guid();
1131
+ _this.selected = function (event) {
1132
+ if (_this.config.selected) {
1133
+ if (MentionPlugin._currentGuid === _this._guid) {
1134
+ _this.config.selected(event.detail.item.original);
1135
+ }
1136
+ }
1137
+ };
1138
+ _this.config = Object.assign(Object.assign({}, config), { buttons: [
1016
1139
  {
1017
1140
  name: config.name,
1018
1141
  tooltip: config.tooltip,
@@ -1023,7 +1146,7 @@
1023
1146
  }
1024
1147
  }
1025
1148
  ] });
1026
- _this._tribute = new Tribute({
1149
+ _this._tribute = new Tribute__default["default"]({
1027
1150
  values: lodashEs.debounce(_this._loadValues.bind(_this), 200),
1028
1151
  searchOpts: {
1029
1152
  pre: '',
@@ -1062,8 +1185,11 @@
1062
1185
  return false;
1063
1186
  }
1064
1187
  }, true);
1188
+ this.editor.el.addEventListener("tribute-replaced", this.selected);
1189
+ };
1190
+ MentionPlugin.prototype.destroy = function () {
1191
+ this.editor.el.removeEventListener("tribute-replaced", this.selected);
1065
1192
  };
1066
- MentionPlugin.prototype.destroy = function () { };
1067
1193
  MentionPlugin.prototype._closeAll = function () {
1068
1194
  MentionPlugin._tributes.forEach(function (tribute) {
1069
1195
  if (tribute.menu) {
@@ -1072,14 +1198,16 @@
1072
1198
  });
1073
1199
  };
1074
1200
  MentionPlugin.prototype._loadValues = function (keyword, cb) {
1201
+ MentionPlugin._currentGuid = this._guid;
1075
1202
  return this.config.fetch(keyword)
1076
1203
  .subscribe(function (data) {
1077
1204
  cb(data);
1078
1205
  });
1079
1206
  };
1080
- MentionPlugin._tributes = [];
1081
1207
  return MentionPlugin;
1082
1208
  }(Plugin));
1209
+ MentionPlugin._currentGuid = null;
1210
+ MentionPlugin._tributes = [];
1083
1211
 
1084
1212
  var ChecklistPlugin = /** @class */ (function (_super) {
1085
1213
  __extends(ChecklistPlugin, _super);
@@ -1087,7 +1215,7 @@
1087
1215
  if (config === void 0) { config = { name: 'checklist' }; }
1088
1216
  var _this = _super.call(this) || this;
1089
1217
  _this.config = config;
1090
- _this.config = __assign(__assign({}, config), { name: 'checklist', buttons: [
1218
+ _this.config = Object.assign(Object.assign({}, config), { name: 'checklist', buttons: [
1091
1219
  {
1092
1220
  name: 'checklist',
1093
1221
  svgPath: 'M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z',
@@ -1102,7 +1230,7 @@
1102
1230
  this.editor.events.on('click', function (e) {
1103
1231
  var li = e.target;
1104
1232
  if (li.nodeName === 'LI' && e.offsetX < 0) {
1105
- var items = __spread([li], li.querySelectorAll('li'));
1233
+ var items = __spreadArray([li], __read(li.querySelectorAll('li')));
1106
1234
  if (li.classList.contains('checked')) {
1107
1235
  items.forEach(function (item) {
1108
1236
  item.classList.remove('checked');
@@ -1125,7 +1253,7 @@
1125
1253
  if (config === void 0) { config = { name: 'code' }; }
1126
1254
  var _this = _super.call(this) || this;
1127
1255
  _this.config = config;
1128
- _this.config = __assign(__assign({}, config), { name: 'code', buttons: [
1256
+ _this.config = Object.assign(Object.assign({}, config), { name: 'code', buttons: [
1129
1257
  {
1130
1258
  name: 'code',
1131
1259
  svgPath: 'M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z',
@@ -1192,7 +1320,7 @@
1192
1320
  if (config === void 0) { config = {}; }
1193
1321
  var _this = _super.call(this) || this;
1194
1322
  _this.config = config;
1195
- _this.config = __assign(__assign({}, config), { name: config.name || 'screenRecord', buttons: [
1323
+ _this.config = Object.assign(Object.assign({}, config), { name: config.name || 'screenRecord', buttons: [
1196
1324
  {
1197
1325
  name: 'screenRecord',
1198
1326
  svgPath: "M14.7,7.7v6.1H7.1V7.7H14.7 M16.3,9.6V6.9c0-0.4-0.3-0.8-0.8-0.8H6.4c-0.4,0-0.8,0.3-0.8,0.8v7.6c0,0.4,0.3,0.8,0.8,0.8h9.1c0.4,0,0.8-0.3,0.8-0.8v-2.7l1.7,1.7c0.3,0.3,0.8,0.3,1.1,0c0.1-0.1,0.2-0.3,0.2-0.5V8.4c0-0.4-0.3-0.8-0.8-0.8\n\tc-0.2,0-0.4,0.1-0.5,0.2L16.3,9.6z M21.5,1.6H2.9c-0.7,0-1.3,0.7-1.3,1.6v14.6c0,0.9,0.6,1.6,1.3,1.6h7.6v1.1l-5,1c-0.2,0-0.4,0.3-0.4,0.6c0,0.3,0.2,0.4,0.4,0.4c0,0,0,0,0.1,0l5.3-1h2.6l5.3,1c0,0,0,0,0.1,0c0.2,0,0.4-0.2,0.4-0.4\n c0-0.3-0.1-0.6-0.4-0.6l-5-1v-1.1h7.6c0.7,0,1.3-0.7,1.3-1.6V3.2C22.9,2.3,22.3,1.6,21.5,1.6z M21.1,17.3H3.3V3.7h17.8L21.1,17.3L21.1,17.3z",
@@ -1288,6 +1416,10 @@
1288
1416
  return ScreenRecordPlugin;
1289
1417
  }(Plugin));
1290
1418
 
1419
+ /**
1420
+ * Generated bundle index. Do not edit.
1421
+ */
1422
+
1291
1423
  exports.ChecklistPlugin = ChecklistPlugin;
1292
1424
  exports.CodePlugin = CodePlugin;
1293
1425
  exports.FS_HTML_EDITOR_CONFIG = FS_HTML_EDITOR_CONFIG;
@@ -1299,12 +1431,8 @@
1299
1431
  exports.RichButtons = RichButtons;
1300
1432
  exports.ScreenRecordPlugin = ScreenRecordPlugin;
1301
1433
  exports.TextButtons = TextButtons;
1302
- exports.ɵa = FsHtmlEditorConfigFactory;
1303
- exports.ɵb = FS_HTML_EDITOR_DEFAULT_CONFIG;
1304
- exports.ɵc = FsFroalaLoaderService;
1305
- exports.ɵe = Plugin;
1306
1434
 
1307
1435
  Object.defineProperty(exports, '__esModule', { value: true });
1308
1436
 
1309
- })));
1437
+ }));
1310
1438
  //# sourceMappingURL=firestitch-html-editor.umd.js.map