@worktile/theia 2.1.4 → 2.1.5
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 +287 -58
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/components/toolbar/toolbar.component.d.ts +1 -3
- package/constants/default.d.ts +1 -0
- package/constants/node-types.d.ts +4 -3
- package/custom-types.d.ts +4 -1
- package/editor.module.d.ts +24 -23
- package/esm2015/components/inline-toolbar/inline-toolbar.component.js +1 -1
- package/esm2015/components/toolbar/toolbar.component.js +7 -6
- package/esm2015/components/toolbar-group/toolbar-group.component.js +1 -1
- package/esm2015/constants/auto-format-rules.js +8 -3
- package/esm2015/constants/default.js +2 -1
- package/esm2015/constants/node-types.js +5 -4
- package/esm2015/constants/toolbar.js +5 -5
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +10 -6
- package/esm2015/editor.module.js +6 -3
- package/esm2015/interfaces/auto-format.js +1 -1
- package/esm2015/interfaces/element.js +1 -1
- package/esm2015/plugins/autoformat/autoformat.plugin.js +2 -1
- package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +27 -14
- package/esm2015/plugins/code/code.component.js +26 -10
- package/esm2015/plugins/font-size/font-size.editor.js +35 -1
- package/esm2015/plugins/index.js +7 -3
- package/esm2015/plugins/inline-code/inline-code.component.js +27 -0
- package/esm2015/plugins/inline-code/inline-code.editor.js +45 -0
- package/esm2015/plugins/inline-code/inline-code.plugin.js +46 -0
- package/esm2015/plugins/inline-code/options.js +14 -0
- package/esm2015/plugins/link/link.component.js +4 -2
- package/esm2015/plugins/list/components/list-item.component.js +29 -3
- package/esm2015/plugins/mark/options.js +1 -9
- package/esm2015/services/context.service.js +9 -1
- package/esm2015/shortcuts/mark.js +10 -4
- package/fesm2015/worktile-theia.js +283 -60
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/auto-format.d.ts +1 -1
- package/interfaces/element.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/autoformat/transforms/auto-format-inline.d.ts +3 -1
- package/plugins/code/code.component.d.ts +6 -3
- package/plugins/code/code.component.scss +16 -0
- package/plugins/font-size/font-size.editor.d.ts +2 -0
- package/plugins/inline-code/inline-code.component.d.ts +14 -0
- package/plugins/inline-code/inline-code.component.scss +13 -0
- package/plugins/inline-code/inline-code.editor.d.ts +7 -0
- package/plugins/inline-code/inline-code.plugin.d.ts +2 -0
- package/plugins/inline-code/options.d.ts +2 -0
- package/plugins/list/components/list-item.component.d.ts +4 -1
- package/queries/get-container-blocks.d.ts +1 -1
- package/queries/get-selection-marks.d.ts +1 -1
- package/services/context.service.d.ts +5 -1
- package/styles/editor.scss +18 -4
- package/styles/index.scss +1 -0
- package/transforms/set-marks.d.ts +1 -1
|
@@ -6,7 +6,8 @@ import { CODEMIRROR_PADDING_TOP, CODE_MODES, DropdownMode, CodeMode, THE_CODE_MO
|
|
|
6
6
|
import { TheBaseElementComponent } from '../../interfaces';
|
|
7
7
|
import { CodeEditor } from './code.editor';
|
|
8
8
|
import * as TheTransforms from '../../transforms';
|
|
9
|
-
import { delay, take } from 'rxjs/operators';
|
|
9
|
+
import { delay, take, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "ngx-tethys/notify";
|
|
12
13
|
import * as i2 from "../../services/context.service";
|
|
@@ -36,8 +37,9 @@ export class TheCodeComponent extends TheBaseElementComponent {
|
|
|
36
37
|
this.menus = CODE_MODES.map(item => {
|
|
37
38
|
return { key: item.value, name: item.showName };
|
|
38
39
|
});
|
|
40
|
+
this.destroy$ = new Subject();
|
|
39
41
|
this.ToolbarItemMode = ToolbarItemMode;
|
|
40
|
-
this.
|
|
42
|
+
this.isHightLight = false;
|
|
41
43
|
this.resizeHeight = null;
|
|
42
44
|
this.options = {
|
|
43
45
|
mode: this.menus[0].key,
|
|
@@ -74,13 +76,21 @@ export class TheCodeComponent extends TheBaseElementComponent {
|
|
|
74
76
|
if (this.resizeHeight !== this.element.height) {
|
|
75
77
|
this.useHeight();
|
|
76
78
|
}
|
|
77
|
-
if (!this.isCollapsed) {
|
|
78
|
-
this.isFocusCode = false;
|
|
79
|
-
}
|
|
80
79
|
}
|
|
81
80
|
}
|
|
82
81
|
ngOnInit() {
|
|
83
82
|
super.ngOnInit();
|
|
83
|
+
this.ngZone.runOutsideAngular(() => {
|
|
84
|
+
fromEvent(this.nativeElement, 'mousedown')
|
|
85
|
+
.pipe(takeUntil(this.destroy$))
|
|
86
|
+
.subscribe(event => {
|
|
87
|
+
event.stopPropagation();
|
|
88
|
+
const isBlockOperation = this.isCollapsed &&
|
|
89
|
+
this.nativeElement.querySelector('.the-code-block-operation').contains(event.target);
|
|
90
|
+
const isCodemirror = this.nativeElement.querySelector('.ng-codemirror').contains(event.target);
|
|
91
|
+
this.isHightLight = !isCodemirror && !isBlockOperation;
|
|
92
|
+
});
|
|
93
|
+
});
|
|
84
94
|
this.elementRef.nativeElement.classList.add('the-code-container');
|
|
85
95
|
}
|
|
86
96
|
ngAfterViewInit() {
|
|
@@ -122,11 +132,11 @@ export class TheCodeComponent extends TheBaseElementComponent {
|
|
|
122
132
|
}
|
|
123
133
|
}
|
|
124
134
|
codeChange($event) {
|
|
135
|
+
this.isHightLight = false;
|
|
125
136
|
CodeEditor.setCodeAttribute(this.editor, this.element, { content: $event });
|
|
126
137
|
}
|
|
127
138
|
onDelete(event) {
|
|
128
139
|
event.preventDefault();
|
|
129
|
-
this.isFocusCode = false;
|
|
130
140
|
TheTransforms.deleteElement(this.editor, this.element);
|
|
131
141
|
}
|
|
132
142
|
onCopy(event) {
|
|
@@ -144,8 +154,9 @@ export class TheCodeComponent extends TheBaseElementComponent {
|
|
|
144
154
|
AngularEditor.deselect(this.editor);
|
|
145
155
|
}
|
|
146
156
|
focusChange(codeMirrorFocused) {
|
|
147
|
-
if (codeMirrorFocused)
|
|
148
|
-
this.
|
|
157
|
+
if (codeMirrorFocused) {
|
|
158
|
+
this.isHightLight = false;
|
|
159
|
+
}
|
|
149
160
|
}
|
|
150
161
|
useMode() {
|
|
151
162
|
this.options = Object.assign(Object.assign({}, this.options), { mode: this.element.language });
|
|
@@ -172,12 +183,17 @@ export class TheCodeComponent extends TheBaseElementComponent {
|
|
|
172
183
|
CodeEditor.setCodeAttribute(this.editor, this.element, { height: this.resizeHeight });
|
|
173
184
|
}
|
|
174
185
|
onChangeWrap(value) {
|
|
186
|
+
this.isHightLight = false;
|
|
175
187
|
this.options = Object.assign(Object.assign({}, this.options), { lineWrapping: value || false });
|
|
176
188
|
CodeEditor.setCodeAttribute(this.editor, this.element, { autoWrap: value ? value : null });
|
|
177
189
|
}
|
|
190
|
+
ngOnDestroy() {
|
|
191
|
+
this.destroy$.next();
|
|
192
|
+
this.destroy$.complete();
|
|
193
|
+
}
|
|
178
194
|
}
|
|
179
195
|
TheCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheCodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyNotifyService }, { token: i2.TheContextService }, { token: i0.NgZone }, { token: THE_CODE_MODE_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
-
TheCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheCodeComponent, selector: "div[theCode]", viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }], usesInheritance: true, ngImport: i0, template: "<div contenteditable=\"false\" class=\"the-code-block-operation\" *ngIf=\"
|
|
196
|
+
TheCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheCodeComponent, selector: "div[theCode]", viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }], usesInheritance: true, ngImport: i0, template: "<div contenteditable=\"false\" class=\"the-code-block-operation\" *ngIf=\"isCollapsed && codemirror && !options.readOnly\">\n <thy-icon-nav>\n <the-toolbar-dropdown [menus]=\"menus\" [item]=\"actives\" [itemMousedownHandle]=\"onChangeLangulage\"> </the-toolbar-dropdown>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onCopy($event)\"\n ></a>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n class=\"remove-link\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onDelete($event)\"\n ></a>\n <nav-split-line [mode]=\"ToolbarItemMode.vertical\"></nav-split-line>\n <span class=\"auto-wrap d-flex align-items-center\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n </thy-icon-nav>\n</div>\n\n<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsed, readonly: options.readOnly, active: isHightLight && isCollapsed }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsed && !options.readOnly\"></thy-resize-handle>\n</div>\n", components: [{ type: i3.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i4.TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: ["toolbarItem", "menus", "mode", "item", "itemMousedownHandle"] }, { type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i6.ThySwitchComponent, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled"], outputs: ["thyChange"] }, { type: i7.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i8.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "delayRefreshTime", "options"], outputs: ["focusChange"] }, { type: i9.ThyResizeHandleComponent, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeEnd", "thyResizeStart"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
181
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheCodeComponent, decorators: [{
|
|
182
198
|
type: Component,
|
|
183
199
|
args: [{
|
|
@@ -192,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
192
208
|
type: ViewChild,
|
|
193
209
|
args: ['codemirror', { read: CodeMirrorComponent, static: false }]
|
|
194
210
|
}] } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUNSLG1CQUFtQixFQUVuQixlQUFlLEVBRWxCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFTN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHVCQUE0QztJQXFEOUUsWUFDVyxVQUFzQixFQUN0QixHQUFzQixFQUNyQixnQkFBa0MsRUFDbEMsY0FBaUMsRUFDakMsTUFBYyxFQUVkLE1BQXFCO1FBRTdCLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFSaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgs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QUFDO0lBQy9GLENBQUM7OzZHQWxMUSxnQkFBZ0Isb0tBMkRiLG1CQUFtQjtpR0EzRHRCLGdCQUFnQix5SUE2QlEsbUJBQW1CLG9EQ25FeEQsMmhGQTZEQTsyRkR2QmEsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQTREUSxNQUFNOzJCQUFDLG1CQUFtQjs0Q0E3Qi9CLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE5nWm9uZSxcbiAgICBJbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlOb3RpZnlTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgQ29kZU1pcnJvckNvbXBvbmVudCB9IGZyb20gJ25nLWNvZGVtaXJyb3InO1xuaW1wb3J0IHtcbiAgICBDT0RFTUlSUk9SX1BBRERJTkdfVE9QLFxuICAgIENPREVfTU9ERVMsXG4gICAgRHJvcGRvd25Nb2RlLFxuICAgIENvZGVNb2RlLFxuICAgIFRIRV9DT0RFX01PREVfVE9LRU4sXG4gICAgVGhlQ29kZUNvbmZpZyxcbiAgICBUb29sYmFySXRlbU1vZGUsXG4gICAgRWxlbWVudEtpbmRzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEZWZhdWx0VG9vbGJhckl0ZW0sIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2RlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yIH0gZnJvbSAnLi9jb2RlLmVkaXRvcic7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZGVsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlSZXNpemVFdmVudCB9IGZyb20gJ25neC10ZXRoeXMvcmVzaXphYmxlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlQ29kZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2RlQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8Q29kZUVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXJ0UmVuZGVyQ29kZW1pcnJvciA9IGZhbHNlO1xuICAgIGRyb3Bkb3duTW9kZSA9IERyb3Bkb3duTW9kZTtcbiAgICBtYXhIZWlnaHQgPSB0aGlzLmNvbmZpZy5tb2RlID09PSBDb2RlTW9kZS5kZWZhdWx0ID8gMzUwIC0gQ09ERU1JUlJPUl9QQURESU5HX1RPUCAqIDIgOiAwO1xuICAgIG1lbnVzID0gQ09ERV9NT0RFUy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7IGtleTogaXRlbS52YWx1ZSwgbmFtZTogaXRlbS5zaG93TmFtZSB9O1xuICAgIH0pO1xuICAgIFRvb2xiYXJJdGVtTW9kZSA9IFRvb2xiYXJJdGVtTW9kZTtcbiAgICBpc0ZvY3VzQ29kZSA9IGZhbHNlO1xuICAgIHJlc2l6ZUhlaWdodDogbnVtYmVyID0gbnVsbDtcblxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIG1vZGU6IHRoaXMubWVudXNbMF0ua2V5LFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICAgICAgbGluZVdpc2VDb3B5Q3V0OiB0cnVlLFxuICAgICAgICBsaW5lV3JhcHBpbmc6IHRoaXMuY29uZmlnLm1vZGUgPT09IENvZGVNb2RlLmRlZmF1bHQgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgIGN1cnNvckJsaW5rUmF0ZTogNTAwXG4gICAgfTtcblxuICAgIGFjdGl2ZXM6IERlZmF1bHRUb29sYmFySXRlbSA9IHRoaXMubWVudXNbMF07XG5cbiAgICByZXNpemVCb3VuZHMgPSBudWxsO1xuXG4gICAgZ2V0IGNvZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY29udGVudDtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjb2RlbWlycm9yJywgeyByZWFkOiBDb2RlTWlycm9yQ29tcG9uZW50LCBzdGF0aWM6IGZhbHNlIH0pXG4gICAgY29kZW1pcnJvcjogQ29kZU1pcnJvckNvbXBvbmVudDtcblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJlYWRPbmx5ICE9PSB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VSZWFkb25seSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tb2RlICE9PSB0aGlzLmVsZW1lbnQubGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZU1vZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubGluZVdyYXBwaW5nICE9PSB0aGlzLmVsZW1lbnQuYXV0b1dyYXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZUF1dG9XcmFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemVIZWlnaHQgIT09IHRoaXMuZWxlbWVudC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZUhlaWdodCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZvY3VzQ29kZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlOb3RpZnlTZXJ2aWNlOiBUaHlOb3RpZnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUSEVfQ09ERV9NT0RFX1RPS0VOKVxuICAgICAgICBwcml2YXRlIGNvbmZpZzogVGhlQ29kZUNvbmZpZ1xuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0aGUtY29kZS1jb250YWluZXInKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAvLyBkZWxheSAyMG1zXG4gICAgICAgICAgICAvLyBjY29kZW1pcnJvciBpcyB0b28gc2xvd1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpLCBkZWxheSgyMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJDb2RlbWlycm9yKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGVkaXQgbW9kZSBjYW4gbm90IGRlbGF5XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJDb2RlbWlycm9yKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ29kZW1pcnJvckZvY3VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVCb3VuZHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQ6IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0RWRpdGFibGVFbGVtZW50KClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXJDb2RlbWlycm9yKCkge1xuICAgICAgICB0aGlzLnN0YXJ0UmVuZGVyQ29kZW1pcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudXNlUmVhZG9ubHkoKTtcbiAgICAgICAgdGhpcy51c2VNb2RlKCk7XG4gICAgICAgIHRoaXMudXNlQXV0b1dyYXAoKTtcbiAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVDb2RlbWlycm9yRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLmNvZGVtaXJyb3IgJiYgdGhpcy5jb2RlbWlycm9yLmVkaXRvciAmJiAhdGhpcy5jb2RlbWlycm9yLmVkaXRvci5oYXNGb2N1cygpKSB7XG4gICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IuYmx1cih0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29kZW1pcnJvci5lZGl0b3IuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2RlbWlycm9yLmVkaXRvci5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvZGVDaGFuZ2UoJGV2ZW50KSB7XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGNvbnRlbnQ6ICRldmVudCB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmlzRm9jdXNDb2RlID0gZmFsc2U7XG4gICAgICAgIFRoZVRyYW5zZm9ybXMuZGVsZXRlRWxlbWVudCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICBvbkNvcHkoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIHJlbW92ZSBjb2RlbW9ycmlyIHNlbGVjdGlvblxuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA+IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICBBbmd1bGFyRWRpdG9yLmZvY3VzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCkpO1xuICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgICAgICB0aGlzLnRoeU5vdGlmeVNlcnZpY2Uuc3VjY2Vzcygn5aSN5Yi25oiQ5YqfJyk7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3IuZGVzZWxlY3QodGhpcy5lZGl0b3IpO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlKGNvZGVNaXJyb3JGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChjb2RlTWlycm9yRm9jdXNlZCkgdGhpcy5pc0ZvY3VzQ29kZSA9IGNvZGVNaXJyb3JGb2N1c2VkO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlTGFuZ3VsYWdlID0gaXRlbSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBtb2RlOiBpdGVtLmtleSB9O1xuICAgICAgICB0aGlzLmFjdGl2ZXMgPSBpdGVtO1xuICAgICAgICBDb2RlRWRpdG9yLnNldENvZGVBdHRyaWJ1dGUodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCwgeyBsYW5ndWFnZTogaXRlbS5rZXkgfSk7XG4gICAgfTtcblxuICAgIHVzZU1vZGUoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBtb2RlOiB0aGlzLmVsZW1lbnQubGFuZ3VhZ2UgfTtcbiAgICAgICAgdGhpcy5hY3RpdmVzID0gdGhpcy5tZW51cy5maW5kKGkgPT4gaS5rZXkgPT09IHRoaXMuZWxlbWVudC5sYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgdXNlQXV0b1dyYXAoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBsaW5lV3JhcHBpbmc6IHRoaXMuZWxlbWVudC5hdXRvV3JhcCB8fCBmYWxzZSB9O1xuICAgIH1cblxuICAgIHVzZUhlaWdodCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5oZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplSGVpZ2h0ID0gdGhpcy5lbGVtZW50LmhlaWdodDtcbiAgICAgICAgICAgIHRoaXMubWF4SGVpZ2h0ID0gdGhpcy5lbGVtZW50LmhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZVJlYWRvbmx5KCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgcmVhZE9ubHk6IHRoaXMucmVhZG9ubHksIGN1cnNvckJsaW5rUmF0ZTogdGhpcy5yZWFkb25seSA/IC0xIDogNTAwIH07XG4gICAgfVxuXG4gICAgb25SZXNpemUoeyBoZWlnaHQgfTogVGh5UmVzaXplRXZlbnQpIHtcbiAgICAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIHRoaXMubWF4SGVpZ2h0ID0gaGVpZ2h0O1xuICAgIH1cblxuICAgIG9uRW5kUmVzaXplKCkge1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KSk7XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGhlaWdodDogdGhpcy5yZXNpemVIZWlnaHQgfSk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VXcmFwKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBsaW5lV3JhcHBpbmc6IHZhbHVlIHx8IGZhbHNlIH07XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGF1dG9XcmFwOiB2YWx1ZSA/IHZhbHVlIDogbnVsbCB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgY2xhc3M9XCJ0aGUtY29kZS1ibG9jay1vcGVyYXRpb25cIiAqbmdJZj1cImlzRm9jdXNDb2RlICYmICFvcHRpb25zLnJlYWRPbmx5XCI+XG4gICAgPHRoeS1pY29uLW5hdj5cbiAgICAgICAgPHRoZS10b29sYmFyLWRyb3Bkb3duIFttZW51c109XCJtZW51c1wiIFtpdGVtXT1cImFjdGl2ZXNcIiBbaXRlbU1vdXNlZG93bkhhbmRsZV09XCJvbkNoYW5nZUxhbmd1bGFnZVwiPiA8L3RoZS10b29sYmFyLWRyb3Bkb3duPlxuICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtJY29uPVwiY29weVwiXG4gICAgICAgICAgICB0aHlUb29sdGlwPVwi5aSN5Yi2XCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkNvcHkoJGV2ZW50KVwiXG4gICAgICAgID48L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rXG4gICAgICAgICAgICB0aHlJY29uTmF2TGlua0ljb249XCJ0cmFzaFwiXG4gICAgICAgICAgICB0aHlUb29sdGlwPVwi5Yig6ZmkXCJcbiAgICAgICAgICAgIGNsYXNzPVwicmVtb3ZlLWxpbmtcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uRGVsZXRlKCRldmVudClcIlxuICAgICAgICA+PC9hPlxuICAgICAgICA8bmF2LXNwbGl0LWxpbmUgW21vZGVdPVwiVG9vbGJhckl0ZW1Nb2RlLnZlcnRpY2FsXCI+PC9uYXYtc3BsaXQtbGluZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdXRvLXdyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4+6Ieq5Yqo5o2i6KGMPC9zcGFuPlxuICAgICAgICAgICAgPHRoeS1zd2l0Y2hcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8td3JhcC1idG4gZC1mbGV4XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm9wdGlvbnMubGluZVdyYXBwaW5nXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVdyYXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdGh5U2l6ZT1cInNtXCJcbiAgICAgICAgICAgID48L3RoeS1zd2l0Y2g+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L3RoeS1pY29uLW5hdj5cbjwvZGl2PlxuXG48c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cblxuPCEtLSDlj6ror7vmqKHlvI/kuItDb2RlTWlycm9yLXNpemVy6auY5bqm5q+U57yW6L6R5qih5byP5LiL5aSaMnB477yM6K6+572udGh5TWluSGVpZ2h05Li6NDZweOmYsuatouaLluaLveWIsOacgOWwj+mrmOW6puaXtuWPquivu+aooeW8j+S4i+WHuueOsOa7muWKqOadoSAgLS0+XG48ZGl2XG4gICAgdGh5UmVzaXphYmxlXG4gICAgW3RoeU1pbkhlaWdodF09XCI0NlwiXG4gICAgW3RoeUJvdW5kc109XCJyZXNpemVCb3VuZHNcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicmVzaXplSGVpZ2h0XCJcbiAgICAodGh5UmVzaXplKT1cIm9uUmVzaXplKCRldmVudClcIlxuICAgICh0aHlSZXNpemVFbmQpPVwib25FbmRSZXNpemUoKVwiXG4gICAgY2xhc3M9XCJyZXNpemUtY29kZS1jb250YWluZXJcIlxuPlxuICAgIDxuZy1jb2RlbWlycm9yXG4gICAgICAgICpuZ0lmPVwic3RhcnRSZW5kZXJDb2RlbWlycm9yXCJcbiAgICAgICAgI2NvZGVtaXJyb3JcbiAgICAgICAgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIlxuICAgICAgICBjbGFzcz1cIm5nLWNvZGVtaXJyb3Itd3JhcHBlclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgbWF4SGVpZ2h0OiBtYXhIZWlnaHQgPiAwID8gbWF4SGVpZ2h0ICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgIFtuZ01vZGVsXT1cImNvZGVcIlxuICAgICAgICBbZGVsYXlSZWZyZXNoVGltZV09XCIzMDBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZm9jdXNDaGFuZ2UpPVwiZm9jdXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFthdXRvTWF4SGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgPlxuICAgIDwvbmctY29kZW1pcnJvcj5cbiAgICA8dGh5LXJlc2l6ZS1oYW5kbGUgdGh5RGlyZWN0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJjb2RlLXJlc2l6ZS1pY29uXCIgKm5nSWY9XCJpc0ZvY3VzQ29kZSAmJiAhb3B0aW9ucy5yZWFkT25seVwiPjwvdGh5LXJlc2l6ZS1oYW5kbGU+XG48L2Rpdj5cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUNSLG1CQUFtQixFQUVuQixlQUFlLEVBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBNEM7SUFtRDlFLFlBQ1csVUFBc0IsRUFDdEIsR0FBc0IsRUFDckIsZ0JBQWtDLEVBQ2xDLGNBQWlDLEVBQ2pDLE1BQWMsRUFFZCxNQUFxQjtRQUU3QixLQUFLLENBQUMsVUFBVSxF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QUFDLE1BQU07aUJBQ2xEOzswQkEwRFEsTUFBTTsyQkFBQyxtQkFBbUI7NENBMUIvQixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeU5vdGlmeVNlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL25vdGlmeSc7XG5pbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBDb2RlTWlycm9yQ29tcG9uZW50IH0gZnJvbSAnbmctY29kZW1pcnJvcic7XG5pbXBvcnQge1xuICAgIENPREVNSVJST1JfUEFERElOR19UT1AsXG4gICAgQ09ERV9NT0RFUyxcbiAgICBEcm9wZG93bk1vZGUsXG4gICAgQ29kZU1vZGUsXG4gICAgVEhFX0NPREVfTU9ERV9UT0tFTixcbiAgICBUaGVDb2RlQ29uZmlnLFxuICAgIFRvb2xiYXJJdGVtTW9kZVxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGVmYXVsdFRvb2xiYXJJdGVtLCBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29kZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgQ29kZUVkaXRvciB9IGZyb20gJy4vY29kZS5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGRlbGF5LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlSZXNpemVFdmVudCB9IGZyb20gJ25neC10ZXRoeXMvcmVzaXphYmxlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Rpdlt0aGVDb2RlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvZGVDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxDb2RlRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBzdGFydFJlbmRlckNvZGVtaXJyb3IgPSBmYWxzZTtcbiAgICBkcm9wZG93bk1vZGUgPSBEcm9wZG93bk1vZGU7XG4gICAgbWF4SGVpZ2h0ID0gdGhpcy5jb25maWcubW9kZSA9PT0gQ29kZU1vZGUuZGVmYXVsdCA/IDM1MCAtIENPREVNSVJST1JfUEFERElOR19UT1AgKiAyIDogMDtcbiAgICBtZW51cyA9IENPREVfTU9ERVMubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4geyBrZXk6IGl0ZW0udmFsdWUsIG5hbWU6IGl0ZW0uc2hvd05hbWUgfTtcbiAgICB9KTtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgVG9vbGJhckl0ZW1Nb2RlID0gVG9vbGJhckl0ZW1Nb2RlO1xuICAgIGlzSGlnaHRMaWdodCA9IGZhbHNlO1xuICAgIHJlc2l6ZUhlaWdodDogbnVtYmVyID0gbnVsbDtcblxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIG1vZGU6IHRoaXMubWVudXNbMF0ua2V5LFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICAgICAgbGluZVdpc2VDb3B5Q3V0OiB0cnVlLFxuICAgICAgICBsaW5lV3JhcHBpbmc6IHRoaXMuY29uZmlnLm1vZGUgPT09IENvZGVNb2RlLmRlZmF1bHQgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgIGN1cnNvckJsaW5rUmF0ZTogNTAwXG4gICAgfTtcblxuICAgIGFjdGl2ZXM6IERlZmF1bHRUb29sYmFySXRlbSA9IHRoaXMubWVudXNbMF07XG5cbiAgICByZXNpemVCb3VuZHMgPSBudWxsO1xuXG4gICAgZ2V0IGNvZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY29udGVudDtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjb2RlbWlycm9yJywgeyByZWFkOiBDb2RlTWlycm9yQ29tcG9uZW50LCBzdGF0aWM6IGZhbHNlIH0pXG4gICAgY29kZW1pcnJvcjogQ29kZU1pcnJvckNvbXBvbmVudDtcblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJlYWRPbmx5ICE9PSB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VSZWFkb25seSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tb2RlICE9PSB0aGlzLmVsZW1lbnQubGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZU1vZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubGluZVdyYXBwaW5nICE9PSB0aGlzLmVsZW1lbnQuYXV0b1dyYXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZUF1dG9XcmFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemVIZWlnaHQgIT09IHRoaXMuZWxlbWVudC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZUhlaWdodCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlOb3RpZnlTZXJ2aWNlOiBUaHlOb3RpZnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUSEVfQ09ERV9NT0RFX1RPS0VOKVxuICAgICAgICBwcml2YXRlIGNvbmZpZzogVGhlQ29kZUNvbmZpZ1xuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0Jsb2NrT3BlcmF0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLWNvZGUtYmxvY2stb3BlcmF0aW9uJykuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNDb2RlbWlycm9yID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZy1jb2RlbWlycm9yJykuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZ2h0TGlnaHQgPSAhaXNDb2RlbWlycm9yICYmICFpc0Jsb2NrT3BlcmF0aW9uO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGhlLWNvZGUtY29udGFpbmVyJyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgLy8gZGVsYXkgMjBtc1xuICAgICAgICAgICAgLy8gY2NvZGVtaXJyb3IgaXMgdG9vIHNsb3dcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSwgZGVsYXkoMjApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBlZGl0IG1vZGUgY2FuIG5vdCBkZWxheVxuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvZGVtaXJyb3JGb2N1cygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplQm91bmRzID0ge1xuICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldEVkaXRhYmxlRWxlbWVudCgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyQ29kZW1pcnJvcigpIHtcbiAgICAgICAgdGhpcy5zdGFydFJlbmRlckNvZGVtaXJyb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLnVzZVJlYWRvbmx5KCk7XG4gICAgICAgIHRoaXMudXNlTW9kZSgpO1xuICAgICAgICB0aGlzLnVzZUF1dG9XcmFwKCk7XG4gICAgICAgIHRoaXMudXNlSGVpZ2h0KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplQ29kZW1pcnJvckZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5jb2RlbWlycm9yICYmIHRoaXMuY29kZW1pcnJvci5lZGl0b3IgJiYgIXRoaXMuY29kZW1pcnJvci5lZGl0b3IuaGFzRm9jdXMoKSkge1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLmJsdXIodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvZGVtaXJyb3IuZWRpdG9yLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29kZW1pcnJvci5lZGl0b3IucmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICB0aGlzLmlzSGlnaHRMaWdodCA9IGZhbHNlO1xuICAgICAgICBDb2RlRWRpdG9yLnNldENvZGVBdHRyaWJ1dGUodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCwgeyBjb250ZW50OiAkZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVFbGVtZW50KHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uQ29weShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgLy8gcmVtb3ZlIGNvZGVtb3JyaXIgc2VsZWN0aW9uXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkge1xuICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXModGhpcy5lZGl0b3IpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KSk7XG4gICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICAgIHRoaXMudGh5Tm90aWZ5U2VydmljZS5zdWNjZXNzKCflpI3liLbmiJDlip8nKTtcbiAgICAgICAgQW5ndWxhckVkaXRvci5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2UoY29kZU1pcnJvckZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNvZGVNaXJyb3JGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmlzSGlnaHRMaWdodCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGFuZ2VMYW5ndWxhZ2UgPSBpdGVtID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG1vZGU6IGl0ZW0ua2V5IH07XG4gICAgICAgIHRoaXMuYWN0aXZlcyA9IGl0ZW07XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGxhbmd1YWdlOiBpdGVtLmtleSB9KTtcbiAgICB9O1xuXG4gICAgdXNlTW9kZSgpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG1vZGU6IHRoaXMuZWxlbWVudC5sYW5ndWFnZSB9O1xuICAgICAgICB0aGlzLmFjdGl2ZXMgPSB0aGlzLm1lbnVzLmZpbmQoaSA9PiBpLmtleSA9PT0gdGhpcy5lbGVtZW50Lmxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICB1c2VBdXRvV3JhcCgpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIGxpbmVXcmFwcGluZzogdGhpcy5lbGVtZW50LmF1dG9XcmFwIHx8IGZhbHNlIH07XG4gICAgfVxuXG4gICAgdXNlSGVpZ2h0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXNlUmVhZG9ubHkoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCByZWFkT25seTogdGhpcy5yZWFkb25seSwgY3Vyc29yQmxpbmtSYXRlOiB0aGlzLnJlYWRvbmx5ID8gLTEgOiA1MDAgfTtcbiAgICB9XG5cbiAgICBvblJlc2l6ZSh7IGhlaWdodCB9OiBUaHlSZXNpemVFdmVudCkge1xuICAgICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSBoZWlnaHQ7XG4gICAgfVxuXG4gICAgb25FbmRSZXNpemUoKSB7XG4gICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpKTtcbiAgICAgICAgQ29kZUVkaXRvci5zZXRDb2RlQXR0cmlidXRlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQsIHsgaGVpZ2h0OiB0aGlzLnJlc2l6ZUhlaWdodCB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZVdyYXAodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0hpZ2h0TGlnaHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIGxpbmVXcmFwcGluZzogdmFsdWUgfHwgZmFsc2UgfTtcbiAgICAgICAgQ29kZUVkaXRvci5zZXRDb2RlQXR0cmlidXRlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQsIHsgYXV0b1dyYXA6IHZhbHVlID8gdmFsdWUgOiBudWxsIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBjbGFzcz1cInRoZS1jb2RlLWJsb2NrLW9wZXJhdGlvblwiICpuZ0lmPVwiaXNDb2xsYXBzZWQgJiYgY29kZW1pcnJvciAmJiAhb3B0aW9ucy5yZWFkT25seVwiPlxuICAgIDx0aHktaWNvbi1uYXY+XG4gICAgICAgIDx0aGUtdG9vbGJhci1kcm9wZG93biBbbWVudXNdPVwibWVudXNcIiBbaXRlbV09XCJhY3RpdmVzXCIgW2l0ZW1Nb3VzZWRvd25IYW5kbGVdPVwib25DaGFuZ2VMYW5ndWxhZ2VcIj4gPC90aGUtdG9vbGJhci1kcm9wZG93bj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rSWNvbj1cImNvcHlcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWkjeWItlwiXG4gICAgICAgICAgICB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Db3B5KCRldmVudClcIlxuICAgICAgICA+PC9hPlxuICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtJY29uPVwidHJhc2hcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWIoOmZpFwiXG4gICAgICAgICAgICBjbGFzcz1cInJlbW92ZS1saW5rXCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvYT5cbiAgICAgICAgPG5hdi1zcGxpdC1saW5lIFttb2RlXT1cIlRvb2xiYXJJdGVtTW9kZS52ZXJ0aWNhbFwiPjwvbmF2LXNwbGl0LWxpbmU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXV0by13cmFwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPuiHquWKqOaNouihjDwvc3Bhbj5cbiAgICAgICAgICAgIDx0aHktc3dpdGNoXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLXdyYXAtYnRuIGQtZmxleFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJvcHRpb25zLmxpbmVXcmFwcGluZ1wiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VXcmFwKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHRoeVNpemU9XCJzbVwiXG4gICAgICAgICAgICA+PC90aHktc3dpdGNoPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC90aHktaWNvbi1uYXY+XG48L2Rpdj5cblxuPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+XG5cbjwhLS0g5Y+q6K+75qih5byP5LiLQ29kZU1pcnJvci1zaXplcumrmOW6puavlOe8lui+keaooeW8j+S4i+WkmjJweO+8jOiuvue9rnRoeU1pbkhlaWdodOS4ujQ2cHjpmLLmraLmi5bmi73liLDmnIDlsI/pq5jluqbml7blj6ror7vmqKHlvI/kuIvlh7rnjrDmu5rliqjmnaEgIC0tPlxuPGRpdlxuICAgIHRoeVJlc2l6YWJsZVxuICAgIFt0aHlNaW5IZWlnaHRdPVwiNDZcIlxuICAgIFt0aHlCb3VuZHNdPVwicmVzaXplQm91bmRzXCJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInJlc2l6ZUhlaWdodFwiXG4gICAgKHRoeVJlc2l6ZSk9XCJvblJlc2l6ZSgkZXZlbnQpXCJcbiAgICAodGh5UmVzaXplRW5kKT1cIm9uRW5kUmVzaXplKClcIlxuICAgIGNsYXNzPVwicmVzaXplLWNvZGUtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7IGZvY3VzOiBpc0NvbGxhcHNlZCwgcmVhZG9ubHk6IG9wdGlvbnMucmVhZE9ubHksIGFjdGl2ZTogaXNIaWdodExpZ2h0ICYmIGlzQ29sbGFwc2VkIH1cIlxuPlxuICAgIDxuZy1jb2RlbWlycm9yXG4gICAgICAgICpuZ0lmPVwic3RhcnRSZW5kZXJDb2RlbWlycm9yXCJcbiAgICAgICAgI2NvZGVtaXJyb3JcbiAgICAgICAgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIlxuICAgICAgICBjbGFzcz1cIm5nLWNvZGVtaXJyb3Itd3JhcHBlclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgbWF4SGVpZ2h0OiBtYXhIZWlnaHQgPiAwID8gbWF4SGVpZ2h0ICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgIFtuZ01vZGVsXT1cImNvZGVcIlxuICAgICAgICBbZGVsYXlSZWZyZXNoVGltZV09XCIzMDBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb2RlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZm9jdXNDaGFuZ2UpPVwiZm9jdXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFthdXRvTWF4SGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgPlxuICAgIDwvbmctY29kZW1pcnJvcj5cbiAgICA8dGh5LXJlc2l6ZS1oYW5kbGUgdGh5RGlyZWN0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJjb2RlLXJlc2l6ZS1pY29uXCIgKm5nSWY9XCJpc0NvbGxhcHNlZCAmJiAhb3B0aW9ucy5yZWFkT25seVwiPjwvdGh5LXJlc2l6ZS1oYW5kbGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
import { Editor } from 'slate';
|
|
2
2
|
import { ElementKinds, FontSizes, MarkTypes, HEADING_TYPES } from '../../constants/node-types';
|
|
3
|
+
import { TheContextService } from '../../services/context.service';
|
|
3
4
|
import * as TheQueries from '../../queries';
|
|
5
|
+
import * as TheTransforms from '../../transforms';
|
|
4
6
|
import { TableEditor } from '../table/table.editor';
|
|
5
7
|
export const FontSizeEditor = {
|
|
6
8
|
setFontSize(editor, size) {
|
|
9
|
+
const contextService = editor.injector.get(TheContextService);
|
|
10
|
+
const defaultFontSize = contextService.getDefaultFontSize();
|
|
11
|
+
const marks = TheQueries.getSelectionMarks(editor);
|
|
12
|
+
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
13
|
+
const isDefaultFontSize = size === defaultFontSize;
|
|
14
|
+
if (!fontSizeMark && isDefaultFontSize) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// unset fontSize
|
|
18
|
+
if (FontSizeEditor.unsetFontSize(editor, size, fontSizeMark, isDefaultFontSize)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
FontSizeEditor.setFontSizeMark(editor, size);
|
|
22
|
+
},
|
|
23
|
+
setFontSizeMark(editor, size) {
|
|
24
|
+
// set Table selectedCells fontSize
|
|
7
25
|
if (TableEditor.toggleMark(editor, false, MarkTypes.fontSize, Number(size))) {
|
|
8
26
|
return;
|
|
9
27
|
}
|
|
28
|
+
// set paragraph text fontSize
|
|
10
29
|
Editor.addMark(editor, MarkTypes.fontSize, Number(size));
|
|
11
30
|
},
|
|
31
|
+
unsetFontSize(editor, size, fontSizeMark, isDefaultFontSize) {
|
|
32
|
+
const isTable = TableEditor.isActive(editor);
|
|
33
|
+
if (fontSizeMark && isDefaultFontSize) {
|
|
34
|
+
// unset Table selectedCells fontSize
|
|
35
|
+
if (isTable && TableEditor.toggleMark(editor, true, MarkTypes.fontSize, Number(size))) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
// unset paragraph text fontSize
|
|
39
|
+
TheTransforms.setMarks(editor, {
|
|
40
|
+
[MarkTypes.fontSize]: null
|
|
41
|
+
}, editor.selection);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
},
|
|
12
46
|
isFontSizeActive(editor, size) {
|
|
13
47
|
if (editor.selection) {
|
|
14
48
|
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
@@ -44,4 +78,4 @@ export const FontSizeEditor = {
|
|
|
44
78
|
return false;
|
|
45
79
|
}
|
|
46
80
|
};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2ZvbnQtc2l6ZS9mb250LXNpemUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixXQUFXLENBQUMsTUFBaUIsRUFBRSxJQUFlO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFXLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEtBQUssZUFBZSxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLElBQUksaUJBQWlCLEVBQUU7WUFDcEMsT0FBTztTQUNWO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxp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VyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sV0FBVyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEZvbnRTaXplcywgTWFya1R5cGVzLCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uL3RhYmxlL3RhYmxlLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCBGb250U2l6ZUVkaXRvciA9IHtcbiAgICBzZXRGb250U2l6ZShlZGl0b3I6IFRoZUVkaXRvciwgc2l6ZTogRm9udFNpemVzKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGb250U2l6ZSA9IGNvbnRleHRTZXJ2aWNlLmdldERlZmF1bHRGb250U2l6ZSgpO1xuICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3MoZWRpdG9yKTtcbiAgICAgICAgY29uc3QgZm9udFNpemVNYXJrOiBudW1iZXIgPSBtYXJrc1tNYXJrVHlwZXMuZm9udFNpemVdO1xuICAgICAgICBjb25zdCBpc0RlZmF1bHRGb250U2l6ZSA9IHNpemUgPT09IGRlZmF1bHRGb250U2l6ZTtcblxuICAgICAgICBpZiAoIWZvbnRTaXplTWFyayAmJiBpc0RlZmF1bHRGb250U2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdW5zZXQgZm9udFNpemVcbiAgICAgICAgaWYgKEZvbnRTaXplRWRpdG9yLnVuc2V0Rm9udFNpemUoZWRpdG9yLCBzaXplLCBmb250U2l6ZU1hcmssIGlzRGVmYXVsdEZvbnRTaXplKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgRm9udFNpemVFZGl0b3Iuc2V0Rm9udFNpemVNYXJrKGVkaXRvciwgc2l6ZSk7XG4gICAgfSxcbiAgICBzZXRGb250U2l6ZU1hcmsoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICAvLyBzZXQgVGFibGUgc2VsZWN0ZWRDZWxscyBmb250U2l6ZVxuICAgICAgICBpZiAoVGFibGVFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIGZhbHNlLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgRWRpdG9yLmFkZE1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSk7XG4gICAgfSxcbiAgICB1bnNldEZvbnRTaXplKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMsIGZvbnRTaXplTWFyazogbnVtYmVyLCBpc0RlZmF1bHRGb250U2l6ZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBpc1RhYmxlID0gVGFibGVFZGl0b3IuaXNBY3RpdmUoZWRpdG9yKTtcblxuICAgICAgICBpZiAoZm9udFNpemVNYXJrICYmIGlzRGVmYXVsdEZvbnRTaXplKSB7XG4gICAgICAgICAgICAvLyB1bnNldCBUYWJsZSBzZWxlY3RlZENlbGxzIGZvbnRTaXplXG4gICAgICAgICAgICBpZiAoaXNUYWJsZSAmJiBUYWJsZUVkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgdHJ1ZSwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB1bnNldCBwYXJhZ3JhcGggdGV4dCBmb250U2l6ZVxuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBbTWFya1R5cGVzLmZvbnRTaXplXTogbnVsbFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZWRpdG9yLnNlbGVjdGlvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIGlzRm9udFNpemVBY3RpdmUoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yQmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgICAgICBzd2l0Y2ggKGFuY2hvckJsb2NrPy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18xOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18yOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18zOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjA7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ180OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ181OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTY7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ182OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMucGFyYWdyYXBoOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9udFNpemVNYXJrID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihzaXplKSA9PT0gZm9udFNpemVNYXJrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBpc0Rpc2FibGVkKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlR3JvdXAgPSBIRUFESU5HX1RZUEVTO1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yQmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm4gYW5jaG9yQmxvY2sgJiYgZGlzYWJsZUdyb3VwLmluY2x1ZGVzKGFuY2hvckJsb2NrPy50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
|
package/esm2015/plugins/index.js
CHANGED
|
@@ -46,6 +46,8 @@ import * as TheTransforms from '../transforms';
|
|
|
46
46
|
import { withQuickInsert } from './quick-insert/quick-insert.plugint';
|
|
47
47
|
import { withSoftBreak } from './soft-break/soft-break.plugin';
|
|
48
48
|
import { FontSizeOptions } from './font-size/options';
|
|
49
|
+
import { InlineCodeOptions } from './inline-code/options';
|
|
50
|
+
import { withInlineCode } from './inline-code/inline-code.plugin';
|
|
49
51
|
const internalPlugins = [
|
|
50
52
|
withTheHistory,
|
|
51
53
|
withAutoInsertData(),
|
|
@@ -85,7 +87,8 @@ const internalPlugins = [
|
|
|
85
87
|
withImage,
|
|
86
88
|
withDeserializeHMTL,
|
|
87
89
|
withDeserializeMd(),
|
|
88
|
-
withQuickInsert
|
|
90
|
+
withQuickInsert,
|
|
91
|
+
withInlineCode
|
|
89
92
|
];
|
|
90
93
|
const internalToolbarItems = [
|
|
91
94
|
...AlignOptions,
|
|
@@ -102,7 +105,8 @@ const internalToolbarItems = [
|
|
|
102
105
|
...LinkOptions,
|
|
103
106
|
...TableOptions,
|
|
104
107
|
...VerticalAlignOptions,
|
|
105
|
-
...PaintFormatOptions
|
|
108
|
+
...PaintFormatOptions,
|
|
109
|
+
...InlineCodeOptions
|
|
106
110
|
];
|
|
107
111
|
export const toolbarCompose = (toolbarItems = []) => {
|
|
108
112
|
return [...internalToolbarItems, ...toolbarItems];
|
|
@@ -119,4 +123,4 @@ export const withTheEditor = (plugins, editor) => {
|
|
|
119
123
|
pluginList.reduce((prevEditor, nextEditor) => nextEditor(prevEditor), e);
|
|
120
124
|
return e;
|
|
121
125
|
};
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFj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QVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVHlwZXMgZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yLCBUaGVQbHVnaW4sIFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEVMRU1FTlRfVU5JUVVFX0lELCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdFJ1bGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzJztcbmltcG9ydCB7IHdpdGhUaGVIaXN0b3J5IH0gZnJvbSAnLi9jb21tb24vaGlzdG9yeS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aERlc2VyaWFsaXplTWQgfSBmcm9tICcuL2Rlc2VyaWFsaXplcnMvZGVzZXJpYWxpemUtbWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvSW5zZXJ0RGF0YSB9IGZyb20gJy4vY29tbW9uL2F1dG8taW5zZXJ0LWRhdGEuJztcbmltcG9ydCB7IHdpdGhSZW1vdmVFbXB0eSB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS1lbXB0eS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFJlc2V0VHlwZSB9IGZyb20gJy4vY29tbW9uL3Jlc2V0LXR5cGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbWFnZSB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbmRlbnQgfSBmcm9tICcuL2luZGVudC9pbmRlbnQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhMaXN0IH0gZnJvbSAnLi9saXN0L2xpc3QucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUb2RvSXRlbSB9IGZyb20gJy4vdG9kby1pdGVtL3RvZG8taXRlbS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEhyIH0gZnJvbSAnLi9oci9oci5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEFsaWduIH0gZnJvbSAnLi9hbGlnbi9hbGlnbi5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEhlYWRpbmcgfSBmcm9tICcuL2hlYWRpbmcvaGVhZGluZy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE1hcmsgfSBmcm9tICcuL21hcmsvbWFyay5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE5vZGVJRCB9IGZyb20gJy4vbm9kZS1pZC9ub2RlLWlkLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQXV0b0Zvcm1hdCB9IGZyb20gJy4vYXV0b2Zvcm1hdC9hdXRvZm9ybWF0LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVHJhbnNmb3JtcyB9IGZyb20gJy4vY29tbW9uL3RyYW5zZm9ybXMucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFpbGluZ05vZGUgfSBmcm9tICcuL25vcm1hbGl6ZXJzL3RyYWlsaW5nLW5vZGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhCbG9ja0NhcmQgfSBmcm9tICcuL2NvbW1vbi9ibG9jay1jYXJkLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTW92ZVNlbGVjdGlvbiB9IGZyb20gJy4vY29tbW9uL21vdmUtc2VsZWN0aW9uLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoR2V0RnJhZ21lbnQgfSBmcm9tICcuL2NvbW1vbi9nZXQtZnJhZ21lbnQucGx1Z2luJztcbmltcG9ydCB7IFRvZG9JdGVtT3B0aW9ucyB9IGZyb20gJy4vdG9kby1pdGVtL29wdGlvbnMnO1xuaW1wb3J0IHsgTWFya09wdGlvbnMgfSBmcm9tICcuL21hcmsvb3B0aW9ucyc7XG5pbXBvcnQgeyBMaXN0T3B0aW9ucyB9IGZyb20gJy4vbGlzdC9vcHRpb25zJztcbmltcG9ydCB7IEltYWdlT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2Uvb3B0aW9ucyc7XG5pbXBvcnQgeyBIck9wdGlvbnMgfSBmcm9tICcuL2hyL29wdGlvbnMnO1xuaW1wb3J0IHsgSGVhZGluZ09wdGlvbnMgfSBmcm9tICcuL2hlYWRpbmcvb3B0aW9ucyc7XG5pbXBvcnQgeyBCbG9ja3F1b3RlT3B0aW9ucyB9IGZyb20gJy4vYmxvY2txdW90ZS9vcHRpb25zJztcbmltcG9ydCB7IEFsaWduT3B0aW9ucyB9IGZyb20gJy4vYWxpZ24vb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoQmxvY2txdW90ZSB9IGZyb20gJy4vYmxvY2txdW90ZS9ibG9ja3F1b3RlLnBsdWdpbic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBDb2xvck9wdGlvbnMgfSBmcm9tICcuL2NvbG9yL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aFJlbW92ZVZvaWQgfSBmcm9tICcuL2NvbW1vbi9yZW1vdmUtdm9pZC5wbHVnaW4nO1xuaW1wb3J0IHsgQ29kZU9wdGlvbnMgfSBmcm9tICcuL2NvZGUvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoQ29kZSB9IGZyb20gJy4vY29kZS9jb2RlLnBsdWdpbic7XG5pbXBvcnQgeyBMaW5rT3B0aW9ucyB9IGZyb20gJy4vbGluay9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhMaW5rIH0gZnJvbSAnLi9saW5rL2xpbmsucGx1Z2luJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4vdGFibGUvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoVGFibGUgfSBmcm9tICcuL3RhYmxlL3RhYmxlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXMgfSBmcm9tICcuL25vcm1hbGl6ZXJzL2luc2VydC1wYXJhZ3JhcGgtbm9kZXMnO1xuaW1wb3J0IHsgd2l0aERlc2VyaWFsaXplSE1UTCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1odG1sLnBsdWdpbic7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWduT3B0aW9ucyB9IGZyb20gJy4vdmVydGljYWwtYWxpZ24vb3B0aW9ucyc7XG5pbXBvcnQgeyBQYWludEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuL3BhaW50LWZvcm1hdC9vcHRpb25zJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyB3aXRoUXVpY2tJbnNlcnQgfSBmcm9tICcuL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQucGx1Z2ludCc7XG5pbXBvcnQgeyB3aXRoU29mdEJyZWFrIH0gZnJvbSAnLi9zb2Z0LWJyZWFrL3NvZnQtYnJlYWsucGx1Z2luJztcbmltcG9ydCB7IEZvbnRTaXplT3B0aW9ucyB9IGZyb20gJy4vZm9udC1zaXplL29wdGlvbnMnO1xuXG5jb25zdCBpbnRlcm5hbFBsdWdpbnM6ICgoZWRpdG9yOiBFZGl0b3IpID0+IEVkaXRvcilbXSA9IFtcbiAgICB3aXRoVGhlSGlzdG9yeSxcbiAgICB3aXRoQXV0b0luc2VydERhdGEoKSxcbiAgICB3aXRoUmVtb3ZlRW1wdHksXG4gICAgd2l0aFJlbW92ZVZvaWQsXG4gICAgd2l0aEJsb2NrQ2FyZCwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN044CBcmVzZXR0eXBl44CBdG9kb+OAgWRlc2VyaWFsaXplLWh0bWxcbiAgICB3aXRoUmVzZXRUeXBlLFxuICAgIHdpdGhJbmRlbnQoW0VsZW1lbnRLaW5kcy5jaGVja0l0ZW0sIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIC4uLkhFQURJTkdfVFlQRVNdKSwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN0XG4gICAgd2l0aExpc3QoeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZV0gfSksXG4gICAgd2l0aExpbmssXG4gICAgd2l0aFRhYmxlLFxuICAgIHdpdGhUb2RvSXRlbSxcbiAgICB3aXRoSHIsXG4gICAgd2l0aEFsaWduLFxuICAgIHdpdGhDb2RlLFxuICAgIHdpdGhIZWFkaW5nLFxuICAgIHdpdGhNYXJrKCksXG4gICAgd2l0aFNvZnRCcmVhayh7XG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICB7IGhvdGtleTogJ3NoaWZ0K2VudGVyJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhvdGtleTogJ2VudGVyJyxcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICBhbGxvdzogW0VsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pLFxuICAgIHdpdGhCbG9ja3F1b3RlLFxuICAgIHdpdGhOb2RlSUQoeyBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsIGlkQ3JlYXRvciB9KSxcbiAgICB3aXRoQXV0b0Zvcm1hdCh7IHJ1bGVzOiBhdXRvRm9ybWF0UnVsZXMgfSksXG4gICAgd2l0aFRyYW5zZm9ybXMoKSxcbiAgICB3aXRoVHJhaWxpbmdOb2RlKHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgbGV2ZWw6IDAgfSksXG4gICAgd2l0aE1vdmVTZWxlY3Rpb24sXG4gICAgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzKCksXG4gICAgd2l0aEdldEZyYWdtZW50KCksXG4gICAgd2l0aEltYWdlLCAvLyAgbXVzdCBiZSBiZWZvcmUgd2l0aERlc2VyaWFsaXplSE1UTFxuICAgIHdpdGhEZXNlcmlhbGl6ZUhNVEwsXG4gICAgd2l0aERlc2VyaWFsaXplTWQoKSxcbiAgICB3aXRoUXVpY2tJbnNlcnRcbl07XG5cbmNvbnN0IGludGVybmFsVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW1xuICAgIC4uLkFsaWduT3B0aW9ucyxcbiAgICAuLi5NYXJrT3B0aW9ucyxcbiAgICAuLi5Db2xvck9wdGlvbnMsXG4gICAgLi4uSGVhZGluZ09wdGlvbnMsXG4gICAgLi4uRm9udFNpemVPcHRpb25zLFxuICAgIC4uLlRvZG9JdGVtT3B0aW9ucyxcbiAgICAuLi5MaXN0T3B0aW9ucyxcbiAgICAuLi5JbWFnZU9wdGlvbnMsXG4gICAgLi4uSHJPcHRpb25zLFxuICAgIC4uLkJsb2NrcXVvdGVPcHRpb25zLFxuICAgIC4uLkNvZGVPcHRpb25zLFxuICAgIC4uLkxpbmtPcHRpb25zLFxuICAgIC4uLlRhYmxlT3B0aW9ucyxcbiAgICAuLi5WZXJ0aWNhbEFsaWduT3B0aW9ucyxcbiAgICAuLi5QYWludEZvcm1hdE9wdGlvbnNcbl07XG5cbmV4cG9ydCBjb25zdCB0b29sYmFyQ29tcG9zZSA9ICh0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXSkgPT4ge1xuICAgIHJldHVybiBbLi4uaW50ZXJuYWxUb29sYmFySXRlbXMsIC4uLnRvb2xiYXJJdGVtc107XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aFRoZUVkaXRvciA9IDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciAmIEhpc3RvcnlFZGl0b3I+KHBsdWdpbnM6IFRoZVBsdWdpbltdLCBlZGl0b3I6IFQpID0+IHtcbiAgICBjb25zdCBlID0gZWRpdG9yIGFzIFQgJiBUaGVFZGl0b3I7XG5cbiAgICBlLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCk6IFZpZXdUeXBlID0+IG51bGw7XG4gICAgZS5yZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUuaW5zZXJ0RWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnROZXh0KGUsIGVsZW1lbnQpO1xuICAgIGUuaXNDb250YWluZXIgPSAodmFsdWU6IEVsZW1lbnQpID0+IGZhbHNlO1xuICAgIGUuZXh0cmFFbGVtZW50T3B0aW9ucyA9IFtdO1xuICAgIGUuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBsdWdpbkxpc3QgPSBbLi4uaW50ZXJuYWxQbHVnaW5zLCAuLi5wbHVnaW5zXTtcblxuICAgIHBsdWdpbkxpc3QucmVkdWNlKChwcmV2RWRpdG9yLCBuZXh0RWRpdG9yKSA9PiBuZXh0RWRpdG9yKHByZXZFZGl0b3IpLCBlKTtcblxuICAgIHJldHVybiBlO1xufTtcbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFj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QU0sYUFBYSxHQUFHLENBQTBDLE9BQW9CLEVBQUUsTUFBUyxFQUFFLEVBQUU7SUFDdEcsTUFBTSxDQUFDLEdBQUcsTUFBdUIsQ0FBQztJQUVsQyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFVLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVuQixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFFcEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6RSxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVGV4dCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIFZpZXdUeXBlIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgKiBhcyBUeXBlcyBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IsIFRoZVBsdWdpbiwgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcywgRUxFTUVOVF9VTklRVUVfSUQsIEhFQURJTkdfVFlQRVMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgaWRDcmVhdG9yIH0gZnJvbSAnLi4vdXRpbHMvaWQtY3JlYXRvcic7XG5pbXBvcnQgeyBhdXRvRm9ybWF0UnVsZXMgfSBmcm9tICcuLi9jb25zdGFudHMvYXV0by1mb3JtYXQtcnVsZXMnO1xuaW1wb3J0IHsgd2l0aFRoZUhpc3RvcnkgfSBmcm9tICcuL2NvbW1vbi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVNZCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1tZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9JbnNlcnREYXRhIH0gZnJvbSAnLi9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4nO1xuaW1wb3J0IHsgd2l0aFJlbW92ZUVtcHR5IH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLWVtcHR5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoUmVzZXRUeXBlIH0gZnJvbSAnLi9jb21tb24vcmVzZXQtdHlwZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEltYWdlIH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEluZGVudCB9IGZyb20gJy4vaW5kZW50L2luZGVudC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aExpc3QgfSBmcm9tICcuL2xpc3QvbGlzdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRvZG9JdGVtIH0gZnJvbSAnLi90b2RvLWl0ZW0vdG9kby1pdGVtLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSHIgfSBmcm9tICcuL2hyL2hyLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQWxpZ24gfSBmcm9tICcuL2FsaWduL2FsaWduLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSGVhZGluZyB9IGZyb20gJy4vaGVhZGluZy9oZWFkaW5nLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTWFyayB9IGZyb20gJy4vbWFyay9tYXJrLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTm9kZUlEIH0gZnJvbSAnLi9ub2RlLWlkL25vZGUtaWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvRm9ybWF0IH0gZnJvbSAnLi9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFuc2Zvcm1zIH0gZnJvbSAnLi9jb21tb24vdHJhbnNmb3Jtcy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYWlsaW5nTm9kZSB9IGZyb20gJy4vbm9ybWFsaXplcnMvdHJhaWxpbmctbm9kZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEJsb2NrQ2FyZCB9IGZyb20gJy4vY29tbW9uL2Jsb2NrLWNhcmQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNb3ZlU2VsZWN0aW9uIH0gZnJvbSAnLi9jb21tb24vbW92ZS1zZWxlY3Rpb24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhHZXRGcmFnbWVudCB9IGZyb20gJy4vY29tbW9uL2dldC1mcmFnbWVudC5wbHVnaW4nO1xuaW1wb3J0IHsgVG9kb0l0ZW1PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0vb3B0aW9ucyc7XG5pbXBvcnQgeyBNYXJrT3B0aW9ucyB9IGZyb20gJy4vbWFyay9vcHRpb25zJztcbmltcG9ydCB7IExpc3RPcHRpb25zIH0gZnJvbSAnLi9saXN0L29wdGlvbnMnO1xuaW1wb3J0IHsgSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS9vcHRpb25zJztcbmltcG9ydCB7IEhyT3B0aW9ucyB9IGZyb20gJy4vaHIvb3B0aW9ucyc7XG5pbXBvcnQgeyBIZWFkaW5nT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy9vcHRpb25zJztcbmltcG9ydCB7IEJsb2NrcXVvdGVPcHRpb25zIH0gZnJvbSAnLi9ibG9ja3F1b3RlL29wdGlvbnMnO1xuaW1wb3J0IHsgQWxpZ25PcHRpb25zIH0gZnJvbSAnLi9hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhCbG9ja3F1b3RlIH0gZnJvbSAnLi9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUucGx1Z2luJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IENvbG9yT3B0aW9ucyB9IGZyb20gJy4vY29sb3Ivb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlVm9pZCB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS12b2lkLnBsdWdpbic7XG5pbXBvcnQgeyBDb2RlT3B0aW9ucyB9IGZyb20gJy4vY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhDb2RlIH0gZnJvbSAnLi9jb2RlL2NvZGUucGx1Z2luJztcbmltcG9ydCB7IExpbmtPcHRpb25zIH0gZnJvbSAnLi9saW5rL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aExpbmsgfSBmcm9tICcuL2xpbmsvbGluay5wbHVnaW4nO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhUYWJsZSB9IGZyb20gJy4vdGFibGUvdGFibGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcyB9IGZyb20gJy4vbm9ybWFsaXplcnMvaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcyc7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVITVRMIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLWh0bWwucGx1Z2luJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25PcHRpb25zIH0gZnJvbSAnLi92ZXJ0aWNhbC1hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IFBhaW50Rm9ybWF0T3B0aW9ucyB9IGZyb20gJy4vcGFpbnQtZm9ybWF0L29wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHdpdGhRdWlja0luc2VydCB9IGZyb20gJy4vcXVpY2staW5zZXJ0L3F1aWNrLWluc2VydC5wbHVnaW50JztcbmltcG9ydCB7IHdpdGhTb2Z0QnJlYWsgfSBmcm9tICcuL3NvZnQtYnJlYWsvc29mdC1icmVhay5wbHVnaW4nO1xuaW1wb3J0IHsgRm9udFNpemVPcHRpb25zIH0gZnJvbSAnLi9mb250LXNpemUvb3B0aW9ucyc7XG5pbXBvcnQgeyBJbmxpbmVDb2RlT3B0aW9ucyB9IGZyb20gJy4vaW5saW5lLWNvZGUvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoSW5saW5lQ29kZSB9IGZyb20gJy4vaW5saW5lLWNvZGUvaW5saW5lLWNvZGUucGx1Z2luJztcblxuY29uc3QgaW50ZXJuYWxQbHVnaW5zOiAoKGVkaXRvcjogRWRpdG9yKSA9PiBFZGl0b3IpW10gPSBbXG4gICAgd2l0aFRoZUhpc3RvcnksXG4gICAgd2l0aEF1dG9JbnNlcnREYXRhKCksXG4gICAgd2l0aFJlbW92ZUVtcHR5LFxuICAgIHdpdGhSZW1vdmVWb2lkLFxuICAgIHdpdGhCbG9ja0NhcmQsIC8vIHNob3VsZCBpbiB0aGUgZnJvbnQgb2YgbGlzdOOAgXJlc2V0dHlwZeOAgXRvZG/jgIFkZXNlcmlhbGl6ZS1odG1sXG4gICAgd2l0aFJlc2V0VHlwZSxcbiAgICB3aXRoSW5kZW50KFtFbGVtZW50S2luZHMuY2hlY2tJdGVtLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0LCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMucGFyYWdyYXBoLCAuLi5IRUFESU5HX1RZUEVTXSksIC8vIHNob3VsZCBpbiB0aGUgZnJvbnQgb2YgbGlzdFxuICAgIHdpdGhMaXN0KHsgdmFsaWRMaUNoaWxkcmVuVHlwZXM6IFtFbGVtZW50S2luZHMuaW1hZ2VdIH0pLFxuICAgIHdpdGhMaW5rLFxuICAgIHdpdGhUYWJsZSxcbiAgICB3aXRoVG9kb0l0ZW0sXG4gICAgd2l0aEhyLFxuICAgIHdpdGhBbGlnbixcbiAgICB3aXRoQ29kZSxcbiAgICB3aXRoSGVhZGluZyxcbiAgICB3aXRoTWFyaygpLFxuICAgIHdpdGhTb2Z0QnJlYWsoe1xuICAgICAgICBydWxlczogW1xuICAgICAgICAgICAgeyBob3RrZXk6ICdzaGlmdCtlbnRlcicgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBob3RrZXk6ICdlbnRlcicsXG4gICAgICAgICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3c6IFtFbGVtZW50S2luZHMuYmxvY2txdW90ZV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9KSxcbiAgICB3aXRoQmxvY2txdW90ZSxcbiAgICB3aXRoTm9kZUlEKHsgaWRLZXk6IEVMRU1FTlRfVU5JUVVFX0lELCBpZENyZWF0b3IgfSksXG4gICAgd2l0aEF1dG9Gb3JtYXQoeyBydWxlczogYXV0b0Zvcm1hdFJ1bGVzIH0pLFxuICAgIHdpdGhUcmFuc2Zvcm1zKCksXG4gICAgd2l0aFRyYWlsaW5nTm9kZSh7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGxldmVsOiAwIH0pLFxuICAgIHdpdGhNb3ZlU2VsZWN0aW9uLFxuICAgIHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcygpLFxuICAgIHdpdGhHZXRGcmFnbWVudCgpLFxuICAgIHdpdGhJbWFnZSwgLy8gIG11c3QgYmUgYmVmb3JlIHdpdGhEZXNlcmlhbGl6ZUhNVExcbiAgICB3aXRoRGVzZXJpYWxpemVITVRMLFxuICAgIHdpdGhEZXNlcmlhbGl6ZU1kKCksXG4gICAgd2l0aFF1aWNrSW5zZXJ0LFxuICAgIHdpdGhJbmxpbmVDb2RlXG5dO1xuXG5jb25zdCBpbnRlcm5hbFRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSA9IFtcbiAgICAuLi5BbGlnbk9wdGlvbnMsXG4gICAgLi4uTWFya09wdGlvbnMsXG4gICAgLi4uQ29sb3JPcHRpb25zLFxuICAgIC4uLkhlYWRpbmdPcHRpb25zLFxuICAgIC4uLkZvbnRTaXplT3B0aW9ucyxcbiAgICAuLi5Ub2RvSXRlbU9wdGlvbnMsXG4gICAgLi4uTGlzdE9wdGlvbnMsXG4gICAgLi4uSW1hZ2VPcHRpb25zLFxuICAgIC4uLkhyT3B0aW9ucyxcbiAgICAuLi5CbG9ja3F1b3RlT3B0aW9ucyxcbiAgICAuLi5Db2RlT3B0aW9ucyxcbiAgICAuLi5MaW5rT3B0aW9ucyxcbiAgICAuLi5UYWJsZU9wdGlvbnMsXG4gICAgLi4uVmVydGljYWxBbGlnbk9wdGlvbnMsXG4gICAgLi4uUGFpbnRGb3JtYXRPcHRpb25zLFxuICAgIC4uLklubGluZUNvZGVPcHRpb25zXG5dO1xuXG5leHBvcnQgY29uc3QgdG9vbGJhckNvbXBvc2UgPSAodG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW10pID0+IHtcbiAgICByZXR1cm4gWy4uLmludGVybmFsVG9vbGJhckl0ZW1zLCAuLi50b29sYmFySXRlbXNdO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhUaGVFZGl0b3IgPSA8VCBleHRlbmRzIEFuZ3VsYXJFZGl0b3IgJiBIaXN0b3J5RWRpdG9yPihwbHVnaW5zOiBUaGVQbHVnaW5bXSwgZWRpdG9yOiBUKSA9PiB7XG4gICAgY29uc3QgZSA9IGVkaXRvciBhcyBUICYgVGhlRWRpdG9yO1xuXG4gICAgZS5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUucmVuZGVyTGVhZiA9ICh0ZXh0OiBUZXh0KTogVmlld1R5cGUgPT4gbnVsbDtcbiAgICBlLmluc2VydEVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4gVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50TmV4dChlLCBlbGVtZW50KTtcbiAgICBlLmlzQ29udGFpbmVyID0gKHZhbHVlOiBFbGVtZW50KSA9PiBmYWxzZTtcbiAgICBlLmV4dHJhRWxlbWVudE9wdGlvbnMgPSBbXTtcbiAgICBlLmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwbHVnaW5MaXN0ID0gWy4uLmludGVybmFsUGx1Z2lucywgLi4ucGx1Z2luc107XG5cbiAgICBwbHVnaW5MaXN0LnJlZHVjZSgocHJldkVkaXRvciwgbmV4dEVkaXRvcikgPT4gbmV4dEVkaXRvcihwcmV2RWRpdG9yKSwgZSk7XG5cbiAgICByZXR1cm4gZTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { TheBaseElementComponent } from '../../interfaces';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "slate-angular";
|
|
5
|
+
export class TheInlineCodeComponent extends TheBaseElementComponent {
|
|
6
|
+
constructor(elementRef, cdr) {
|
|
7
|
+
super(elementRef, cdr);
|
|
8
|
+
this.elementRef = elementRef;
|
|
9
|
+
this.cdr = cdr;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
super.ngOnInit();
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
super.ngOnDestroy();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
TheInlineCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheInlineCodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
TheInlineCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheInlineCodeComponent, selector: "span[theInlineCode]", usesInheritance: true, ngImport: i0, template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>', isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheInlineCodeComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: 'span[theInlineCode]',
|
|
24
|
+
template: '<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>'
|
|
25
|
+
}]
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW5saW5lLWNvZGUvaW5saW5lLWNvZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTTNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBa0Q7SUFDMUYsWUFBbUIsVUFBc0IsRUFBUyxHQUFzQjtRQUNwRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O21IQVhRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGtGQUZyQixpSEFBaUg7MkZBRWxILHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsaUhBQWlIO2lCQUM5SCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bdGhlSW5saW5lQ29kZV0nLFxuICAgIHRlbXBsYXRlOiAnPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+J1xufSlcbmV4cG9ydCBjbGFzcyBUaGVJbmxpbmVDb2RlQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8SW5saW5lQ29kZUVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Editor, Range, Transforms, Node, Element } from 'slate';
|
|
2
|
+
import { ElementKinds, ZERO_WIDTH_CHAR } from '../../constants';
|
|
3
|
+
export const InlineCodeEditor = {
|
|
4
|
+
toggleInlineCode(editor, text) {
|
|
5
|
+
const isActive = InlineCodeEditor.isInlineCodeActive(editor);
|
|
6
|
+
if (isActive) {
|
|
7
|
+
InlineCodeEditor.unwrapInlineCode(editor);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (Range.isCollapsed(editor.selection)) {
|
|
11
|
+
InlineCodeEditor.wrapInlineCode(editor, text);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const fragment = Node.fragment(editor, editor.selection)[0];
|
|
15
|
+
const selectNode = Node.get(fragment, []);
|
|
16
|
+
const selectText = Node.string(selectNode);
|
|
17
|
+
InlineCodeEditor.wrapInlineCode(editor, selectText);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
wrapInlineCode(editor, text = '') {
|
|
21
|
+
if (InlineCodeEditor.isInlineCodeActive(editor)) {
|
|
22
|
+
InlineCodeEditor.unwrapInlineCode(editor);
|
|
23
|
+
}
|
|
24
|
+
const { selection } = editor;
|
|
25
|
+
const isCollapsed = selection && Range.isCollapsed(selection);
|
|
26
|
+
const inlineCode = {
|
|
27
|
+
type: ElementKinds.inlineCode,
|
|
28
|
+
children: isCollapsed ? [{ text: text ? text : ZERO_WIDTH_CHAR }] : []
|
|
29
|
+
};
|
|
30
|
+
if (isCollapsed) {
|
|
31
|
+
Transforms.insertNodes(editor, inlineCode);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
Transforms.wrapNodes(editor, inlineCode, { split: true });
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
unwrapInlineCode(editor) {
|
|
38
|
+
Transforms.unwrapNodes(editor, { match: n => Element.isElement(n) && n.type === ElementKinds.inlineCode });
|
|
39
|
+
},
|
|
40
|
+
isInlineCodeActive(editor) {
|
|
41
|
+
const [inlineCode] = Editor.nodes(editor, { match: n => Element.isElement(n) && n.type === ElementKinds.inlineCode });
|
|
42
|
+
return !!inlineCode;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW5saW5lLWNvZGUvaW5saW5lLWNvZGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQWE7UUFDbEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxRQUFRLEVBQUU7WUFDVixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNwQyxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBc0I7WUFDbEMsSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVO1lBQzdCLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDekUsQ0FBQztRQUNGLElBQUksV0FBVyxFQUFFO1lBQ2IsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNILFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWM7UUFDM0IsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQWM7UUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RILE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUmFuZ2UsIFRyYW5zZm9ybXMsIE5vZGUsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIFpFUk9fV0lEVEhfQ0hBUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVDb2RlRWRpdG9yID0ge1xuICAgIHRvZ2dsZUlubGluZUNvZGUoZWRpdG9yLCB0ZXh0Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gSW5saW5lQ29kZUVkaXRvci5pc0lubGluZUNvZGVBY3RpdmUoZWRpdG9yKTtcbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICBJbmxpbmVDb2RlRWRpdG9yLnVud3JhcElubGluZUNvZGUoZWRpdG9yKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUmFuZ2UuaXNDb2xsYXBzZWQoZWRpdG9yLnNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIElubGluZUNvZGVFZGl0b3Iud3JhcElubGluZUNvZGUoZWRpdG9yLCB0ZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gTm9kZS5mcmFnbWVudChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pWzBdO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0Tm9kZSA9IE5vZGUuZ2V0KGZyYWdtZW50LCBbXSk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RUZXh0ID0gTm9kZS5zdHJpbmcoc2VsZWN0Tm9kZSk7XG4gICAgICAgICAgICBJbmxpbmVDb2RlRWRpdG9yLndyYXBJbmxpbmVDb2RlKGVkaXRvciwgc2VsZWN0VGV4dCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgd3JhcElubGluZUNvZGUoZWRpdG9yOiBFZGl0b3IsIHRleHQgPSAnJykge1xuICAgICAgICBpZiAoSW5saW5lQ29kZUVkaXRvci5pc0lubGluZUNvZGVBY3RpdmUoZWRpdG9yKSkge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci51bndyYXBJbmxpbmVDb2RlKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBzZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgaW5saW5lQ29kZTogSW5saW5lQ29kZUVsZW1lbnQgPSB7XG4gICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaW5saW5lQ29kZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBpc0NvbGxhcHNlZCA/IFt7IHRleHQ6IHRleHQgPyB0ZXh0IDogWkVST19XSURUSF9DSEFSIH1dIDogW11cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgaW5saW5lQ29kZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIGlubGluZUNvZGUsIHsgc3BsaXQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgdW53cmFwSW5saW5lQ29kZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzKGVkaXRvciwgeyBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlIH0pO1xuICAgIH0sXG5cbiAgICBpc0lubGluZUNvZGVBY3RpdmUoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW2lubGluZUNvZGVdID0gRWRpdG9yLm5vZGVzKGVkaXRvciwgeyBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlIH0pO1xuICAgICAgICByZXR1cm4gISFpbmxpbmVDb2RlO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { ElementKinds, ZERO_WIDTH_CHAR } from '../../constants';
|
|
3
|
+
import { TheInlineCodeComponent } from './inline-code.component';
|
|
4
|
+
import { InlineCodeEditor } from './inline-code.editor';
|
|
5
|
+
import { withRemoveEmptyNodes } from '../normalizers/remove-empty-nodes';
|
|
6
|
+
export const withInlineCode = (editor) => {
|
|
7
|
+
const { isInline, renderElement, insertText } = editor;
|
|
8
|
+
editor.isInline = (element) => {
|
|
9
|
+
return element.type === ElementKinds.inlineCode ? true : isInline(element);
|
|
10
|
+
};
|
|
11
|
+
editor.renderElement = (element) => {
|
|
12
|
+
if (element.type === ElementKinds.inlineCode) {
|
|
13
|
+
return TheInlineCodeComponent;
|
|
14
|
+
}
|
|
15
|
+
return renderElement(element);
|
|
16
|
+
};
|
|
17
|
+
editor.insertText = text => {
|
|
18
|
+
if (text && InlineCodeEditor.isInlineCodeActive(editor)) {
|
|
19
|
+
let selection = editor.selection;
|
|
20
|
+
const currentNodeText = Editor.string(editor, editor.selection.anchor.path);
|
|
21
|
+
insertText(text);
|
|
22
|
+
if (currentNodeText == ZERO_WIDTH_CHAR) {
|
|
23
|
+
const inlineCodePath = Editor.path(editor, editor.selection);
|
|
24
|
+
let range = {
|
|
25
|
+
anchor: Editor.before(editor, selection.anchor),
|
|
26
|
+
focus: selection.anchor
|
|
27
|
+
};
|
|
28
|
+
if (Editor.isStart(editor, selection.anchor, inlineCodePath)) {
|
|
29
|
+
range = {
|
|
30
|
+
anchor: editor.selection.anchor,
|
|
31
|
+
focus: Editor.after(editor, editor.selection)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
Transforms.delete(editor, {
|
|
35
|
+
at: range
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
insertText(text);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
editor = withRemoveEmptyNodes({ type: ElementKinds.inlineCode })(editor);
|
|
44
|
+
return editor;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW5saW5lLWNvZGUvaW5saW5lLWNvZGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDN0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXZELE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUEwQixFQUFFLEVBQUU7UUFDN0MsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUEwQixFQUFFLEVBQUU7UUFDbEQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDMUMsT0FBTyxzQkFBc0IsQ0FBQztTQUNqQztRQUNELE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDdkIsSUFBSSxJQUFJLElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNqQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakIsSUFBSSxlQUFlLElBQUksZUFBZSxFQUFFO2dCQUNwQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdELElBQUksS0FBSyxHQUFHO29CQUNSLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUMvQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU07aUJBQzFCLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO29CQUMxRCxLQUFLLEdBQUc7d0JBQ0osTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTTt3QkFDL0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7cUJBQ2hELENBQUM7aUJBQ0w7Z0JBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ3RCLEVBQUUsRUFBRSxLQUFLO2lCQUNaLENBQUMsQ0FBQzthQUNOO1NBQ0o7YUFBTTtZQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUMsQ0FBQztJQUVGLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIFpFUk9fV0lEVEhfQ0hBUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVJbmxpbmVDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5saW5lQ29kZUVkaXRvciB9IGZyb20gJy4vaW5saW5lLWNvZGUuZWRpdG9yJztcbmltcG9ydCB7IHdpdGhSZW1vdmVFbXB0eU5vZGVzIH0gZnJvbSAnLi4vbm9ybWFsaXplcnMvcmVtb3ZlLWVtcHR5LW5vZGVzJztcbmltcG9ydCB7IElubGluZUNvZGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhJbmxpbmVDb2RlID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBpc0lubGluZSwgcmVuZGVyRWxlbWVudCwgaW5zZXJ0VGV4dCB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmlzSW5saW5lID0gKGVsZW1lbnQ6IElubGluZUNvZGVFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlID8gdHJ1ZSA6IGlzSW5saW5lKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBJbmxpbmVDb2RlRWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMuaW5saW5lQ29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIFRoZUlubGluZUNvZGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnRUZXh0ID0gdGV4dCA9PiB7XG4gICAgICAgIGlmICh0ZXh0ICYmIElubGluZUNvZGVFZGl0b3IuaXNJbmxpbmVDb2RlQWN0aXZlKGVkaXRvcikpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSBlZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE5vZGVUZXh0ID0gRWRpdG9yLnN0cmluZyhlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZVRleHQgPT0gWkVST19XSURUSF9DSEFSKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5saW5lQ29kZVBhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIGxldCByYW5nZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9yOiBFZGl0b3IuYmVmb3JlKGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvciksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzOiBzZWxlY3Rpb24uYW5jaG9yXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoRWRpdG9yLmlzU3RhcnQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBpbmxpbmVDb2RlUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmNob3I6IGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXM6IEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICBhdDogcmFuZ2VcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZWRpdG9yID0gd2l0aFJlbW92ZUVtcHR5Tm9kZXMoeyB0eXBlOiBFbGVtZW50S2luZHMuaW5saW5lQ29kZSB9KShlZGl0b3IpO1xuICAgIHJldHVybiBlZGl0b3I7XG59O1xuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ElementKinds } from '../../constants';
|
|
2
|
+
import { CONTROL_KEY } from '../../utils';
|
|
3
|
+
import { InlineCodeEditor } from './inline-code.editor';
|
|
4
|
+
export const InlineCodeOptions = [
|
|
5
|
+
{
|
|
6
|
+
key: ElementKinds.inlineCode,
|
|
7
|
+
icon: 'code',
|
|
8
|
+
name: '行内代码',
|
|
9
|
+
shortcutKey: `${CONTROL_KEY}+E`,
|
|
10
|
+
execute: editor => InlineCodeEditor.toggleInlineCode(editor),
|
|
11
|
+
active: editor => InlineCodeEditor.isInlineCodeActive(editor)
|
|
12
|
+
}
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2lubGluZS1jb2RlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWtCO0lBQzVDO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzVCLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUk7UUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBQzVELE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztLQUNoRTtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ09OVFJPTF9LRVkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWRpdG9yIH0gZnJvbSAnLi9pbmxpbmUtY29kZS5lZGl0b3InO1xuXG5leHBvcnQgY29uc3QgSW5saW5lQ29kZU9wdGlvbnM6IFRvb2xiYXJJdGVtW10gPSBbXG4gICAge1xuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBpY29uOiAnY29kZScsXG4gICAgICAgIG5hbWU6ICfooYzlhoXku6PnoIEnLFxuICAgICAgICBzaG9ydGN1dEtleTogYCR7Q09OVFJPTF9LRVl9K0VgLFxuICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciksXG4gICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IElubGluZUNvZGVFZGl0b3IuaXNJbmxpbmVDb2RlQWN0aXZlKGVkaXRvcilcbiAgICB9XG5dO1xuIl19
|