@firestitch/html-editor 12.7.2 → 12.7.3

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.
@@ -14,6 +14,7 @@ export declare class FsHtmlEditorComponent implements OnInit, AfterViewInit, Con
14
14
  config: FsHtmlEditorConfig;
15
15
  hint: string;
16
16
  initialized: boolean;
17
+ readonly containerID: string;
17
18
  private _editor;
18
19
  private _html;
19
20
  private _initialize$;
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@firestitch/label'), require('@firestitch/skeleton'), require('@angular/forms'), require('@firestitch/file'), require('rxjs'), require('rxjs/operators'), require('lodash-es'), require('@firestitch/common'), require('@angular/platform-browser'), require('tributejs')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/html-editor', ['exports', '@angular/core', '@angular/common', '@firestitch/label', '@firestitch/skeleton', '@angular/forms', '@firestitch/file', 'rxjs', 'rxjs/operators', 'lodash-es', '@firestitch/common', '@angular/platform-browser', 'tributejs'], 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.i2, global.i4, global.ng.forms, global.file, global.rxjs, global.rxjs.operators, global.lodashEs, global.common, global.ng.platformBrowser, global.Tribute));
5
- })(this, (function (exports, i0, i3, i2, i4, forms, file, rxjs, operators, lodashEs, common, i1, Tribute) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@firestitch/label'), require('@firestitch/skeleton'), require('@angular/forms'), require('@firestitch/common'), 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/label', '@firestitch/skeleton', '@angular/forms', '@firestitch/common', '@firestitch/file', 'rxjs', 'rxjs/operators', 'lodash-es', '@angular/platform-browser', 'tributejs'], 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.i2, global.i4, global.ng.forms, global.common, global.file, global.rxjs, global.rxjs.operators, global.lodashEs, global.ng.platformBrowser, global.Tribute));
5
+ })(this, (function (exports, i0, i3, i2, i4, forms, common, file, rxjs, operators, lodashEs, i1, Tribute) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -493,6 +493,7 @@
493
493
  this.classDisabled = false;
494
494
  this.config = {};
495
495
  this.initialized = false;
496
+ this.containerID = "fs-html-editor-" + common.guid('xxx');
496
497
  this._initialize$ = new rxjs.ReplaySubject();
497
498
  this._froalaReady$ = new rxjs.BehaviorSubject(null);
498
499
  this._destroy$ = new rxjs.Subject();
@@ -741,6 +742,7 @@
741
742
  imageDefaultWidth: 0,
742
743
  imageDefaultAlign: 'left',
743
744
  quickInsertEnabled: false,
745
+ scrollableContainer: "#" + this.containerID,
744
746
  paragraphDefaultSelection: 'Format',
745
747
  videoUpload: false,
746
748
  imagePaste: !!((_a = config.image) === null || _a === void 0 ? void 0 : _a.upload),
@@ -914,7 +916,7 @@
914
916
  useExisting: i0.forwardRef(function () { return FsHtmlEditorComponent; }),
915
917
  multi: true
916
918
  },
917
- ], viewQueries: [{ propertyName: "elRef", first: true, predicate: ["elRef"], descendants: true }], ngImport: i0__namespace, template: "<fs-label-field>\n <fs-label *ngIf=\"config.label\">{{config.label}}</fs-label>\n <div \n class=\"html-editor-container fs-html-editor-default\" \n [ngClass]=\"{ \n initialized: initialized,\n 'init-on-click': config.initOnClick\n }\"> \n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\"></ng-container> \n <div #elRef></div>\n \n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n </div>\n \n <fs-label-message>\n <div class=\"fs-form-message\">\n <div class=\"fs-form-hint\">{{hint}}</div>\n </div>\n </fs-label-message>\n</fs-label-field>\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-open .fr-more-toolbar{display:block}:host ::ng-deep .fr-more-toolbar{display:none}: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;display:flex;justify-content:center;padding-left:0!important}: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 ::ng-deep .html-editor-container.init-on-click:not(.initialized) .fr-toolbar{display:none}: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: i2__namespace.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2__namespace.FsLabelComponent, selector: "fs-label" }, { type: i2__namespace.FsLabelMessageComponent, selector: "fs-label-message" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
919
+ ], viewQueries: [{ propertyName: "elRef", first: true, predicate: ["elRef"], descendants: true }], ngImport: i0__namespace, template: "<fs-label-field>\n <fs-label *ngIf=\"config.label\">{{config.label}}</fs-label>\n <div\n class=\"html-editor-container fs-html-editor-default\"\n [id]=\"containerID\"\n [ngClass]=\"{\n initialized: initialized,\n 'init-on-click': config.initOnClick\n }\">\n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\"></ng-container>\n <div #elRef></div>\n\n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n </div>\n\n <fs-label-message>\n <div class=\"fs-form-message\">\n <div class=\"fs-form-hint\">{{hint}}</div>\n </div>\n </fs-label-message>\n</fs-label-field>\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-open .fr-more-toolbar{display:block}:host ::ng-deep .fr-more-toolbar{display:none}: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;display:flex;justify-content:center;padding-left:0!important}: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 ::ng-deep .html-editor-container.init-on-click:not(.initialized) .fr-toolbar{display:none}: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: i2__namespace.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2__namespace.FsLabelComponent, selector: "fs-label" }, { type: i2__namespace.FsLabelMessageComponent, selector: "fs-label-message" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
918
920
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsHtmlEditorComponent, decorators: [{
919
921
  type: i0.Component,
920
922
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-html-editor.umd.js","sources":["../../src/app/modules/html-editor/consts/rich-buttons.const.ts","../../src/app/modules/html-editor/consts/text-buttons.const.ts","../../src/app/modules/html-editor/consts/paragraph-buttons.const.ts","../../src/app/modules/html-editor/injects/config.inject.ts","../../node_modules/tslib/tslib.es6.js","../../src/app/modules/html-editor/services/froala-loader.service.ts","../../src/app/modules/html-editor/components/html-editor/html-editor.component.ts","../../src/app/modules/html-editor/components/html-editor/html-editor.component.html","../../src/app/modules/html-renderer/components/html-renderer/html-renderer.component.ts","../../src/app/modules/html-renderer/components/html-renderer/html-renderer.component.html","../../src/app/modules/html-renderer/fs-html-renderer.module.ts","../../src/app/modules/html-editor/fs-html-editor.module.ts","../../src/app/modules/html-editor/classes/plugin.ts","../../src/app/modules/html-editor/plugins/mention.plugin.ts","../../src/app/modules/html-editor/plugins/checklist.plugin.ts","../../src/app/modules/html-editor/plugins/code.plugin.ts","../../src/app/modules/html-editor/plugins/screen-record.plugin.ts","../../src/app/modules/html-editor/plugins/realtime.plugin.ts","../../src/firestitch-html-editor.ts"],"sourcesContent":["export const RichButtons = [\n 'insertTable',\n 'insertImage',\n 'insertLink',\n 'insertVideo',\n];\n","export const TextButtons = [\n 'paragraphFormat',\n 'code',\n 'bold',\n 'italic',\n 'underline',\n 'strikeThrough',\n 'subscript',\n 'superscript',\n 'fontFamily',\n 'fontSize',\n 'textColor',\n 'backgroundColor',\n 'inlineClass',\n 'inlineStyle',\n 'clearFormatting',\n 'quote',\n];\n","export const ParagraphButtons = [\n 'align',\n 'formatOL',\n 'formatUL',\n 'checklist',\n 'indent',\n 'outdent',\n 'lineHeight'\n];\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_HTML_EDITOR_DEFAULT_CONFIG = new InjectionToken<any[]>('fs-html-editor.default-config');\nexport const FS_HTML_EDITOR_CONFIG = new InjectionToken<any[]>('fs-html-editor.config');\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n 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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n 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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { fsSourceLoader } from '@firestitch/common'\n\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { concatMap, map, shareReplay, tap } from 'rxjs/operators';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';\nimport { FsHtmlEditorConfig } from '../interfaces/html-editor-config';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsFroalaLoaderService {\n\n private _FroalaEditor: unknown;\n\n private _froalaLoaded = new BehaviorSubject(false);\n private _froalaPluginsLoaded = new BehaviorSubject(false);\n private _sourceLoader = fsSourceLoader;\n\n private _loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])\n .pipe(\n map(([FroalaReady, pluginsRead]) => {\n return pluginsRead && FroalaReady;\n }),\n shareReplay(1),\n );\n\n constructor(\n @Optional()\n @Inject(FS_HTML_EDITOR_CONFIG)\n private _defaultConfig: FsHtmlEditorConfig,\n @Inject(DOCUMENT)\n private _document: Document,\n ) {\n this._sourceLoader.setDocument(this._document);\n this._load();\n }\n\n public get loaded$(): Observable<boolean> {\n return this._loaded$;\n }\n\n public get FroalaEditor(): any {\n return this._FroalaEditor;\n }\n\n private _load() {\n const baseDir = '/assets/froala/';\n this._sourceLoader.registerResources({\n froala: [\n `${baseDir}js/froala_editor.min.js`,\n `${baseDir}css/froala_editor.pkgd.min.css`,\n ],\n froala_align: `${baseDir}js/plugins/align.min.js`,\n froala_colors: `${baseDir}js/plugins/colors.min.js`,\n froala_image: `${baseDir}js/plugins/image.min.js`,\n froala_link: `${baseDir}js/plugins/link.min.js`,\n froala_lists: `${baseDir}js/plugins/lists.min.js`,\n froala_paragraph_format: `${baseDir}js/plugins/paragraph_format.min.js`,\n froala_table: `${baseDir}js/plugins/table.min.js`,\n froala_url: `${baseDir}js/plugins/url.min.js`,\n froala_video: `${baseDir}js/plugins/video.min.js`,\n froala_quote: `${baseDir}js/plugins/quote.min.js`,\n froala_draggable: `${baseDir}js/plugins/draggable.min.js`,\n froala_font_size: `${baseDir}js/plugins/font_size.min.js`,\n froala_quick_insert: `${baseDir}js/plugins/quick_insert.min.js`,\n froala_line_height: `${baseDir}js/plugins/line_height.min.js`\n });\n\n this._sourceLoader.loadResource('froala')\n .pipe(\n tap(() => {\n this._FroalaEditor = (window as any).FroalaEditor;\n this._froalaDone();\n }),\n concatMap(() => {\n return this._loadPlugins();\n }),\n tap(() => {\n this._froalaPluginsDone();\n }),\n )\n .subscribe();\n }\n\n private _loadPlugins(): Observable<unknown> {\n const resources = this._defaultConfig\n .froalaPlugins\n .map((pluginName) => `froala_${pluginName}`);\n\n return this._sourceLoader.loadResources(resources);\n }\n\n private _froalaDone() {\n this._froalaLoaded.next(true);\n }\n\n private _froalaPluginsDone() {\n this._froalaPluginsLoaded.next(true);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport { FileProcessor, FsFile, FsFileProcessConfig } from '@firestitch/file';\n\nimport { BehaviorSubject, fromEventPattern, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, skip, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { merge } from 'lodash-es';\n\nimport { PluginButton } from './../../interfaces/plugin-button';\nimport { FsHtmlEditorConfig } from '../../interfaces/html-editor-config';\nimport { RichButtons } from './../../consts/rich-buttons.const';\nimport { TextButtons } from './../../consts/text-buttons.const';\nimport { ParagraphButtons } from './../../consts/paragraph-buttons.const';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../../injects/config.inject';\nimport { Plugin } from './../../classes/plugin';\n\nimport { FsFroalaLoaderService } from '../../services/froala-loader.service';\n\n\n@Component({\n selector: 'fs-html-editor',\n templateUrl: 'html-editor.component.html',\n styleUrls: ['html-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, Validator, OnDestroy {\n\n @HostBinding('class.focused') classFocused = false;\n @HostBinding('class.disabled') classDisabled = false;\n\n @ViewChild('elRef') public elRef: ElementRef;\n\n @Input() public config: FsHtmlEditorConfig = {};\n @Input() public hint: string;\n\n public initialized = false;\n\n private _editor: any;\n private _html: string;\n private _initialize$ = new ReplaySubject();\n private _froalaReady$ = new BehaviorSubject(null);\n private _destroy$ = new Subject();\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig,\n private _cdRef: ChangeDetectorRef,\n private _fr: FsFroalaLoaderService,\n ) { }\n\n public onChange = (data: any) => {}\n public onTouched = () => {}\n\n public get el(): any {\n return this.elRef.nativeElement;\n }\n\n public get html(): string {\n return this._html;\n }\n\n public get editor(): any {\n return this._editor;\n }\n\n public get froalaLoaded$(): Observable<boolean> {\n return this._fr.loaded$;\n }\n\n public ngOnInit(): void {\n this.config = this.config || {};\n this.config.autofocus = this.config.autofocus !== false && !this.config.disabled;\n this._listenLazyInit();\n }\n\n public ngAfterViewInit() {\n this._initialize$.next();\n }\n\n public hasContent() {\n const el = document.createElement('div');\n\n if (el.querySelector('img')) {\n return true;\n }\n\n el.innerHTML = this._html;\n return !!el.innerText.length;\n }\n\n public initialize(options: any = {}) {\n const config = this._createConfig();\n this._initPlugins(config);\n this._initButtons(config);\n this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {\n this._froalaReady$.next({ config, options });\n });\n }\n\n private _processImageUpload(blob) {\n const processor = new FileProcessor();\n const file = new FsFile(blob);\n\n const config: FsFileProcessConfig = {\n orientate: true,\n quality: this.config.image.quality,\n format: this.config.image.format as any,\n maxWidth: this.config.image.width,\n maxHeight: this.config.image.height,\n minWidth: this.config.image.minWidth,\n minHeight: this.config.image.minHeight,\n };\n\n return processor.processFile(file, config)\n .pipe(\n switchMap((fsFile: FsFile) => {\n return this.config.image.upload(fsFile.file)\n }),\n );\n }\n\n public updateSize() {\n // Hack: To trigger the toolbar button size modes\n window.dispatchEvent(new Event('resize'));\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const err: any = {};\n if (this.config.maxLength && this._html) {\n const maxLength = this.config.maxLength;\n const length = this._html.length;\n if (length > maxLength) {\n err.maxLengthError = `Must be ${maxLength} characters or fewer. You entered ${length} characters.`;\n }\n }\n\n return Object.keys(err).length ? err : null;\n }\n\n public focus(options?: { cursorPosition?: 'start' | 'end' }) {\n options = options ? options : {};\n\n if (options.cursorPosition === 'end') {\n this.editor.selection.setAtEnd(this.editor.$el.get(0));\n } else {\n this.editor.selection.setAtStart(this.editor.$el.get(0));\n }\n\n this.editor.selection.restore();\n\n const elSelection = this.editor.selection.element();\n if (elSelection) {\n elSelection.scrollIntoView({ block: 'center' });\n }\n }\n\n public clear() {\n this.writeValue('');\n }\n\n public disable() {\n this.classDisabled = true;\n }\n\n public setHtml(html) {\n this.writeValue(html);\n }\n\n public writeValue(html: string): void {\n this._html = html || '';\n\n if (Array.isArray(this._html)) {\n this._html = this._html.pop();\n }\n\n this._html = this._html\n .replace(/<(li)>\\s?<(div)>/g, '<li>')\n .replace(/<\\/(div)><\\/(li)>/g, '</li>');\n\n if (this.editor && this.editor.html) {\n try {\n this.editor.html.set(this._html);\n } catch (e) {\n }\n }\n\n this._cdRef.markForCheck();\n }\n\n public registerOnChange(fn: (data: any) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public ngOnDestroy() {\n this._initialize$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n this.destroy();\n }\n\n public destroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n \n this.initialized = false;\n this._cdRef.markForCheck();\n this.el.innerHTML = '';\n }\n\n private _createConfig(): FsHtmlEditorConfig {\n return merge({ froalaConfig: {} }, this._defaultConfig, this.config);\n }\n\n private _change(html): void {\n this._html = html;\n this.onChange(html);\n }\n\n private _initButtons(config: FsHtmlEditorConfig) {\n (config.buttons || [])\n .forEach((button) => {\n /*\n Svg Keys:\n [\"add\", \"advancedImageEditor\", \"alignCenter\", \"alignJustify\", \"alignLeft\", \"alignRight\", \n \"anchors\", \"back\", \"backgroundColor\", \"blockquote\", \"bold\", \"cellBackground\", \n \"cellBorderColor\", \"cellOptions\", \"cellStyle\", \"clearFormatting\", \"close\", \"codeView\", \n \"cogs\", \"columns\", \"editLink\", \"exitFullscreen\", \"fontAwesome\", \"fontFamily\", \n \"fontSize\", \"fullscreen\", \"help\", \"horizontalLine\", \"imageAltText\", \"imageCaption\", \n \"imageClass\", \"imageDisplay\", \"imageManager\", \"imageSize\", \"indent\", \"inlineClass\", \n \"inlineStyle\", \"insertEmbed\", \"insertFile\", \"insertImage\", \"insertLink\", \"insertMore\", \n \"insertTable\", \"insertVideo\", \"upload\", \"italic\", \"search\", \"lineHeight\", \"linkStyles\", \n \"mention\", \"more\", \"openLink\", \"orderedList\", \"outdent\", \"pageBreaker\", \n \"paragraphFormat\", \"paragraphMore\", \"paragraphStyle\", \"pdfExport\", \"print\", \n \"redo\", \"removeTable\", \"remove\", \"replaceImage\", \"row\", \"selectAll\", \"smile\",\n \"spellcheck\", \"star\", \"strikeThrough\", \"subscript\", \"superscript\", \"symbols\", \"tags\",\n \"tableHeader\", \"tableStyle\", \"textColor\", \"textMore\", \"underline\", \"undo\", \"unlink\", \n \"unorderedList\", \"verticalAlignBottom\", \"verticalAlignMiddle\", \"verticalAlignTop\"]\n */\n\n if(button.svgKey) {\n this._fr.FroalaEditor.DefineIcon(button.name, { SVG_KEY: button.svgKey });\n }\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n title: button.title,\n focus: button.focus ?? true,\n undo: button.undo ?? true,\n refreshAfterCallback: button.refreshAfterCallback ?? true,\n callback: function () {\n button.click(this);\n }\n });\n });\n }\n\n private _initPlugins(config) {\n (config.plugins || []).forEach((plugin: Plugin) => {\n this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {\n plugin.editor = editor;\n plugin.initialize();\n return plugin;\n };\n\n (plugin.config.buttons || []).forEach((button: PluginButton) => {\n this._fr.FroalaEditor.DefineIcon(button.name, {\n NAME: button.name,\n PATH: button.svgPath,\n });\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n icon: button.name,\n title: button.tooltip,\n undo: button.undo,\n focus: button.focus,\n showOnMobile: button.showOnMobile,\n refreshAfterCallback: button.refreshAfterCallback,\n callback: function () {\n if (button.click) {\n button.click(this);\n }\n },\n refresh: function (button) {\n if (button.refresh) {\n button.refresh(this, button);\n }\n }\n });\n });\n\n });\n }\n\n private _createOptions() {\n const config = this._createConfig();\n\n return merge(\n // For some reason editor store somewhere pointer on default config object and dublicate options each time on init\n // Extra merge level fixed this problem and allow to init config properly without legacy data\n {},\n {\n shortcutsEnabled: ['show', 'bold', 'italic', 'underline', 'indent', 'outdent', 'undo', 'redo', 'insertImage', 'createLink'],\n key: config.activationKey,\n placeholderText: config.placeholder,\n linkAlwaysBlank: true,\n tabSpaces: 2,\n typingTimer: 250,\n tooltips: false,\n wordPasteModal: false,\n imageDefaultWidth: 0,\n imageDefaultAlign: 'left',\n quickInsertEnabled: false,\n paragraphDefaultSelection: 'Format',\n videoUpload: false,\n imagePaste: !!config.image?.upload,\n imageUpload: !!config.image?.upload,\n paragraphFormat: {\n N: 'Normal',\n H1: 'Heading 1',\n H2: 'Heading 2',\n H3: 'Heading 3',\n H4: 'Heading 4',\n BLOCKQUOTE: 'Quote',\n },\n lineHeights: {\n Default: '',\n '0.5': '0.5',\n 'Single': '1',\n '1.15': '1.15',\n '1.5': '1.5',\n 'Double': '2'\n },\n paragraphFormatSelection: true,\n toolbarButtonsXS: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 1,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 2,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 0,\n },\n },\n toolbarButtons: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 3,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 5,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 3,\n },\n },\n },\n config.froalaConfig,\n );\n }\n\n private _listenLazyInit() {\n this.froalaLoaded$\n .pipe(\n filter((ready) => ready),\n switchMap(() => this._initialize$),\n tap(() => {\n const selection: any = window.getSelection();\n const options: any = {};\n if (selection.baseNode) {\n options.selection = {\n node: selection.baseNode.nodeValue,\n offset: selection.baseOffset,\n };\n }\n this.initialize(options);\n }),\n switchMap(() => this._froalaReady$),\n filter((data) => !!data),\n tap(({ config, options }) => {\n this._setupFroala(config, options);\n })\n )\n .subscribe();\n }\n\n private _contentChanged(): void {\n const editorHTML = this._editor.html.get();\n\n if (this.html !== editorHTML) {\n this._change(editorHTML);\n }\n }\n\n private _setupFroala(config: FsHtmlEditorConfig, options: any): void {\n this._cdRef.markForCheck();\n\n this.setHtml(this._html);\n\n if (config.disabled) {\n this.disable();\n }\n\n if (config.froalaConfig.events) {\n if (config.froalaConfig.events.initialized) {\n config.froalaConfig.events.initialized();\n }\n }\n\n this._editor.events.on('focus', () => {\n this.classFocused = true;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('blur', () => {\n this.classFocused = false;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('click', () => {\n if(this.config.initOnClick && !this.initialized) {\n this.initialized = true;\n this._cdRef.markForCheck();\n }\n });\n\n fromEventPattern(\n (handler) => {\n this._editor.events.on('contentChanged', handler);\n },\n () => {}\n )\n .pipe(\n startWith(this._html),\n map(() => this.editor.html.get()),\n distinctUntilChanged(),\n skip(1),\n )\n .subscribe(() => {\n this._contentChanged();\n });\n\n this._editor.events.on('paste.afterCleanup', (html) => {\n var div = document.createElement('div');\n div.innerHTML = html;\n div.querySelectorAll('*')\n .forEach((el) => {\n for (var i = 0; i < el.attributes.length; i++) {\n const name = el.attributes[0].name;\n if (name !== 'href') {\n el.removeAttribute(name);\n }\n }\n });\n return div.innerHTML;\n });\n\n this._editor.events.on('keydown', () => {\n this.onTouched();\n });\n\n if (this.config.image && this.config.image.upload) {\n this._editor.events.on('image.beforePasteUpload', (image) => {\n\n fetch(image.getAttribute('src'))\n .then((res) => {\n res.blob()\n .then((blob) => {\n this._processImageUpload(blob)\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((url) => {\n image.setAttribute('src', url);\n image.removeAttribute('data-fr-image-pasted');\n\n this._contentChanged();\n });\n });\n });\n\n return false;\n });\n\n this._editor.events.on('image.beforeUpload', (blobs) => {\n this._processImageUpload(blobs[0])\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((url) => {\n this.editor.image.insert(url, null, null, this.editor.image.get());\n });\n\n return false;\n });\n }\n\n if (this.el.querySelector('.fr-second-toolbar')) {\n this.el.querySelector('.fr-second-toolbar').remove();\n }\n \n if (this.config.autofocus && !this.config.initOnClick) {\n this.focus();\n }\n }\n}\n","<fs-label-field>\n <fs-label *ngIf=\"config.label\">{{config.label}}</fs-label>\n <div \n class=\"html-editor-container fs-html-editor-default\" \n [ngClass]=\"{ \n initialized: initialized,\n 'init-on-click': config.initOnClick\n }\"> \n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\"></ng-container> \n <div #elRef></div>\n \n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n </div>\n \n <fs-label-message>\n <div class=\"fs-form-message\">\n <div class=\"fs-form-hint\">{{hint}}</div>\n </div>\n </fs-label-message>\n</fs-label-field>\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ChangeDetectionStrategy, Component, Input, ChangeDetectorRef } from '@angular/core';\n\n\n@Component({\n selector: 'fs-html-renderer',\n templateUrl: 'html-renderer.component.html',\n styleUrls: ['html-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlRendererComponent {\n\n @Input('html') public set setHtml(html) {\n this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html || '');\n this._cdRef.markForCheck();\n }\n\n public trustedHtml: SafeHtml;\n\n public constructor(\n private sanitized: DomSanitizer,\n private _cdRef: ChangeDetectorRef,\n ) { }\n\n}\n","<span class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsHtmlRendererComponent } from './components/html-renderer/html-renderer.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsHtmlRendererComponent,\n ],\n declarations: [\n FsHtmlRendererComponent,\n ],\n})\nexport class FsHtmlRendererModule {\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\n\nimport { FsHtmlEditorComponent } from './components/html-editor/html-editor.component';\nimport { FsHtmlEditorConfig } from './interfaces/html-editor-config';\nimport { FS_HTML_EDITOR_CONFIG, FS_HTML_EDITOR_DEFAULT_CONFIG } from './injects/config.inject';\nimport { FroalaPlugin } from './enums/default-plugin.enum';\nimport { FsHtmlRendererModule } from '../html-renderer/fs-html-renderer.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n FsSkeletonModule,\n FsLabelModule,\n FsHtmlRendererModule,\n ],\n exports: [\n FsHtmlEditorComponent,\n ],\n declarations: [\n FsHtmlEditorComponent,\n ],\n})\nexport class FsHtmlEditorModule {\n static forRoot(config: FsHtmlEditorConfig = {}): ModuleWithProviders<FsHtmlEditorModule> {\n return {\n ngModule: FsHtmlEditorModule,\n providers: [\n { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },\n {\n provide: FS_HTML_EDITOR_CONFIG,\n useFactory: FsHtmlEditorConfigFactory,\n deps: [FS_HTML_EDITOR_DEFAULT_CONFIG]\n }\n ]\n };\n }\n}\n\nexport function FsHtmlEditorConfigFactory(config: FsHtmlEditorConfig) {\n return {\n froalaPlugins: [\n FroalaPlugin.Align,\n FroalaPlugin.Colors,\n FroalaPlugin.Image,\n FroalaPlugin.Link,\n FroalaPlugin.Lists,\n FroalaPlugin.ParagraphFormat,\n FroalaPlugin.Quote,\n FroalaPlugin.Table,\n FroalaPlugin.Url,\n FroalaPlugin.Video,\n FroalaPlugin.Draggable,\n FroalaPlugin.FontSize,\n FroalaPlugin.LineHeight,\n ],\n ...config\n };\n}\n","// import { FroalaEditor } from 'froala-editor';\nimport { PluginConfig } from './../interfaces/plugin-config';\n\nexport class Plugin {\n\n public config: PluginConfig;\n public editor: any;\n\n public initialize() {}\n public destroy() {}\n\n}\n","import { debounce } from 'lodash-es';\nimport Tribute, { TributeItem } from 'tributejs';\n\nimport { MentionPluginConfig } from './configs/mention-plugin.config';\n\nimport { Plugin } from '../classes/plugin';\n\nimport { guid } from '@firestitch/common';\n\n\nexport class MentionPlugin extends Plugin {\n\n private static _currentGuid = null;\n private static _tributes = [];\n private _tribute;\n private _guid = guid();\n\n public constructor(public config: MentionPluginConfig) {\n super();\n this.config = {\n ...config,\n buttons: [\n {\n name: config.name,\n tooltip: config.tooltip,\n svgPath: config.iconPath,\n click: (editor) => {\n this._closeAll();\n this._tribute.showMenuForCollection(editor.el);\n }\n }\n ]\n };\n\n this._tribute = new Tribute({\n values: debounce(this._loadValues.bind(this), 200),\n searchOpts: {\n pre: '',\n post: '',\n skip: true\n },\n containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,\n itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,\n trigger: this.config.trigger,\n allowSpaces: true,\n menuItemTemplate: (item: TributeItem<any>) => {\n return this.config.menuItemTemplate(item.original);\n },\n selectTemplate: (item: TributeItem<any>) => {\n const template = this.config.selectedTemplate(item.original);\n\n let p = document.createElement('p');\n p.innerHTML = template;\n\n let node = p.firstElementChild;\n if (!node) {\n node = document.createElement('span');\n node.innerHTML = template;\n }\n\n node.setAttribute('contenteditable', 'false');\n node.classList.add('fr-deletable');\n\n return node.outerHTML;\n },\n });\n\n MentionPlugin._tributes.push(this._tribute);\n }\n\n public initialize() {\n this._tribute.attach(this.editor.el);\n this.editor.events.on('keydown', (e) => {\n if (e.key === 'Enter' && this._tribute.isActive) {\n return false;\n }\n }, true);\n\n \n this.editor.el.addEventListener(\"tribute-replaced\", this.selected);\n }\n\n public selected = (event) => {\n if(this.config.selected) {\n if(MentionPlugin._currentGuid === this._guid) {\n this.config.selected(event.detail.item.original);\n }\n }\n }\n\n public destroy() {\n this.editor.el.removeEventListener(\"tribute-replaced\", this.selected);\n }\n\n private _closeAll() {\n MentionPlugin._tributes.forEach((tribute) => {\n if (tribute.menu) {\n tribute.hideMenu();\n }\n });\n }\n\n private _loadValues(keyword, cb) {\n MentionPlugin._currentGuid = this._guid;\n return this.config.fetch(keyword)\n .subscribe((data) => {\n cb(data);\n });\n }\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class ChecklistPlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'checklist' }) {\n super();\n this.config = {\n ...config,\n name: 'checklist',\n buttons: [\n {\n name: 'checklist',\n 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',\n click: (editor) => {\n editor.html.insert('<ul class=\"checklist\"><li></li></ul>');\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('click', (e) => {\n const li = e.target;\n if (li.nodeName === 'LI' && e.offsetX < 0) {\n\n const items = [li, ...li.querySelectorAll('li')];\n\n if (li.classList.contains('checked')) {\n items.forEach((item) => {\n item.classList.remove('checked');\n });\n } else {\n items.forEach((item) => {\n item.classList.add('checked');\n });\n }\n }\n\n }, false);\n }\n\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class CodePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'code' }) {\n super();\n this.config = {\n ...config,\n name: 'code',\n buttons: [\n {\n name: 'code',\n 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',\n click: (editor) => {\n const node = editor.selection.get();\n const codeEl = this._getCodeEl(node.baseNode);\n if (codeEl) {\n codeEl.classList.remove('code');\n } else {\n editor.html.insert('<p class=\"code\">' + editor.selection.get().toString().replace(/\\n{1,}/g,'<br>') + '</p>');\n }\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('keydown', (e) => {\n if (e.keyCode === 13) {\n const selection = this.editor.selection.get();\n\n if (selection && this._getCodeEl(selection.baseNode)) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n let br = '<br>';\n const base = selection.baseNode;\n if (base.nodeName === '#text' && selection.baseOffset === base.length) {\n\n if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {\n br += '<br>';\n }\n } else {\n const el: any = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();\n if (el && el.nodeName !== 'BR') {\n br += '<br>';\n }\n }\n\n this.editor.html.insert(br);\n return false;\n }\n }\n }, true);\n }\n\n public destroy() {}\n\n private _getCodeEl(el) {\n\n if (el) {\n if (el.classList && el.classList.contains('code')) {\n return el;\n }\n\n if (el.parentElement) {\n return this._getCodeEl(el.parentElement);\n }\n }\n\n return null;\n }\n}\n","import { ScreenRecordPluginConfig } from './configs/screen-record-plugin.config';\nimport { Plugin } from '../classes/plugin';\n\n\ndeclare var MediaRecorder: any;\n\nexport class ScreenRecordPlugin extends Plugin {\n\n private _activeEl;\n\n public constructor(public config: ScreenRecordPluginConfig = {}) {\n super();\n\n this.config = {\n ...config,\n name: config.name || 'screenRecord',\n buttons: [\n {\n name: 'screenRecord',\n 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`,\n tooltip: 'Screen Record',\n click: (editor) => {\n\n (<any>navigator).mediaDevices.getDisplayMedia({ video: true })\n .then((stream) => {\n const chunks = [];\n const options = { mimeType: 'video/webm; codecs=vp9' };\n let mediaRecorder = new MediaRecorder(stream, options);\n\n stream.addEventListener('inactive', (e) => {\n mediaRecorder.stop();\n mediaRecorder = null;\n stream.getTracks().forEach((track) => track.stop());\n stream = null;\n\n const blob = new Blob(chunks, { type: 'video/webm' });\n config.upload(blob)\n .subscribe((url) => {\n editor.html.insert(`<span class=\"fr-screen-record fr-deletable fr-draggable\"><video controls style=\"max-width:${config.maxWidth}\"><source src=\"${url}\" type=\"video/webm\"></video></span>`);\n });\n });\n\n mediaRecorder.addEventListener('dataavailable', (event) => {\n if (event.data && event.data.size > 0) {\n chunks.push(event.data);\n }\n });\n\n mediaRecorder.start(10);\n })\n .catch((e) => { });\n }\n }\n ]\n };\n }\n\n public async initialize() {\n const FroalaEditor = (window as any).FroalaEditor;\n\n this.editor.events.on('mouseup', (e) => {\n const el = this._getEl(e.target);\n\n if (el) {\n this.editor.popups.hideAll();\n this._activeEl = el;\n this._showPopup(el);\n }\n });\n\n FroalaEditor.POPUP_TEMPLATES[\"screenRecordPlugin.popup\"] = '[_BUTTONS_]';\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Remove',\n undo: false,\n focus: false,\n callback: () => {\n if (this._activeEl) {\n this._activeEl.remove();\n }\n }\n });\n }\n\n private _createPopup() {\n\n const template = {\n buttons: `<div class=\"fr-buttons\">${this.editor.button.buildList(['popupClose'])}</div>`,\n };\n\n return this.editor.popups.create('screenRecordPlugin.popup', template);\n }\n\n private _showPopup (el) {\n var $popup = this.editor.popups.get('screenRecordPlugin.popup');\n\n if (!$popup) {\n $popup = this._createPopup();\n }\n\n this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));\n\n const left = el.offsetLeft + el.offsetWidth / 2;\n\n this.editor.popups.show('screenRecordPlugin.popup', left, null);\n }\n\n private _getEl(el) {\n if (el && el.classList) {\n if (el.classList.contains('fr-screen-record'))\n return el;\n\n return this._getEl(el.parentNode);\n }\n }\n}\n","import { PluginConfig } from '../interfaces/plugin-config';\n\nimport { Plugin } from '../classes/plugin';\n\n\nexport class RealtimePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'realtime' }) {\n super();\n this.config = {\n ...config,\n name: 'realtime',\n };\n }\n\n public initialize() {\n\n this.editor.events.on('click', (e) => {\n\n }, false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["InjectionToken","BehaviorSubject","fsSourceLoader","combineLatest","map","shareReplay","tap","concatMap","DOCUMENT","i0","Injectable","Optional","Inject","ReplaySubject","Subject","FileProcessor","file","FsFile","switchMap","merge","filter","fromEventPattern","startWith","distinctUntilChanged","skip","takeUntil","i1.FsFroalaLoaderService","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","i2","i3","i4","Component","ChangeDetectionStrategy","HostBinding","ViewChild","Input","i1","CommonModule","NgModule","FsSkeletonModule","FsLabelModule","guid","Tribute","debounce"],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-html-editor.umd.js","sources":["../../src/app/modules/html-editor/consts/rich-buttons.const.ts","../../src/app/modules/html-editor/consts/text-buttons.const.ts","../../src/app/modules/html-editor/consts/paragraph-buttons.const.ts","../../src/app/modules/html-editor/injects/config.inject.ts","../../node_modules/tslib/tslib.es6.js","../../src/app/modules/html-editor/services/froala-loader.service.ts","../../src/app/modules/html-editor/components/html-editor/html-editor.component.ts","../../src/app/modules/html-editor/components/html-editor/html-editor.component.html","../../src/app/modules/html-renderer/components/html-renderer/html-renderer.component.ts","../../src/app/modules/html-renderer/components/html-renderer/html-renderer.component.html","../../src/app/modules/html-renderer/fs-html-renderer.module.ts","../../src/app/modules/html-editor/fs-html-editor.module.ts","../../src/app/modules/html-editor/classes/plugin.ts","../../src/app/modules/html-editor/plugins/mention.plugin.ts","../../src/app/modules/html-editor/plugins/checklist.plugin.ts","../../src/app/modules/html-editor/plugins/code.plugin.ts","../../src/app/modules/html-editor/plugins/screen-record.plugin.ts","../../src/app/modules/html-editor/plugins/realtime.plugin.ts","../../src/firestitch-html-editor.ts"],"sourcesContent":["export const RichButtons = [\n 'insertTable',\n 'insertImage',\n 'insertLink',\n 'insertVideo',\n];\n","export const TextButtons = [\n 'paragraphFormat',\n 'code',\n 'bold',\n 'italic',\n 'underline',\n 'strikeThrough',\n 'subscript',\n 'superscript',\n 'fontFamily',\n 'fontSize',\n 'textColor',\n 'backgroundColor',\n 'inlineClass',\n 'inlineStyle',\n 'clearFormatting',\n 'quote',\n];\n","export const ParagraphButtons = [\n 'align',\n 'formatOL',\n 'formatUL',\n 'checklist',\n 'indent',\n 'outdent',\n 'lineHeight'\n];\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_HTML_EDITOR_DEFAULT_CONFIG = new InjectionToken<any[]>('fs-html-editor.default-config');\nexport const FS_HTML_EDITOR_CONFIG = new InjectionToken<any[]>('fs-html-editor.config');\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n 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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n 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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { fsSourceLoader } from '@firestitch/common'\n\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { concatMap, map, shareReplay, tap } from 'rxjs/operators';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';\nimport { FsHtmlEditorConfig } from '../interfaces/html-editor-config';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsFroalaLoaderService {\n\n private _FroalaEditor: unknown;\n\n private _froalaLoaded = new BehaviorSubject(false);\n private _froalaPluginsLoaded = new BehaviorSubject(false);\n private _sourceLoader = fsSourceLoader;\n\n private _loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])\n .pipe(\n map(([FroalaReady, pluginsRead]) => {\n return pluginsRead && FroalaReady;\n }),\n shareReplay(1),\n );\n\n constructor(\n @Optional()\n @Inject(FS_HTML_EDITOR_CONFIG)\n private _defaultConfig: FsHtmlEditorConfig,\n @Inject(DOCUMENT)\n private _document: Document,\n ) {\n this._sourceLoader.setDocument(this._document);\n this._load();\n }\n\n public get loaded$(): Observable<boolean> {\n return this._loaded$;\n }\n\n public get FroalaEditor(): any {\n return this._FroalaEditor;\n }\n\n private _load() {\n const baseDir = '/assets/froala/';\n this._sourceLoader.registerResources({\n froala: [\n `${baseDir}js/froala_editor.min.js`,\n `${baseDir}css/froala_editor.pkgd.min.css`,\n ],\n froala_align: `${baseDir}js/plugins/align.min.js`,\n froala_colors: `${baseDir}js/plugins/colors.min.js`,\n froala_image: `${baseDir}js/plugins/image.min.js`,\n froala_link: `${baseDir}js/plugins/link.min.js`,\n froala_lists: `${baseDir}js/plugins/lists.min.js`,\n froala_paragraph_format: `${baseDir}js/plugins/paragraph_format.min.js`,\n froala_table: `${baseDir}js/plugins/table.min.js`,\n froala_url: `${baseDir}js/plugins/url.min.js`,\n froala_video: `${baseDir}js/plugins/video.min.js`,\n froala_quote: `${baseDir}js/plugins/quote.min.js`,\n froala_draggable: `${baseDir}js/plugins/draggable.min.js`,\n froala_font_size: `${baseDir}js/plugins/font_size.min.js`,\n froala_quick_insert: `${baseDir}js/plugins/quick_insert.min.js`,\n froala_line_height: `${baseDir}js/plugins/line_height.min.js`\n });\n\n this._sourceLoader.loadResource('froala')\n .pipe(\n tap(() => {\n this._FroalaEditor = (window as any).FroalaEditor;\n this._froalaDone();\n }),\n concatMap(() => {\n return this._loadPlugins();\n }),\n tap(() => {\n this._froalaPluginsDone();\n }),\n )\n .subscribe();\n }\n\n private _loadPlugins(): Observable<unknown> {\n const resources = this._defaultConfig\n .froalaPlugins\n .map((pluginName) => `froala_${pluginName}`);\n\n return this._sourceLoader.loadResources(resources);\n }\n\n private _froalaDone() {\n this._froalaLoaded.next(true);\n }\n\n private _froalaPluginsDone() {\n this._froalaPluginsLoaded.next(true);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport { guid } from '@firestitch/common';\nimport { FileProcessor, FsFile, FsFileProcessConfig } from '@firestitch/file';\n\nimport { BehaviorSubject, fromEventPattern, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, skip, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { merge } from 'lodash-es';\n\nimport { PluginButton } from './../../interfaces/plugin-button';\nimport { FsHtmlEditorConfig } from '../../interfaces/html-editor-config';\nimport { RichButtons } from './../../consts/rich-buttons.const';\nimport { TextButtons } from './../../consts/text-buttons.const';\nimport { ParagraphButtons } from './../../consts/paragraph-buttons.const';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../../injects/config.inject';\nimport { Plugin } from './../../classes/plugin';\n\nimport { FsFroalaLoaderService } from '../../services/froala-loader.service';\n\n\n@Component({\n selector: 'fs-html-editor',\n templateUrl: 'html-editor.component.html',\n styleUrls: ['html-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, Validator, OnDestroy {\n\n @HostBinding('class.focused') classFocused = false;\n @HostBinding('class.disabled') classDisabled = false;\n\n @ViewChild('elRef') public elRef: ElementRef;\n\n @Input() public config: FsHtmlEditorConfig = {};\n @Input() public hint: string;\n\n public initialized = false;\n public readonly containerID = `fs-html-editor-${guid('xxx')}`;\n\n private _editor: any;\n private _html: string;\n private _initialize$ = new ReplaySubject();\n private _froalaReady$ = new BehaviorSubject(null);\n private _destroy$ = new Subject();\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig,\n private _cdRef: ChangeDetectorRef,\n private _fr: FsFroalaLoaderService,\n ) { }\n\n public onChange = (data: any) => {}\n public onTouched = () => {}\n\n public get el(): any {\n return this.elRef.nativeElement;\n }\n\n public get html(): string {\n return this._html;\n }\n\n public get editor(): any {\n return this._editor;\n }\n\n public get froalaLoaded$(): Observable<boolean> {\n return this._fr.loaded$;\n }\n\n public ngOnInit(): void {\n this.config = this.config || {};\n this.config.autofocus = this.config.autofocus !== false && !this.config.disabled;\n this._listenLazyInit();\n }\n\n public ngAfterViewInit() {\n this._initialize$.next();\n }\n\n public hasContent() {\n const el = document.createElement('div');\n\n if (el.querySelector('img')) {\n return true;\n }\n\n el.innerHTML = this._html;\n return !!el.innerText.length;\n }\n\n public initialize(options: any = {}) {\n const config = this._createConfig();\n this._initPlugins(config);\n this._initButtons(config);\n this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {\n this._froalaReady$.next({ config, options });\n });\n }\n\n private _processImageUpload(blob) {\n const processor = new FileProcessor();\n const file = new FsFile(blob);\n\n const config: FsFileProcessConfig = {\n orientate: true,\n quality: this.config.image.quality,\n format: this.config.image.format as any,\n maxWidth: this.config.image.width,\n maxHeight: this.config.image.height,\n minWidth: this.config.image.minWidth,\n minHeight: this.config.image.minHeight,\n };\n\n return processor.processFile(file, config)\n .pipe(\n switchMap((fsFile: FsFile) => {\n return this.config.image.upload(fsFile.file)\n }),\n );\n }\n\n public updateSize() {\n // Hack: To trigger the toolbar button size modes\n window.dispatchEvent(new Event('resize'));\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const err: any = {};\n if (this.config.maxLength && this._html) {\n const maxLength = this.config.maxLength;\n const length = this._html.length;\n if (length > maxLength) {\n err.maxLengthError = `Must be ${maxLength} characters or fewer. You entered ${length} characters.`;\n }\n }\n\n return Object.keys(err).length ? err : null;\n }\n\n public focus(options?: { cursorPosition?: 'start' | 'end' }) {\n options = options ? options : {};\n\n if (options.cursorPosition === 'end') {\n this.editor.selection.setAtEnd(this.editor.$el.get(0));\n } else {\n this.editor.selection.setAtStart(this.editor.$el.get(0));\n }\n\n this.editor.selection.restore();\n\n const elSelection = this.editor.selection.element();\n if (elSelection) {\n elSelection.scrollIntoView({ block: 'center' });\n }\n }\n\n public clear() {\n this.writeValue('');\n }\n\n public disable() {\n this.classDisabled = true;\n }\n\n public setHtml(html) {\n this.writeValue(html);\n }\n\n public writeValue(html: string): void {\n this._html = html || '';\n\n if (Array.isArray(this._html)) {\n this._html = this._html.pop();\n }\n\n this._html = this._html\n .replace(/<(li)>\\s?<(div)>/g, '<li>')\n .replace(/<\\/(div)><\\/(li)>/g, '</li>');\n\n if (this.editor && this.editor.html) {\n try {\n this.editor.html.set(this._html);\n } catch (e) {\n }\n }\n\n this._cdRef.markForCheck();\n }\n\n public registerOnChange(fn: (data: any) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public ngOnDestroy() {\n this._initialize$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n this.destroy();\n }\n\n public destroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n\n this.initialized = false;\n this._cdRef.markForCheck();\n this.el.innerHTML = '';\n }\n\n private _createConfig(): FsHtmlEditorConfig {\n return merge({ froalaConfig: {} }, this._defaultConfig, this.config);\n }\n\n private _change(html): void {\n this._html = html;\n this.onChange(html);\n }\n\n private _initButtons(config: FsHtmlEditorConfig) {\n (config.buttons || [])\n .forEach((button) => {\n /*\n Svg Keys:\n [\"add\", \"advancedImageEditor\", \"alignCenter\", \"alignJustify\", \"alignLeft\", \"alignRight\",\n \"anchors\", \"back\", \"backgroundColor\", \"blockquote\", \"bold\", \"cellBackground\",\n \"cellBorderColor\", \"cellOptions\", \"cellStyle\", \"clearFormatting\", \"close\", \"codeView\",\n \"cogs\", \"columns\", \"editLink\", \"exitFullscreen\", \"fontAwesome\", \"fontFamily\",\n \"fontSize\", \"fullscreen\", \"help\", \"horizontalLine\", \"imageAltText\", \"imageCaption\",\n \"imageClass\", \"imageDisplay\", \"imageManager\", \"imageSize\", \"indent\", \"inlineClass\",\n \"inlineStyle\", \"insertEmbed\", \"insertFile\", \"insertImage\", \"insertLink\", \"insertMore\",\n \"insertTable\", \"insertVideo\", \"upload\", \"italic\", \"search\", \"lineHeight\", \"linkStyles\",\n \"mention\", \"more\", \"openLink\", \"orderedList\", \"outdent\", \"pageBreaker\",\n \"paragraphFormat\", \"paragraphMore\", \"paragraphStyle\", \"pdfExport\", \"print\",\n \"redo\", \"removeTable\", \"remove\", \"replaceImage\", \"row\", \"selectAll\", \"smile\",\n \"spellcheck\", \"star\", \"strikeThrough\", \"subscript\", \"superscript\", \"symbols\", \"tags\",\n \"tableHeader\", \"tableStyle\", \"textColor\", \"textMore\", \"underline\", \"undo\", \"unlink\",\n \"unorderedList\", \"verticalAlignBottom\", \"verticalAlignMiddle\", \"verticalAlignTop\"]\n */\n\n if(button.svgKey) {\n this._fr.FroalaEditor.DefineIcon(button.name, { SVG_KEY: button.svgKey });\n }\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n title: button.title,\n focus: button.focus ?? true,\n undo: button.undo ?? true,\n refreshAfterCallback: button.refreshAfterCallback ?? true,\n callback: function () {\n button.click(this);\n }\n });\n });\n }\n\n private _initPlugins(config) {\n (config.plugins || []).forEach((plugin: Plugin) => {\n this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {\n plugin.editor = editor;\n plugin.initialize();\n return plugin;\n };\n\n (plugin.config.buttons || []).forEach((button: PluginButton) => {\n this._fr.FroalaEditor.DefineIcon(button.name, {\n NAME: button.name,\n PATH: button.svgPath,\n });\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n icon: button.name,\n title: button.tooltip,\n undo: button.undo,\n focus: button.focus,\n showOnMobile: button.showOnMobile,\n refreshAfterCallback: button.refreshAfterCallback,\n callback: function () {\n if (button.click) {\n button.click(this);\n }\n },\n refresh: function (button) {\n if (button.refresh) {\n button.refresh(this, button);\n }\n }\n });\n });\n\n });\n }\n\n private _createOptions() {\n const config = this._createConfig();\n\n return merge(\n // For some reason editor store somewhere pointer on default config object and dublicate options each time on init\n // Extra merge level fixed this problem and allow to init config properly without legacy data\n {},\n {\n shortcutsEnabled: ['show', 'bold', 'italic', 'underline', 'indent', 'outdent', 'undo', 'redo', 'insertImage', 'createLink'],\n key: config.activationKey,\n placeholderText: config.placeholder,\n linkAlwaysBlank: true,\n tabSpaces: 2,\n typingTimer: 250,\n tooltips: false,\n wordPasteModal: false,\n imageDefaultWidth: 0,\n imageDefaultAlign: 'left',\n quickInsertEnabled: false,\n scrollableContainer: `#${this.containerID}`,\n paragraphDefaultSelection: 'Format',\n videoUpload: false,\n imagePaste: !!config.image?.upload,\n imageUpload: !!config.image?.upload,\n paragraphFormat: {\n N: 'Normal',\n H1: 'Heading 1',\n H2: 'Heading 2',\n H3: 'Heading 3',\n H4: 'Heading 4',\n BLOCKQUOTE: 'Quote',\n },\n lineHeights: {\n Default: '',\n '0.5': '0.5',\n 'Single': '1',\n '1.15': '1.15',\n '1.5': '1.5',\n 'Double': '2'\n },\n paragraphFormatSelection: true,\n toolbarButtonsXS: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 1,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 2,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 0,\n },\n },\n toolbarButtons: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 3,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 5,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 3,\n },\n },\n },\n config.froalaConfig,\n );\n }\n\n private _listenLazyInit() {\n this.froalaLoaded$\n .pipe(\n filter((ready) => ready),\n switchMap(() => this._initialize$),\n tap(() => {\n const selection: any = window.getSelection();\n const options: any = {};\n if (selection.baseNode) {\n options.selection = {\n node: selection.baseNode.nodeValue,\n offset: selection.baseOffset,\n };\n }\n this.initialize(options);\n }),\n switchMap(() => this._froalaReady$),\n filter((data) => !!data),\n tap(({ config, options }) => {\n this._setupFroala(config, options);\n })\n )\n .subscribe();\n }\n\n private _contentChanged(): void {\n const editorHTML = this._editor.html.get();\n\n if (this.html !== editorHTML) {\n this._change(editorHTML);\n }\n }\n\n private _setupFroala(config: FsHtmlEditorConfig, options: any): void {\n this._cdRef.markForCheck();\n\n this.setHtml(this._html);\n\n if (config.disabled) {\n this.disable();\n }\n\n if (config.froalaConfig.events) {\n if (config.froalaConfig.events.initialized) {\n config.froalaConfig.events.initialized();\n }\n }\n\n this._editor.events.on('focus', () => {\n this.classFocused = true;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('blur', () => {\n this.classFocused = false;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('click', () => {\n if(this.config.initOnClick && !this.initialized) {\n this.initialized = true;\n this._cdRef.markForCheck();\n }\n });\n\n fromEventPattern(\n (handler) => {\n this._editor.events.on('contentChanged', handler);\n },\n () => {}\n )\n .pipe(\n startWith(this._html),\n map(() => this.editor.html.get()),\n distinctUntilChanged(),\n skip(1),\n )\n .subscribe(() => {\n this._contentChanged();\n });\n\n this._editor.events.on('paste.afterCleanup', (html) => {\n var div = document.createElement('div');\n div.innerHTML = html;\n div.querySelectorAll('*')\n .forEach((el) => {\n for (var i = 0; i < el.attributes.length; i++) {\n const name = el.attributes[0].name;\n if (name !== 'href') {\n el.removeAttribute(name);\n }\n }\n });\n return div.innerHTML;\n });\n\n this._editor.events.on('keydown', () => {\n this.onTouched();\n });\n\n if (this.config.image && this.config.image.upload) {\n this._editor.events.on('image.beforePasteUpload', (image) => {\n\n fetch(image.getAttribute('src'))\n .then((res) => {\n res.blob()\n .then((blob) => {\n this._processImageUpload(blob)\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((url) => {\n image.setAttribute('src', url);\n image.removeAttribute('data-fr-image-pasted');\n\n this._contentChanged();\n });\n });\n });\n\n return false;\n });\n\n this._editor.events.on('image.beforeUpload', (blobs) => {\n this._processImageUpload(blobs[0])\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((url) => {\n this.editor.image.insert(url, null, null, this.editor.image.get());\n });\n\n return false;\n });\n }\n\n if (this.el.querySelector('.fr-second-toolbar')) {\n this.el.querySelector('.fr-second-toolbar').remove();\n }\n\n if (this.config.autofocus && !this.config.initOnClick) {\n this.focus();\n }\n }\n}\n","<fs-label-field>\n <fs-label *ngIf=\"config.label\">{{config.label}}</fs-label>\n <div\n class=\"html-editor-container fs-html-editor-default\"\n [id]=\"containerID\"\n [ngClass]=\"{\n initialized: initialized,\n 'init-on-click': config.initOnClick\n }\">\n <ng-container *fsSkeleton=\"(froalaLoaded$ | async) !== false\"></ng-container>\n <div #elRef></div>\n\n <div class=\"bottom-line\"></div>\n <div class=\"disabled-line\"></div>\n </div>\n\n <fs-label-message>\n <div class=\"fs-form-message\">\n <div class=\"fs-form-hint\">{{hint}}</div>\n </div>\n </fs-label-message>\n</fs-label-field>\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ChangeDetectionStrategy, Component, Input, ChangeDetectorRef } from '@angular/core';\n\n\n@Component({\n selector: 'fs-html-renderer',\n templateUrl: 'html-renderer.component.html',\n styleUrls: ['html-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlRendererComponent {\n\n @Input('html') public set setHtml(html) {\n this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html || '');\n this._cdRef.markForCheck();\n }\n\n public trustedHtml: SafeHtml;\n\n public constructor(\n private sanitized: DomSanitizer,\n private _cdRef: ChangeDetectorRef,\n ) { }\n\n}\n","<span class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsHtmlRendererComponent } from './components/html-renderer/html-renderer.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsHtmlRendererComponent,\n ],\n declarations: [\n FsHtmlRendererComponent,\n ],\n})\nexport class FsHtmlRendererModule {\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\n\nimport { FsHtmlEditorComponent } from './components/html-editor/html-editor.component';\nimport { FsHtmlEditorConfig } from './interfaces/html-editor-config';\nimport { FS_HTML_EDITOR_CONFIG, FS_HTML_EDITOR_DEFAULT_CONFIG } from './injects/config.inject';\nimport { FroalaPlugin } from './enums/default-plugin.enum';\nimport { FsHtmlRendererModule } from '../html-renderer/fs-html-renderer.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n FsSkeletonModule,\n FsLabelModule,\n FsHtmlRendererModule,\n ],\n exports: [\n FsHtmlEditorComponent,\n ],\n declarations: [\n FsHtmlEditorComponent,\n ],\n})\nexport class FsHtmlEditorModule {\n static forRoot(config: FsHtmlEditorConfig = {}): ModuleWithProviders<FsHtmlEditorModule> {\n return {\n ngModule: FsHtmlEditorModule,\n providers: [\n { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },\n {\n provide: FS_HTML_EDITOR_CONFIG,\n useFactory: FsHtmlEditorConfigFactory,\n deps: [FS_HTML_EDITOR_DEFAULT_CONFIG]\n }\n ]\n };\n }\n}\n\nexport function FsHtmlEditorConfigFactory(config: FsHtmlEditorConfig) {\n return {\n froalaPlugins: [\n FroalaPlugin.Align,\n FroalaPlugin.Colors,\n FroalaPlugin.Image,\n FroalaPlugin.Link,\n FroalaPlugin.Lists,\n FroalaPlugin.ParagraphFormat,\n FroalaPlugin.Quote,\n FroalaPlugin.Table,\n FroalaPlugin.Url,\n FroalaPlugin.Video,\n FroalaPlugin.Draggable,\n FroalaPlugin.FontSize,\n FroalaPlugin.LineHeight,\n ],\n ...config\n };\n}\n","// import { FroalaEditor } from 'froala-editor';\nimport { PluginConfig } from './../interfaces/plugin-config';\n\nexport class Plugin {\n\n public config: PluginConfig;\n public editor: any;\n\n public initialize() {}\n public destroy() {}\n\n}\n","import { debounce } from 'lodash-es';\nimport Tribute, { TributeItem } from 'tributejs';\n\nimport { MentionPluginConfig } from './configs/mention-plugin.config';\n\nimport { Plugin } from '../classes/plugin';\n\nimport { guid } from '@firestitch/common';\n\n\nexport class MentionPlugin extends Plugin {\n\n private static _currentGuid = null;\n private static _tributes = [];\n private _tribute;\n private _guid = guid();\n\n public constructor(public config: MentionPluginConfig) {\n super();\n this.config = {\n ...config,\n buttons: [\n {\n name: config.name,\n tooltip: config.tooltip,\n svgPath: config.iconPath,\n click: (editor) => {\n this._closeAll();\n this._tribute.showMenuForCollection(editor.el);\n }\n }\n ]\n };\n\n this._tribute = new Tribute({\n values: debounce(this._loadValues.bind(this), 200),\n searchOpts: {\n pre: '',\n post: '',\n skip: true\n },\n containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,\n itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,\n trigger: this.config.trigger,\n allowSpaces: true,\n menuItemTemplate: (item: TributeItem<any>) => {\n return this.config.menuItemTemplate(item.original);\n },\n selectTemplate: (item: TributeItem<any>) => {\n const template = this.config.selectedTemplate(item.original);\n\n let p = document.createElement('p');\n p.innerHTML = template;\n\n let node = p.firstElementChild;\n if (!node) {\n node = document.createElement('span');\n node.innerHTML = template;\n }\n\n node.setAttribute('contenteditable', 'false');\n node.classList.add('fr-deletable');\n\n return node.outerHTML;\n },\n });\n\n MentionPlugin._tributes.push(this._tribute);\n }\n\n public initialize() {\n this._tribute.attach(this.editor.el);\n this.editor.events.on('keydown', (e) => {\n if (e.key === 'Enter' && this._tribute.isActive) {\n return false;\n }\n }, true);\n\n \n this.editor.el.addEventListener(\"tribute-replaced\", this.selected);\n }\n\n public selected = (event) => {\n if(this.config.selected) {\n if(MentionPlugin._currentGuid === this._guid) {\n this.config.selected(event.detail.item.original);\n }\n }\n }\n\n public destroy() {\n this.editor.el.removeEventListener(\"tribute-replaced\", this.selected);\n }\n\n private _closeAll() {\n MentionPlugin._tributes.forEach((tribute) => {\n if (tribute.menu) {\n tribute.hideMenu();\n }\n });\n }\n\n private _loadValues(keyword, cb) {\n MentionPlugin._currentGuid = this._guid;\n return this.config.fetch(keyword)\n .subscribe((data) => {\n cb(data);\n });\n }\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class ChecklistPlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'checklist' }) {\n super();\n this.config = {\n ...config,\n name: 'checklist',\n buttons: [\n {\n name: 'checklist',\n 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',\n click: (editor) => {\n editor.html.insert('<ul class=\"checklist\"><li></li></ul>');\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('click', (e) => {\n const li = e.target;\n if (li.nodeName === 'LI' && e.offsetX < 0) {\n\n const items = [li, ...li.querySelectorAll('li')];\n\n if (li.classList.contains('checked')) {\n items.forEach((item) => {\n item.classList.remove('checked');\n });\n } else {\n items.forEach((item) => {\n item.classList.add('checked');\n });\n }\n }\n\n }, false);\n }\n\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class CodePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'code' }) {\n super();\n this.config = {\n ...config,\n name: 'code',\n buttons: [\n {\n name: 'code',\n 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',\n click: (editor) => {\n const node = editor.selection.get();\n const codeEl = this._getCodeEl(node.baseNode);\n if (codeEl) {\n codeEl.classList.remove('code');\n } else {\n editor.html.insert('<p class=\"code\">' + editor.selection.get().toString().replace(/\\n{1,}/g,'<br>') + '</p>');\n }\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('keydown', (e) => {\n if (e.keyCode === 13) {\n const selection = this.editor.selection.get();\n\n if (selection && this._getCodeEl(selection.baseNode)) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n let br = '<br>';\n const base = selection.baseNode;\n if (base.nodeName === '#text' && selection.baseOffset === base.length) {\n\n if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {\n br += '<br>';\n }\n } else {\n const el: any = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();\n if (el && el.nodeName !== 'BR') {\n br += '<br>';\n }\n }\n\n this.editor.html.insert(br);\n return false;\n }\n }\n }, true);\n }\n\n public destroy() {}\n\n private _getCodeEl(el) {\n\n if (el) {\n if (el.classList && el.classList.contains('code')) {\n return el;\n }\n\n if (el.parentElement) {\n return this._getCodeEl(el.parentElement);\n }\n }\n\n return null;\n }\n}\n","import { ScreenRecordPluginConfig } from './configs/screen-record-plugin.config';\nimport { Plugin } from '../classes/plugin';\n\n\ndeclare var MediaRecorder: any;\n\nexport class ScreenRecordPlugin extends Plugin {\n\n private _activeEl;\n\n public constructor(public config: ScreenRecordPluginConfig = {}) {\n super();\n\n this.config = {\n ...config,\n name: config.name || 'screenRecord',\n buttons: [\n {\n name: 'screenRecord',\n 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`,\n tooltip: 'Screen Record',\n click: (editor) => {\n\n (<any>navigator).mediaDevices.getDisplayMedia({ video: true })\n .then((stream) => {\n const chunks = [];\n const options = { mimeType: 'video/webm; codecs=vp9' };\n let mediaRecorder = new MediaRecorder(stream, options);\n\n stream.addEventListener('inactive', (e) => {\n mediaRecorder.stop();\n mediaRecorder = null;\n stream.getTracks().forEach((track) => track.stop());\n stream = null;\n\n const blob = new Blob(chunks, { type: 'video/webm' });\n config.upload(blob)\n .subscribe((url) => {\n editor.html.insert(`<span class=\"fr-screen-record fr-deletable fr-draggable\"><video controls style=\"max-width:${config.maxWidth}\"><source src=\"${url}\" type=\"video/webm\"></video></span>`);\n });\n });\n\n mediaRecorder.addEventListener('dataavailable', (event) => {\n if (event.data && event.data.size > 0) {\n chunks.push(event.data);\n }\n });\n\n mediaRecorder.start(10);\n })\n .catch((e) => { });\n }\n }\n ]\n };\n }\n\n public async initialize() {\n const FroalaEditor = (window as any).FroalaEditor;\n\n this.editor.events.on('mouseup', (e) => {\n const el = this._getEl(e.target);\n\n if (el) {\n this.editor.popups.hideAll();\n this._activeEl = el;\n this._showPopup(el);\n }\n });\n\n FroalaEditor.POPUP_TEMPLATES[\"screenRecordPlugin.popup\"] = '[_BUTTONS_]';\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Remove',\n undo: false,\n focus: false,\n callback: () => {\n if (this._activeEl) {\n this._activeEl.remove();\n }\n }\n });\n }\n\n private _createPopup() {\n\n const template = {\n buttons: `<div class=\"fr-buttons\">${this.editor.button.buildList(['popupClose'])}</div>`,\n };\n\n return this.editor.popups.create('screenRecordPlugin.popup', template);\n }\n\n private _showPopup (el) {\n var $popup = this.editor.popups.get('screenRecordPlugin.popup');\n\n if (!$popup) {\n $popup = this._createPopup();\n }\n\n this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));\n\n const left = el.offsetLeft + el.offsetWidth / 2;\n\n this.editor.popups.show('screenRecordPlugin.popup', left, null);\n }\n\n private _getEl(el) {\n if (el && el.classList) {\n if (el.classList.contains('fr-screen-record'))\n return el;\n\n return this._getEl(el.parentNode);\n }\n }\n}\n","import { PluginConfig } from '../interfaces/plugin-config';\n\nimport { Plugin } from '../classes/plugin';\n\n\nexport class RealtimePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'realtime' }) {\n super();\n this.config = {\n ...config,\n name: 'realtime',\n };\n }\n\n public initialize() {\n\n this.editor.events.on('click', (e) => {\n\n }, false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["InjectionToken","BehaviorSubject","fsSourceLoader","combineLatest","map","shareReplay","tap","concatMap","DOCUMENT","i0","Injectable","Optional","Inject","guid","ReplaySubject","Subject","FileProcessor","file","FsFile","switchMap","merge","filter","fromEventPattern","startWith","distinctUntilChanged","skip","takeUntil","i1.FsFroalaLoaderService","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","i2","i3","i4","Component","ChangeDetectionStrategy","HostBinding","ViewChild","Input","i1","CommonModule","NgModule","FsSkeletonModule","FsLabelModule","Tribute","debounce"],"mappings":"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"}