UNPKG

34 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-wig/lib/config.ts","ng://ngx-wig/lib/ngx-wig-toolbar.service.ts","ng://ngx-wig/lib/ngx-wig-component.html","ng://ngx-wig/lib/ngx-wig.component.ts","ng://ngx-wig/lib/ngx-wig.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","DEFAULT_LIBRARY_BUTTONS","list1","label","title","command","styleClass","icon","list2","bold","italic","link","underline","BUTTONS","InjectionToken","NgxWigToolbarService","buttonLibraryConfig","_defaultButtonsList","_buttonLibrary","reduce","acc","val","keys","setButtons","buttons","Array","isArray","Error","addStandardButton","name","push","getToolbarButtons","buttonsList","_this","toolbarButtons","split","map","Function","String","trim","forEach","buttonKey","button","core","factory","ɵfac","providedIn","i0.ɵɵelementContainerStart","i0.ɵɵtext","i0.ɵɵelementContainerEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate","i0.ɵɵelement","i0.ɵɵproperty","i0.ɵɵelementStart","i0.ɵɵlistener","i0.ɵɵtemplate","i0.ɵɵelementEnd","button_r19","ctx_r15","disabled","_r27","propagateTouched","NgxWigComponent","_ngWigToolbarService","document","window","contentChange","EventEmitter","editMode","hasFocus","propagateChange","_","execCommand","options","queryCommandSupported","prompt","container","focus","selection","getSelection","toString","onContentChange","innerHTML","ngOnInit","ngxWigEditable","nativeElement","content","ngAfterViewInit","_mutationObserver","MutationObserver","observe","childList","subtree","characterData","ngOnDestroy","disconnect","newContent","emit","ngOnChanges","changes","pasteHtmlAtCaret","currentValue","onTextareaChange","writeValue","value","shouldShowPlaceholder","placeholder","innerText","html","sel","range","getRangeAt","rangeCount","deleteContents","el","createElement","frag","createDocumentFragment","node","lastNode","firstChild","appendChild","insertNode","cloneRange","setStartAfter","collapse","removeAllRanges","addRange","registerOnChange","fn","registerOnTouched","onBlur","setDisabledState","isDisabled","DOCUMENT","selectors","viewQuery","rf","ctx","ElementRef","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","decls","vars","consts","template","_r29","_r18","i0.ɵɵattribute","getWindowObject","NgxWigModule","forRoot","config","ngModule","providers","useValue","buttonsConfig","useFactory","forChild","imports","CommonModule","FormsModule","declarations","exports","edithtml"],"mappings":";;;;;;;;;;;;;;oFA6BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,gBCpBnBQ,EAA0C,CACrDC,MAAO,CACLC,MAAO,KACPC,MAAO,iBACPC,QAAS,sBACTC,WAAY,UACZC,KAAM,gBAERC,MAAO,CACLL,MAAO,KACPC,MAAO,eACPC,QAAS,oBACTC,WAAY,UACZC,KAAM,gBAERE,KAAM,CACJN,MAAO,IACPC,MAAO,OACPC,QAAS,OACTC,WAAY,OACZC,KAAM,aAERG,OAAQ,CACNP,MAAO,IACPC,MAAO,SACPC,QAAS,SACTC,WAAY,SACZC,KAAM,eAERI,KAAM,CACJR,MAAO,OACPC,MAAO,OACPC,QAAS,aACTC,WAAY,OACZC,KAAM,aAERK,UAAW,CACTT,MAAO,IACPC,MAAO,YACPC,QAAS,YACTC,WAAY,oBACZC,KAAM,mBAiBGM,EAAU,IAAIC,EAAAA,eAA4B,wBCjErD,SAAAC,EAA6BC,GAHrBhB,KAAAiB,oBAAgC,GAItCjB,KAAKkB,eAAiBF,EAAoBG,QAAO,SAACC,EAAqBC,GAAwB,OAAAnC,EAAAA,EAAA,GAAMkC,GAAQC,KAAQ,IACrHrB,KAAKiB,oBAAsB9B,OAAOmC,KAAKtB,KAAKkB,uBAGvCH,EAAAnB,UAAA2B,WAAP,SAAkBC,GAChB,IAAKC,MAAMC,QAAQF,GACjB,MAAM,IAAIG,MAAM,yCAGlB3B,KAAKiB,oBAAsBO,GAGtBT,EAAAnB,UAAAgC,kBAAP,SACEC,EACAzB,EACAC,EACAC,EACAC,GAEA,IAAKsB,IAASzB,IAAUC,EACtB,MAAM,IAAIsB,MAAM,wDAGlBrB,EAAaA,GAAc,GAC3BN,KAAKkB,eAAeW,GAAQ,CAAEzB,MAAKA,EAAEC,QAAOA,EAAEC,WAAUA,EAAEC,KAAIA,GAC9DP,KAAKiB,oBAAoBa,KAAKD,IAGzBd,EAAAnB,UAAAmC,kBAAP,SAAyBC,GAAzB,IAAAC,EAAAjC,KACMwB,EAAUxB,KAAKiB,oBACbiB,EAA4B,GAsBlC,YApB2B,IAAhBF,IACTR,EAAuBQ,EAyBxBG,MAAM,KACNC,IAAIC,SAASzC,UAAUE,KAAMwC,OAAO1C,UAAU2C,OAvB/Cf,EAAQgB,SAAQ,SAAAC,GACd,GAAKA,EAAL,CAIA,IAAKR,EAAKf,eAAeuB,GACvB,MAAM,IAAId,MACR,gBAAgBc,EAAS,yCAAyCtD,OAAOmC,KAAKW,EAAKf,iBAIvF,IAAMwB,EAASvD,OAAOC,OAAO,GAAI6C,EAAKf,eAAeuB,IAErDP,EAAeJ,KAAKY,OAGfR,oCAzDEnB,GAAoB4B,EAAA,YAIX9B,4CAJTE,EAAoB6B,QAApB7B,EAAoB8B,KAAAC,WAFnB,+DCQFC,EAAAA,2BAAAA,GAAmCC,EAAAA,UAAAA,GAAkBC,EAAAA,sEAAlBC,EAAAA,aAAAA,GAAAC,EAAAA,qBAAAA,EAAAA,6DACnCC,EAAAA,aAAAA,EAAAA,MAAAA,8CAEKC,EAAAA,cAAAA,UAAAA,EAAAA,mBAAAA,EAAAA,EAAAA,EAAAA,8DAbXC,EAAAA,kBAAAA,EAAAA,KAAAA,GAEEA,EAAAA,kBAAAA,EAAAA,OACEA,EAAAA,kBAAAA,EAAAA,SAAAA,IAIQC,EAAAA,cAAAA,SAAAA,WAAAA,EAAAA,iBAAAA,GAAAA,IAAAA,EAAAA,EAAAA,UAAAA,OAAAA,EAAAA,mBAAAA,YAAAA,EAAAA,YAGNC,EAAAA,cAAAA,EAAAA,EAAAA,EAAAA,EAAAA,eAAAA,IACAA,EAAAA,cAAAA,EAAAA,EAAAA,EAAAA,EAAAA,MAAAA,IAIFC,EAAAA,kBACFA,EAAAA,kBACFA,EAAAA,mEAZYP,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,mBAAAA,EAAAA,EAAAA,EAAAA,YAAAA,CAA+B,QAAAK,EAAAtD,MAA/BiD,CAA+B,WAAAM,EAAAC,UAKvBV,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,QAAAA,EAAAA,MACTH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,OAAAA,EAAAA,6DAYXC,EAAAA,kBAAAA,EAAAA,MAAAA,IAEEA,EAAAA,kBAAAA,EAAAA,WAAAA,IACUC,EAAAA,cAAAA,iBAAAA,SAAAA,GAAAA,OAAAA,EAAAA,iBAAAA,GAAAA,EAAAA,mBAAAA,iBAAAA,KAAAA,CAA0C,QAAA,WAAA,OAAAZ,EAAA,iBAAAkB,GAAAlB,EAAA,mBAAAmB,sBAGpDd,EAAAA,UAAAA,EAAAA,YAAAS,EAAAA,kBACFA,EAAAA,qDALYP,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,kCAQVD,EAAAA,aAAAA,EAAAA,MAAAA,oCAEKC,EAAAA,cAAAA,YAAAA,EAAAA,wLC+BX,SAAAU,EACUC,EACkBC,EACAC,GAFlBlE,KAAAgE,qBAAAA,EACkBhE,KAAAiE,SAAAA,EACAjE,KAAAkE,OAAAA,EAfrBlE,KAAAmE,cAAgB,IAAIC,EAAAA,aAKpBpE,KAAAqE,UAAW,EAEXrE,KAAAkC,eAA4B,GAC5BlC,KAAAsE,UAAW,EA2JVtE,KAAAuE,gBAAuB,SAACC,KACzBxE,KAAA8D,iBAAmB,oBAlJnBC,EAAAnE,UAAA6E,YAAP,SAAmBpE,EAAkCqE,GAEnD,GAAuB,mBAAZrE,EAET,OADAA,EAAQL,OACD,EAGT,GAAIA,KAAKqE,SACP,OAAO,EAGT,GAAIrE,KAAKiE,SAASU,wBAA0B3E,KAAKiE,SAASU,sBAAsBtE,GAC9E,MAAM,IAAIsB,MAAM,gBAAgBtB,EAAO,sBAEzC,IAAgB,eAAZA,GAAwC,gBAAZA,MAC9BqE,EAAUR,OAAOU,OAAO,uBAAwB,YAAc,IAE5D,OAAO,EAIX5E,KAAK6E,UAAUC,QAGf,IAAMC,EAAY/E,KAAKiE,SAASe,eAAeC,WAS/C,MAPgB,eAAZ5E,GAA0C,KAAd0E,EAC9B/E,KAAKiE,SAASQ,YAAY,cAAc,EAAO,YAAcC,EAAU,KAAOA,EAAU,QAExF1E,KAAKiE,SAASQ,YAAYpE,GAAS,EAAOqE,GAG5C1E,KAAKkF,gBAAgBlF,KAAK6E,UAAUM,YAC7B,GAGFpB,EAAAnE,UAAAwF,SAAP,WACEpF,KAAKkC,eAAiBlC,KAAKgE,qBAAqBjC,kBAAkB/B,KAAKwB,SACvExB,KAAK6E,UAAY7E,KAAKqF,eAAeC,cAEjCtF,KAAKuF,UACPvF,KAAK6E,UAAUM,UAAYnF,KAAKuF,UAI7BxB,EAAAnE,UAAA4F,gBAAP,WAAA,IAAAvD,EAAAjC,KAMMkE,OAAOD,SAAuB,eAChCjE,KAAKyF,kBAAoB,IAAIC,kBAAiB,WAC5CzD,EAAKiD,gBAAgBjD,EAAK4C,UAAUM,cAGtCnF,KAAKyF,kBAAkBE,QACrB3F,KAAK6E,UACL,CAAEe,WAAW,EAAMC,SAAS,EAAMC,eAAe,MAKhD/B,EAAAnE,UAAAmG,YAAP,WACM/F,KAAKyF,mBACPzF,KAAKyF,kBAAkBO,cAIpBjC,EAAAnE,UAAAsF,gBAAP,SAAuBe,GACrBjG,KAAKuF,QAAUU,EACfjG,KAAKmE,cAAc+B,KAAKlG,KAAKuF,SAC7BvF,KAAKuE,gBAAgBvE,KAAKuF,UAGrBxB,EAAAnE,UAAAuG,YAAP,SAAmBC,GACbpG,KAAK6E,WAAauB,EAAiB,UAErCpG,KAAK6E,UAAUM,UAAY,GAG3BnF,KAAKqG,iBAAiBD,EAAiB,QAAEE,gBAItCvC,EAAAnE,UAAA2G,iBAAP,SAAwBN,GAEtBjG,KAAK6E,UAAUM,UAAYc,EAC3BjG,KAAKkF,gBAAgBe,IAGhBlC,EAAAnE,UAAA4G,WAAP,SAAkBC,GACXA,IAASA,EAAQ,IAEtBzG,KAAK6E,UAAUM,UAAYsB,EAC3BzG,KAAKuF,QAAUkB,GAGV1C,EAAAnE,UAAA8G,sBAAP,WACE,QAAS1G,KAAK2G,cACR3G,KAAK6E,UAAU+B,WAGf7C,EAAAnE,UAAAyG,iBAAR,SAAyBQ,GACvB,IAAIC,EAAKC,EAET,GAAI7C,OAAOc,eACT8B,EAAM5C,OAAOc,gBAELgC,YAAcF,EAAIG,WAAY,EACpCF,EAAQD,EAAIE,WAAW,IACjBE,iBAGN,IAAMC,EAAKnH,KAAKiE,SAASmD,cAAc,OACvCD,EAAGhC,UAAY0B,EAKf,IAHA,IAAMQ,EAAOrH,KAAKiE,SAASqD,yBACvBC,OAAI,EAAEC,OAAQ,EAETD,EAAOJ,EAAGM,YACjBD,EAAWH,EAAKK,YAAYH,GAE9BR,EAAMY,WAAWN,GAGbG,KACFT,EAAQA,EAAMa,cACRC,cAAcL,GACpBT,EAAMe,UAAS,GACfhB,EAAIiB,kBACJjB,EAAIkB,SAASjB,MAMdhD,EAAAnE,UAAAqI,iBAAP,SAAwBC,GACtBlI,KAAKuE,gBAAkB2D,GAGlBnE,EAAAnE,UAAAuI,kBAAP,SAAyBD,GACvBlI,KAAK8D,iBAAmBoE,GAM1BnE,EAAAnE,UAAAwI,OAAA,WACEpI,KAAKsE,UAAW,EAChBtE,KAAK8D,oBAGPC,EAAAnE,UAAAyI,iBAAA,SAAiBC,GACftI,KAAK4D,SAAW0E,oCA/LPvE,GAAepB,EAAA,qBAAA5B,GAAA4B,EAAA,qBAiChB4F,EAAAA,UAAQ5F,EAAA,qBACR,gDAlCCoB,EAAeyE,UAAA,CAAA,CAAA,YAAAC,UAAA,SAAAC,EAAAC,UAAA,EAAAD,+BAqBUE,EAAAA,gQA/BzB,CACT7H,EACA,CACE8H,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAjF,KAC9BkF,OAAO,KAEVtG,EAAA,yBAAAuG,MAAA,EAAAC,KAAA,GAAAC,OAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,cAAA,CAAA,QAAA,mBAAA,EAAA,QAAA,WAAA,CAAA,EAAA,sBAAA,EAAA,UAAA,SAAA,CAAA,QAAA,2BAAA,EAAA,QAAA,CAAA,EAAA,YAAA,EAAA,WAAA,CAAA,QAAA,yBAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,iBAAA,EAAA,UAAA,QAAA,OAAA,SAAA,CAAA,gBAAA,IAAA,CAAA,EAAA,oBAAA,CAAA,OAAA,SAAA,WAAA,KAAA,EAAA,YAAA,EAAA,UAAA,QAAA,WAAA,SAAA,CAAA,EAAA,QAAA,CAAA,QAAA,OAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,4BAAA,CAAA,EAAA,iBAAA,EAAA,UAAA,gBAAA,QAAA,CAAA,EAAA,yBAAA,EAAA,cAAAC,SAAA,SAAAX,EAAAC,GAAA,GAAA,EAAAD,EAAA,+BDlCHpF,EAAAA,kBAAAA,EAAAA,MAAAA,GACIA,EAAAA,kBAAAA,EAAAA,KAAAA,GACEE,EAAAA,cAAAA,EAAAA,EAAAA,EAAAA,EAAAA,KAAAA,GAkBFC,EAAAA,kBAEAH,EAAAA,kBAAAA,EAAAA,MAAAA,GACKC,EAAAA,cAAAA,SAAAA,WAAAA,OAASoF,EAAA9D,UAAAC,WAEZtB,EAAAA,cAAAA,EAAAA,EAAAA,EAAAA,EAAAA,MAAAA,GAQAF,EAAAA,kBAAAA,EAAAA,MAAAA,GAEEE,EAAAA,cAAAA,EAAAA,EAAAA,EAAAA,EAAAA,MAAAA,GAIAF,EAAAA,kBAAAA,EAAAA,MAAAA,EAAAA,GAIKC,EAAAA,cAAAA,SAAAA,WAAAA,OAAAA,EAAAA,UAAoB,IAApBA,CAAyB,QAAA,WAAA,OACjBoF,EAAAP,WADR7E,CAAyB,SAAA,WAAAZ,EAAA,iBAAA2G,GAAA,IAAAC,EAAA5G,EAAA,eAAA,GAAA,OAEhBgG,EAAAzD,gBAAAqE,EAAApE,cACf1B,EAAAA,kBACDA,EAAAA,kBACFA,EAAAA,kBACFA,EAAAA,wBA/CQP,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,gBAsBDH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,mBAAAA,EAAAA,EAAAA,EAAAA,eAAAA,SACEH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,OAAAA,EAAAA,UASAH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,mBAAAA,EAAAA,EAAAA,EAAAA,SAAAA,EAAAA,WACEH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,OAAAA,EAAAA,yBAOAH,EAAAA,aAAAA,GAAAG,EAAAA,cAAAA,UAAAA,EAAAA,mBAAAA,GAAAA,EAAAA,EAAAA,WADAmG,EAAAA,eAAAA,mBAAAA,EAAAA,kxQEnCGC,IACd,OAAOvF,wBAGT,SAAAwF,YAgBSA,EAAAC,QAAP,SAAeC,GACb,MAAO,CACLC,SAAUH,EACVI,UAAW,CACT,CACEjB,QAAShI,EACToI,OAAO,EAAMc,SAAaH,IAAWA,MAAAA,OAAM,EAANA,EAAQI,eAA2CJ,MAAAA,OAAM,EAANA,EAAQI,cAAlC/J,GAEhE,CAAE4I,QAAS,SAAUoB,WAAYR,MAKhCC,EAAAQ,SAAP,WACE,MAAO,CAACL,SAAUH,uCAhBTA,oEAAAA,IAAYI,UALZ,CACT,CAAEjB,QAAShI,EAASoI,OAAO,EAAMc,SAAU9J,GAC3C,CAAE4I,QAAS,SAAUoB,WAAYR,IAClCU,QAAA,CARQ,CACPC,EAAAA,aACAC,EAAAA,yFAQSX,EAAY,CAAAY,aAAA,CAZrBvG,GAAeoG,QAAA,CAGfC,EAAAA,aACAC,EAAAA,aAAWE,QAAA,CAEHxG,0CJ4C0C,CACpDyG,SAAU,CACRrK,MAAO,YACPC,MAAO,YACPC,QAAS,SAACsI,GACRA,EAAItE,UAAYsE,EAAItE,UAEtB/D,WAAY,oBACZC,KAAM","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { NgxWigComponent } from './ngx-wig.component';\n\nexport type commandFunction = (ctx: NgxWigComponent) => void;\n\nexport interface TButton {\n label?: string;\n icon?: string;\n title?: string;\n command?: string | commandFunction;\n styleClass?: string;\n}\n\nexport interface TButtonLibrary {\n [name: string]: TButton;\n}\n\nexport const DEFAULT_LIBRARY_BUTTONS: TButtonLibrary = {\n list1: {\n label: 'UL',\n title: 'Unordered List',\n command: 'insertunorderedlist',\n styleClass: 'list-ul',\n icon: 'icon-list-ul'\n },\n list2: {\n label: 'OL',\n title: 'Ordered List',\n command: 'insertorderedlist',\n styleClass: 'list-ol',\n icon: 'icon-list-ol'\n },\n bold: {\n label: 'B',\n title: 'Bold',\n command: 'bold',\n styleClass: 'bold',\n icon: 'icon-bold'\n },\n italic: {\n label: 'I',\n title: 'Italic',\n command: 'italic',\n styleClass: 'italic',\n icon: 'icon-italic'\n },\n link: {\n label: 'Link',\n title: 'Link',\n command: 'createlink',\n styleClass: 'link',\n icon: 'icon-link'\n },\n underline: {\n label: 'U',\n title: 'Underline',\n command: 'underline',\n styleClass: 'format-underlined',\n icon: 'icon-underline'\n }\n};\n\nexport const CUSTOM_LIBRARY_BUTTONS: TButtonLibrary = {\n edithtml: {\n label: 'Edit HTML',\n title: 'Edit HTML',\n command: (ctx: NgxWigComponent) => {\n ctx.editMode = !ctx.editMode;\n },\n styleClass: 'nw-button--source',\n icon: '',\n }\n};\n\n\nexport const BUTTONS = new InjectionToken<TButton[][]>('BUTTONS');\n","import { Injectable, Inject } from '@angular/core';\nimport { TButtonLibrary, TButton, BUTTONS } from './config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxWigToolbarService {\n private _defaultButtonsList: string[] = [];\n private _buttonLibrary: TButtonLibrary;\n\n constructor(@Inject(BUTTONS) buttonLibraryConfig: TButtonLibrary[]) {\n this._buttonLibrary = buttonLibraryConfig.reduce((acc: TButtonLibrary, val: TButtonLibrary) => ({ ...acc, ...val }), {});\n this._defaultButtonsList = Object.keys(this._buttonLibrary);\n }\n\n public setButtons(buttons: string[]): void {\n if (!Array.isArray(buttons)) {\n throw new Error('Argument \"buttons\" should be an array');\n }\n\n this._defaultButtonsList = buttons;\n }\n\n public addStandardButton(\n name: string,\n title: string,\n command: string,\n styleClass: string,\n icon: string\n ) {\n if (!name || !title || !command) {\n throw new Error('Arguments \"name\", \"title\" and \"command\" are required');\n }\n\n styleClass = styleClass || '';\n this._buttonLibrary[name] = { title, command, styleClass, icon };\n this._defaultButtonsList.push(name);\n }\n\n public getToolbarButtons(buttonsList?: string): {}[] {\n let buttons = this._defaultButtonsList;\n const toolbarButtons: TButton[] = [];\n\n if (typeof buttonsList !== 'undefined') {\n buttons = string2array(buttonsList);\n }\n\n buttons.forEach(buttonKey => {\n if (!buttonKey) {\n return;\n }\n\n if (!this._buttonLibrary[buttonKey]) {\n throw new Error(\n `There is no \"${buttonKey}\" in your library. Possible variants: ${Object.keys(this._buttonLibrary)}`\n );\n }\n\n const button = Object.assign({}, this._buttonLibrary[buttonKey]);\n // button.isActive = () => {return !!this.command && document.queryCommandState(this.command);}\n toolbarButtons.push(button);\n });\n\n return toolbarButtons;\n }\n}\n\nfunction string2array(keysString: string) {\n return keysString\n .split(',')\n .map(Function.prototype.call, String.prototype.trim);\n}\n","<div class=\"ng-wig\">\n <ul class=\"nw-toolbar\">\n <li *ngFor=\"let button of toolbarButtons\"\n class=\"nw-toolbar__item\">\n <div>\n <button type=\"button\"\n class=\"nw-button\"\n [ngClass]=\"[button.styleClass]\"\n [title]=\"button.title\"\n (click)=\"execCommand(button.command)\"\n [disabled]=\"disabled\"\n tabindex=\"-1\">\n <ng-container *ngIf=\"!button.icon\">{{ button.label }}</ng-container>\n <div *ngIf=\"button.icon\"\n class=\"icon\"\n [ngClass]=\"[button.icon]\">\n </div>\n </button>\n </div>\n </li>\n </ul>\n\n <div class=\"nw-editor-container\"\n (click)=\"container.focus()\"\n [ngClass]=\"{ 'nw-editor-container--with-toolbar': toolbarButtons.length }\">\n <div *ngIf=\"editMode\"\n class=\"nw-editor__src-container\">\n <textarea [ngModel]=\"content\"\n (ngModelChange)=\"onTextareaChange($event)\"\n (blur)=\"propagateTouched()\"\n class=\"nw-editor__src\">\n </textarea>\n </div>\n <div class=\"nw-editor\"\n [ngClass]=\"{ 'nw-disabled': disabled,'nw-invisible': editMode }\">\n <div *ngIf=\"shouldShowPlaceholder()\"\n class=\"nw-editor__placeholder\"\n [innerText]=\"placeholder\">\n </div>\n <div #ngWigEditable\n class=\"nw-editor__res\"\n [attr.contenteditable]=\"!disabled\"\n [ngClass]=\"{ disabled: disabled}\"\n (focus)=\"hasFocus = true\"\n (blur)=\"onBlur()\"\n (input)=\"onContentChange(ngWigEditable.innerHTML)\"><!--\n --></div>\n </div>\n </div>\n </div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n Inject,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core';\n\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { NgxWigToolbarService } from './ngx-wig-toolbar.service';\nimport { DOCUMENT } from '@angular/common';\nimport { TButton, commandFunction } from './config';\n\n/** @dynamic */\n@Component({\n selector: 'ngx-wig',\n templateUrl: './ngx-wig-component.html',\n styleUrls: ['./ngx-wig-component.css'],\n providers: [\n NgxWigToolbarService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgxWigComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class NgxWigComponent implements AfterViewInit,\n OnInit,\n OnChanges,\n OnDestroy,\n ControlValueAccessor {\n\n @Input()\n public content: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public buttons: string;\n\n @Input()\n public disabled: boolean;\n\n @Output()\n public contentChange = new EventEmitter();\n\n @ViewChild('ngWigEditable', { read: ElementRef, static: true })\n public ngxWigEditable: ElementRef;\n\n public editMode = false;\n public container: HTMLElement;\n public toolbarButtons: TButton[] = [];\n public hasFocus = false;\n\n private _mutationObserver: MutationObserver;\n\n public constructor(\n private _ngWigToolbarService: NgxWigToolbarService,\n @Inject(DOCUMENT) private document: any, // cannot set Document here - Angular issue - https://github.com/angular/angular/issues/20351\n @Inject('WINDOW') private window,\n ) {}\n\n public execCommand(command: string| commandFunction, options?: string): boolean {\n\n if (typeof command === 'function') {\n command(this);\n return true;\n }\n\n if (this.editMode) {\n return false;\n }\n\n if (this.document.queryCommandSupported && !this.document.queryCommandSupported(command)) {\n throw new Error(`The command \"${command}\" is not supported`);\n }\n if (command === 'createlink' || command === 'insertImage') {\n options = window.prompt('Please enter the URL', 'http://') || '';\n if (!options) {\n return false;\n }\n }\n\n this.container.focus();\n\n // use insertHtml for `createlink` command to account for IE/Edge purposes, in case there is no selection\n const selection = this.document.getSelection().toString();\n\n if (command === 'createlink' && selection === '') {\n this.document.execCommand('insertHtml', false, '<a href=\"' + options + '\">' + options + '</a>');\n } else {\n this.document.execCommand(command, false, options);\n }\n\n this.onContentChange(this.container.innerHTML);\n return true;\n }\n\n public ngOnInit(): void {\n this.toolbarButtons = this._ngWigToolbarService.getToolbarButtons(this.buttons);\n this.container = this.ngxWigEditable.nativeElement;\n\n if (this.content) {\n this.container.innerHTML = this.content;\n }\n }\n\n public ngAfterViewInit(): void {\n // Workaround for IE11 which doesn't fire 'input' event on\n // contenteditable\n // https://stackoverflow.com/a/49287032/7369511\n\n // check if the browser is IE:\n if (window.document['documentMode']) {\n this._mutationObserver = new MutationObserver(() => {\n this.onContentChange(this.container.innerHTML);\n });\n\n this._mutationObserver.observe(\n this.container,\n { childList: true, subtree: true, characterData: true }\n );\n }\n }\n\n public ngOnDestroy(): void {\n if (this._mutationObserver) {\n this._mutationObserver.disconnect();\n }\n }\n\n public onContentChange(newContent: string): void {\n this.content = newContent;\n this.contentChange.emit(this.content);\n this.propagateChange(this.content);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (this.container && changes['content']) {\n // clear the previous content\n this.container.innerHTML = '';\n\n // add the new content\n this.pasteHtmlAtCaret(changes['content'].currentValue);\n }\n }\n\n public onTextareaChange(newContent: string): void {\n // model -> view\n this.container.innerHTML = newContent;\n this.onContentChange(newContent);\n }\n\n public writeValue(value: any): void {\n if (!value) { value = ''; }\n\n this.container.innerHTML = value;\n this.content = value;\n }\n\n public shouldShowPlaceholder(): boolean {\n return !!this.placeholder\n && !this.container.innerText;\n }\n\n private pasteHtmlAtCaret(html) {\n let sel, range;\n\n if (window.getSelection) {\n sel = window.getSelection();\n\n if (sel.getRangeAt && sel.rangeCount) {\n range = sel.getRangeAt(0);\n range.deleteContents();\n\n // append the content in a temporary div\n const el = this.document.createElement('div');\n el.innerHTML = html;\n\n const frag = this.document.createDocumentFragment();\n let node, lastNode;\n\n while ( (node = el.firstChild) ) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n }\n }\n\n public registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n\n private propagateChange: any = (_: any) => { };\n public propagateTouched = () => {};\n\n onBlur() {\n this.hasFocus = false;\n this.propagateTouched();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NgxWigComponent } from './ngx-wig.component';\nimport { FormsModule } from '@angular/forms';\nimport { TButtonLibrary, DEFAULT_LIBRARY_BUTTONS, BUTTONS, CUSTOM_LIBRARY_BUTTONS } from './config';\n\nexport function getWindowObject(): Window {\n return window;\n}\n\n@NgModule({\n declarations: [\n NgxWigComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [NgxWigComponent],\n providers: [\n { provide: BUTTONS, multi: true, useValue: DEFAULT_LIBRARY_BUTTONS },\n { provide: 'WINDOW', useFactory: getWindowObject },\n ]\n})\nexport class NgxWigModule {\n\n static forRoot(config?: { buttonsConfig: TButtonLibrary } ): ModuleWithProviders<NgxWigModule> {\n return {\n ngModule: NgxWigModule,\n providers: [\n {\n provide: BUTTONS,\n multi: true, useValue: ((!config || !config?.buttonsConfig) ? DEFAULT_LIBRARY_BUTTONS : config?.buttonsConfig)\n },\n { provide: 'WINDOW', useFactory: getWindowObject },\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<NgxWigModule> {\n return {ngModule: NgxWigModule };\n }\n}\n"]}
\No newline at end of file