@worktile/theia 2.2.7 → 2.3.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/worktile-theia.umd.js +852 -249
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/components/toolbar/toolbar.component.d.ts +3 -2
- package/components/toolbar-item/toolbar-item.component.d.ts +3 -4
- package/constants/default.d.ts +3 -0
- package/constants/node-types.d.ts +4 -0
- package/custom-types.d.ts +3 -1
- package/editor.component.d.ts +3 -1
- package/editor.module.d.ts +26 -24
- package/esm2015/components/toolbar/toolbar.component.js +6 -4
- package/esm2015/components/toolbar-item/toolbar-item.component.js +4 -4
- package/esm2015/constants/auto-format-rules.js +26 -7
- package/esm2015/constants/default.js +2 -1
- package/esm2015/constants/node-types.js +6 -1
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +12 -6
- package/esm2015/editor.module.js +6 -3
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/interfaces/image.js +1 -1
- package/esm2015/interfaces/valid-children-types.js +2 -1
- package/esm2015/plugins/align/align.editor.js +10 -2
- package/esm2015/plugins/align/options.js +3 -2
- package/esm2015/plugins/common/auto-insert-data..js +2 -18
- package/esm2015/plugins/dnd/component/dnd.component.js +260 -0
- package/esm2015/plugins/dnd/utils/get-current-target.js +19 -0
- package/esm2015/plugins/dnd/utils/get-hover-direction.js +13 -0
- package/esm2015/plugins/dnd/utils/is-valid-drag.js +38 -0
- package/esm2015/plugins/dnd/utils/move-drag-node.js +30 -0
- package/esm2015/plugins/dnd/utils/remove-drop-thumb-line.js +10 -0
- package/esm2015/plugins/image/image.component.js +167 -14
- package/esm2015/plugins/image/image.editor.js +4 -1
- package/esm2015/plugins/indent/on-keydown-indent.js +2 -3
- package/esm2015/plugins/list/list.editor.js +2 -2
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +13 -2
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +1 -1
- package/esm2015/services/context.service.js +5 -1
- package/esm2015/utils/dom.js +39 -1
- package/esm2015/utils/is-clean-empty-paragraph.js +4 -4
- package/esm2015/utils/merge-element-options.js +20 -0
- package/fesm2015/worktile-theia.js +786 -201
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +9 -1
- package/interfaces/image.d.ts +7 -1
- package/interfaces/valid-children-types.d.ts +1 -0
- package/package.json +1 -1
- package/plugins/align/align.editor.d.ts +1 -0
- package/plugins/dnd/component/dnd.component.d.ts +42 -0
- package/plugins/dnd/component/dnd.component.scss +61 -0
- package/plugins/dnd/utils/get-current-target.d.ts +2 -0
- package/plugins/dnd/utils/get-hover-direction.d.ts +3 -0
- package/plugins/dnd/utils/is-valid-drag.d.ts +3 -0
- package/plugins/dnd/utils/move-drag-node.d.ts +2 -0
- package/plugins/dnd/utils/remove-drop-thumb-line.d.ts +2 -0
- package/plugins/image/image.component.d.ts +27 -3
- package/plugins/image/image.component.scss +9 -2
- package/plugins/image/image.editor.d.ts +6 -1
- package/plugins/quick-insert/components/quick-insert.component.d.ts +1 -0
- package/plugins/table/components/table.component.scss +1 -0
- package/services/context.service.d.ts +1 -0
- package/styles/editor.scss +4 -0
- package/styles/index.scss +1 -0
- package/styles/typo.scss +44 -0
- package/utils/dom.d.ts +5 -1
- package/utils/merge-element-options.d.ts +2 -0
|
@@ -25,7 +25,7 @@ export class TheQuickInsertComponent {
|
|
|
25
25
|
checkStatus() {
|
|
26
26
|
var _a;
|
|
27
27
|
const { editor } = this;
|
|
28
|
-
if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute()) {
|
|
28
|
+
if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute() && !this.isRichMediaScope()) {
|
|
29
29
|
const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
|
|
30
30
|
const rootNode = AngularEditor.toDOMNode(editor, block);
|
|
31
31
|
this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
|
|
@@ -33,6 +33,17 @@ export class TheQuickInsertComponent {
|
|
|
33
33
|
}
|
|
34
34
|
this.isHide = true;
|
|
35
35
|
}
|
|
36
|
+
isRichMediaScope() {
|
|
37
|
+
var _a;
|
|
38
|
+
const { editor } = this;
|
|
39
|
+
if (editor === null || editor === void 0 ? void 0 : editor.selection) {
|
|
40
|
+
const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
|
|
41
|
+
const rootNode = AngularEditor.toDOMNode(editor, block);
|
|
42
|
+
const firstElementChild = rootNode.firstElementChild;
|
|
43
|
+
return (firstElementChild === null || firstElementChild === void 0 ? void 0 : firstElementChild.offsetLeft) > 0;
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
36
47
|
hasExcludeAttribute() {
|
|
37
48
|
const marks = TheQueries.getSelectionMarks(this.editor);
|
|
38
49
|
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
@@ -82,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
82
93
|
type: HostListener,
|
|
83
94
|
args: ['mousedown', ['$event']]
|
|
84
95
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBZ0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0IsRUFBVSxHQUFzQjtRQUFuRixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBaEI5RixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxvQkFBZSxHQUFHLGtCQUFrQixDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLENBQUMsZUFB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RUQsV0FBVyxDQUFDLEtBQWlCO1FBQ3pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RyxDQUFDOztxSEF0RVEsdUJBQXVCO3lHQUF2Qix1QkFBdUIsdVlBVUUsVUFBVSw2QkMzQmhELHdRQVFBOzRGRFNhLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsY0FBYyxFQUFFLFFBQVE7cUJBQzNCO2lCQUNKO3lKQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFRTixXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUk3RCw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjIsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy90b29sYmFyJztcbmltcG9ydCB7IGlzQ2xlYW5FbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBRdWlja0luc2VydEVkaXRvciB9IGZyb20gJy4uL3F1aWNrLWluc2VydC5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbdGhlUXVpY2tJbnNlcnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVpY2staW5zZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXF1aWNrLWluc2VydCcsXG4gICAgICAgICdbY2xhc3MuaGlkZV0nOiAnaXNIaWRlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogRWRpdG9yO1xuICAgIEBJbnB1dCgpIHF1aWNrVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdO1xuICAgIEBJbnB1dCgpIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXNIaWRlID0gdHJ1ZTtcbiAgICBkZWZhdWx0SWNvbk5hbWUgPSAncGx1cy1jaXJjbGUtdGhpbic7XG4gICAgaWNvbk5hbWVGaWxsID0gJ3BsdXMtY2lyY2xlLXRoaW4tZmlsbCc7XG4gICAgZGlzcGxheUljb25OYW1lID0gdGhpcy5kZWZhdWx0SWNvbk5hbWU7XG5cbiAgICBAVmlld0NoaWxkKCdpY29uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICAgIGljb25FbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZU1vdXNlZG93bk5hdGl2ZUVsZW1lbnQoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBjaGVja1N0YXR1cygpIHtcbiAgICAgICAgY29uc3QgeyBlZGl0b3IgfSA9IHRoaXM7XG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSAmJiBpc0NsZWFuRW1wdHlQYXJhZ3JhcGgoZWRpdG9yKSAmJiAhdGhpcy5oYXNFeGNsdWRlQXR0cmlidXRlKCkgJiYgIXRoaXMuaXNSaWNoTWVkaWFTY29wZSgpKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290Tm9kZTogSFRNTEVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocm9vdE5vZGUub2Zmc2V0TGVmdCwgcm9vdE5vZGUub2Zmc2V0VG9wKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JpY2hNZWRpYVNjb3BlKCkge1xuICAgICAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICAgICAgaWYgKGVkaXRvcj8uc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290Tm9kZTogSFRNTEVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudENoaWxkID0gcm9vdE5vZGUuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICByZXR1cm4gZmlyc3RFbGVtZW50Q2hpbGQ/Lm9mZnNldExlZnQgPiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0V4Y2x1ZGVBdHRyaWJ1dGUoKSB7XG4gICAgICAgIGNvbnN0IG1hcmtzID0gVGhlUXVlcmllcy5nZXRTZWxlY3Rpb25NYXJrcyh0aGlzLmVkaXRvcik7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplTWFyazogbnVtYmVyID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcblxuICAgICAgICByZXR1cm4gZm9udFNpemVNYXJrO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24obGVmdDogbnVtYmVyLCB0b3A/OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5pc0hpZGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3RvcH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke2xlZnR9cHhgKTtcbiAgICB9XG5cbiAgICBtb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUljb25OYW1lID0gdGhpcy5pY29uTmFtZUZpbGw7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5SWNvbk5hbWUgPSB0aGlzLmRlZmF1bHRJY29uTmFtZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLm9wZW5RdWlja1Rvb2xiYXIodGhpcy5lZGl0b3IsIHRoaXMucXVpY2tUb29sYmFySXRlbXMsIHRoaXMuaWNvbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uXG4gICAgI2ljb25FbGVtZW50XG4gICAgW3RoeUljb25OYW1lXT1cImRpc3BsYXlJY29uTmFtZVwiXG4gICAgY2xhc3M9XCJxdWljay1pbnNlcnQtaWNvbiB0ZXh0LWRlc2MgZm9udC1zaXplLXhsZ1wiXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4+PC90aHktaWNvbj5cbiJdfQ==
|
|
@@ -58,7 +58,7 @@ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i1.ThyPopoverRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["
|
|
61
|
+
TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["editor", "item", "itemMode"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{
|
|
@@ -40,6 +40,10 @@ export class TheContextService {
|
|
|
40
40
|
const editableElement = this.getEditableElement();
|
|
41
41
|
return editableElement === null || editableElement === void 0 ? void 0 : editableElement.firstElementChild;
|
|
42
42
|
}
|
|
43
|
+
layoutDefaultWidth() {
|
|
44
|
+
const firstElementChild = this.getFirstElementChild();
|
|
45
|
+
return 0.48 * firstElementChild.clientWidth;
|
|
46
|
+
}
|
|
43
47
|
setUploadFileList(file) {
|
|
44
48
|
this.fileList.push(file);
|
|
45
49
|
}
|
|
@@ -52,4 +56,4 @@ TheContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
52
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheContextService, decorators: [{
|
|
53
57
|
type: Injectable
|
|
54
58
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQzs7QUFlL0QsTUFBTSxPQUFPLGlCQUFpQjtJQWdCMUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFibEMsYUFBUSxHQUFrQyxFQUFFLENBQUM7UUFFdEMsc0JBQWlCLEdBQXNCO1lBQzFDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBU0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQWEsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQTBCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3JCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDbkMsQ0FBQztJQUVNLGtCQUFrQjs7UUFDckIsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLDBDQUFFLFFBQVEsS0FBSSxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQ3JFLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sb0JBQW9CO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLGlCQUFnQyxDQUFDO0lBQzdELENBQUM7SUFFTSxrQkFBa0I7UUFDckIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQWlDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQ25ELENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7K0dBbkVRLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGhlT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWRpdG9yJztcbmltcG9ydCB7IEZvbnRTaXplcywgTWFya1R5cGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUNvbnRleHRPcHRpb25zIHtcbiAgICB0aGVPcHRpb25zOiBUaGVPcHRpb25zO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG59XG5cbmludGVyZmFjZSBQYWludEZvcm1hdFN0YXR1cyB7XG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG4gICAgbWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaGVDb250ZXh0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBvcHRpb25zOiBUaGVDb250ZXh0T3B0aW9ucztcblxuICAgIGZpbGVMaXN0OiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhaW50Rm9ybWF0U3RhdHVzOiBQYWludEZvcm1hdFN0YXR1cyA9IHtcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICBtYXJrczoge31cbiAgICB9O1xuXG4gICAgcHVibGljIG9uTW91c2VVcCQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgb25Nb3VzZU1vdmUkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIG9uTW91c2VEb3duJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbk1vdXNlVXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNldXBgKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlbW92ZWApO1xuICAgICAgICAgICAgdGhpcy5vbk1vdXNlRG93biQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCBgbW91c2Vkb3duYCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0aWFsaXplKG9wdGlvbnM6IFRoZUNvbnRleHRPcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLndpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdEVsZW1lbnRDaGlsZCA9IHRoaXMuZ2V0Rmlyc3RFbGVtZW50Q2hpbGQoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy53aWR0aCA9IGZpcnN0RWxlbWVudENoaWxkLm9mZnNldFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRoZU9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGhlT3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdEZvbnRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRoZU9wdGlvbnM/LmZvbnRTaXplIHx8IEZvbnRTaXplcy5mb250U2l6ZTE0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFZGl0YWJsZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLWVkaXRvci10eXBvJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpcnN0RWxlbWVudENoaWxkKCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSB0aGlzLmdldEVkaXRhYmxlRWxlbWVudCgpO1xuICAgICAgICByZXR1cm4gZWRpdGFibGVFbGVtZW50Py5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF5b3V0RGVmYXVsdFdpZHRoKCkge1xuICAgICAgICBjb25zdCBmaXJzdEVsZW1lbnRDaGlsZCA9IHRoaXMuZ2V0Rmlyc3RFbGVtZW50Q2hpbGQoKTtcbiAgICAgICAgcmV0dXJuIDAuNDggKiBmaXJzdEVsZW1lbnRDaGlsZC5jbGllbnRXaWR0aDtcbiAgICB9XG5cbiAgICBzZXRVcGxvYWRGaWxlTGlzdChmaWxlOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH0pIHtcbiAgICAgICAgdGhpcy5maWxlTGlzdC5wdXNoKGZpbGUpO1xuICAgIH1cblxuICAgIHJlbW92ZVVwbG9hZEltYWdlKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgdGhpcy5maWxlTGlzdC5zcGxpY2UoXG4gICAgICAgICAgICB0aGlzLmZpbGVMaXN0LmZpbmRJbmRleChpdGVtID0+IGl0ZW0uZmlsZSA9PT0gZmlsZSksXG4gICAgICAgICAgICAxXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
package/esm2015/utils/dom.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AngularEditor, EDITOR_TO_ELEMENT } from 'slate-angular';
|
|
1
2
|
import { Alignment } from '../constants';
|
|
2
3
|
/** Converts CSS pixel values to numbers, eg "123px" to 123. Returns NaN for non pixel values. */
|
|
3
4
|
export function coercePixelsFromCssValue(cssValue) {
|
|
@@ -44,4 +45,41 @@ export function getElementClassByPrefix(el, prefix) {
|
|
|
44
45
|
});
|
|
45
46
|
return matchClass;
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
export function findRelativeElementByPoint(editor, x, y, mode) {
|
|
49
|
+
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
50
|
+
const rectEditable = editableElement.getBoundingClientRect();
|
|
51
|
+
if (x > rectEditable.x && x < rectEditable.x + rectEditable.width) {
|
|
52
|
+
const centerX = rectEditable.x + rectEditable.width / 2;
|
|
53
|
+
let relativeElement = document.elementFromPoint(mode === 'highest' ? centerX : x, y);
|
|
54
|
+
return relativeElement;
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
export function findNodeEntryByPoint(editor, x, y, mode) {
|
|
59
|
+
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
60
|
+
let rootElement = null;
|
|
61
|
+
let relativeElement = findRelativeElementByPoint(editor, x, y, mode);
|
|
62
|
+
// 获取最顶层的DOM
|
|
63
|
+
if (mode === 'highest') {
|
|
64
|
+
while (relativeElement && editableElement.contains(relativeElement)) {
|
|
65
|
+
relativeElement = relativeElement.closest('[data-slate-node="element"]');
|
|
66
|
+
if (relativeElement) {
|
|
67
|
+
rootElement = relativeElement;
|
|
68
|
+
relativeElement = relativeElement.parentElement;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!mode) {
|
|
73
|
+
if (relativeElement && editableElement.contains(relativeElement)) {
|
|
74
|
+
relativeElement = relativeElement.closest('[data-slate-node="element"]');
|
|
75
|
+
rootElement = relativeElement;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (rootElement) {
|
|
79
|
+
const node = AngularEditor.toSlateNode(editor, rootElement);
|
|
80
|
+
const path = AngularEditor.findPath(editor, node);
|
|
81
|
+
return [node, path];
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFFcEQsaUdBQWlHO0FBQ2pHLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFnQjtJQUNyRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDM0I7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFvQjtJQUNoRCxxRkFBcUY7SUFDckYscUNBQXFDO0lBQ3JDLE9BQU8sd0JBQXdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBb0I7SUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBMkI7SUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQTJCO0lBQzFELE9BQU8sSUFBSSxDQUFD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LFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RCxlQUFlLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3pFLFdBQVcsR0FBRyxlQUFlLENBQUM7U0FDakM7S0FDSjtJQUVELElBQUksV0FBVyxFQUFFO1FBQ2IsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFZLENBQUM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIERPTUVsZW1lbnQsIEVESVRPUl9UT19FTEVNRU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIE5vZGVMZXZlbCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbi8qKiBDb252ZXJ0cyBDU1MgcGl4ZWwgdmFsdWVzIHRvIG51bWJlcnMsIGVnIFwiMTIzcHhcIiB0byAxMjMuIFJldHVybnMgTmFOIGZvciBub24gcGl4ZWwgdmFsdWVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZShjc3NWYWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaCA9IGNzc1ZhbHVlLm1hdGNoKC8oXFxkKylweC8pO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKG1hdGNoWzFdKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50V2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAvLyBPcHRpbWl6YXRpb246IENoZWNrIHN0eWxlLndpZHRoIGZpcnN0IGFzIHdlIHByb2JhYmx5IHNldCBpdCBhbHJlYWR5IGJlZm9yZSByZWFkaW5nXG4gICAgLy8gb2Zmc2V0V2lkdGggd2hpY2ggdHJpZ2dlcnMgbGF5b3V0LlxuICAgIHJldHVybiBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUoZWxlbWVudC5zdHlsZS53aWR0aCkgfHwgZWxlbWVudC5vZmZzZXRXaWR0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRIZWlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xzVG90YWxXaWR0aChjb2xzOiBIVE1MVGFibGVDb2xFbGVtZW50W10pIHtcbiAgICByZXR1cm4gY29scy5yZWR1Y2UoKHRvdGFsLCBjb2wpID0+IHtcbiAgICAgICAgcmV0dXJuIHRvdGFsICsgZ2V0RWxlbWVudFdpZHRoKGNvbCk7XG4gICAgfSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzVG90YWxIZWlnaHQocm93czogSFRNTFRhYmxlUm93RWxlbWVudFtdKSB7XG4gICAgcmV0dXJuIHJvd3MucmVkdWNlKCh0b3RhbCwgcm93KSA9PiB7XG4gICAgICAgIHJldHVybiB0b3RhbCArIGdldEVsZW1lbnRIZWlnaHQocm93KTtcbiAgICB9LCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUVsZW1lbnRTdHlsZShlbDogSFRNTEVsZW1lbnQsIGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudC5hbGlnbikge1xuICAgICAgICBlbC5zdHlsZS50ZXh0QWxpZ24gPSAoZWxlbWVudC5hbGlnbiBhcyBzdHJpbmcpIHx8IEFsaWdubWVudC5sZWZ0O1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnRleHRJbmRlbnQpIHtcbiAgICAgICAgZWwuc3R5bGUudGV4dEluZGVudCA9IGVsZW1lbnQudGV4dEluZGVudCArICdlbSc7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQudmVydGljYWxBbGlnbikge1xuICAgICAgICBlbC5zdHlsZS52ZXJ0aWNhbEFsaWduID0gZWxlbWVudC52ZXJ0aWNhbEFsaWduO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDbGFzc0J5UHJlZml4KGVsOiBET01FbGVtZW50LCBwcmVmaXg6IHN0cmluZykge1xuICAgIGxldCBtYXRjaENsYXNzID0gbnVsbDtcbiAgICBlbC5jbGFzc0xpc3QuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMocHJlZml4KSkge1xuICAgICAgICAgICAgbWF0Y2hDbGFzcyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hdGNoQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmVsYXRpdmVFbGVtZW50QnlQb2ludChlZGl0b3I6IFRoZUVkaXRvciwgeDogbnVtYmVyLCB5OiBudW1iZXIsIG1vZGU/OiBOb2RlTGV2ZWwpIHtcbiAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICBjb25zdCByZWN0RWRpdGFibGUgPSBlZGl0YWJsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaWYgKHggPiByZWN0RWRpdGFibGUueCAmJiB4IDwgcmVjdEVkaXRhYmxlLnggKyByZWN0RWRpdGFibGUud2lkdGgpIHtcbiAgICAgICAgY29uc3QgY2VudGVyWCA9IHJlY3RFZGl0YWJsZS54ICsgcmVjdEVkaXRhYmxlLndpZHRoIC8gMjtcbiAgICAgICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQobW9kZSA9PT0gJ2hpZ2hlc3QnID8gY2VudGVyWCA6IHgsIHkpO1xuICAgICAgICByZXR1cm4gcmVsYXRpdmVFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROb2RlRW50cnlCeVBvaW50KGVkaXRvcjogVGhlRWRpdG9yLCB4OiBudW1iZXIsIHk6IG51bWJlciwgbW9kZT86IE5vZGVMZXZlbCk6IE5vZGVFbnRyeTxFbGVtZW50PiB8IG51bGwge1xuICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudCA9IEVESVRPUl9UT19FTEVNRU5ULmdldChlZGl0b3IpO1xuICAgIGxldCByb290RWxlbWVudDogRE9NRWxlbWVudCA9IG51bGw7XG4gICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGZpbmRSZWxhdGl2ZUVsZW1lbnRCeVBvaW50KGVkaXRvciwgeCwgeSwgbW9kZSk7XG4gICAgLy8g6I635Y+W5pyA6aG25bGC55qERE9NXG4gICAgaWYgKG1vZGUgPT09ICdoaWdoZXN0Jykge1xuICAgICAgICB3aGlsZSAocmVsYXRpdmVFbGVtZW50ICYmIGVkaXRhYmxlRWxlbWVudC5jb250YWlucyhyZWxhdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtc2xhdGUtbm9kZT1cImVsZW1lbnRcIl0nKTtcbiAgICAgICAgICAgIGlmIChyZWxhdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByb290RWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbW9kZSkge1xuICAgICAgICBpZiAocmVsYXRpdmVFbGVtZW50ICYmIGVkaXRhYmxlRWxlbWVudC5jb250YWlucyhyZWxhdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtc2xhdGUtbm9kZT1cImVsZW1lbnRcIl0nKTtcbiAgICAgICAgICAgIHJvb3RFbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVOb2RlKGVkaXRvciwgcm9vdEVsZW1lbnQpIGFzIEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgbm9kZSk7XG4gICAgICAgIHJldHVybiBbbm9kZSwgcGF0aF07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Editor, Node, Text, Element, Range } from 'slate';
|
|
2
2
|
import { TheEditor } from '../interfaces';
|
|
3
|
-
import { ElementKinds } from '../constants/node-types';
|
|
3
|
+
import { Alignment, ElementKinds } from '../constants/node-types';
|
|
4
4
|
/**
|
|
5
5
|
* whether the current node is a clean paragraph
|
|
6
6
|
* @param editor
|
|
@@ -16,7 +16,7 @@ export const isCleanEmptyParagraph = (editor) => {
|
|
|
16
16
|
const textIndent = 'textIndent';
|
|
17
17
|
const align = 'align';
|
|
18
18
|
const hasTextIndent = block[textIndent];
|
|
19
|
-
const
|
|
19
|
+
const alignValue = block[align];
|
|
20
20
|
const hasIndent = block[ElementKinds.indent];
|
|
21
21
|
if (Node.string(block) === '' &&
|
|
22
22
|
Element.isElement(block) &&
|
|
@@ -26,9 +26,9 @@ export const isCleanEmptyParagraph = (editor) => {
|
|
|
26
26
|
!Editor.isVoid(editor, block) &&
|
|
27
27
|
!hasIndent &&
|
|
28
28
|
!hasTextIndent &&
|
|
29
|
-
!
|
|
29
|
+
(!alignValue || alignValue === Alignment.left)) {
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
return false;
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2xlYW4tZW1wdHktcGFyYWdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3BELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWpILElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVksQ0FBQztJQUNsRixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxJQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUN6QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN4QixLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTO1FBQ3JDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQzdCLENBQUMsU0FBUztRQUNWLENBQUMsYUFBYTtRQUNkLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDaEQ7UUFDRSxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBUZXh0LCBFbGVtZW50LCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBFbGVtZW50S2luZHMgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5cbi8qKlxuICogd2hldGhlciB0aGUgY3VycmVudCBub2RlIGlzIGEgY2xlYW4gcGFyYWdyYXBoXG4gKiBAcGFyYW0gZWRpdG9yXG4gKiBAcGFyYW0gdGV4dFxuICogQHJldHVybnMgYm9vbGVhblxuICovXG5leHBvcnQgY29uc3QgaXNDbGVhbkVtcHR5UGFyYWdyYXBoID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgaXNDb2xsYXBzZWRDdXJzb3IgPSBUaGVFZGl0b3IuaXNGb2N1c2VkKGVkaXRvcikgJiYgZWRpdG9yLnNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKTtcblxuICAgIGlmICghaXNDb2xsYXBzZWRDdXJzb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrID0gTm9kZS5hbmNlc3RvcihlZGl0b3IsIFtlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoWzBdXSkgYXMgRWxlbWVudDtcbiAgICBjb25zdCB0ZXh0SW5kZW50ID0gJ3RleHRJbmRlbnQnO1xuICAgIGNvbnN0IGFsaWduID0gJ2FsaWduJztcbiAgICBjb25zdCBoYXNUZXh0SW5kZW50ID0gYmxvY2tbdGV4dEluZGVudF07XG4gICAgY29uc3QgYWxpZ25WYWx1ZSA9IGJsb2NrW2FsaWduXTtcbiAgICBjb25zdCBoYXNJbmRlbnQgPSBibG9ja1tFbGVtZW50S2luZHMuaW5kZW50XTtcblxuICAgIGlmIChcbiAgICAgICAgTm9kZS5zdHJpbmcoYmxvY2spID09PSAnJyAmJlxuICAgICAgICBFbGVtZW50LmlzRWxlbWVudChibG9jaykgJiZcbiAgICAgICAgYmxvY2sudHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCAmJlxuICAgICAgICBibG9jay5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgVGV4dC5pc1RleHQoYmxvY2suY2hpbGRyZW5bMF0pICYmXG4gICAgICAgICFFZGl0b3IuaXNWb2lkKGVkaXRvciwgYmxvY2spICYmXG4gICAgICAgICFoYXNJbmRlbnQgJiZcbiAgICAgICAgIWhhc1RleHRJbmRlbnQgJiZcbiAgICAgICAgKCFhbGlnblZhbHVlIHx8IGFsaWduVmFsdWUgPT09IEFsaWdubWVudC5sZWZ0KVxuICAgICkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DefaultElementOptions } from '../interfaces';
|
|
2
|
+
export const mergeElementOptions = (elementOptions) => {
|
|
3
|
+
elementOptions = elementOptions.filter(item => item.inValidChildrenTypes.length > 0);
|
|
4
|
+
const combinationData = [...DefaultElementOptions, ...elementOptions];
|
|
5
|
+
const dataInfo = {};
|
|
6
|
+
combinationData.forEach(item => {
|
|
7
|
+
const { type, inValidChildrenTypes, isIndivisible, isSecondaryContainer } = item;
|
|
8
|
+
if (!dataInfo[type]) {
|
|
9
|
+
dataInfo[type] = {
|
|
10
|
+
type,
|
|
11
|
+
inValidChildrenTypes,
|
|
12
|
+
isIndivisible,
|
|
13
|
+
isSecondaryContainer
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
dataInfo[type].inValidChildrenTypes = Array.from(new Set([...inValidChildrenTypes, ...dataInfo[type].inValidChildrenTypes]));
|
|
17
|
+
});
|
|
18
|
+
return dataInfo;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZWxlbWVudC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL21lcmdlLWVsZW1lbnQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBb0MsRUFBRSxFQUFFO0lBQ3hFLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUN0RSxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDcEIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFDYixJQUFJO2dCQUNKLG9CQUFvQjtnQkFDcEIsYUFBYTtnQkFDYixvQkFBb0I7YUFDdkIsQ0FBQztTQUNMO1FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pJLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEVsZW1lbnRPcHRpb25zLCBFbGVtZW50T3B0aW9uc0luZm8gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlRWxlbWVudE9wdGlvbnMgPSAoZWxlbWVudE9wdGlvbnM6IEVsZW1lbnRPcHRpb25zSW5mb1tdKSA9PiB7XG4gICAgZWxlbWVudE9wdGlvbnMgPSBlbGVtZW50T3B0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmluVmFsaWRDaGlsZHJlblR5cGVzLmxlbmd0aCA+IDApO1xuICAgIGNvbnN0IGNvbWJpbmF0aW9uRGF0YSA9IFsuLi5EZWZhdWx0RWxlbWVudE9wdGlvbnMsIC4uLmVsZW1lbnRPcHRpb25zXTtcbiAgICBjb25zdCBkYXRhSW5mbyA9IHt9O1xuICAgIGNvbWJpbmF0aW9uRGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCB7IHR5cGUsIGluVmFsaWRDaGlsZHJlblR5cGVzLCBpc0luZGl2aXNpYmxlLCBpc1NlY29uZGFyeUNvbnRhaW5lciB9ID0gaXRlbTtcbiAgICAgICAgaWYgKCFkYXRhSW5mb1t0eXBlXSkge1xuICAgICAgICAgICAgZGF0YUluZm9bdHlwZV0gPSB7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBpblZhbGlkQ2hpbGRyZW5UeXBlcyxcbiAgICAgICAgICAgICAgICBpc0luZGl2aXNpYmxlLFxuICAgICAgICAgICAgICAgIGlzU2Vjb25kYXJ5Q29udGFpbmVyXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGRhdGFJbmZvW3R5cGVdLmluVmFsaWRDaGlsZHJlblR5cGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KFsuLi5pblZhbGlkQ2hpbGRyZW5UeXBlcywgLi4uZGF0YUluZm9bdHlwZV0uaW5WYWxpZENoaWxkcmVuVHlwZXNdKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFJbmZvO1xufTtcbiJdfQ==
|