html-editor.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. "use strict";
  2. var __extends = (this && this.__extends) || (function () {
  3. var extendStatics = Object.setPrototypeOf ||
  4. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  5. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  6. return function (d, b) {
  7. extendStatics(d, b);
  8. function __() { this.constructor = d; }
  9. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  10. };
  11. })();
  12. /*!
  13. * devextreme-angular
  14. * Version: 19.1.16
  15. * Build date: Tue Oct 18 2022
  16. *
  17. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  18. *
  19. * This software may be modified and distributed under the terms
  20. * of the MIT license. See the LICENSE file in the root of the project for details.
  21. *
  22. * https://github.com/DevExpress/devextreme-angular
  23. */
  24. Object.defineProperty(exports, "__esModule", { value: true });
  25. var platform_browser_1 = require("@angular/platform-browser");
  26. var platform_browser_2 = require("@angular/platform-browser");
  27. var core_1 = require("@angular/core");
  28. var html_editor_1 = require("devextreme/ui/html_editor");
  29. var forms_1 = require("@angular/forms");
  30. var component_1 = require("../core/component");
  31. var template_host_1 = require("../core/template-host");
  32. var integration_1 = require("../core/integration");
  33. var template_1 = require("../core/template");
  34. var nested_option_1 = require("../core/nested-option");
  35. var watcher_helper_1 = require("../core/watcher-helper");
  36. var iterable_differ_helper_1 = require("../core/iterable-differ-helper");
  37. var media_resizing_1 = require("./nested/media-resizing");
  38. var mention_dxi_1 = require("./nested/mention-dxi");
  39. var toolbar_1 = require("./nested/toolbar");
  40. var item_dxi_1 = require("./nested/item-dxi");
  41. var variables_1 = require("./nested/variables");
  42. var mention_dxi_2 = require("./nested/mention-dxi");
  43. var CUSTOM_VALUE_ACCESSOR_PROVIDER = {
  44. provide: forms_1.NG_VALUE_ACCESSOR,
  45. useExisting: core_1.forwardRef(function () { return DxHtmlEditorComponent; }),
  46. multi: true
  47. };
  48. /**
  49. * [tags] ctp HtmlEditor is a WYSIWYG editor that allows you to format textual and visual content and to output it in HTML or Markdown. HtmlEditor is built on top of and requires Quill. #include common-ctp-note with { component: "HtmlEditor" }
  50. */
  51. var DxHtmlEditorComponent = (function (_super) {
  52. __extends(DxHtmlEditorComponent, _super);
  53. function DxHtmlEditorComponent(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
  54. var _this = _super.call(this, elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId) || this;
  55. _this._watcherHelper = _watcherHelper;
  56. _this._idh = _idh;
  57. _this.touched = function (_) { };
  58. _this._createEventEmitters([
  59. { subscribe: 'contentReady', emit: 'onContentReady' },
  60. { subscribe: 'disposing', emit: 'onDisposing' },
  61. { subscribe: 'focusIn', emit: 'onFocusIn' },
  62. { subscribe: 'focusOut', emit: 'onFocusOut' },
  63. { subscribe: 'initialized', emit: 'onInitialized' },
  64. { subscribe: 'optionChanged', emit: 'onOptionChanged' },
  65. { subscribe: 'valueChanged', emit: 'onValueChanged' },
  66. { emit: 'accessKeyChange' },
  67. { emit: 'activeStateEnabledChange' },
  68. { emit: 'customizeModulesChange' },
  69. { emit: 'disabledChange' },
  70. { emit: 'elementAttrChange' },
  71. { emit: 'focusStateEnabledChange' },
  72. { emit: 'heightChange' },
  73. { emit: 'hintChange' },
  74. { emit: 'hoverStateEnabledChange' },
  75. { emit: 'isValidChange' },
  76. { emit: 'mediaResizingChange' },
  77. { emit: 'mentionsChange' },
  78. { emit: 'nameChange' },
  79. { emit: 'placeholderChange' },
  80. { emit: 'readOnlyChange' },
  81. { emit: 'rtlEnabledChange' },
  82. { emit: 'tabIndexChange' },
  83. { emit: 'toolbarChange' },
  84. { emit: 'validationErrorChange' },
  85. { emit: 'validationMessageModeChange' },
  86. { emit: 'valueChange' },
  87. { emit: 'valueTypeChange' },
  88. { emit: 'variablesChange' },
  89. { emit: 'visibleChange' },
  90. { emit: 'widthChange' },
  91. { emit: 'onBlur' }
  92. ]);
  93. _this._idh.setHost(_this);
  94. optionHost.setHost(_this);
  95. return _this;
  96. }
  97. Object.defineProperty(DxHtmlEditorComponent.prototype, "accessKey", {
  98. get: /**
  99. * Specifies the shortcut key that sets focus on the widget.
  100. */
  101. function () {
  102. return this._getOption('accessKey');
  103. },
  104. set: function (value) {
  105. this._setOption('accessKey', value);
  106. },
  107. enumerable: true,
  108. configurable: true
  109. });
  110. Object.defineProperty(DxHtmlEditorComponent.prototype, "activeStateEnabled", {
  111. get: /**
  112. * Specifies whether or not the widget changes its state when interacting with a user.
  113. */
  114. function () {
  115. return this._getOption('activeStateEnabled');
  116. },
  117. set: function (value) {
  118. this._setOption('activeStateEnabled', value);
  119. },
  120. enumerable: true,
  121. configurable: true
  122. });
  123. Object.defineProperty(DxHtmlEditorComponent.prototype, "customizeModules", {
  124. get: /**
  125. * Allows you to customize Quill and 3rd-party modules.
  126. */
  127. function () {
  128. return this._getOption('customizeModules');
  129. },
  130. set: function (value) {
  131. this._setOption('customizeModules', value);
  132. },
  133. enumerable: true,
  134. configurable: true
  135. });
  136. Object.defineProperty(DxHtmlEditorComponent.prototype, "disabled", {
  137. get: /**
  138. * Specifies whether the widget responds to user interaction.
  139. */
  140. function () {
  141. return this._getOption('disabled');
  142. },
  143. set: function (value) {
  144. this._setOption('disabled', value);
  145. },
  146. enumerable: true,
  147. configurable: true
  148. });
  149. Object.defineProperty(DxHtmlEditorComponent.prototype, "elementAttr", {
  150. get: /**
  151. * Specifies the attributes to be attached to the widget's root element.
  152. */
  153. function () {
  154. return this._getOption('elementAttr');
  155. },
  156. set: function (value) {
  157. this._setOption('elementAttr', value);
  158. },
  159. enumerable: true,
  160. configurable: true
  161. });
  162. Object.defineProperty(DxHtmlEditorComponent.prototype, "focusStateEnabled", {
  163. get: /**
  164. * Specifies whether the widget can be focused using keyboard navigation.
  165. */
  166. function () {
  167. return this._getOption('focusStateEnabled');
  168. },
  169. set: function (value) {
  170. this._setOption('focusStateEnabled', value);
  171. },
  172. enumerable: true,
  173. configurable: true
  174. });
  175. Object.defineProperty(DxHtmlEditorComponent.prototype, "height", {
  176. get: /**
  177. * Specifies the widget's height.
  178. */
  179. function () {
  180. return this._getOption('height');
  181. },
  182. set: function (value) {
  183. this._setOption('height', value);
  184. },
  185. enumerable: true,
  186. configurable: true
  187. });
  188. Object.defineProperty(DxHtmlEditorComponent.prototype, "hint", {
  189. get: /**
  190. * Specifies text for a hint that appears when a user pauses on the widget.
  191. */
  192. function () {
  193. return this._getOption('hint');
  194. },
  195. set: function (value) {
  196. this._setOption('hint', value);
  197. },
  198. enumerable: true,
  199. configurable: true
  200. });
  201. Object.defineProperty(DxHtmlEditorComponent.prototype, "hoverStateEnabled", {
  202. get: /**
  203. * Specifies whether the widget changes its state when a user pauses on it.
  204. */
  205. function () {
  206. return this._getOption('hoverStateEnabled');
  207. },
  208. set: function (value) {
  209. this._setOption('hoverStateEnabled', value);
  210. },
  211. enumerable: true,
  212. configurable: true
  213. });
  214. Object.defineProperty(DxHtmlEditorComponent.prototype, "isValid", {
  215. get: /**
  216. * Specifies whether the editor's value is valid.
  217. */
  218. function () {
  219. return this._getOption('isValid');
  220. },
  221. set: function (value) {
  222. this._setOption('isValid', value);
  223. },
  224. enumerable: true,
  225. configurable: true
  226. });
  227. Object.defineProperty(DxHtmlEditorComponent.prototype, "mediaResizing", {
  228. get: /**
  229. * Configures media resizing.
  230. */
  231. function () {
  232. return this._getOption('mediaResizing');
  233. },
  234. set: function (value) {
  235. this._setOption('mediaResizing', value);
  236. },
  237. enumerable: true,
  238. configurable: true
  239. });
  240. Object.defineProperty(DxHtmlEditorComponent.prototype, "mentions", {
  241. get: /**
  242. * Configures mentions.
  243. */
  244. function () {
  245. return this._getOption('mentions');
  246. },
  247. set: function (value) {
  248. this._setOption('mentions', value);
  249. },
  250. enumerable: true,
  251. configurable: true
  252. });
  253. Object.defineProperty(DxHtmlEditorComponent.prototype, "name", {
  254. get: /**
  255. * The value to be assigned to the `name` attribute of the underlying HTML element.
  256. */
  257. function () {
  258. return this._getOption('name');
  259. },
  260. set: function (value) {
  261. this._setOption('name', value);
  262. },
  263. enumerable: true,
  264. configurable: true
  265. });
  266. Object.defineProperty(DxHtmlEditorComponent.prototype, "placeholder", {
  267. get: /**
  268. * Specifies the text displayed when the input field is empty.
  269. */
  270. function () {
  271. return this._getOption('placeholder');
  272. },
  273. set: function (value) {
  274. this._setOption('placeholder', value);
  275. },
  276. enumerable: true,
  277. configurable: true
  278. });
  279. Object.defineProperty(DxHtmlEditorComponent.prototype, "readOnly", {
  280. get: /**
  281. * Specifies whether the editor is read-only.
  282. */
  283. function () {
  284. return this._getOption('readOnly');
  285. },
  286. set: function (value) {
  287. this._setOption('readOnly', value);
  288. },
  289. enumerable: true,
  290. configurable: true
  291. });
  292. Object.defineProperty(DxHtmlEditorComponent.prototype, "rtlEnabled", {
  293. get: /**
  294. * Switches the widget to a right-to-left representation.
  295. */
  296. function () {
  297. return this._getOption('rtlEnabled');
  298. },
  299. set: function (value) {
  300. this._setOption('rtlEnabled', value);
  301. },
  302. enumerable: true,
  303. configurable: true
  304. });
  305. Object.defineProperty(DxHtmlEditorComponent.prototype, "tabIndex", {
  306. get: /**
  307. * Specifies the number of the element when the Tab key is used for navigating.
  308. */
  309. function () {
  310. return this._getOption('tabIndex');
  311. },
  312. set: function (value) {
  313. this._setOption('tabIndex', value);
  314. },
  315. enumerable: true,
  316. configurable: true
  317. });
  318. Object.defineProperty(DxHtmlEditorComponent.prototype, "toolbar", {
  319. get: /**
  320. * Configures the widget's toolbar.
  321. */
  322. function () {
  323. return this._getOption('toolbar');
  324. },
  325. set: function (value) {
  326. this._setOption('toolbar', value);
  327. },
  328. enumerable: true,
  329. configurable: true
  330. });
  331. Object.defineProperty(DxHtmlEditorComponent.prototype, "validationError", {
  332. get: /**
  333. * Specifies information on the validation error when using a custom validation engine. Should be changed at runtime along with the isValid option.
  334. */
  335. function () {
  336. return this._getOption('validationError');
  337. },
  338. set: function (value) {
  339. this._setOption('validationError', value);
  340. },
  341. enumerable: true,
  342. configurable: true
  343. });
  344. Object.defineProperty(DxHtmlEditorComponent.prototype, "validationMessageMode", {
  345. get: /**
  346. * Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed.
  347. */
  348. function () {
  349. return this._getOption('validationMessageMode');
  350. },
  351. set: function (value) {
  352. this._setOption('validationMessageMode', value);
  353. },
  354. enumerable: true,
  355. configurable: true
  356. });
  357. Object.defineProperty(DxHtmlEditorComponent.prototype, "value", {
  358. get: /**
  359. * Specifies the widget's value.
  360. */
  361. function () {
  362. return this._getOption('value');
  363. },
  364. set: function (value) {
  365. this._setOption('value', value);
  366. },
  367. enumerable: true,
  368. configurable: true
  369. });
  370. Object.defineProperty(DxHtmlEditorComponent.prototype, "valueType", {
  371. get: /**
  372. * Specifies in which markup language the value is stored.
  373. */
  374. function () {
  375. return this._getOption('valueType');
  376. },
  377. set: function (value) {
  378. this._setOption('valueType', value);
  379. },
  380. enumerable: true,
  381. configurable: true
  382. });
  383. Object.defineProperty(DxHtmlEditorComponent.prototype, "variables", {
  384. get: /**
  385. * Configures variables, which are placeholders to be replaced with actual values when processing text.
  386. */
  387. function () {
  388. return this._getOption('variables');
  389. },
  390. set: function (value) {
  391. this._setOption('variables', value);
  392. },
  393. enumerable: true,
  394. configurable: true
  395. });
  396. Object.defineProperty(DxHtmlEditorComponent.prototype, "visible", {
  397. get: /**
  398. * Specifies whether the widget is visible.
  399. */
  400. function () {
  401. return this._getOption('visible');
  402. },
  403. set: function (value) {
  404. this._setOption('visible', value);
  405. },
  406. enumerable: true,
  407. configurable: true
  408. });
  409. Object.defineProperty(DxHtmlEditorComponent.prototype, "width", {
  410. get: /**
  411. * Specifies the widget's width.
  412. */
  413. function () {
  414. return this._getOption('width');
  415. },
  416. set: function (value) {
  417. this._setOption('width', value);
  418. },
  419. enumerable: true,
  420. configurable: true
  421. });
  422. DxHtmlEditorComponent.prototype.change = function (_) { };
  423. Object.defineProperty(DxHtmlEditorComponent.prototype, "mentionsChildren", {
  424. get: function () {
  425. return this._getOption('mentions');
  426. },
  427. set: function (value) {
  428. this.setChildren('mentions', value);
  429. },
  430. enumerable: true,
  431. configurable: true
  432. });
  433. DxHtmlEditorComponent.prototype._createInstance = function (element, options) {
  434. return new html_editor_1.default(element, options);
  435. };
  436. DxHtmlEditorComponent.prototype.writeValue = function (value) {
  437. this.eventHelper.lockedValueChangeEvent = true;
  438. this.value = value;
  439. this.eventHelper.lockedValueChangeEvent = false;
  440. };
  441. DxHtmlEditorComponent.prototype.setDisabledState = function (isDisabled) {
  442. this.disabled = isDisabled;
  443. };
  444. DxHtmlEditorComponent.prototype.registerOnChange = function (fn) { this.change = fn; };
  445. DxHtmlEditorComponent.prototype.registerOnTouched = function (fn) { this.touched = fn; };
  446. DxHtmlEditorComponent.prototype._createWidget = function (element) {
  447. var _this = this;
  448. _super.prototype._createWidget.call(this, element);
  449. this.instance.on('focusOut', function (e) {
  450. _this.eventHelper.fireNgEvent('onBlur', [e]);
  451. });
  452. };
  453. DxHtmlEditorComponent.prototype.ngOnDestroy = function () {
  454. this._destroyWidget();
  455. };
  456. DxHtmlEditorComponent.prototype.ngOnChanges = function (changes) {
  457. _super.prototype.ngOnChanges.call(this, changes);
  458. this.setupChanges('mentions', changes);
  459. };
  460. DxHtmlEditorComponent.prototype.setupChanges = function (prop, changes) {
  461. if (!(prop in this._optionsToUpdate)) {
  462. this._idh.setup(prop, changes);
  463. }
  464. };
  465. DxHtmlEditorComponent.prototype.ngDoCheck = function () {
  466. this._idh.doCheck('mentions');
  467. this._watcherHelper.checkWatchers();
  468. _super.prototype.ngDoCheck.call(this);
  469. _super.prototype.clearChangedOptions.call(this);
  470. };
  471. DxHtmlEditorComponent.prototype._setOption = function (name, value) {
  472. var isSetup = this._idh.setupSingle(name, value);
  473. var isChanged = this._idh.getChanges(name, value) !== null;
  474. if (isSetup || isChanged) {
  475. _super.prototype._setOption.call(this, name, value);
  476. }
  477. };
  478. DxHtmlEditorComponent.decorators = [
  479. { type: core_1.Component, args: [{
  480. selector: 'dx-html-editor',
  481. template: '<ng-content></ng-content>',
  482. providers: [
  483. template_host_1.DxTemplateHost,
  484. watcher_helper_1.WatcherHelper,
  485. CUSTOM_VALUE_ACCESSOR_PROVIDER,
  486. nested_option_1.NestedOptionHost,
  487. iterable_differ_helper_1.IterableDifferHelper
  488. ]
  489. },] },
  490. ];
  491. /** @nocollapse */
  492. DxHtmlEditorComponent.ctorParameters = function () { return [
  493. { type: core_1.ElementRef, },
  494. { type: core_1.NgZone, },
  495. { type: template_host_1.DxTemplateHost, },
  496. { type: watcher_helper_1.WatcherHelper, },
  497. { type: iterable_differ_helper_1.IterableDifferHelper, },
  498. { type: nested_option_1.NestedOptionHost, },
  499. { type: platform_browser_2.TransferState, },
  500. { type: undefined, decorators: [{ type: core_1.Inject, args: [core_1.PLATFORM_ID,] },] },
  501. ]; };
  502. DxHtmlEditorComponent.propDecorators = {
  503. "accessKey": [{ type: core_1.Input },],
  504. "activeStateEnabled": [{ type: core_1.Input },],
  505. "customizeModules": [{ type: core_1.Input },],
  506. "disabled": [{ type: core_1.Input },],
  507. "elementAttr": [{ type: core_1.Input },],
  508. "focusStateEnabled": [{ type: core_1.Input },],
  509. "height": [{ type: core_1.Input },],
  510. "hint": [{ type: core_1.Input },],
  511. "hoverStateEnabled": [{ type: core_1.Input },],
  512. "isValid": [{ type: core_1.Input },],
  513. "mediaResizing": [{ type: core_1.Input },],
  514. "mentions": [{ type: core_1.Input },],
  515. "name": [{ type: core_1.Input },],
  516. "placeholder": [{ type: core_1.Input },],
  517. "readOnly": [{ type: core_1.Input },],
  518. "rtlEnabled": [{ type: core_1.Input },],
  519. "tabIndex": [{ type: core_1.Input },],
  520. "toolbar": [{ type: core_1.Input },],
  521. "validationError": [{ type: core_1.Input },],
  522. "validationMessageMode": [{ type: core_1.Input },],
  523. "value": [{ type: core_1.Input },],
  524. "valueType": [{ type: core_1.Input },],
  525. "variables": [{ type: core_1.Input },],
  526. "visible": [{ type: core_1.Input },],
  527. "width": [{ type: core_1.Input },],
  528. "onContentReady": [{ type: core_1.Output },],
  529. "onDisposing": [{ type: core_1.Output },],
  530. "onFocusIn": [{ type: core_1.Output },],
  531. "onFocusOut": [{ type: core_1.Output },],
  532. "onInitialized": [{ type: core_1.Output },],
  533. "onOptionChanged": [{ type: core_1.Output },],
  534. "onValueChanged": [{ type: core_1.Output },],
  535. "accessKeyChange": [{ type: core_1.Output },],
  536. "activeStateEnabledChange": [{ type: core_1.Output },],
  537. "customizeModulesChange": [{ type: core_1.Output },],
  538. "disabledChange": [{ type: core_1.Output },],
  539. "elementAttrChange": [{ type: core_1.Output },],
  540. "focusStateEnabledChange": [{ type: core_1.Output },],
  541. "heightChange": [{ type: core_1.Output },],
  542. "hintChange": [{ type: core_1.Output },],
  543. "hoverStateEnabledChange": [{ type: core_1.Output },],
  544. "isValidChange": [{ type: core_1.Output },],
  545. "mediaResizingChange": [{ type: core_1.Output },],
  546. "mentionsChange": [{ type: core_1.Output },],
  547. "nameChange": [{ type: core_1.Output },],
  548. "placeholderChange": [{ type: core_1.Output },],
  549. "readOnlyChange": [{ type: core_1.Output },],
  550. "rtlEnabledChange": [{ type: core_1.Output },],
  551. "tabIndexChange": [{ type: core_1.Output },],
  552. "toolbarChange": [{ type: core_1.Output },],
  553. "validationErrorChange": [{ type: core_1.Output },],
  554. "validationMessageModeChange": [{ type: core_1.Output },],
  555. "valueChange": [{ type: core_1.Output },],
  556. "valueTypeChange": [{ type: core_1.Output },],
  557. "variablesChange": [{ type: core_1.Output },],
  558. "visibleChange": [{ type: core_1.Output },],
  559. "widthChange": [{ type: core_1.Output },],
  560. "onBlur": [{ type: core_1.Output },],
  561. "change": [{ type: core_1.HostListener, args: ['valueChange', ['$event'],] },],
  562. "touched": [{ type: core_1.HostListener, args: ['onBlur', ['$event'],] },],
  563. "mentionsChildren": [{ type: core_1.ContentChildren, args: [mention_dxi_2.DxiMentionComponent,] },],
  564. };
  565. return DxHtmlEditorComponent;
  566. }(component_1.DxComponent));
  567. exports.DxHtmlEditorComponent = DxHtmlEditorComponent;
  568. var DxHtmlEditorModule = (function () {
  569. function DxHtmlEditorModule() {
  570. }
  571. DxHtmlEditorModule.decorators = [
  572. { type: core_1.NgModule, args: [{
  573. imports: [
  574. media_resizing_1.DxoMediaResizingModule,
  575. mention_dxi_1.DxiMentionModule,
  576. toolbar_1.DxoToolbarModule,
  577. item_dxi_1.DxiItemModule,
  578. variables_1.DxoVariablesModule,
  579. integration_1.DxIntegrationModule,
  580. template_1.DxTemplateModule,
  581. platform_browser_1.BrowserTransferStateModule
  582. ],
  583. declarations: [
  584. DxHtmlEditorComponent
  585. ],
  586. exports: [
  587. DxHtmlEditorComponent,
  588. media_resizing_1.DxoMediaResizingModule,
  589. mention_dxi_1.DxiMentionModule,
  590. toolbar_1.DxoToolbarModule,
  591. item_dxi_1.DxiItemModule,
  592. variables_1.DxoVariablesModule,
  593. template_1.DxTemplateModule
  594. ]
  595. },] },
  596. ];
  597. return DxHtmlEditorModule;
  598. }());
  599. exports.DxHtmlEditorModule = DxHtmlEditorModule;
  600. //# sourceMappingURL=html-editor.js.map