@ember-eui/core 11.0.2 → 11.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/components/eui-markdown-editor-toolbar.d.ts +3 -2
- package/declarations/components/eui-markdown-editor-toolbar.d.ts.map +1 -1
- package/declarations/components/eui-markdown-editor.d.ts +5 -1
- package/declarations/components/eui-markdown-editor.d.ts.map +1 -1
- package/declarations/utils/markdown/markdown-actions.d.ts +1 -1
- package/declarations/utils/markdown/markdown-types.d.ts +1 -1
- package/declarations/utils/markdown/markdown-types.d.ts.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
- package/dist/components/eui-markdown-editor.js +59 -6
- package/dist/components/eui-markdown-editor.js.map +1 -1
- package/dist/utils/markdown/markdown-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
|
-
import type MarkdownActions from '../utils/markdown/markdown-actions
|
|
2
|
+
import type MarkdownActions from '../utils/markdown/markdown-actions';
|
|
3
|
+
import type { EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';
|
|
3
4
|
export interface EuiMarkdownEditorToolbarArgs {
|
|
4
5
|
viewMode?: string;
|
|
5
6
|
markdownActions: MarkdownActions;
|
|
6
7
|
uiPlugins: any[];
|
|
7
|
-
openPluginEditor?: (
|
|
8
|
+
openPluginEditor?: (plugin: EuiMarkdownEditorUiPlugin) => void;
|
|
8
9
|
onClickPreview: () => void;
|
|
9
10
|
selectedNode: any;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-toolbar.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAgB3C,OAAO,KAAK,eAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-toolbar.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAgB3C,OAAO,KAAK,eAAe,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC/D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EACJ,MAAM,GACN;QACE,SAAS,EAAE,GAAG,CAAC;KAChB,CAAC;IACN,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,iCAAkC,SAAQ,SAAS,CAAC,iCAAiC,CAAC;IACzG,kBAAkB;;;;;QAahB;IAEF,IACI,WAAW;;;;;;;;;;;;;;SAwBd;IAED,oBAAoB;;;;;QAmBlB;IAEF,IAAI,SAAS,UAEZ;IAED,IAAI,YAAY,YAEf;IAGD,mBAAmB,CAAC,UAAU,EAAE,MAAM;IAMtC,aAAa,CAAC,IAAI,EAAE,4BAA4B;CAgKjD"}
|
|
@@ -33,7 +33,7 @@ export interface EuiMarkdownEditorSignature {
|
|
|
33
33
|
default: [];
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
export declare const getCursorNode: (textareaRef:
|
|
36
|
+
export declare const getCursorNode: (textareaRef: HTMLTextAreaElement, parsed: any) => EuiMarkdownAstNode;
|
|
37
37
|
export declare const getCursorNodeModifier: import("ember-modifier").FunctionBasedModifier<{
|
|
38
38
|
Args: {
|
|
39
39
|
Positional: [any, (node: Node) => void];
|
|
@@ -42,6 +42,7 @@ export declare const getCursorNodeModifier: import("ember-modifier").FunctionBas
|
|
|
42
42
|
Element: HTMLTextAreaElement;
|
|
43
43
|
}>;
|
|
44
44
|
export default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {
|
|
45
|
+
pluginEditorPlugin?: EuiMarkdownEditorUiPlugin;
|
|
45
46
|
parsingPluginList: typeof defaultParsingPlugins;
|
|
46
47
|
height: number | string;
|
|
47
48
|
maxHeight: number | string;
|
|
@@ -77,6 +78,7 @@ export default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEdi
|
|
|
77
78
|
get editorToggleContainerHeight(): string;
|
|
78
79
|
onResize(): void;
|
|
79
80
|
updateCurrentHeight(): void;
|
|
81
|
+
getCursorNode: () => void;
|
|
80
82
|
setTextAreaRef(ref: HTMLTextAreaElement): void;
|
|
81
83
|
setEditorToolbarRef(ref: EuiMarkdownEditorToolbarSignature['Element']): void;
|
|
82
84
|
replaceNode(position: EuiMarkdownAstNodePosition, next: string): void;
|
|
@@ -91,5 +93,7 @@ export default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEdi
|
|
|
91
93
|
get vFile(): import("vfile").VFile | null;
|
|
92
94
|
onParse(): void;
|
|
93
95
|
setSelectedNode(node: Node): void;
|
|
96
|
+
openPluginEditor: (plugin: EuiMarkdownEditorUiPlugin) => void;
|
|
97
|
+
onEditorPluginSave: (markdown: any, config: any) => void;
|
|
94
98
|
}
|
|
95
99
|
//# sourceMappingURL=eui-markdown-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAe3C,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ declare class MarkdownActions {
|
|
|
23
23
|
label: string;
|
|
24
24
|
iconType: import("../../components/eui-icon.ts").IconType;
|
|
25
25
|
};
|
|
26
|
-
helpText?: import("@glimmer/component").default;
|
|
26
|
+
helpText?: import("@glimmer/component").default | string;
|
|
27
27
|
} & import("./markdown-types.ts").PluginWithDelayedFormatting<any>) | undefined;
|
|
28
28
|
/**
|
|
29
29
|
* Sets the default styling object and then superimposes the changes to make on top of
|
|
@@ -46,7 +46,7 @@ export type EuiMarkdownEditorUiPlugin<NodeShape = any> = {
|
|
|
46
46
|
label: string;
|
|
47
47
|
iconType: IconType;
|
|
48
48
|
};
|
|
49
|
-
helpText?: Component;
|
|
49
|
+
helpText?: Component | string;
|
|
50
50
|
} & (PluginWithImmediateFormatting | PluginWithDelayedFormatting<NodeShape>);
|
|
51
51
|
export interface EuiMarkdownFormatting {
|
|
52
52
|
prefix?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-types.d.ts","sourceRoot":"","sources":["../../../src/utils/markdown/markdown-types.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,MAAM,CAAC;IAEtB,cAAc,EAAE,QAAQ,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC;CACb;AACD,MAAM,WAAW,eAAe;IAC9B,CACE,IAAI,EAAE,YAAY,EAElB,GAAG,EAAE,QAAQ,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,EACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,OAAO,GAAG,IAAI,CAAC;IAElB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAEvD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,KAAK,2BAA2B,GAAG,CACjC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,UAAU,EAAE,KACnB,UAAU,CAAC;AAChB,MAAM,MAAM,mBAAmB,GAAG,CAChC,CAAC,EAAE,2BAA2B,EAC9B,IAAI,EAAE,SAAS,KACZ,UAAU,CAAC;AAEhB,MAAM,WAAW,oCAAoC,CAAC,SAAS;IAC7D,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,KAAK,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,+BAA+B,MACvC,6BAA6B,GAAG,2BAA2B,CAAC,GAAG,CAAC,KAClE,CAAC,IAAI,6BAEP,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC;CACX;AAED,MAAM,MAAM,yBAAyB,CAAC,SAAS,GAAG,GAAG,IAAI;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-types.d.ts","sourceRoot":"","sources":["../../../src/utils/markdown/markdown-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\nimport { MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.gts';\nimport EuiToolTip from './eui-tool-tip.gts';\nimport type MarkdownActions from '../utils/markdown/markdown-actions.ts';\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (actionResult: ReturnType<MarkdownActions['do']>) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\nexport interface EuiMarkdownEditorToolbarItem {\n id: string;\n label: string;\n name: string;\n iconType: string | {\n component: any;\n };\n useSvg?: boolean;\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarSignature> {\n boldItalicsButtons = [\n {\n id: 'mdBold',\n label: 'Bold',\n name: 'bold',\n iconType: 'editorBold'\n },\n {\n id: 'mdItalic',\n label: 'Italic',\n name: 'italic',\n iconType: 'editorItalic'\n }\n ];\n @cached\n get listButtons() {\n return [\n {\n id: 'mdUl',\n label: 'Unordered list',\n name: 'ul',\n iconType: 'editorUnorderedList'\n },\n {\n id: 'mdOl',\n label: 'Ordered list',\n name: 'ol',\n iconType: 'editorOrderedList'\n },\n {\n id: 'mdTl',\n label: 'Task list',\n name: 'tl',\n useSvg: true,\n iconType: {\n component: MarkdownCheckmark\n }\n }\n ];\n }\n quoteCodeLinkButtons = [\n {\n id: 'mdQuote',\n label: 'Quote',\n name: 'quote',\n iconType: 'quote'\n },\n {\n id: 'mdCode',\n label: 'Code',\n name: 'code',\n iconType: 'editorCodeBlock'\n },\n {\n id: 'mdLink',\n label: 'Link',\n name: 'link',\n iconType: 'editorLink'\n }\n ];\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n @action\n handleMdButtonClick(mdButtonId1: string) {\n const actionResult1 = this.args.markdownActions.do(mdButtonId1);\n if (actionResult1 !== true) this.args.openPluginEditor?.(actionResult1);\n }\n itemComponent(item1: EuiMarkdownEditorToolbarItem) {\n if (typeof item1.iconType === 'string') return item1.iconType;\n return item1.iconType.component;\n }\n static{\n template(`\n <div class=\"euiMarkdownEditorToolbar\" ...attributes>\n <div class=\"euiMarkdownEditorToolbar__buttons\">\n {{#each this.boldItalicsButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.listButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{this.itemComponent item}}\n {{!@glint-expect-error}}\n @useComponent={{if item.iconType.component true}}\n aria-label={{item.label}}\n @useSvg={{item.useSvg}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.quoteCodeLinkButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n {{#if (gte this.uiPlugins.length 0)}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.uiPlugins as |plugin|}}\n {{#let\n (and @selectedNode (eq @selectedNode.type plugin.name))\n as |isSelectedNodeType|\n }}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{style\n (if\n isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\")\n )\n }}\n {{on \"click\" (fn this.handleMdButtonClick plugin.name)}}\n @iconType={{plugin.button.iconType}}\n aria-label={{plugin.button.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty\n @iconType=\"editorCodeBlock\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Editor\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty\n @iconType=\"eye\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Preview\n </EuiButtonEmpty>\n {{/if}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbmltcG9ydCB7IGFuZCwgZXEsIGd0ZSwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcblxuaW1wb3J0IHsgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkVtcHR5IGZyb20gJy4vZXVpLWJ1dHRvbi1lbXB0eS5ndHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkljb24gZnJvbSAnLi9ldWktYnV0dG9uLWljb24uZ3RzJztcbmltcG9ydCBNYXJrZG93bkNoZWNrbWFyayBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci9pY29ucy9tYXJrZG93bi1jaGVja21hcmsuZ3RzJztcbmltcG9ydCBFdWlUb29sVGlwIGZyb20gJy4vZXVpLXRvb2wtdGlwLmd0cyc7XG5cbmltcG9ydCB0eXBlIE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJBcmdzIHtcbiAgdmlld01vZGU_OiBzdHJpbmc7XG4gIG1hcmtkb3duQWN0aW9uczogTWFya2Rvd25BY3Rpb25zO1xuICB1aVBsdWdpbnM6IGFueVtdO1xuICBvcGVuUGx1Z2luRWRpdG9yPzogKGFjdGlvblJlc3VsdDogUmV0dXJuVHlwZTxNYXJrZG93bkFjdGlvbnNbJ2RvJ10-KSA9PiB2b2lkO1xuICBvbkNsaWNrUHJldmlldzogKCkgPT4gdm9pZDtcbiAgc2VsZWN0ZWROb2RlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGljb25UeXBlOlxuICAgIHwgc3RyaW5nXG4gICAgfCB7XG4gICAgICAgIGNvbXBvbmVudDogYW55O1xuICAgICAgfTtcbiAgdXNlU3ZnPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclNpZ25hdHVyZT4ge1xuICBib2xkSXRhbGljc0J1dHRvbnMgPSBbXG4gICAge1xuICAgICAgaWQ6ICdtZEJvbGQnLFxuICAgICAgbGFiZWw6ICdCb2xkJyxcbiAgICAgIG5hbWU6ICdib2xkJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9yQm9sZCdcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnbWRJdGFsaWMnLFxuICAgICAgbGFiZWw6ICdJdGFsaWMnLFxuICAgICAgbmFtZTogJ2l0YWxpYycsXG4gICAgICBpY29uVHlwZTogJ2VkaXRvckl0YWxpYydcbiAgICB9XG4gIF07XG5cbiAgQGNhY2hlZFxuICBnZXQgbGlzdEJ1dHRvbnMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtZFVsJyxcbiAgICAgICAgbGFiZWw6ICdVbm9yZGVyZWQgbGlzdCcsXG4gICAgICAgIG5hbWU6ICd1bCcsXG4gICAgICAgIGljb25UeXBlOiAnZWRpdG9yVW5vcmRlcmVkTGlzdCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWRPbCcsXG4gICAgICAgIGxhYmVsOiAnT3JkZXJlZCBsaXN0JyxcbiAgICAgICAgbmFtZTogJ29sJyxcbiAgICAgICAgaWNvblR5cGU6ICdlZGl0b3JPcmRlcmVkTGlzdCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWRUbCcsXG4gICAgICAgIGxhYmVsOiAnVGFzayBsaXN0JyxcbiAgICAgICAgbmFtZTogJ3RsJyxcbiAgICAgICAgdXNlU3ZnOiB0cnVlLFxuICAgICAgICBpY29uVHlwZToge1xuICAgICAgICAgIGNvbXBvbmVudDogTWFya2Rvd25DaGVja21hcmtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBxdW90ZUNvZGVMaW5rQnV0dG9ucyA9IFtcbiAgICB7XG4gICAgICBpZDogJ21kUXVvdGUnLFxuICAgICAgbGFiZWw6ICdRdW90ZScsXG4gICAgICBuYW1lOiAncXVvdGUnLFxuICAgICAgaWNvblR5cGU6ICdxdW90ZSdcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnbWRDb2RlJyxcbiAgICAgIGxhYmVsOiAnQ29kZScsXG4gICAgICBuYW1lOiAnY29kZScsXG4gICAgICBpY29uVHlwZTogJ2VkaXRvckNvZGVCbG9jaydcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnbWRMaW5rJyxcbiAgICAgIGxhYmVsOiAnTGluaycsXG4gICAgICBuYW1lOiAnbGluaycsXG4gICAgICBpY29uVHlwZTogJ2VkaXRvckxpbmsnXG4gICAgfVxuICBdO1xuXG4gIGdldCB1aVBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy51aVBsdWdpbnMgfHwgW107XG4gIH1cblxuICBnZXQgaXNQcmV2aWV3aW5nKCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3Mudmlld01vZGUgPT09IE1PREVfVklFV0lORztcbiAgfVxuXG4gIEBhY3Rpb25cbiAgaGFuZGxlTWRCdXR0b25DbGljayhtZEJ1dHRvbklkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhY3Rpb25SZXN1bHQgPSB0aGlzLmFyZ3MubWFya2Rvd25BY3Rpb25zLmRvKG1kQnV0dG9uSWQpO1xuXG4gICAgaWYgKGFjdGlvblJlc3VsdCAhPT0gdHJ1ZSkgdGhpcy5hcmdzLm9wZW5QbHVnaW5FZGl0b3I_LihhY3Rpb25SZXN1bHQpO1xuICB9XG5cbiAgaXRlbUNvbXBvbmVudChpdGVtOiBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJJdGVtKSB7XG4gICAgaWYgKHR5cGVvZiBpdGVtLmljb25UeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIGl0ZW0uaWNvblR5cGU7XG5cbiAgICByZXR1cm4gaXRlbS5pY29uVHlwZS5jb21wb25lbnQ7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclwiIC4uLmF0dHJpYnV0ZXM-XG4gICAgICA8ZGl2IGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyX19idXR0b25zXCI-XG4gICAgICAgIHt7I2VhY2ggdGhpcy5ib2xkSXRhbGljc0J1dHRvbnMgYXMgfGl0ZW18fX1cbiAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e2l0ZW0ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICA8RXVpQnV0dG9uSWNvblxuICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRoaXMuaGFuZGxlTWRCdXR0b25DbGljayBpdGVtLmlkKX19XG4gICAgICAgICAgICAgIEBpY29uVHlwZT17e2l0ZW0uaWNvblR5cGV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyX19kaXZpZGVyXCI-PC9zcGFuPlxuICAgICAgICB7eyNlYWNoIHRoaXMubGlzdEJ1dHRvbnMgYXMgfGl0ZW18fX1cbiAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e2l0ZW0ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICA8RXVpQnV0dG9uSWNvblxuICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRoaXMuaGFuZGxlTWRCdXR0b25DbGljayBpdGVtLmlkKX19XG4gICAgICAgICAgICAgIEBpY29uVHlwZT17e3RoaXMuaXRlbUNvbXBvbmVudCBpdGVtfX1cbiAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgIEB1c2VDb21wb25lbnQ9e3tpZiBpdGVtLmljb25UeXBlLmNvbXBvbmVudCB0cnVlfX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgICBAdXNlU3ZnPXt7aXRlbS51c2VTdmd9fVxuICAgICAgICAgICAgICBAaXNEaXNhYmxlZD17e3RoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgICAgIC8-XG4gICAgICAgICAgPC9FdWlUb29sVGlwPlxuXG4gICAgICAgIHt7L2VhY2h9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAge3sjZWFjaCB0aGlzLnF1b3RlQ29kZUxpbmtCdXR0b25zIGFzIHxpdGVtfH19XG4gICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3tpdGVtLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgaXRlbS5pZCl9fVxuICAgICAgICAgICAgICBAaWNvblR5cGU9e3tpdGVtLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgICBAaXNEaXNhYmxlZD17e3RoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgICAgIC8-XG4gICAgICAgICAgPC9FdWlUb29sVGlwPlxuXG4gICAgICAgIHt7L2VhY2h9fVxuICAgICAgICB7eyNpZiAoZ3RlIHRoaXMudWlQbHVnaW5zLmxlbmd0aCAwKX19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvclRvb2xiYXJfX2RpdmlkZXJcIj48L3NwYW4-XG4gICAgICAgICAge3sjZWFjaCB0aGlzLnVpUGx1Z2lucyBhcyB8cGx1Z2lufH19XG4gICAgICAgICAgICB7eyNsZXRcbiAgICAgICAgICAgICAgKGFuZCBAc2VsZWN0ZWROb2RlIChlcSBAc2VsZWN0ZWROb2RlLnR5cGUgcGx1Z2luLm5hbWUpKVxuICAgICAgICAgICAgICBhcyB8aXNTZWxlY3RlZE5vZGVUeXBlfFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3twbHVnaW4uYnV0dG9uLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgICAgIDxFdWlCdXR0b25JY29uXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHt7c3R5bGVcbiAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZE5vZGVUeXBlIChoYXNoIGJhY2tncm91bmQ9XCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCIpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICB7e29uIFwiY2xpY2tcIiAoZm4gdGhpcy5oYW5kbGVNZEJ1dHRvbkNsaWNrIHBsdWdpbi5uYW1lKX19XG4gICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3twbHVnaW4uYnV0dG9uLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3twbHVnaW4uYnV0dG9uLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgICAgIC8-XG4gICAgICAgICAgICAgIDwvRXVpVG9vbFRpcD5cbiAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAge3svZWFjaH19XG4gICAgICAgIHt7L2lmfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7eyNpZiB0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgIDxFdWlCdXR0b25FbXB0eVxuICAgICAgICAgIEBpY29uVHlwZT1cImVkaXRvckNvZGVCbG9ja1wiXG4gICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgQHNpemU9XCJzXCJcbiAgICAgICAgICB7e29uIFwiY2xpY2tcIiBAb25DbGlja1ByZXZpZXd9fVxuICAgICAgICA-XG4gICAgICAgICAgRWRpdG9yXG4gICAgICAgIDwvRXVpQnV0dG9uRW1wdHk-XG5cbiAgICAgIHt7ZWxzZX19XG4gICAgICAgIDxFdWlCdXR0b25FbXB0eVxuICAgICAgICAgIEBpY29uVHlwZT1cImV5ZVwiXG4gICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgQHNpemU9XCJzXCJcbiAgICAgICAgICB7e29uIFwiY2xpY2tcIiBAb25DbGlja1ByZXZpZXd9fVxuICAgICAgICA-XG4gICAgICAgICAgUHJldmlld1xuICAgICAgICA8L0V1aUJ1dHRvbkVtcHR5PlxuICAgICAge3svaWZ9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFDckMsU0FBUyxFQUFFLFFBQVEsZ0JBQWdCO0FBQ25DLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUNyQyxTQUFTLE1BQU0sUUFBUSxnQkFBZ0I7QUFFdkMsT0FBTyxXQUFXLHVDQUF1QztBQUN6RCxTQUFTLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsUUFBUSxzQkFBc0I7QUFFdkQsU0FBUyxZQUFZLFFBQVEsc0NBQXNDO0FBQ25FLE9BQU8sb0JBQW9CLHlCQUF5QjtBQUNwRCxPQUFPLG1CQUFtQix3QkFBd0I7QUFDbEQsT0FBTyx1QkFBdUIsNkRBQTZEO0FBQzNGLE9BQU8sZ0JBQWdCLHFCQUFxQjtBQUU1QyxZQUFZLHFCQUFxQix3Q0FBd0M7QUFFekUsaUJBQWlCO0lBQ2YsV0FBVyxNQUFNO0lBQ2pCLGlCQUFpQjtJQUNqQixXQUFXLEdBQUc7SUFDZCxvQkFBb0IsY0FBYyxXQUFXLGdCQUFnQixXQUFXLElBQUk7SUFDNUUsc0JBQXNCLElBQUk7SUFDMUIsY0FBYyxHQUFHOztBQUduQixpQkFBaUI7SUFDZixTQUFTO0lBQ1QsTUFBTTtJQUNOO1FBQ0U7OztBQUlKLGlCQUFpQjtJQUNmLElBQUksTUFBTTtJQUNWLE9BQU8sTUFBTTtJQUNiLE1BQU0sTUFBTTtJQUNaLFVBQ0ksTUFBTTtRQUVKLFdBQVcsR0FBRzs7SUFFcEIsU0FBUyxPQUFPOztBQUdsQixlQUFlLE1BQU0sMENBQTBDLFVBQVU7SUFDdkUscUJBQXFCO1FBQ25CO1lBQ0UsSUFBSTtZQUNKLE9BQU87WUFDUCxNQUFNO1lBQ04sVUFBVTtRQUNaO1FBQ0E7WUFDRSxJQUFJO1lBQ0osT0FBTztZQUNQLE1BQU07WUFDTixVQUFVO1FBQ1o7S0FDRCxDQUFDO0lBRUYsQ0FBQztJQUFNLElBQ0gsY0FBYztRQUNoQixPQUFPO1lBQ0w7Z0JBQ0UsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sVUFBVTtZQUNaO1lBQ0E7Z0JBQ0UsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sVUFBVTtZQUNaO1lBQ0E7Z0JBQ0UsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sUUFBUTtnQkFDUixVQUFVO29CQUNSLFdBQVc7Z0JBQ2I7WUFDRjtTQUNEO0lBQ0g7SUFFQSx1QkFBdUI7UUFDckI7WUFDRSxJQUFJO1lBQ0osT0FBTztZQUNQLE1BQU07WUFDTixVQUFVO1FBQ1o7UUFDQTtZQUNFLElBQUk7WUFDSixPQUFPO1lBQ1AsTUFBTTtZQUNOLFVBQVU7UUFDWjtRQUNBO1lBQ0UsSUFBSTtZQUNKLE9BQU87WUFDUCxNQUFNO1lBQ04sVUFBVTtRQUNaO0tBQ0QsQ0FBQztJQUVGLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtJQUNsQztJQUVBLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLO0lBQ2hDO0lBRUEsQ0FBQztJQUNELG9CQUFvQixhQUFZLE1BQU0sRUFBRTtRQUN0QyxNQUFNLGdCQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUVsRCxJQUFJLGtCQUFpQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUc7SUFDMUQ7SUFFQSxjQUFjLE9BQU0sNEJBQTRCLEVBQUU7UUFDaEQsSUFBSSxPQUFPLE1BQUssUUFBUSxLQUFLLFVBQVUsT0FBTyxNQUFLLFFBQVE7UUFFM0QsT0FBTyxNQUFLLFFBQVEsQ0FBQyxTQUFTO0lBQ2hDO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTJGVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0EzRkE7QUE0RloifQ"],"names":["cached","macroCondition","dependencySatisfies","importSync","EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","this","prototype","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId1","actionResult1","markdownActions","do","openPluginEditor","action","itemComponent","item1","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\nimport { MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.gts';\nimport EuiToolTip from './eui-tool-tip.gts';\nimport type MarkdownActions from '../utils/markdown/markdown-actions';\nimport type { EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (plugin: EuiMarkdownEditorUiPlugin) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\nexport interface EuiMarkdownEditorToolbarItem {\n id: string;\n label: string;\n name: string;\n iconType: string | {\n component: any;\n };\n useSvg?: boolean;\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarSignature> {\n boldItalicsButtons = [\n {\n id: 'mdBold',\n label: 'Bold',\n name: 'bold',\n iconType: 'editorBold'\n },\n {\n id: 'mdItalic',\n label: 'Italic',\n name: 'italic',\n iconType: 'editorItalic'\n }\n ];\n @cached\n get listButtons() {\n return [\n {\n id: 'mdUl',\n label: 'Unordered list',\n name: 'ul',\n iconType: 'editorUnorderedList'\n },\n {\n id: 'mdOl',\n label: 'Ordered list',\n name: 'ol',\n iconType: 'editorOrderedList'\n },\n {\n id: 'mdTl',\n label: 'Task list',\n name: 'tl',\n useSvg: true,\n iconType: {\n component: MarkdownCheckmark\n }\n }\n ];\n }\n quoteCodeLinkButtons = [\n {\n id: 'mdQuote',\n label: 'Quote',\n name: 'quote',\n iconType: 'quote'\n },\n {\n id: 'mdCode',\n label: 'Code',\n name: 'code',\n iconType: 'editorCodeBlock'\n },\n {\n id: 'mdLink',\n label: 'Link',\n name: 'link',\n iconType: 'editorLink'\n }\n ];\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n @action\n handleMdButtonClick(mdButtonId1: string) {\n const actionResult1 = this.args.markdownActions.do(mdButtonId1);\n if (actionResult1 !== true) this.args.openPluginEditor?.(actionResult1!);\n }\n itemComponent(item1: EuiMarkdownEditorToolbarItem) {\n if (typeof item1.iconType === 'string') return item1.iconType;\n return item1.iconType.component;\n }\n static{\n template(`\n <div class=\"euiMarkdownEditorToolbar\" ...attributes>\n <div class=\"euiMarkdownEditorToolbar__buttons\">\n {{#each this.boldItalicsButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.listButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{this.itemComponent item}}\n {{!@glint-expect-error}}\n @useComponent={{if item.iconType.component true}}\n aria-label={{item.label}}\n @useSvg={{item.useSvg}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.quoteCodeLinkButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n {{#if (gte this.uiPlugins.length 0)}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.uiPlugins as |plugin|}}\n {{#let\n (and @selectedNode (eq @selectedNode.type plugin.name))\n as |isSelectedNodeType|\n }}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{style\n (if\n isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\")\n )\n }}\n {{on \"click\" (fn this.handleMdButtonClick plugin.name)}}\n @iconType={{plugin.button.iconType}}\n aria-label={{plugin.button.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty\n @iconType=\"editorCodeBlock\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Editor\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty\n @iconType=\"eye\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Preview\n </EuiButtonEmpty>\n {{/if}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbmltcG9ydCB7IGFuZCwgZXEsIGd0ZSwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcblxuaW1wb3J0IHsgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkVtcHR5IGZyb20gJy4vZXVpLWJ1dHRvbi1lbXB0eS5ndHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkljb24gZnJvbSAnLi9ldWktYnV0dG9uLWljb24uZ3RzJztcbmltcG9ydCBNYXJrZG93bkNoZWNrbWFyayBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci9pY29ucy9tYXJrZG93bi1jaGVja21hcmsuZ3RzJztcbmltcG9ydCBFdWlUb29sVGlwIGZyb20gJy4vZXVpLXRvb2wtdGlwLmd0cyc7XG5cbmltcG9ydCB0eXBlIE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpbiB9IGZyb20gJy4uL3V0aWxzL21hcmtkb3duL21hcmtkb3duLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJBcmdzIHtcbiAgdmlld01vZGU_OiBzdHJpbmc7XG4gIG1hcmtkb3duQWN0aW9uczogTWFya2Rvd25BY3Rpb25zO1xuICB1aVBsdWdpbnM6IGFueVtdO1xuICBvcGVuUGx1Z2luRWRpdG9yPzogKHBsdWdpbjogRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpbikgPT4gdm9pZDtcbiAgb25DbGlja1ByZXZpZXc6ICgpID0-IHZvaWQ7XG4gIHNlbGVjdGVkTm9kZTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJBcmdzO1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpY29uVHlwZTpcbiAgICB8IHN0cmluZ1xuICAgIHwge1xuICAgICAgICBjb21wb25lbnQ6IGFueTtcbiAgICAgIH07XG4gIHVzZVN2Zz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJTaWduYXR1cmU-IHtcbiAgYm9sZEl0YWxpY3NCdXR0b25zID0gW1xuICAgIHtcbiAgICAgIGlkOiAnbWRCb2xkJyxcbiAgICAgIGxhYmVsOiAnQm9sZCcsXG4gICAgICBuYW1lOiAnYm9sZCcsXG4gICAgICBpY29uVHlwZTogJ2VkaXRvckJvbGQnXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ21kSXRhbGljJyxcbiAgICAgIGxhYmVsOiAnSXRhbGljJyxcbiAgICAgIG5hbWU6ICdpdGFsaWMnLFxuICAgICAgaWNvblR5cGU6ICdlZGl0b3JJdGFsaWMnXG4gICAgfVxuICBdO1xuXG4gIEBjYWNoZWRcbiAgZ2V0IGxpc3RCdXR0b25zKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWRVbCcsXG4gICAgICAgIGxhYmVsOiAnVW5vcmRlcmVkIGxpc3QnLFxuICAgICAgICBuYW1lOiAndWwnLFxuICAgICAgICBpY29uVHlwZTogJ2VkaXRvclVub3JkZXJlZExpc3QnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21kT2wnLFxuICAgICAgICBsYWJlbDogJ09yZGVyZWQgbGlzdCcsXG4gICAgICAgIG5hbWU6ICdvbCcsXG4gICAgICAgIGljb25UeXBlOiAnZWRpdG9yT3JkZXJlZExpc3QnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21kVGwnLFxuICAgICAgICBsYWJlbDogJ1Rhc2sgbGlzdCcsXG4gICAgICAgIG5hbWU6ICd0bCcsXG4gICAgICAgIHVzZVN2ZzogdHJ1ZSxcbiAgICAgICAgaWNvblR5cGU6IHtcbiAgICAgICAgICBjb21wb25lbnQ6IE1hcmtkb3duQ2hlY2ttYXJrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcXVvdGVDb2RlTGlua0J1dHRvbnMgPSBbXG4gICAge1xuICAgICAgaWQ6ICdtZFF1b3RlJyxcbiAgICAgIGxhYmVsOiAnUXVvdGUnLFxuICAgICAgbmFtZTogJ3F1b3RlJyxcbiAgICAgIGljb25UeXBlOiAncXVvdGUnXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ21kQ29kZScsXG4gICAgICBsYWJlbDogJ0NvZGUnLFxuICAgICAgbmFtZTogJ2NvZGUnLFxuICAgICAgaWNvblR5cGU6ICdlZGl0b3JDb2RlQmxvY2snXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ21kTGluaycsXG4gICAgICBsYWJlbDogJ0xpbmsnLFxuICAgICAgbmFtZTogJ2xpbmsnLFxuICAgICAgaWNvblR5cGU6ICdlZGl0b3JMaW5rJ1xuICAgIH1cbiAgXTtcblxuICBnZXQgdWlQbHVnaW5zKCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MudWlQbHVnaW5zIHx8IFtdO1xuICB9XG5cbiAgZ2V0IGlzUHJldmlld2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5hcmdzLnZpZXdNb2RlID09PSBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAYWN0aW9uXG4gIGhhbmRsZU1kQnV0dG9uQ2xpY2sobWRCdXR0b25JZDogc3RyaW5nKSB7XG4gICAgY29uc3QgYWN0aW9uUmVzdWx0ID0gdGhpcy5hcmdzLm1hcmtkb3duQWN0aW9ucy5kbyhtZEJ1dHRvbklkKTtcblxuICAgIGlmIChhY3Rpb25SZXN1bHQgIT09IHRydWUpIHRoaXMuYXJncy5vcGVuUGx1Z2luRWRpdG9yPy4oYWN0aW9uUmVzdWx0ISk7XG4gIH1cblxuICBpdGVtQ29tcG9uZW50KGl0ZW06IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckl0ZW0pIHtcbiAgICBpZiAodHlwZW9mIGl0ZW0uaWNvblR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4gaXRlbS5pY29uVHlwZTtcblxuICAgIHJldHVybiBpdGVtLmljb25UeXBlLmNvbXBvbmVudDtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyXCIgLi4uYXR0cmlidXRlcz5cbiAgICAgIDxkaXYgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvclRvb2xiYXJfX2J1dHRvbnNcIj5cbiAgICAgICAge3sjZWFjaCB0aGlzLmJvbGRJdGFsaWNzQnV0dG9ucyBhcyB8aXRlbXx9fVxuICAgICAgICAgIDxFdWlUb29sVGlwIEBjb250ZW50PXt7aXRlbS5sYWJlbH19IEBkZWxheT1cImxvbmdcIj5cbiAgICAgICAgICAgIDxFdWlCdXR0b25JY29uXG4gICAgICAgICAgICAgIEBjb2xvcj1cInRleHRcIlxuICAgICAgICAgICAgICB7e29uIFwiY2xpY2tcIiAoZm4gdGhpcy5oYW5kbGVNZEJ1dHRvbkNsaWNrIGl0ZW0uaWQpfX1cbiAgICAgICAgICAgICAgQGljb25UeXBlPXt7aXRlbS5pY29uVHlwZX19XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3tpdGVtLmxhYmVsfX1cbiAgICAgICAgICAgICAgQGlzRGlzYWJsZWQ9e3t0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRXVpVG9vbFRpcD5cblxuICAgICAgICB7ey9lYWNofX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvclRvb2xiYXJfX2RpdmlkZXJcIj48L3NwYW4-XG4gICAgICAgIHt7I2VhY2ggdGhpcy5saXN0QnV0dG9ucyBhcyB8aXRlbXx9fVxuICAgICAgICAgIDxFdWlUb29sVGlwIEBjb250ZW50PXt7aXRlbS5sYWJlbH19IEBkZWxheT1cImxvbmdcIj5cbiAgICAgICAgICAgIDxFdWlCdXR0b25JY29uXG4gICAgICAgICAgICAgIEBjb2xvcj1cInRleHRcIlxuICAgICAgICAgICAgICB7e29uIFwiY2xpY2tcIiAoZm4gdGhpcy5oYW5kbGVNZEJ1dHRvbkNsaWNrIGl0ZW0uaWQpfX1cbiAgICAgICAgICAgICAgQGljb25UeXBlPXt7dGhpcy5pdGVtQ29tcG9uZW50IGl0ZW19fVxuICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgQHVzZUNvbXBvbmVudD17e2lmIGl0ZW0uaWNvblR5cGUuY29tcG9uZW50IHRydWV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEB1c2VTdmc9e3tpdGVtLnVzZVN2Z319XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyX19kaXZpZGVyXCI-PC9zcGFuPlxuICAgICAgICB7eyNlYWNoIHRoaXMucXVvdGVDb2RlTGlua0J1dHRvbnMgYXMgfGl0ZW18fX1cbiAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e2l0ZW0ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICA8RXVpQnV0dG9uSWNvblxuICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRoaXMuaGFuZGxlTWRCdXR0b25DbGljayBpdGVtLmlkKX19XG4gICAgICAgICAgICAgIEBpY29uVHlwZT17e2l0ZW0uaWNvblR5cGV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIHt7I2lmIChndGUgdGhpcy51aVBsdWdpbnMubGVuZ3RoIDApfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICB7eyNlYWNoIHRoaXMudWlQbHVnaW5zIGFzIHxwbHVnaW58fX1cbiAgICAgICAgICAgIHt7I2xldFxuICAgICAgICAgICAgICAoYW5kIEBzZWxlY3RlZE5vZGUgKGVxIEBzZWxlY3RlZE5vZGUudHlwZSBwbHVnaW4ubmFtZSkpXG4gICAgICAgICAgICAgIGFzIHxpc1NlbGVjdGVkTm9kZVR5cGV8XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e3BsdWdpbi5idXR0b24ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRleHRcIlxuICAgICAgICAgICAgICAgICAge3tzdHlsZVxuICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkTm9kZVR5cGUgKGhhc2ggYmFja2dyb3VuZD1cInJnYmEoMCwgMCwgMCwgMC4xNSlcIilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgcGx1Z2luLm5hbWUpfX1cbiAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e3BsdWdpbi5idXR0b24uaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e3BsdWdpbi5idXR0b24ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgQGlzRGlzYWJsZWQ9e3t0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9FdWlUb29sVGlwPlxuICAgICAgICAgICAge3svbGV0fX1cbiAgICAgICAgICB7ey9lYWNofX1cbiAgICAgICAge3svaWZ9fVxuICAgICAgPC9kaXY-XG5cbiAgICAgIHt7I2lmIHRoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZWRpdG9yQ29kZUJsb2NrXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBFZGl0b3JcbiAgICAgICAgPC9FdWlCdXR0b25FbXB0eT5cblxuICAgICAge3tlbHNlfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZXllXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBQcmV2aWV3XG4gICAgICAgIDwvRXVpQnV0dG9uRW1wdHk-XG4gICAgICB7ey9pZn19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["cached","macroCondition","dependencySatisfies","importSync","EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","this","prototype","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId1","actionResult1","markdownActions","do","openPluginEditor","action","itemComponent","item1","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import { argOrDefaultDecorator } from '../helpers/arg-or-default.js';
|
|
|
18
18
|
import classNames from '../helpers/class-names.js';
|
|
19
19
|
import ResizeObserver from '../modifiers/resize-observer.js';
|
|
20
20
|
import validatableControl from '../modifiers/validatable-control.js';
|
|
21
|
-
import MarkdownActions from '../utils/markdown/markdown-actions.js';
|
|
21
|
+
import MarkdownActions, { insertText } from '../utils/markdown/markdown-actions.js';
|
|
22
22
|
import { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.js';
|
|
23
23
|
import { defaultParsingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js';
|
|
24
24
|
import { defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/processing-plugins.js';
|
|
@@ -29,6 +29,7 @@ import EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.js';
|
|
|
29
29
|
import EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.js';
|
|
30
30
|
import EuiMarkdownEditorToolbarComponent from './eui-markdown-editor-toolbar.js';
|
|
31
31
|
import EuiMarkdownEditorToolbarComponent$1 from './eui-markdown-format.js';
|
|
32
|
+
import EuiModal from './eui-modal.js';
|
|
32
33
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
33
34
|
import { setComponentTemplate } from '@ember/component';
|
|
34
35
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
@@ -69,7 +70,26 @@ const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1
|
|
|
69
70
|
textarea1.removeEventListener('mouseup', fn1);
|
|
70
71
|
};
|
|
71
72
|
});
|
|
73
|
+
function isNewLine(char1) {
|
|
74
|
+
if (char1 == null) return true;
|
|
75
|
+
return !!char1.match(/[\r\n]/);
|
|
76
|
+
}
|
|
77
|
+
function padWithNewlinesIfNeeded(textarea1, text1) {
|
|
78
|
+
const selectionStart1 = textarea1.selectionStart;
|
|
79
|
+
const selectionEnd1 = textarea1.selectionEnd;
|
|
80
|
+
// block parsing requires two leading new lines and none trailing, but we add an extra trailing line for readability
|
|
81
|
+
const isPrevNewLine1 = isNewLine(textarea1.value[selectionStart1 - 1]);
|
|
82
|
+
const isPrevPrevNewLine1 = isNewLine(textarea1.value[selectionStart1 - 2]);
|
|
83
|
+
const isNextNewLine1 = isNewLine(textarea1.value[selectionEnd1]);
|
|
84
|
+
// pad text with newlines as needed
|
|
85
|
+
text1 = `${isPrevNewLine1 ? '' : '\n'}${isPrevPrevNewLine1 ? '' : '\n'}${text1}${isNextNewLine1 ? '' : '\n'}`;
|
|
86
|
+
return text1;
|
|
87
|
+
}
|
|
72
88
|
class EuiMarkdownEditorComponent extends Component {
|
|
89
|
+
static {
|
|
90
|
+
g(this.prototype, "pluginEditorPlugin", [tracked]);
|
|
91
|
+
}
|
|
92
|
+
#pluginEditorPlugin = (i(this, "pluginEditorPlugin"), void 0);
|
|
73
93
|
static {
|
|
74
94
|
g(this.prototype, "parsingPluginList", [argOrDefaultDecorator(defaultParsingPlugins)]);
|
|
75
95
|
}
|
|
@@ -150,9 +170,7 @@ class EuiMarkdownEditorComponent extends Component {
|
|
|
150
170
|
}
|
|
151
171
|
constructor(owner1, args1) {
|
|
152
172
|
super(owner1, args1);
|
|
153
|
-
this.markdownActions = new MarkdownActions(this.editorId,
|
|
154
|
-
// @ts-expect-error
|
|
155
|
-
this.toolbarPlugins);
|
|
173
|
+
this.markdownActions = new MarkdownActions(this.editorId, this.toolbarPlugins);
|
|
156
174
|
this.currentHeight = this.height;
|
|
157
175
|
}
|
|
158
176
|
get previewHeight() {
|
|
@@ -214,6 +232,7 @@ class EuiMarkdownEditorComponent extends Component {
|
|
|
214
232
|
static {
|
|
215
233
|
n(this.prototype, "updateCurrentHeight", [action]);
|
|
216
234
|
}
|
|
235
|
+
getCursorNode = () => {};
|
|
217
236
|
setTextAreaRef(ref1) {
|
|
218
237
|
this.textareaRef = ref1;
|
|
219
238
|
}
|
|
@@ -296,8 +315,41 @@ class EuiMarkdownEditorComponent extends Component {
|
|
|
296
315
|
static {
|
|
297
316
|
n(this.prototype, "setSelectedNode", [action]);
|
|
298
317
|
}
|
|
318
|
+
openPluginEditor = plugin1 => {
|
|
319
|
+
this.pluginEditorPlugin = plugin1;
|
|
320
|
+
};
|
|
321
|
+
onEditorPluginSave = (markdown1, config1) => {
|
|
322
|
+
let {
|
|
323
|
+
selectedNode: selectedNode1,
|
|
324
|
+
textareaRef: textareaRef1
|
|
325
|
+
} = this;
|
|
326
|
+
if (this.pluginEditorPlugin && selectedNode1 &&
|
|
327
|
+
// @ts-expect-error
|
|
328
|
+
selectedNode1.type === this.pluginEditorPlugin.name &&
|
|
329
|
+
// @ts-expect-error
|
|
330
|
+
selectedNode1.position) {
|
|
331
|
+
// modifying an existing node
|
|
332
|
+
textareaRef1.setSelectionRange(
|
|
333
|
+
// @ts-expect-error
|
|
334
|
+
selectedNode1.position.start.offset,
|
|
335
|
+
// @ts-expect-error
|
|
336
|
+
selectedNode1.position.end.offset);
|
|
337
|
+
} else {
|
|
338
|
+
// creating a new node
|
|
339
|
+
if (config1.block) {
|
|
340
|
+
// inject newlines if needed
|
|
341
|
+
markdown1 = padWithNewlinesIfNeeded(textareaRef1, markdown1);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
insertText(textareaRef1, {
|
|
345
|
+
text: markdown1,
|
|
346
|
+
selectionStart: undefined,
|
|
347
|
+
selectionEnd: undefined
|
|
348
|
+
});
|
|
349
|
+
this.pluginEditorPlugin = undefined;
|
|
350
|
+
};
|
|
299
351
|
static {
|
|
300
|
-
setComponentTemplate(precompileTemplate("\n <div class={{classNames \"euiMarkdownEditor\" (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\") (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")}} {{didUpdate this.updateCurrentHeight this.currentHeight this.isPreviewing this.height this.autoExpandPreview}}>\n <EuiMarkdownEditorToolbar @selectedNode={{this.selectedNode}} @markdownActions={{this.markdownActions}} @onClickPreview={{this.setViewMode}} @viewMode={{this.viewMode}} @uiPlugins={{this.toolbarPlugins}} {{didInsert this.setEditorToolbarRef}} />\n {{#if this.isPreviewing}}\n <div class=\"euiMarkdownEditorPreview\" {{didInsert (set this \"previewRef\")}} {{style (hash height=this.previewHeight)}}>\n <EuiMarkdownFormat @parsingPluginList={{this.parsingPluginList}} @processingPluginList={{this.processingPluginList}} @value={{@value}} @replaceNode={{this.replaceNode}} />\n </div>\n {{/if}}\n\n <div class=\"euiMarkdownEditor__toggleContainer\" {{style height=this.editorToggleContainerHeight}}>\n <EuiMarkdownEditorDropZone @uiPlugins={{this.toolbarPlugins}} {{resizeObserver onResize=this.onResize}}>\n <EuiMarkdownEditorTextArea {{getCursorNodeModifier this.vFile this.setSelectedNode}} {{didUpdate this.onParse this.parsed}} {{didInsert this.setTextAreaRef}} disabled={{@disabled}} id={{this.editorId}} @height={{this.textAreaHeight}} @maxHeight={{this.textAreaMaxHeight}} value={{@value}} aria-label={{@ariaLabel}} aria-labelledby={{@ariaLabelledBy}} aria-describedby={{@ariaDescribedBy}} {{on \"input\" (pick \"target.value\" @onChange)}} {{validatableControl @isInvalid}} ...attributes />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n ", {
|
|
352
|
+
setComponentTemplate(precompileTemplate("\n <div class={{classNames \"euiMarkdownEditor\" (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\") (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")}} {{didUpdate this.updateCurrentHeight this.currentHeight this.isPreviewing this.height this.autoExpandPreview}}>\n <EuiMarkdownEditorToolbar @selectedNode={{this.selectedNode}} @markdownActions={{this.markdownActions}} @onClickPreview={{this.setViewMode}} @openPluginEditor={{this.openPluginEditor}} @viewMode={{this.viewMode}} @uiPlugins={{this.toolbarPlugins}} {{didInsert this.setEditorToolbarRef}} />\n {{#if this.isPreviewing}}\n <div class=\"euiMarkdownEditorPreview\" {{didInsert (set this \"previewRef\")}} {{style (hash height=this.previewHeight)}}>\n <EuiMarkdownFormat @parsingPluginList={{this.parsingPluginList}} @processingPluginList={{this.processingPluginList}} @value={{@value}} @replaceNode={{this.replaceNode}} />\n </div>\n {{/if}}\n\n <div class=\"euiMarkdownEditor__toggleContainer\" {{style height=this.editorToggleContainerHeight}}>\n <EuiMarkdownEditorDropZone @uiPlugins={{this.toolbarPlugins}} {{resizeObserver onResize=this.onResize}}>\n <EuiMarkdownEditorTextArea {{getCursorNodeModifier this.vFile this.setSelectedNode}} {{didUpdate this.onParse this.parsed}} {{didInsert this.setTextAreaRef}} disabled={{@disabled}} id={{this.editorId}} @height={{this.textAreaHeight}} @maxHeight={{this.textAreaMaxHeight}} value={{@value}} aria-label={{@ariaLabel}} aria-labelledby={{@ariaLabelledBy}} aria-describedby={{@ariaDescribedBy}} {{on \"input\" (pick \"target.value\" @onChange)}} {{validatableControl @isInvalid}} ...attributes />\n </EuiMarkdownEditorDropZone>\n {{#if this.pluginEditorPlugin.editor}}\n <EuiModal @onClose={{set this \"pluginEditorPlugin\" undefined}}>\n {{#let (component this.pluginEditorPlugin.editor) as |Editor|}}\n <Editor @node={{this.selectedNode}} @onCancel={{set this \"pluginEditorPlugin\" undefined}} @onSave={{this.onEditorPluginSave}} />\n {{/let}}\n </EuiModal>\n {{/if}}\n </div>\n </div>\n ", {
|
|
301
353
|
strictMode: true,
|
|
302
354
|
scope: () => ({
|
|
303
355
|
classNames,
|
|
@@ -315,7 +367,8 @@ class EuiMarkdownEditorComponent extends Component {
|
|
|
315
367
|
getCursorNodeModifier,
|
|
316
368
|
on,
|
|
317
369
|
pick,
|
|
318
|
-
validatableControl
|
|
370
|
+
validatableControl,
|
|
371
|
+
EuiModal
|
|
319
372
|
})
|
|
320
373
|
}), this);
|
|
321
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq, not } from 'ember-truth-helpers';\nimport unified from 'unified';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport type { EuiMarkdownAstNode, EuiMarkdownAstNodePosition, EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (parseError: unknown | null, parsed: {\n messages: any[];\n ast: any;\n }) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\nexport const getCursorNode = (textareaRef1: HTMLInputElement, parsed1: any): EuiMarkdownAstNode =>{\n const { selectionStart: selectionStart1 } = textareaRef1;\n let node1: EuiMarkdownAstNode = parsed1.result ?? parsed1.contents;\n //eslint-disable-next-line\n outer: while(true){\n if (node1.children) {\n for(let i1 = 0; i1 < node1.children.length; i1++){\n const child1 = node1.children[i1];\n if (child1 && child1.position.start.offset < (selectionStart1 as number) && (selectionStart1 as number) < child1.position.end.offset) {\n if (child1.type === 'text') break outer; // don't dive into `text` nodes\n node1 = child1;\n continue outer;\n }\n }\n }\n break;\n }\n return node1;\n};\nfunction wrapper(textarea1: HTMLInputElement, parsed1: any, callback1: (node: EuiMarkdownAstNode) => void) {\n const node1 = getCursorNode(textarea1, parsed1);\n callback1(node1);\n}\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1: EuiMarkdownEditorTextAreaSignature['Element'], [parsed1, onSelectedNode1]: [any, (node: Node) => void]) {\n //@ts-expect-error\n const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);\n textarea1.addEventListener('keyup', fn1);\n textarea1.addEventListener('mouseup', fn1);\n return ()=>{\n textarea1.removeEventListener('keyup', fn1);\n textarea1.removeEventListener('mouseup', fn1);\n };\n});\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins)\n parsingPluginList: typeof defaultParsingPlugins;\n @argOrDefaultDecorator(250)\n height: number | string;\n @argOrDefaultDecorator(500)\n maxHeight: number | string;\n @argOrDefaultDecorator(true)\n autoExpandPreview: boolean;\n @argOrDefaultDecorator(defaultProcessingPlugins)\n processingPluginList: typeof defaultProcessingPlugins;\n @tracked\n selectedNode: Node | null = null;\n @tracked\n editorId = this.args.editorId ?? guidFor({});\n @tracked\n viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked\n textareaRef: HTMLTextAreaElement | null = null;\n @tracked\n previewRef: HTMLDivElement | null = null;\n @tracked\n editorToolbarRef: HTMLDivElement | null = null;\n @tracked\n currentHeight: number | string = 250;\n @tracked\n editorFooterHeight: number = 0;\n @tracked\n editorToolbarHeight: number = 0;\n markdownActions: MarkdownActions;\n get toolbarPlugins() {\n return [\n MarkdownTooltipPlugin.plugin,\n ...(this.args.uiPlugins || [])\n ];\n }\n constructor(owner1: unknown, args1: EuiMarkdownEditorArgs){\n super(owner1, args1);\n this.markdownActions = new MarkdownActions(this.editorId, // @ts-expect-error\n this.toolbarPlugins);\n this.currentHeight = this.height;\n }\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n return `${this.currentHeight}px`;\n }\n get textAreaHeight() {\n return this.height === 'full' ? '100%' : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n get textAreaMaxHeight() {\n return this.height !== 'full' ? `${(this.maxHeight as number) - this.editorFooterHeight}px` : '';\n }\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;\n const update1 = ()=>{\n this.currentHeight = resizedTextareaHeight1;\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n @action\n updateCurrentHeight() {\n let { isPreviewing: isPreviewing1, autoExpandPreview: autoExpandPreview1, height: height1, previewRef: previewRef1, currentHeight: currentHeight1 } = this;\n if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {\n //@ts-ignore\n if (previewRef1.scrollHeight > currentHeight1) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle1 = window.getComputedStyle(previewRef1);\n const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);\n const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight1 = borderWidth1 + marginWidth1 + 1;\n const update1 = ()=>{\n if (previewRef1) {\n this.currentHeight = previewRef1.scrollHeight + extraHeight1;\n }\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n }\n @action\n setTextAreaRef(ref1: HTMLTextAreaElement) {\n this.textareaRef = ref1;\n }\n @action\n setEditorToolbarRef(ref1: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref1;\n this.editorToolbarHeight = ref1.offsetHeight;\n }\n @action\n replaceNode(position1: EuiMarkdownAstNodePosition, next1: string) {\n let value1 = this.args.value;\n const leading1 = value1.substr(0, position1.start.offset);\n const trailing1 = value1.substr(position1.end.offset);\n this.args.onChange?.(`${leading1}${next1}${trailing1}`);\n }\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n @cached\n get parser() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(identityCompiler1);\n }\n @cached\n get parsed(): [ReturnType<typeof this.parser.processSync> | null, null | unknown] {\n try {\n const parsed1 = this.parser.processSync(this.args.value);\n return [\n parsed1,\n null\n ];\n } catch (e1) {\n return [\n null,\n e1\n ];\n }\n }\n get vFile() {\n return this.parsed[0];\n }\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed1, parseError1] = this.parsed;\n const onParse1 = this.args.onParse;\n const messages1 = parsed1 ? parsed1.messages : [];\n const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;\n onParse1(parseError1, {\n messages: messages1,\n ast: ast1\n });\n }\n }\n @action\n setSelectedNode(node1: Node) {\n this.selectedNode = node1;\n }\n static{\n template(`\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3IuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IGRpZFVwZGF0ZSBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLXVwZGF0ZSc7XG5pbXBvcnQgeyBzY2hlZHVsZU9uY2UgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBwaWNrIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpY2snO1xuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgc2V0IGZyb20gJ2VtYmVyLXNldC1oZWxwZXIvaGVscGVycy9zZXQnO1xuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBlcSwgbm90IH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHsgYXJnT3JEZWZhdWx0RGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdC50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCByZXNpemVPYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvcmVzaXplLW9ic2VydmVyLnRzJztcbmltcG9ydCB2YWxpZGF0YWJsZUNvbnRyb2wgZnJvbSAnLi4vbW9kaWZpZXJzL3ZhbGlkYXRhYmxlLWNvbnRyb2wudHMnO1xuaW1wb3J0IE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcbmltcG9ydCB7IE1PREVfRURJVElORywgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25Ub29sdGlwUGx1Z2luIGZyb20gJy4uL3V0aWxzL21hcmtkb3duL3BsdWdpbnMvbWFya2Rvd24tdG9vbHRpcC9pbmRleC50cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItZHJvcC16b25lLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyIGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10b29sYmFyLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25Gb3JtYXQgZnJvbSAnLi9ldWktbWFya2Rvd24tZm9ybWF0Lmd0cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlLFxuICBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbixcbiAgRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpblxufSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktbWFya2Rvd24tZWRpdG9yLXRvb2xiYXInO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzb3IgfSBmcm9tICd1bmlmaWVkJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvckFyZ3Mge1xuICBpbml0aWFsVmlld01vZGU_OiBzdHJpbmc7XG4gIGVkaXRvcklkPzogc3RyaW5nO1xuICB1aVBsdWdpbnM6IEV1aU1hcmtkb3duRWRpdG9yVWlQbHVnaW5bXTtcbiAgcGFyc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICBwcm9jZXNzaW5nUGx1Z2luTGlzdD86IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoc3RyOiBzdHJpbmcpID0-IHZvaWQ7XG4gIG9uUGFyc2U_OiAoXG4gICAgcGFyc2VFcnJvcjogdW5rbm93biB8IG51bGwsXG4gICAgcGFyc2VkOiB7IG1lc3NhZ2VzOiBhbnlbXTsgYXN0OiBhbnkgfVxuICApID0-IHZvaWQ7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBhdXRvRXhwYW5kUHJldmlldz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZSA9IChcbiAgdGV4dGFyZWFSZWY6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55XG4pOiBFdWlNYXJrZG93bkFzdE5vZGUgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0IH0gPSB0ZXh0YXJlYVJlZjtcblxuICBsZXQgbm9kZTogRXVpTWFya2Rvd25Bc3ROb2RlID0gcGFyc2VkLnJlc3VsdCA_PyBwYXJzZWQuY29udGVudHM7XG5cbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNoaWxkICYmXG4gICAgICAgICAgY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0IDwgKHNlbGVjdGlvblN0YXJ0IGFzIG51bWJlcikgJiZcbiAgICAgICAgICAoc2VsZWN0aW9uU3RhcnQgYXMgbnVtYmVyKSA8IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd0ZXh0JykgYnJlYWsgb3V0ZXI7IC8vIGRvbid0IGRpdmUgaW50byBgdGV4dGAgbm9kZXNcbiAgICAgICAgICBub2RlID0gY2hpbGQ7XG4gICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufTtcblxuZnVuY3Rpb24gd3JhcHBlcihcbiAgdGV4dGFyZWE6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55LFxuICBjYWxsYmFjazogKG5vZGU6IEV1aU1hcmtkb3duQXN0Tm9kZSkgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IG5vZGUgPSBnZXRDdXJzb3JOb2RlKHRleHRhcmVhLCBwYXJzZWQpO1xuXG4gIGNhbGxiYWNrKG5vZGUpO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyID0gbW9kaWZpZXIoZnVuY3Rpb24gZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyKFxuICB0ZXh0YXJlYTogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddLFxuICBbcGFyc2VkLCBvblNlbGVjdGVkTm9kZV06IFthbnksIChub2RlOiBOb2RlKSA9PiB2b2lkXVxuKSB7XG4gIC8vQHRzLWV4cGVjdC1lcnJvclxuICBjb25zdCBmbiA9IHdyYXBwZXIuYmluZChudWxsLCB0ZXh0YXJlYSwgcGFyc2VkLCBvblNlbGVjdGVkTm9kZSk7XG5cbiAgdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBmbik7XG4gIHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmbik7XG5cbiAgcmV0dXJuICgpID0-IHtcbiAgICB0ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZuKTtcbiAgICB0ZXh0YXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZm4pO1xuICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aU1hcmtkb3duRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlPiB7XG4gIC8vIERlZmF1bHRzXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZGVmYXVsdFBhcnNpbmdQbHVnaW5zKSBkZWNsYXJlIHBhcnNpbmdQbHVnaW5MaXN0OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoMjUwKSBkZWNsYXJlIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKDUwMCkgZGVjbGFyZSBtYXhIZWlnaHQ6IG51bWJlciB8IHN0cmluZztcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcih0cnVlKSBkZWNsYXJlIGF1dG9FeHBhbmRQcmV2aWV3OiBib29sZWFuO1xuXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zKSBkZWNsYXJlIHByb2Nlc3NpbmdQbHVnaW5MaXN0OiB0eXBlb2YgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuXG4gIEB0cmFja2VkIHNlbGVjdGVkTm9kZTogTm9kZSB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBlZGl0b3JJZCA9IHRoaXMuYXJncy5lZGl0b3JJZCA_PyBndWlkRm9yKHt9KTtcbiAgQHRyYWNrZWQgdmlld01vZGUgPSB0aGlzLmFyZ3MuaW5pdGlhbFZpZXdNb2RlIHx8IE1PREVfRURJVElORztcbiAgQHRyYWNrZWQgdGV4dGFyZWFSZWY6IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgcHJldmlld1JlZjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgZWRpdG9yVG9vbGJhclJlZjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgY3VycmVudEhlaWdodDogbnVtYmVyIHwgc3RyaW5nID0gMjUwO1xuICBAdHJhY2tlZCBlZGl0b3JGb290ZXJIZWlnaHQ6IG51bWJlciA9IDA7XG4gIEB0cmFja2VkIGVkaXRvclRvb2xiYXJIZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgbWFya2Rvd25BY3Rpb25zOiBNYXJrZG93bkFjdGlvbnM7XG5cbiAgZ2V0IHRvb2xiYXJQbHVnaW5zKCkge1xuICAgIHJldHVybiBbTWFya2Rvd25Ub29sdGlwUGx1Z2luLnBsdWdpbiwgLi4uKHRoaXMuYXJncy51aVBsdWdpbnMgfHwgW10pXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3MpIHtcbiAgICBzdXBlcihvd25lciwgYXJncyk7XG4gICAgdGhpcy5tYXJrZG93bkFjdGlvbnMgPSBuZXcgTWFya2Rvd25BY3Rpb25zKFxuICAgICAgdGhpcy5lZGl0b3JJZCxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIHRoaXMudG9vbGJhclBsdWdpbnNcbiAgICApO1xuICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICB9XG5cbiAgZ2V0IHByZXZpZXdIZWlnaHQoKSB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ID09PSAnZnVsbCcpIHtcbiAgICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHt0aGlzLmVkaXRvckZvb3RlckhlaWdodH1weClgO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0aGlzLmN1cnJlbnRIZWlnaHR9cHhgO1xuICB9XG5cbiAgZ2V0IHRleHRBcmVhSGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmhlaWdodCA9PT0gJ2Z1bGwnXG4gICAgICA_ICcxMDAlJ1xuICAgICAgOiBgY2FsYygkeyh0aGlzLmhlaWdodCBhcyBudW1iZXIpIC0gdGhpcy5lZGl0b3JGb290ZXJIZWlnaHR9cHgpYDtcbiAgfVxuXG4gIGdldCB0ZXh0QXJlYU1heEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5oZWlnaHQgIT09ICdmdWxsJ1xuICAgICAgPyBgJHsodGhpcy5tYXhIZWlnaHQgYXMgbnVtYmVyKSAtIHRoaXMuZWRpdG9yRm9vdGVySGVpZ2h0fXB4YFxuICAgICAgOiAnJztcbiAgfVxuXG4gIGdldCBlZGl0b3JUb2dnbGVDb250YWluZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMuZWRpdG9yVG9vbGJhckhlaWdodH1weClgO1xuICB9XG5cbiAgQGFjdGlvblxuICBvblJlc2l6ZSgpIHtcbiAgICBpZiAodGhpcy50ZXh0YXJlYVJlZiAmJiB0aGlzLmlzRWRpdGluZyAmJiB0aGlzLmhlaWdodCAhPT0gJ2Z1bGwnKSB7XG4gICAgICBjb25zdCByZXNpemVkVGV4dGFyZWFIZWlnaHQgPVxuICAgICAgICB0aGlzLnRleHRhcmVhUmVmLm9mZnNldEhlaWdodCArIHRoaXMuZWRpdG9yRm9vdGVySGVpZ2h0O1xuXG4gICAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHJlc2l6ZWRUZXh0YXJlYUhlaWdodDtcbiAgICAgIH07XG5cbiAgICAgIHNjaGVkdWxlT25jZSgnYWZ0ZXJSZW5kZXInLCB0aGlzLCB1cGRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgdXBkYXRlQ3VycmVudEhlaWdodCgpIHtcbiAgICBsZXQgeyBpc1ByZXZpZXdpbmcsIGF1dG9FeHBhbmRQcmV2aWV3LCBoZWlnaHQsIHByZXZpZXdSZWYsIGN1cnJlbnRIZWlnaHQgfSA9XG4gICAgICB0aGlzO1xuXG4gICAgaWYgKGlzUHJldmlld2luZyAmJiBhdXRvRXhwYW5kUHJldmlldyAmJiBoZWlnaHQgIT09ICdmdWxsJyAmJiBwcmV2aWV3UmVmKSB7XG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIGlmIChwcmV2aWV3UmVmLnNjcm9sbEhlaWdodCA-IGN1cnJlbnRIZWlnaHQpIHtcbiAgICAgICAgLy8gc2Nyb2xsSGVpZ2h0IGRvZXMgbm90IGluY2x1ZGUgdGhlIGJvcmRlciBvciBtYXJnaW5cbiAgICAgICAgLy8gc28gd2UgYXNrIGZvciB0aGUgY29tcHV0ZWQgdmFsdWUgZm9yIHRob3NlLFxuICAgICAgICAvLyB3aGljaCBpcyBhbHdheXMgaW4gcGl4ZWxzIGJlY2F1c2UgZ2V0Q29tcHV0ZWRWYWx1ZVxuICAgICAgICAvLyByZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZXNcbiAgICAgICAgY29uc3QgZWxlbWVudENvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwcmV2aWV3UmVmKTtcbiAgICAgICAgY29uc3QgYm9yZGVyV2lkdGggPVxuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUuYm9yZGVyVG9wV2lkdGgpICtcbiAgICAgICAgICBwYXJzZUZsb2F0KGVsZW1lbnRDb21wdXRlZFN0eWxlLmJvcmRlckJvdHRvbVdpZHRoKTtcbiAgICAgICAgY29uc3QgbWFyZ2luV2lkdGggPVxuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUubWFyZ2luVG9wKSArXG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20pO1xuXG4gICAgICAgIC8vIHRoZW4gYWRkIGFuIGV4dHJhIHBpeGVsIGZvciBzYWZldHkgYW5kIGJlY2F1c2UgdGhlIHNjcm9sbEhlaWdodCB2YWx1ZSBpcyByb3VuZGVkXG4gICAgICAgIGNvbnN0IGV4dHJhSGVpZ2h0ID0gYm9yZGVyV2lkdGggKyBtYXJnaW5XaWR0aCArIDE7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2aWV3UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRIZWlnaHQgPSBwcmV2aWV3UmVmLnNjcm9sbEhlaWdodCArIGV4dHJhSGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgdXBkYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldFRleHRBcmVhUmVmKHJlZjogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgIHRoaXMudGV4dGFyZWFSZWYgPSByZWY7XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldEVkaXRvclRvb2xiYXJSZWYocmVmOiBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJTaWduYXR1cmVbJ0VsZW1lbnQnXSkge1xuICAgIHRoaXMuZWRpdG9yVG9vbGJhclJlZiA9IHJlZjtcbiAgICB0aGlzLmVkaXRvclRvb2xiYXJIZWlnaHQgPSByZWYub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgQGFjdGlvblxuICByZXBsYWNlTm9kZShwb3NpdGlvbjogRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sIG5leHQ6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuYXJncy52YWx1ZTtcbiAgICBjb25zdCBsZWFkaW5nID0gdmFsdWUuc3Vic3RyKDAsIHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCk7XG4gICAgY29uc3QgdHJhaWxpbmcgPSB2YWx1ZS5zdWJzdHIocG9zaXRpb24uZW5kLm9mZnNldCk7XG5cbiAgICB0aGlzLmFyZ3Mub25DaGFuZ2U_LihgJHtsZWFkaW5nfSR7bmV4dH0ke3RyYWlsaW5nfWApO1xuICB9XG5cbiAgZ2V0IGlzRWRpdGluZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9FRElUSU5HO1xuICB9XG5cbiAgZ2V0IGlzUHJldmlld2luZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9WSUVXSU5HO1xuICB9XG5cbiAgQGFjdGlvblxuICBzZXRWaWV3TW9kZSgpIHtcbiAgICB0aGlzLnZpZXdNb2RlID0gdGhpcy5pc1ByZXZpZXdpbmcgPyBNT0RFX0VESVRJTkcgOiBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBwYXJzZXIoKSB7XG4gICAgY29uc3QgQ29tcGlsZXIgPSAodHJlZTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gdHJlZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaWRlbnRpdHlDb21waWxlcih0aGlzOiBQcm9jZXNzb3IpIHtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICB0aGlzLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZWQoKS51c2UodGhpcy5wYXJzaW5nUGx1Z2luTGlzdCkudXNlKGlkZW50aXR5Q29tcGlsZXIpO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcGFyc2VkKCk6IFtcbiAgICBSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLnBhcnNlci5wcm9jZXNzU3luYz4gfCBudWxsLFxuICAgIG51bGwgfCB1bmtub3duXG4gIF0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBhcnNlci5wcm9jZXNzU3luYyh0aGlzLmFyZ3MudmFsdWUpO1xuXG4gICAgICByZXR1cm4gW3BhcnNlZCwgbnVsbF07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIFtudWxsLCBlXTtcbiAgICB9XG4gIH1cblxuICBnZXQgdkZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VkWzBdO1xuICB9XG5cbiAgQGFjdGlvblxuICBvblBhcnNlKCkge1xuICAgIGlmICh0aGlzLmFyZ3Mub25QYXJzZSkge1xuICAgICAgY29uc3QgW3BhcnNlZCwgcGFyc2VFcnJvcl0gPSB0aGlzLnBhcnNlZDtcbiAgICAgIGNvbnN0IG9uUGFyc2UgPSB0aGlzLmFyZ3Mub25QYXJzZTtcbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gcGFyc2VkID8gcGFyc2VkLm1lc3NhZ2VzIDogW107XG4gICAgICBjb25zdCBhc3QgPSBwYXJzZWQgPyBwYXJzZWRbJ3Jlc3VsdCddID8_IHBhcnNlZC5jb250ZW50cyA6IG51bGw7XG5cbiAgICAgIG9uUGFyc2UocGFyc2VFcnJvciwgeyBtZXNzYWdlcywgYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0U2VsZWN0ZWROb2RlKG5vZGU6IE5vZGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdlxuICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgIFwiZXVpTWFya2Rvd25FZGl0b3JcIlxuICAgICAgICAoaWYgKGVxIHRoaXMuaGVpZ2h0IFwiZnVsbFwiKSBcImV1aU1hcmtkb3duRWRpdG9yLS1mdWxsSGVpZ2h0XCIpXG4gICAgICAgIChpZiB0aGlzLmlzUHJldmlld2luZyBcImV1aU1hcmtkb3duRWRpdG9yLS1pc1ByZXZpZXdpbmdcIilcbiAgICAgIH19XG4gICAgICB7e2RpZFVwZGF0ZVxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRIZWlnaHRcbiAgICAgICAgdGhpcy5jdXJyZW50SGVpZ2h0XG4gICAgICAgIHRoaXMuaXNQcmV2aWV3aW5nXG4gICAgICAgIHRoaXMuaGVpZ2h0XG4gICAgICAgIHRoaXMuYXV0b0V4cGFuZFByZXZpZXdcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclxuICAgICAgICBAc2VsZWN0ZWROb2RlPXt7dGhpcy5zZWxlY3RlZE5vZGV9fVxuICAgICAgICBAbWFya2Rvd25BY3Rpb25zPXt7dGhpcy5tYXJrZG93bkFjdGlvbnN9fVxuICAgICAgICBAb25DbGlja1ByZXZpZXc9e3t0aGlzLnNldFZpZXdNb2RlfX1cbiAgICAgICAgQHZpZXdNb2RlPXt7dGhpcy52aWV3TW9kZX19XG4gICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5zZXRFZGl0b3JUb29sYmFyUmVmfX1cbiAgICAgIC8-XG4gICAgICB7eyNpZiB0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yUHJldmlld1wiXG4gICAgICAgICAge3tkaWRJbnNlcnQgKHNldCB0aGlzIFwicHJldmlld1JlZlwiKX19XG4gICAgICAgICAge3tzdHlsZSAoaGFzaCBoZWlnaHQ9dGhpcy5wcmV2aWV3SGVpZ2h0KX19XG4gICAgICAgID5cbiAgICAgICAgICA8RXVpTWFya2Rvd25Gb3JtYXRcbiAgICAgICAgICAgIEBwYXJzaW5nUGx1Z2luTGlzdD17e3RoaXMucGFyc2luZ1BsdWdpbkxpc3R9fVxuICAgICAgICAgICAgQHByb2Nlc3NpbmdQbHVnaW5MaXN0PXt7dGhpcy5wcm9jZXNzaW5nUGx1Z2luTGlzdH19XG4gICAgICAgICAgICBAdmFsdWU9e3tAdmFsdWV9fVxuICAgICAgICAgICAgQHJlcGxhY2VOb2RlPXt7dGhpcy5yZXBsYWNlTm9kZX19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY-XG4gICAgICB7ey9pZn19XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvcl9fdG9nZ2xlQ29udGFpbmVyXCJcbiAgICAgICAge3tzdHlsZSBoZWlnaHQ9dGhpcy5lZGl0b3JUb2dnbGVDb250YWluZXJIZWlnaHR9fVxuICAgICAgPlxuICAgICAgICA8RXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZVxuICAgICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAgICB7e3Jlc2l6ZU9ic2VydmVyIG9uUmVzaXplPXRoaXMub25SZXNpemV9fVxuICAgICAgICA-XG4gICAgICAgICAgPEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFcbiAgICAgICAgICAgIHt7Z2V0Q3Vyc29yTm9kZU1vZGlmaWVyIHRoaXMudkZpbGUgdGhpcy5zZXRTZWxlY3RlZE5vZGV9fVxuICAgICAgICAgICAge3tkaWRVcGRhdGUgdGhpcy5vblBhcnNlIHRoaXMucGFyc2VkfX1cbiAgICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuc2V0VGV4dEFyZWFSZWZ9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fVxuICAgICAgICAgICAgaWQ9e3t0aGlzLmVkaXRvcklkfX1cbiAgICAgICAgICAgIEBoZWlnaHQ9e3t0aGlzLnRleHRBcmVhSGVpZ2h0fX1cbiAgICAgICAgICAgIEBtYXhIZWlnaHQ9e3t0aGlzLnRleHRBcmVhTWF4SGVpZ2h0fX1cbiAgICAgICAgICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3tAYXJpYUxhYmVsfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17e0BhcmlhTGFiZWxsZWRCeX19XG4gICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt7QGFyaWFEZXNjcmliZWRCeX19XG4gICAgICAgICAgICB7e29uIFwiaW5wdXRcIiAocGljayBcInRhcmdldC52YWx1ZVwiIEBvbkNoYW5nZSl9fVxuICAgICAgICAgICAge3t2YWxpZGF0YWJsZUNvbnRyb2wgQGlzSW52YWxpZH19XG4gICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9FdWlNYXJrZG93bkVkaXRvckRyb3Bab25lPlxuICAgICAgPC9kaXY-XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["cached","macroCondition","dependencySatisfies","importSync","getCursorNode","textareaRef1","parsed1","selectionStart","selectionStart1","node1","result","contents","outer","children","i1","length","child1","position","start","offset","end","type","wrapper","textarea1","callback1","getCursorNodeModifier","modifier","getCursorNodeModifier1","onSelectedNode1","fn1","bind","addEventListener","removeEventListener","EuiMarkdownEditorComponent","Component","g","this","prototype","argOrDefaultDecorator","defaultParsingPlugins","i","void 0","defaultProcessingPlugins","tracked","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner1","args1","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","textareaRef","isEditing","resizedTextareaHeight1","offsetHeight","update1","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","isPreviewing1","autoExpandPreview","autoExpandPreview1","height1","previewRef","previewRef1","currentHeight1","scrollHeight","elementComputedStyle1","window","getComputedStyle","borderWidth1","parseFloat","borderTopWidth","borderBottomWidth","marginWidth1","marginTop","marginBottom","extraHeight1","setTextAreaRef","ref1","setEditorToolbarRef","editorToolbarRef","replaceNode","position1","next1","value1","value","leading1","substr","trailing1","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","parsingPluginList","parsed","processSync","e1","vFile","onParse","parseError1","onParse1","messages1","messages","ast1","ast","setSelectedNode","selectedNode","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq } from 'ember-truth-helpers';\nimport unified from 'unified';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions, { insertText } from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\nimport type { EuiMarkdownAstNode, EuiMarkdownAstNodePosition, EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (parseError: unknown | null, parsed: {\n messages: any[];\n ast: any;\n }) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\nexport const getCursorNode = (textareaRef1: HTMLTextAreaElement, parsed1: any): EuiMarkdownAstNode =>{\n const { selectionStart: selectionStart1 } = textareaRef1;\n let node1: EuiMarkdownAstNode = parsed1.result ?? parsed1.contents;\n //eslint-disable-next-line\n outer: while(true){\n if (node1.children) {\n for(let i1 = 0; i1 < node1.children.length; i1++){\n const child1 = node1.children[i1];\n if (child1 && child1.position.start.offset < (selectionStart1 as number) && (selectionStart1 as number) < child1.position.end.offset) {\n if (child1.type === 'text') break outer; // don't dive into `text` nodes\n node1 = child1;\n continue outer;\n }\n }\n }\n break;\n }\n return node1;\n};\nfunction wrapper(textarea1: HTMLTextAreaElement, parsed1: any, callback1: (node: EuiMarkdownAstNode) => void) {\n const node1 = getCursorNode(textarea1, parsed1);\n callback1(node1);\n}\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1: EuiMarkdownEditorTextAreaSignature['Element'], [parsed1, onSelectedNode1]: [any, (node: Node) => void]) {\n //@ts-expect-error\n const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);\n textarea1.addEventListener('keyup', fn1);\n textarea1.addEventListener('mouseup', fn1);\n return ()=>{\n textarea1.removeEventListener('keyup', fn1);\n textarea1.removeEventListener('mouseup', fn1);\n };\n});\nfunction isNewLine(char1: string | undefined): boolean {\n if (char1 == null) return true;\n return !!char1.match(/[\\r\\n]/);\n}\nfunction padWithNewlinesIfNeeded(textarea1: HTMLTextAreaElement, text1: string) {\n const selectionStart1 = textarea1.selectionStart;\n const selectionEnd1 = textarea1.selectionEnd;\n // block parsing requires two leading new lines and none trailing, but we add an extra trailing line for readability\n const isPrevNewLine1 = isNewLine(textarea1.value[selectionStart1 - 1]);\n const isPrevPrevNewLine1 = isNewLine(textarea1.value[selectionStart1 - 2]);\n const isNextNewLine1 = isNewLine(textarea1.value[selectionEnd1]);\n // pad text with newlines as needed\n text1 = `${isPrevNewLine1 ? '' : '\\n'}${isPrevPrevNewLine1 ? '' : '\\n'}${text1}${isNextNewLine1 ? '' : '\\n'}`;\n return text1;\n}\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n @tracked\n pluginEditorPlugin?: EuiMarkdownEditorUiPlugin;\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins)\n parsingPluginList: typeof defaultParsingPlugins;\n @argOrDefaultDecorator(250)\n height: number | string;\n @argOrDefaultDecorator(500)\n maxHeight: number | string;\n @argOrDefaultDecorator(true)\n autoExpandPreview: boolean;\n @argOrDefaultDecorator(defaultProcessingPlugins)\n processingPluginList: typeof defaultProcessingPlugins;\n @tracked\n selectedNode: Node | null = null;\n @tracked\n editorId = this.args.editorId ?? guidFor({});\n @tracked\n viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked\n textareaRef: HTMLTextAreaElement | null = null;\n @tracked\n previewRef: HTMLDivElement | null = null;\n @tracked\n editorToolbarRef: HTMLDivElement | null = null;\n @tracked\n currentHeight: number | string = 250;\n @tracked\n editorFooterHeight: number = 0;\n @tracked\n editorToolbarHeight: number = 0;\n markdownActions: MarkdownActions;\n get toolbarPlugins() {\n return [\n MarkdownTooltipPlugin.plugin,\n ...(this.args.uiPlugins || [])\n ];\n }\n constructor(owner1: unknown, args1: EuiMarkdownEditorArgs){\n super(owner1, args1);\n this.markdownActions = new MarkdownActions(this.editorId, this.toolbarPlugins);\n this.currentHeight = this.height;\n }\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n return `${this.currentHeight}px`;\n }\n get textAreaHeight() {\n return this.height === 'full' ? '100%' : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n get textAreaMaxHeight() {\n return this.height !== 'full' ? `${(this.maxHeight as number) - this.editorFooterHeight}px` : '';\n }\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;\n const update1 = ()=>{\n this.currentHeight = resizedTextareaHeight1;\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n @action\n updateCurrentHeight() {\n let { isPreviewing: isPreviewing1, autoExpandPreview: autoExpandPreview1, height: height1, previewRef: previewRef1, currentHeight: currentHeight1 } = this;\n if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {\n //@ts-ignore\n if (previewRef1.scrollHeight > currentHeight1) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle1 = window.getComputedStyle(previewRef1);\n const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);\n const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight1 = borderWidth1 + marginWidth1 + 1;\n const update1 = ()=>{\n if (previewRef1) {\n this.currentHeight = previewRef1.scrollHeight + extraHeight1;\n }\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n }\n getCursorNode = ()=>{};\n @action\n setTextAreaRef(ref1: HTMLTextAreaElement) {\n this.textareaRef = ref1;\n }\n @action\n setEditorToolbarRef(ref1: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref1;\n this.editorToolbarHeight = ref1.offsetHeight;\n }\n @action\n replaceNode(position1: EuiMarkdownAstNodePosition, next1: string) {\n let value1 = this.args.value;\n const leading1 = value1.substr(0, position1.start.offset);\n const trailing1 = value1.substr(position1.end.offset);\n this.args.onChange?.(`${leading1}${next1}${trailing1}`);\n }\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n @cached\n get parser() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(identityCompiler1);\n }\n @cached\n get parsed(): [ReturnType<typeof this.parser.processSync> | null, null | unknown] {\n try {\n const parsed1 = this.parser.processSync(this.args.value);\n return [\n parsed1,\n null\n ];\n } catch (e1) {\n return [\n null,\n e1\n ];\n }\n }\n get vFile() {\n return this.parsed[0];\n }\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed1, parseError1] = this.parsed;\n const onParse1 = this.args.onParse;\n const messages1 = parsed1 ? parsed1.messages : [];\n const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;\n onParse1(parseError1, {\n messages: messages1,\n ast: ast1\n });\n }\n }\n @action\n setSelectedNode(node1: Node) {\n this.selectedNode = node1;\n }\n openPluginEditor = (plugin1: EuiMarkdownEditorUiPlugin)=>{\n this.pluginEditorPlugin = plugin1;\n };\n onEditorPluginSave = (markdown1: any, config1: any)=>{\n let { selectedNode: selectedNode1, textareaRef: textareaRef1 } = this;\n if (this.pluginEditorPlugin && selectedNode1 && // @ts-expect-error\n selectedNode1.type === this.pluginEditorPlugin.name && // @ts-expect-error\n selectedNode1.position) {\n // modifying an existing node\n textareaRef1!.setSelectionRange(// @ts-expect-error\n selectedNode1.position.start.offset, // @ts-expect-error\n selectedNode1.position.end.offset);\n } else {\n // creating a new node\n if (config1.block) {\n // inject newlines if needed\n markdown1 = padWithNewlinesIfNeeded(textareaRef1!, markdown1);\n }\n }\n insertText(textareaRef1!, {\n text: markdown1,\n selectionStart: undefined,\n selectionEnd: undefined\n });\n this.pluginEditorPlugin = undefined;\n };\n static{\n template(`\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @openPluginEditor={{this.openPluginEditor}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n {{#if this.pluginEditorPlugin.editor}}\n <EuiModal @onClose={{set this \"pluginEditorPlugin\" undefined}}>\n {{#let (component this.pluginEditorPlugin.editor) as |Editor|}}\n <Editor\n @node={{this.selectedNode}}\n @onCancel={{set this \"pluginEditorPlugin\" undefined}}\n @onSave={{this.onEditorPluginSave}}\n />\n {{/let}}\n </EuiModal>\n {{/if}}\n </div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3IuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IGRpZFVwZGF0ZSBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLXVwZGF0ZSc7XG5pbXBvcnQgeyBzY2hlZHVsZU9uY2UgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBwaWNrIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpY2snO1xuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgc2V0IGZyb20gJ2VtYmVyLXNldC1oZWxwZXIvaGVscGVycy9zZXQnO1xuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBlcSB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuaW1wb3J0IHVuaWZpZWQgZnJvbSAndW5pZmllZCc7XG5cbmltcG9ydCB7IGFyZ09yRGVmYXVsdERlY29yYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgcmVzaXplT2JzZXJ2ZXIgZnJvbSAnLi4vbW9kaWZpZXJzL3Jlc2l6ZS1vYnNlcnZlci50cyc7XG5pbXBvcnQgdmFsaWRhdGFibGVDb250cm9sIGZyb20gJy4uL21vZGlmaWVycy92YWxpZGF0YWJsZS1jb250cm9sLnRzJztcbmltcG9ydCBNYXJrZG93bkFjdGlvbnMsIHtcbiAgaW5zZXJ0VGV4dFxufSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcbmltcG9ydCB7IE1PREVfRURJVElORywgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25Ub29sdGlwUGx1Z2luIGZyb20gJy4uL3V0aWxzL21hcmtkb3duL3BsdWdpbnMvbWFya2Rvd24tdG9vbHRpcC9pbmRleC50cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItZHJvcC16b25lLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyIGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10b29sYmFyLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25Gb3JtYXQgZnJvbSAnLi9ldWktbWFya2Rvd24tZm9ybWF0Lmd0cyc7XG5pbXBvcnQgRXVpTW9kYWwgZnJvbSAnLi9ldWktbW9kYWwuZ3RzJztcblxuaW1wb3J0IHR5cGUge1xuICBFdWlNYXJrZG93bkFzdE5vZGUsXG4gIEV1aU1hcmtkb3duQXN0Tm9kZVBvc2l0aW9uLFxuICBFdWlNYXJrZG93bkVkaXRvclVpUGx1Z2luXG59IGZyb20gJy4uL3V0aWxzL21hcmtkb3duL21hcmtkb3duLXR5cGVzJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10ZXh0LWFyZWEnO1xuaW1wb3J0IHR5cGUgeyBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhcic7XG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NvciB9IGZyb20gJ3VuaWZpZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yQXJncyB7XG4gIGluaXRpYWxWaWV3TW9kZT86IHN0cmluZztcbiAgZWRpdG9ySWQ_OiBzdHJpbmc7XG4gIHVpUGx1Z2luczogRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpbltdO1xuICBwYXJzaW5nUGx1Z2luTGlzdD86IHR5cGVvZiBkZWZhdWx0UGFyc2luZ1BsdWdpbnM7XG4gIHByb2Nlc3NpbmdQbHVnaW5MaXN0PzogdHlwZW9mIGRlZmF1bHRQcm9jZXNzaW5nUGx1Z2lucztcbiAgdmFsdWU6IHN0cmluZztcbiAgb25DaGFuZ2U6IChzdHI6IHN0cmluZykgPT4gdm9pZDtcbiAgb25QYXJzZT86IChcbiAgICBwYXJzZUVycm9yOiB1bmtub3duIHwgbnVsbCxcbiAgICBwYXJzZWQ6IHsgbWVzc2FnZXM6IGFueVtdOyBhc3Q6IGFueSB9XG4gICkgPT4gdm9pZDtcbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhIZWlnaHQ_OiBudW1iZXIgfCBzdHJpbmc7XG4gIGF1dG9FeHBhbmRQcmV2aWV3PzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICBpc0ludmFsaWQ_OiBib29sZWFuO1xuICBhcmlhTGFiZWw_OiBzdHJpbmc7XG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICBhcmlhRGVzY3JpYmVkQnk_OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JTaWduYXR1cmUge1xuICBFbGVtZW50OiBFdWlNYXJrZG93bkVkaXRvclRleHRBcmVhU2lnbmF0dXJlWydFbGVtZW50J107XG4gIEFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yQXJncztcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDdXJzb3JOb2RlID0gKFxuICB0ZXh0YXJlYVJlZjogSFRNTFRleHRBcmVhRWxlbWVudCxcbiAgcGFyc2VkOiBhbnlcbik6IEV1aU1hcmtkb3duQXN0Tm9kZSA9PiB7XG4gIGNvbnN0IHsgc2VsZWN0aW9uU3RhcnQgfSA9IHRleHRhcmVhUmVmO1xuXG4gIGxldCBub2RlOiBFdWlNYXJrZG93bkFzdE5vZGUgPSBwYXJzZWQucmVzdWx0ID8_IHBhcnNlZC5jb250ZW50cztcblxuICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBvdXRlcjogd2hpbGUgKHRydWUpIHtcbiAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgY2hpbGQgJiZcbiAgICAgICAgICBjaGlsZC5wb3NpdGlvbi5zdGFydC5vZmZzZXQgPCAoc2VsZWN0aW9uU3RhcnQgYXMgbnVtYmVyKSAmJlxuICAgICAgICAgIChzZWxlY3Rpb25TdGFydCBhcyBudW1iZXIpIDwgY2hpbGQucG9zaXRpb24uZW5kLm9mZnNldFxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3RleHQnKSBicmVhayBvdXRlcjsgLy8gZG9uJ3QgZGl2ZSBpbnRvIGB0ZXh0YCBub2Rlc1xuICAgICAgICAgIG5vZGUgPSBjaGlsZDtcbiAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59O1xuXG5mdW5jdGlvbiB3cmFwcGVyKFxuICB0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCxcbiAgcGFyc2VkOiBhbnksXG4gIGNhbGxiYWNrOiAobm9kZTogRXVpTWFya2Rvd25Bc3ROb2RlKSA9PiB2b2lkXG4pIHtcbiAgY29uc3Qgbm9kZSA9IGdldEN1cnNvck5vZGUodGV4dGFyZWEsIHBhcnNlZCk7XG5cbiAgY2FsbGJhY2sobm9kZSk7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDdXJzb3JOb2RlTW9kaWZpZXIgPSBtb2RpZmllcihmdW5jdGlvbiBnZXRDdXJzb3JOb2RlTW9kaWZpZXIoXG4gIHRleHRhcmVhOiBFdWlNYXJrZG93bkVkaXRvclRleHRBcmVhU2lnbmF0dXJlWydFbGVtZW50J10sXG4gIFtwYXJzZWQsIG9uU2VsZWN0ZWROb2RlXTogW2FueSwgKG5vZGU6IE5vZGUpID0-IHZvaWRdXG4pIHtcbiAgLy9AdHMtZXhwZWN0LWVycm9yXG4gIGNvbnN0IGZuID0gd3JhcHBlci5iaW5kKG51bGwsIHRleHRhcmVhLCBwYXJzZWQsIG9uU2VsZWN0ZWROb2RlKTtcblxuICB0ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZuKTtcbiAgdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGZuKTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgZm4pO1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmbik7XG4gIH07XG59KTtcblxuZnVuY3Rpb24gaXNOZXdMaW5lKGNoYXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICBpZiAoY2hhciA9PSBudWxsKSByZXR1cm4gdHJ1ZTtcblxuICByZXR1cm4gISFjaGFyLm1hdGNoKC9bXFxyXFxuXS8pO1xufVxuXG5mdW5jdGlvbiBwYWRXaXRoTmV3bGluZXNJZk5lZWRlZCh0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCwgdGV4dDogc3RyaW5nKSB7XG4gIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XG4gIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcblxuICAvLyBibG9jayBwYXJzaW5nIHJlcXVpcmVzIHR3byBsZWFkaW5nIG5ldyBsaW5lcyBhbmQgbm9uZSB0cmFpbGluZywgYnV0IHdlIGFkZCBhbiBleHRyYSB0cmFpbGluZyBsaW5lIGZvciByZWFkYWJpbGl0eVxuICBjb25zdCBpc1ByZXZOZXdMaW5lID0gaXNOZXdMaW5lKHRleHRhcmVhLnZhbHVlW3NlbGVjdGlvblN0YXJ0IC0gMV0pO1xuICBjb25zdCBpc1ByZXZQcmV2TmV3TGluZSA9IGlzTmV3TGluZSh0ZXh0YXJlYS52YWx1ZVtzZWxlY3Rpb25TdGFydCAtIDJdKTtcbiAgY29uc3QgaXNOZXh0TmV3TGluZSA9IGlzTmV3TGluZSh0ZXh0YXJlYS52YWx1ZVtzZWxlY3Rpb25FbmRdKTtcblxuICAvLyBwYWQgdGV4dCB3aXRoIG5ld2xpbmVzIGFzIG5lZWRlZFxuICB0ZXh0ID0gYCR7aXNQcmV2TmV3TGluZSA_ICcnIDogJ1xcbid9JHtpc1ByZXZQcmV2TmV3TGluZSA_ICcnIDogJ1xcbid9JHt0ZXh0fSR7XG4gICAgaXNOZXh0TmV3TGluZSA_ICcnIDogJ1xcbidcbiAgfWA7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aU1hcmtkb3duRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlPiB7XG4gIEB0cmFja2VkIHBsdWdpbkVkaXRvclBsdWdpbj86IEV1aU1hcmtkb3duRWRpdG9yVWlQbHVnaW47XG5cbiAgLy8gRGVmYXVsdHNcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UGFyc2luZ1BsdWdpbnMpIGRlY2xhcmUgcGFyc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UGFyc2luZ1BsdWdpbnM7XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcigyNTApIGRlY2xhcmUgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoNTAwKSBkZWNsYXJlIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKHRydWUpIGRlY2xhcmUgYXV0b0V4cGFuZFByZXZpZXc6IGJvb2xlYW47XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnMpIGRlY2xhcmUgcHJvY2Vzc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG5cbiAgQHRyYWNrZWQgc2VsZWN0ZWROb2RlOiBOb2RlIHwgbnVsbCA9IG51bGw7XG4gIEB0cmFja2VkIGVkaXRvcklkID0gdGhpcy5hcmdzLmVkaXRvcklkID8_IGd1aWRGb3Ioe30pO1xuICBAdHJhY2tlZCB2aWV3TW9kZSA9IHRoaXMuYXJncy5pbml0aWFsVmlld01vZGUgfHwgTU9ERV9FRElUSU5HO1xuICBAdHJhY2tlZCB0ZXh0YXJlYVJlZjogSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBwcmV2aWV3UmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBlZGl0b3JUb29sYmFyUmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBjdXJyZW50SGVpZ2h0OiBudW1iZXIgfCBzdHJpbmcgPSAyNTA7XG4gIEB0cmFja2VkIGVkaXRvckZvb3RlckhlaWdodDogbnVtYmVyID0gMDtcbiAgQHRyYWNrZWQgZWRpdG9yVG9vbGJhckhlaWdodDogbnVtYmVyID0gMDtcblxuICBtYXJrZG93bkFjdGlvbnM6IE1hcmtkb3duQWN0aW9ucztcblxuICBnZXQgdG9vbGJhclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtNYXJrZG93blRvb2x0aXBQbHVnaW4ucGx1Z2luLCAuLi4odGhpcy5hcmdzLnVpUGx1Z2lucyB8fCBbXSldO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3duZXI6IHVua25vd24sIGFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yQXJncykge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcbiAgICB0aGlzLm1hcmtkb3duQWN0aW9ucyA9IG5ldyBNYXJrZG93bkFjdGlvbnMoXG4gICAgICB0aGlzLmVkaXRvcklkLFxuICAgICAgdGhpcy50b29sYmFyUGx1Z2luc1xuICAgICk7XG4gICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gIH1cblxuICBnZXQgcHJldmlld0hlaWdodCgpIHtcbiAgICBpZiAodGhpcy5oZWlnaHQgPT09ICdmdWxsJykge1xuICAgICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMuZWRpdG9yRm9vdGVySGVpZ2h0fXB4KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMuY3VycmVudEhlaWdodH1weGA7XG4gIH1cblxuICBnZXQgdGV4dEFyZWFIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVpZ2h0ID09PSAnZnVsbCdcbiAgICAgID8gJzEwMCUnXG4gICAgICA6IGBjYWxjKCR7KHRoaXMuaGVpZ2h0IGFzIG51bWJlcikgLSB0aGlzLmVkaXRvckZvb3RlckhlaWdodH1weClgO1xuICB9XG5cbiAgZ2V0IHRleHRBcmVhTWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmhlaWdodCAhPT0gJ2Z1bGwnXG4gICAgICA_IGAkeyh0aGlzLm1heEhlaWdodCBhcyBudW1iZXIpIC0gdGhpcy5lZGl0b3JGb290ZXJIZWlnaHR9cHhgXG4gICAgICA6ICcnO1xuICB9XG5cbiAgZ2V0IGVkaXRvclRvZ2dsZUNvbnRhaW5lckhlaWdodCgpIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5lZGl0b3JUb29sYmFySGVpZ2h0fXB4KWA7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uUmVzaXplKCkge1xuICAgIGlmICh0aGlzLnRleHRhcmVhUmVmICYmIHRoaXMuaXNFZGl0aW5nICYmIHRoaXMuaGVpZ2h0ICE9PSAnZnVsbCcpIHtcbiAgICAgIGNvbnN0IHJlc2l6ZWRUZXh0YXJlYUhlaWdodCA9XG4gICAgICAgIHRoaXMudGV4dGFyZWFSZWYub2Zmc2V0SGVpZ2h0ICsgdGhpcy5lZGl0b3JGb290ZXJIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9ICgpID0-IHtcbiAgICAgICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gcmVzaXplZFRleHRhcmVhSGVpZ2h0O1xuICAgICAgfTtcblxuICAgICAgc2NoZWR1bGVPbmNlKCdhZnRlclJlbmRlcicsIHRoaXMsIHVwZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICB1cGRhdGVDdXJyZW50SGVpZ2h0KCkge1xuICAgIGxldCB7IGlzUHJldmlld2luZywgYXV0b0V4cGFuZFByZXZpZXcsIGhlaWdodCwgcHJldmlld1JlZiwgY3VycmVudEhlaWdodCB9ID1cbiAgICAgIHRoaXM7XG5cbiAgICBpZiAoaXNQcmV2aWV3aW5nICYmIGF1dG9FeHBhbmRQcmV2aWV3ICYmIGhlaWdodCAhPT0gJ2Z1bGwnICYmIHByZXZpZXdSZWYpIHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgaWYgKHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ID4gY3VycmVudEhlaWdodCkge1xuICAgICAgICAvLyBzY3JvbGxIZWlnaHQgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9yIG1hcmdpblxuICAgICAgICAvLyBzbyB3ZSBhc2sgZm9yIHRoZSBjb21wdXRlZCB2YWx1ZSBmb3IgdGhvc2UsXG4gICAgICAgIC8vIHdoaWNoIGlzIGFsd2F5cyBpbiBwaXhlbHMgYmVjYXVzZSBnZXRDb21wdXRlZFZhbHVlXG4gICAgICAgIC8vIHJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlc1xuICAgICAgICBjb25zdCBlbGVtZW50Q29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHByZXZpZXdSZWYpO1xuICAgICAgICBjb25zdCBib3JkZXJXaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5ib3JkZXJUb3BXaWR0aCkgK1xuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUuYm9yZGVyQm90dG9tV2lkdGgpO1xuICAgICAgICBjb25zdCBtYXJnaW5XaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3ApICtcbiAgICAgICAgICBwYXJzZUZsb2F0KGVsZW1lbnRDb21wdXRlZFN0eWxlLm1hcmdpbkJvdHRvbSk7XG5cbiAgICAgICAgLy8gdGhlbiBhZGQgYW4gZXh0cmEgcGl4ZWwgZm9yIHNhZmV0eSBhbmQgYmVjYXVzZSB0aGUgc2Nyb2xsSGVpZ2h0IHZhbHVlIGlzIHJvdW5kZWRcbiAgICAgICAgY29uc3QgZXh0cmFIZWlnaHQgPSBib3JkZXJXaWR0aCArIG1hcmdpbldpZHRoICsgMTtcblxuICAgICAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ICsgZXh0cmFIZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNjaGVkdWxlT25jZSgnYWZ0ZXJSZW5kZXInLCB0aGlzLCB1cGRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEN1cnNvck5vZGUgPSAoKSA9PiB7fTtcblxuICBAYWN0aW9uXG4gIHNldFRleHRBcmVhUmVmKHJlZjogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgIHRoaXMudGV4dGFyZWFSZWYgPSByZWY7XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldEVkaXRvclRvb2xiYXJSZWYocmVmOiBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJTaWduYXR1cmVbJ0VsZW1lbnQnXSkge1xuICAgIHRoaXMuZWRpdG9yVG9vbGJhclJlZiA9IHJlZjtcbiAgICB0aGlzLmVkaXRvclRvb2xiYXJIZWlnaHQgPSByZWYub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgQGFjdGlvblxuICByZXBsYWNlTm9kZShwb3NpdGlvbjogRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sIG5leHQ6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuYXJncy52YWx1ZTtcbiAgICBjb25zdCBsZWFkaW5nID0gdmFsdWUuc3Vic3RyKDAsIHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCk7XG4gICAgY29uc3QgdHJhaWxpbmcgPSB2YWx1ZS5zdWJzdHIocG9zaXRpb24uZW5kLm9mZnNldCk7XG5cbiAgICB0aGlzLmFyZ3Mub25DaGFuZ2U_LihgJHtsZWFkaW5nfSR7bmV4dH0ke3RyYWlsaW5nfWApO1xuICB9XG5cbiAgZ2V0IGlzRWRpdGluZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9FRElUSU5HO1xuICB9XG5cbiAgZ2V0IGlzUHJldmlld2luZygpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TW9kZSA9PT0gTU9ERV9WSUVXSU5HO1xuICB9XG5cbiAgQGFjdGlvblxuICBzZXRWaWV3TW9kZSgpIHtcbiAgICB0aGlzLnZpZXdNb2RlID0gdGhpcy5pc1ByZXZpZXdpbmcgPyBNT0RFX0VESVRJTkcgOiBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBwYXJzZXIoKSB7XG4gICAgY29uc3QgQ29tcGlsZXIgPSAodHJlZTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gdHJlZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaWRlbnRpdHlDb21waWxlcih0aGlzOiBQcm9jZXNzb3IpIHtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICB0aGlzLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZWQoKS51c2UodGhpcy5wYXJzaW5nUGx1Z2luTGlzdCkudXNlKGlkZW50aXR5Q29tcGlsZXIpO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcGFyc2VkKCk6IFtcbiAgICBSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLnBhcnNlci5wcm9jZXNzU3luYz4gfCBudWxsLFxuICAgIG51bGwgfCB1bmtub3duXG4gIF0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBhcnNlci5wcm9jZXNzU3luYyh0aGlzLmFyZ3MudmFsdWUpO1xuXG4gICAgICByZXR1cm4gW3BhcnNlZCwgbnVsbF07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIFtudWxsLCBlXTtcbiAgICB9XG4gIH1cblxuICBnZXQgdkZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VkWzBdO1xuICB9XG5cbiAgQGFjdGlvblxuICBvblBhcnNlKCkge1xuICAgIGlmICh0aGlzLmFyZ3Mub25QYXJzZSkge1xuICAgICAgY29uc3QgW3BhcnNlZCwgcGFyc2VFcnJvcl0gPSB0aGlzLnBhcnNlZDtcbiAgICAgIGNvbnN0IG9uUGFyc2UgPSB0aGlzLmFyZ3Mub25QYXJzZTtcbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gcGFyc2VkID8gcGFyc2VkLm1lc3NhZ2VzIDogW107XG4gICAgICBjb25zdCBhc3QgPSBwYXJzZWQgPyBwYXJzZWRbJ3Jlc3VsdCddID8_IHBhcnNlZC5jb250ZW50cyA6IG51bGw7XG5cbiAgICAgIG9uUGFyc2UocGFyc2VFcnJvciwgeyBtZXNzYWdlcywgYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0U2VsZWN0ZWROb2RlKG5vZGU6IE5vZGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG4gIH1cblxuICBvcGVuUGx1Z2luRWRpdG9yID0gKHBsdWdpbjogRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpbikgPT4ge1xuICAgIHRoaXMucGx1Z2luRWRpdG9yUGx1Z2luID0gcGx1Z2luO1xuICB9O1xuXG4gIG9uRWRpdG9yUGx1Z2luU2F2ZSA9IChtYXJrZG93bjogYW55LCBjb25maWc6IGFueSkgPT4ge1xuICAgIGxldCB7IHNlbGVjdGVkTm9kZSwgdGV4dGFyZWFSZWYgfSA9IHRoaXM7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnBsdWdpbkVkaXRvclBsdWdpbiAmJlxuICAgICAgc2VsZWN0ZWROb2RlICYmXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBzZWxlY3RlZE5vZGUudHlwZSA9PT0gdGhpcy5wbHVnaW5FZGl0b3JQbHVnaW4ubmFtZSAmJlxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgc2VsZWN0ZWROb2RlLnBvc2l0aW9uXG4gICAgKSB7XG4gICAgICAvLyBtb2RpZnlpbmcgYW4gZXhpc3Rpbmcgbm9kZVxuICAgICAgdGV4dGFyZWFSZWYhLnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHNlbGVjdGVkTm9kZS5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgc2VsZWN0ZWROb2RlLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNyZWF0aW5nIGEgbmV3IG5vZGVcbiAgICAgIGlmIChjb25maWcuYmxvY2spIHtcbiAgICAgICAgLy8gaW5qZWN0IG5ld2xpbmVzIGlmIG5lZWRlZFxuICAgICAgICBtYXJrZG93biA9IHBhZFdpdGhOZXdsaW5lc0lmTmVlZGVkKHRleHRhcmVhUmVmISwgbWFya2Rvd24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGluc2VydFRleHQodGV4dGFyZWFSZWYhLCB7XG4gICAgICB0ZXh0OiBtYXJrZG93bixcbiAgICAgIHNlbGVjdGlvblN0YXJ0OiB1bmRlZmluZWQsXG4gICAgICBzZWxlY3Rpb25FbmQ6IHVuZGVmaW5lZFxuICAgIH0pO1xuXG4gICAgdGhpcy5wbHVnaW5FZGl0b3JQbHVnaW4gPSB1bmRlZmluZWQ7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICBcImV1aU1hcmtkb3duRWRpdG9yXCJcbiAgICAgICAgKGlmIChlcSB0aGlzLmhlaWdodCBcImZ1bGxcIikgXCJldWlNYXJrZG93bkVkaXRvci0tZnVsbEhlaWdodFwiKVxuICAgICAgICAoaWYgdGhpcy5pc1ByZXZpZXdpbmcgXCJldWlNYXJrZG93bkVkaXRvci0taXNQcmV2aWV3aW5nXCIpXG4gICAgICB9fVxuICAgICAge3tkaWRVcGRhdGVcbiAgICAgICAgdGhpcy51cGRhdGVDdXJyZW50SGVpZ2h0XG4gICAgICAgIHRoaXMuY3VycmVudEhlaWdodFxuICAgICAgICB0aGlzLmlzUHJldmlld2luZ1xuICAgICAgICB0aGlzLmhlaWdodFxuICAgICAgICB0aGlzLmF1dG9FeHBhbmRQcmV2aWV3XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJcbiAgICAgICAgQHNlbGVjdGVkTm9kZT17e3RoaXMuc2VsZWN0ZWROb2RlfX1cbiAgICAgICAgQG1hcmtkb3duQWN0aW9ucz17e3RoaXMubWFya2Rvd25BY3Rpb25zfX1cbiAgICAgICAgQG9uQ2xpY2tQcmV2aWV3PXt7dGhpcy5zZXRWaWV3TW9kZX19XG4gICAgICAgIEBvcGVuUGx1Z2luRWRpdG9yPXt7dGhpcy5vcGVuUGx1Z2luRWRpdG9yfX1cbiAgICAgICAgQHZpZXdNb2RlPXt7dGhpcy52aWV3TW9kZX19XG4gICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5zZXRFZGl0b3JUb29sYmFyUmVmfX1cbiAgICAgIC8-XG4gICAgICB7eyNpZiB0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yUHJldmlld1wiXG4gICAgICAgICAge3tkaWRJbnNlcnQgKHNldCB0aGlzIFwicHJldmlld1JlZlwiKX19XG4gICAgICAgICAge3tzdHlsZSAoaGFzaCBoZWlnaHQ9dGhpcy5wcmV2aWV3SGVpZ2h0KX19XG4gICAgICAgID5cbiAgICAgICAgICA8RXVpTWFya2Rvd25Gb3JtYXRcbiAgICAgICAgICAgIEBwYXJzaW5nUGx1Z2luTGlzdD17e3RoaXMucGFyc2luZ1BsdWdpbkxpc3R9fVxuICAgICAgICAgICAgQHByb2Nlc3NpbmdQbHVnaW5MaXN0PXt7dGhpcy5wcm9jZXNzaW5nUGx1Z2luTGlzdH19XG4gICAgICAgICAgICBAdmFsdWU9e3tAdmFsdWV9fVxuICAgICAgICAgICAgQHJlcGxhY2VOb2RlPXt7dGhpcy5yZXBsYWNlTm9kZX19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY-XG4gICAgICB7ey9pZn19XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvcl9fdG9nZ2xlQ29udGFpbmVyXCJcbiAgICAgICAge3tzdHlsZSBoZWlnaHQ9dGhpcy5lZGl0b3JUb2dnbGVDb250YWluZXJIZWlnaHR9fVxuICAgICAgPlxuICAgICAgICA8RXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZVxuICAgICAgICAgIEB1aVBsdWdpbnM9e3t0aGlzLnRvb2xiYXJQbHVnaW5zfX1cbiAgICAgICAgICB7e3Jlc2l6ZU9ic2VydmVyIG9uUmVzaXplPXRoaXMub25SZXNpemV9fVxuICAgICAgICA-XG4gICAgICAgICAgPEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFcbiAgICAgICAgICAgIHt7Z2V0Q3Vyc29yTm9kZU1vZGlmaWVyIHRoaXMudkZpbGUgdGhpcy5zZXRTZWxlY3RlZE5vZGV9fVxuICAgICAgICAgICAge3tkaWRVcGRhdGUgdGhpcy5vblBhcnNlIHRoaXMucGFyc2VkfX1cbiAgICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuc2V0VGV4dEFyZWFSZWZ9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fVxuICAgICAgICAgICAgaWQ9e3t0aGlzLmVkaXRvcklkfX1cbiAgICAgICAgICAgIEBoZWlnaHQ9e3t0aGlzLnRleHRBcmVhSGVpZ2h0fX1cbiAgICAgICAgICAgIEBtYXhIZWlnaHQ9e3t0aGlzLnRleHRBcmVhTWF4SGVpZ2h0fX1cbiAgICAgICAgICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3tAYXJpYUxhYmVsfX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17e0BhcmlhTGFiZWxsZWRCeX19XG4gICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt7QGFyaWFEZXNjcmliZWRCeX19XG4gICAgICAgICAgICB7e29uIFwiaW5wdXRcIiAocGljayBcInRhcmdldC52YWx1ZVwiIEBvbkNoYW5nZSl9fVxuICAgICAgICAgICAge3t2YWxpZGF0YWJsZUNvbnRyb2wgQGlzSW52YWxpZH19XG4gICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9FdWlNYXJrZG93bkVkaXRvckRyb3Bab25lPlxuICAgICAgICB7eyNpZiB0aGlzLnBsdWdpbkVkaXRvclBsdWdpbi5lZGl0b3J9fVxuICAgICAgICAgIDxFdWlNb2RhbCBAb25DbG9zZT17e3NldCB0aGlzIFwicGx1Z2luRWRpdG9yUGx1Z2luXCIgdW5kZWZpbmVkfX0-XG4gICAgICAgICAgICB7eyNsZXQgKGNvbXBvbmVudCB0aGlzLnBsdWdpbkVkaXRvclBsdWdpbi5lZGl0b3IpIGFzIHxFZGl0b3J8fX1cbiAgICAgICAgICAgICAgPEVkaXRvclxuICAgICAgICAgICAgICAgIEBub2RlPXt7dGhpcy5zZWxlY3RlZE5vZGV9fVxuICAgICAgICAgICAgICAgIEBvbkNhbmNlbD17e3NldCB0aGlzIFwicGx1Z2luRWRpdG9yUGx1Z2luXCIgdW5kZWZpbmVkfX1cbiAgICAgICAgICAgICAgICBAb25TYXZlPXt7dGhpcy5vbkVkaXRvclBsdWdpblNhdmV9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAge3svbGV0fX1cbiAgICAgICAgICA8L0V1aU1vZGFsPlxuICAgICAgICB7ey9pZn19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE1BQU0sRUFBRSxPQUFPLFFBQVEsb0JBQW9CO0FBQ3BELFNBQVMsSUFBSSxRQUFRLGdCQUFnQjtBQUNyQyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFDckMsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsT0FBTyxRQUFRLDBCQUEwQjtBQUNsRCxPQUFPLGVBQWUsK0NBQStDO0FBQ3JFLE9BQU8sZUFBZSwrQ0FBK0M7QUFDckUsU0FBUyxZQUFZLFFBQVEsaUJBQWlCO0FBRTlDLE9BQU8sVUFBVSx3Q0FBd0M7QUFDekQsU0FBUyxRQUFRLFFBQVEsaUJBQWlCO0FBQzFDLE9BQU8sU0FBUywrQkFBK0I7QUFDL0MsT0FBTyxXQUFXLHVDQUF1QztBQUN6RCxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsT0FBTyxhQUFhLFVBQVU7QUFFOUIsU0FBUyxxQkFBcUIsUUFBUSwrQkFBK0I7QUFDckUsT0FBTyxnQkFBZ0IsNEJBQTRCO0FBQ25ELE9BQU8sb0JBQW9CLGtDQUFrQztBQUM3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"],"names":["cached","macroCondition","dependencySatisfies","importSync","getCursorNode","textareaRef1","parsed1","selectionStart","selectionStart1","node1","result","contents","outer","children","i1","length","child1","position","start","offset","end","type","wrapper","textarea1","callback1","getCursorNodeModifier","modifier","getCursorNodeModifier1","onSelectedNode1","fn1","bind","addEventListener","removeEventListener","isNewLine","char1","match","padWithNewlinesIfNeeded","text1","selectionEnd1","selectionEnd","isPrevNewLine1","value","isPrevPrevNewLine1","isNextNewLine1","EuiMarkdownEditorComponent","Component","g","this","prototype","tracked","i","void 0","argOrDefaultDecorator","defaultParsingPlugins","defaultProcessingPlugins","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner1","args1","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","textareaRef","isEditing","resizedTextareaHeight1","offsetHeight","update1","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","isPreviewing1","autoExpandPreview","autoExpandPreview1","height1","previewRef","previewRef1","currentHeight1","scrollHeight","elementComputedStyle1","window","getComputedStyle","borderWidth1","parseFloat","borderTopWidth","borderBottomWidth","marginWidth1","marginTop","marginBottom","extraHeight1","setTextAreaRef","ref1","setEditorToolbarRef","editorToolbarRef","replaceNode","position1","next1","value1","leading1","substr","trailing1","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","parsingPluginList","parsed","processSync","e1","vFile","onParse","parseError1","onParse1","messages1","messages","ast1","ast","setSelectedNode","selectedNode","openPluginEditor","plugin1","pluginEditorPlugin","onEditorPluginSave","markdown1","config1","selectedNode1","name","setSelectionRange","block","insertText","text","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl","EuiModal"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-types.js","sources":["../../../src/utils/markdown/markdown-types.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport type { IconType } from '../../components/eui-icon';\nimport type Component from '@glimmer/component';\nimport type { ComponentLike } from '@glint/template';\nimport type { Parser } from 'remark-parse';\n//@ts-expect-error\nimport type { Node as UnistNode, Position as UnistPosition } from 'unist';\nimport type { VFile } from 'vfile';\nimport type { VFileMessage } from 'vfile-message';\n\nexport interface RemarkParser {\n Parser: typeof Parser;\n //eslint-disable-next-line\n tokenizeInline: Function;\n file: VFile;\n}\nexport interface RemarkTokenizer {\n (\n this: RemarkParser,\n //eslint-disable-next-line\n eat: Function & { now: Function },\n value: string,\n silent: boolean\n ): boolean | void;\n\n locator?: (value: string, fromIndex: number) => number;\n\n notInLink?: boolean;\n}\nexport interface RehypeNode extends EuiMarkdownAstNode {\n [index: string]: unknown;\n tagName: string;\n children?: RehypeNode[];\n value: string;\n type: string;\n}\ntype RemarkRehypeHandlerCallback = (\n node: UnistPosition,\n tagName: string,\n props: Record<string, unknown>,\n children: RehypeNode[]\n) => RehypeNode;\nexport type RemarkRehypeHandler = (\n h: RemarkRehypeHandlerCallback,\n node: UnistNode\n) => RehypeNode;\n\nexport interface EuiMarkdownEditorUiPluginEditorProps<NodeShape> {\n node: NodeShape | null;\n onCancel: () => void;\n onSave: (markdown: string, config: EuiMarkdownStringTagConfig) => void;\n}\n\nexport const isPluginWithImmediateFormatting = (\n x: PluginWithImmediateFormatting | PluginWithDelayedFormatting<any>\n): x is PluginWithImmediateFormatting => {\n return x.hasOwnProperty('formatting');\n};\n\nexport interface PluginWithImmediateFormatting {\n formatting: EuiMarkdownFormatting;\n editor?: never;\n}\n\nexport interface PluginWithDelayedFormatting<T> {\n formatting?: never;\n editor: T;\n}\n\nexport type EuiMarkdownEditorUiPlugin<NodeShape = any> = {\n name: string;\n button: {\n label: string;\n iconType: IconType;\n };\n helpText?: Component;\n} & (PluginWithImmediateFormatting | PluginWithDelayedFormatting<NodeShape>);\n\nexport interface EuiMarkdownFormatting {\n prefix?: string;\n suffix?: string;\n blockPrefix?: string;\n blockSuffix?: string;\n multiline?: boolean;\n replaceNext?: string;\n prefixSpace?: boolean;\n scanFor?: string;\n surroundWithNewlines?: boolean;\n orderedList?: boolean;\n trimFirst?: boolean;\n}\n\nexport interface EuiMarkdownAstNode {\n type: string;\n children?: EuiMarkdownAstNode[];\n position: EuiMarkdownAstNodePosition;\n properties: {\n [index: string]: unknown;\n componentName?: ComponentLike;\n className?: string[];\n \n };\n}\nexport interface EuiMarkdownAstNodePosition {\n start: { line: number; column: number; offset: number };\n end: { line: number; column: number; offset: number };\n}\n\nexport type EuiMarkdownParseError = string | VFileMessage | Error;\n\nexport interface EuiMarkdownDropHandler {\n supportedFiles: string[];\n accepts: (itemType: string) => boolean;\n getFormattingForItem: (\n file: File\n ) => EuiMarkdownDragAndDropResult | Promise<EuiMarkdownDragAndDropResult>;\n}\n\nexport interface EuiMarkdownStringTagConfig {\n block: boolean;\n}\n\nexport interface EuiMarkdownDragAndDropResult {\n text: string;\n config: EuiMarkdownStringTagConfig;\n}\n"],"names":["isPluginWithImmediateFormatting","x","hasOwnProperty"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAgDaA,MAAAA,+BAA+B,GAC1CC,CAAmE,IAC5B;AACvC,EAAA,OAAOA,CAAC,CAACC,cAAc,CAAC,YAAY,CAAC,CAAA;AACvC;;;;"}
|
|
1
|
+
{"version":3,"file":"markdown-types.js","sources":["../../../src/utils/markdown/markdown-types.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport type { IconType } from '../../components/eui-icon';\nimport type Component from '@glimmer/component';\nimport type { ComponentLike } from '@glint/template';\nimport type { Parser } from 'remark-parse';\n//@ts-expect-error\nimport type { Node as UnistNode, Position as UnistPosition } from 'unist';\nimport type { VFile } from 'vfile';\nimport type { VFileMessage } from 'vfile-message';\n\nexport interface RemarkParser {\n Parser: typeof Parser;\n //eslint-disable-next-line\n tokenizeInline: Function;\n file: VFile;\n}\nexport interface RemarkTokenizer {\n (\n this: RemarkParser,\n //eslint-disable-next-line\n eat: Function & { now: Function },\n value: string,\n silent: boolean\n ): boolean | void;\n\n locator?: (value: string, fromIndex: number) => number;\n\n notInLink?: boolean;\n}\nexport interface RehypeNode extends EuiMarkdownAstNode {\n [index: string]: unknown;\n tagName: string;\n children?: RehypeNode[];\n value: string;\n type: string;\n}\ntype RemarkRehypeHandlerCallback = (\n node: UnistPosition,\n tagName: string,\n props: Record<string, unknown>,\n children: RehypeNode[]\n) => RehypeNode;\nexport type RemarkRehypeHandler = (\n h: RemarkRehypeHandlerCallback,\n node: UnistNode\n) => RehypeNode;\n\nexport interface EuiMarkdownEditorUiPluginEditorProps<NodeShape> {\n node: NodeShape | null;\n onCancel: () => void;\n onSave: (markdown: string, config: EuiMarkdownStringTagConfig) => void;\n}\n\nexport const isPluginWithImmediateFormatting = (\n x: PluginWithImmediateFormatting | PluginWithDelayedFormatting<any>\n): x is PluginWithImmediateFormatting => {\n return x.hasOwnProperty('formatting');\n};\n\nexport interface PluginWithImmediateFormatting {\n formatting: EuiMarkdownFormatting;\n editor?: never;\n}\n\nexport interface PluginWithDelayedFormatting<T> {\n formatting?: never;\n editor: T;\n}\n\nexport type EuiMarkdownEditorUiPlugin<NodeShape = any> = {\n name: string;\n button: {\n label: string;\n iconType: IconType;\n };\n helpText?: Component | string;\n} & (PluginWithImmediateFormatting | PluginWithDelayedFormatting<NodeShape>);\n\nexport interface EuiMarkdownFormatting {\n prefix?: string;\n suffix?: string;\n blockPrefix?: string;\n blockSuffix?: string;\n multiline?: boolean;\n replaceNext?: string;\n prefixSpace?: boolean;\n scanFor?: string;\n surroundWithNewlines?: boolean;\n orderedList?: boolean;\n trimFirst?: boolean;\n}\n\nexport interface EuiMarkdownAstNode {\n type: string;\n children?: EuiMarkdownAstNode[];\n position: EuiMarkdownAstNodePosition;\n properties: {\n [index: string]: unknown;\n componentName?: ComponentLike;\n className?: string[];\n \n };\n}\nexport interface EuiMarkdownAstNodePosition {\n start: { line: number; column: number; offset: number };\n end: { line: number; column: number; offset: number };\n}\n\nexport type EuiMarkdownParseError = string | VFileMessage | Error;\n\nexport interface EuiMarkdownDropHandler {\n supportedFiles: string[];\n accepts: (itemType: string) => boolean;\n getFormattingForItem: (\n file: File\n ) => EuiMarkdownDragAndDropResult | Promise<EuiMarkdownDragAndDropResult>;\n}\n\nexport interface EuiMarkdownStringTagConfig {\n block: boolean;\n}\n\nexport interface EuiMarkdownDragAndDropResult {\n text: string;\n config: EuiMarkdownStringTagConfig;\n}\n"],"names":["isPluginWithImmediateFormatting","x","hasOwnProperty"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAgDaA,MAAAA,+BAA+B,GAC1CC,CAAmE,IAC5B;AACvC,EAAA,OAAOA,CAAC,CAACC,cAAc,CAAC,YAAY,CAAC,CAAA;AACvC;;;;"}
|