@covalent/code-editor 11.5.9 → 11.5.10

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.
@@ -588,7 +588,7 @@ class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
588
588
  multi: true,
589
589
  },
590
590
  ]), i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [["editorContainer", ""], [1, "editor-container"]], template: function TdCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
591
- i0.ɵɵelement(0, "div", 1, 0);
591
+ i0.ɵɵdomElement(0, "div", 1, 0);
592
592
  } }, styles: ["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .editor-container[_ngcontent-%COMP%]{position:absolute;inset:0} .monaco-aria-container{display:none}"] });
593
593
  }
594
594
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdCodeEditorComponent, [{
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-code-editor.mjs","sources":["../tmp-esm2022/lib/editor.theme.js","../tmp-esm2022/lib/code-editor.component.js","../tmp-esm2022/lib/code-editor.module.js","../tmp-esm2022/covalent-code-editor.js"],"sourcesContent":["import * as tokens from '@covalent/tokens';\nexport const covalentThemeName = 'tdaa-lite';\nexport const covalentThemeConf = {\n base: 'vs',\n inherit: true,\n rules: [\n { token: '', foreground: '212121', background: 'f5f5f5' },\n { token: 'invalid', foreground: 'b71c1c' },\n { token: 'keyword', foreground: '3b78e7' },\n { token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },\n { token: 'comment', foreground: '0d904f' },\n { token: 'string.sql', foreground: '0d904f' },\n { token: 'number', foreground: 'E74C3C' },\n { token: 'key', foreground: '863B00' },\n { token: 'string.key.json', foreground: '0d904f' },\n { token: 'string.value.json', foreground: '0d904f' },\n { token: 'predefined', foreground: 'ec407a' },\n { token: 'predefined.sql', foreground: 'ec407a' },\n { token: 'delimiter', foreground: '000000' },\n { token: 'delimiter.html', foreground: '383838' },\n { token: 'delimiter.xml', foreground: '3b78e7' },\n { token: 'tag', foreground: '3b78e7' },\n { token: 'tag.id.jade', foreground: '4F76AC' },\n { token: 'tag.class.jade', foreground: '4F76AC' },\n { token: 'meta.scss', foreground: '800000' },\n { token: 'metatag', foreground: 'e00000' },\n { token: 'metatag.content.html', foreground: 'FF0000' },\n { token: 'metatag.html', foreground: '808080' },\n { token: 'metatag.xml', foreground: '808080' },\n { token: 'metatag.php', fontStyle: 'bold' },\n { token: 'attribute.name', foreground: '9c27b0' },\n { token: 'attribute.value', foreground: '0451A5' },\n { token: 'attribute.value.number', foreground: '09885A' },\n { token: 'attribute.value.unit', foreground: '09885A' },\n { token: 'attribute.value.html', foreground: '0000FF' },\n { token: 'attribute.value.xml', foreground: '0d904f' },\n { token: 'arbitration-variable', foreground: '006D90' },\n { token: 'arbitration-variable.invalid', foreground: 'b71c1c' },\n { token: 'operator.scss', foreground: '666666' },\n { token: 'operator', foreground: '778899' },\n ],\n colors: {\n comment: '388e3c',\n 'editor.foreground': 'ff0000',\n 'editor.background': '#f5f5f5',\n 'editorLineNumber.activeForeground': '#707070',\n 'editorLineNumber.foreground': '#b7b7b7',\n 'editor.lineHighlightBackground': '#ebebeb',\n 'inputValidation.errorBackground': '#b71c1c',\n 'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',\n },\n};\nconst getTheme = (theme) => {\n return {\n base: theme === 'Light' ? 'vs' : 'vs-dark',\n inherit: true,\n rules: [\n {\n token: '',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n background: tokens[`Cv${theme}Surface`],\n },\n {\n token: 'arbitration-variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'arbitration-variable.invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n {\n token: 'attribute.name',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.unit',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.html',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'attribute.value.xml',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'builtins',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'class',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'comment',\n foreground: tokens[`Cv${theme}CodeSnippetComment`],\n fontStyle: 'italic',\n },\n {\n token: 'constant',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'delimiter',\n foreground: tokens[`CvTheme${theme}ColorsOnSurface`],\n },\n {\n token: 'delimiter.html',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'delimiter.xml',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'doctag',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'emphasis',\n fontStyle: 'italic',\n },\n {\n token: 'formula',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'function',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n { token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },\n {\n token: 'keyword',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'keyword.json',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'bold italic',\n },\n {\n token: 'link',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'underline',\n },\n {\n token: 'literal',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'meta',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'operator',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n { token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },\n {\n token: 'predefined.sql',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'predefined.python',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'punctuation',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n },\n {\n token: 'string',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.sql',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.key.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.value.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'strong',\n fontStyle: 'bold',\n },\n {\n token: 'tag',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'tag.id.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'tag.class.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'type',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n ],\n colors: {\n comment: tokens[`Cv${theme}CodeSnippetComment`],\n 'editor.background': tokens[`Cv${theme}Surface`],\n 'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],\n 'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],\n 'editorLineNumber.activeForeground': tokens[`CvTheme${theme}ColorsOnSurface74`],\n 'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],\n 'editor.lineHighlightBackground': tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],\n 'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],\n 'inputValidation.errorBorder': tokens[`CvTheme${theme}PalettesNegative95`],\n },\n };\n};\n// Any changes to these themes should also be reflected in the components/code-editor theme.\nexport const cvEditorDarkTheme = getTheme('Dark');\nexport const cvEditorLightTheme = getTheme('Light');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvZWRpdG9yLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixLQUFLLEVBQUU7UUFDTCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3pELEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7UUFDekUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDMUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDN0MsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFFekMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtRQUNsRCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3BELEVBQUUsS0FBSyxFQUFFLFlB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VSxLQUFLLG1CQUFtQixDQUFDO1lBQzVDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxVQUFVLEtBQUssbUJBQW1CLENBQUM7WUFDekUsZ0NBQWdDLEVBQzlCLE1BQU0sQ0FBQyxVQUFVLEtBQUssMkJBQTJCLENBQUM7WUFDcEQsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7WUFDL0QsNkJBQTZCLEVBQzNCLE1BQU0sQ0FBQyxVQUFVLEtBQUssb0JBQW9CLENBQUM7U0FDOUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsNEZBQTRGO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0b2tlbnMgZnJvbSAnQGNvdmFsZW50L3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBjb3ZhbGVudFRoZW1lTmFtZSA9ICd0ZGFhLWxpdGUnO1xuXG5leHBvcnQgY29uc3QgY292YWxlbnRUaGVtZUNvbmYgPSB7XG4gIGJhc2U6ICd2cycsXG4gIGluaGVyaXQ6IHRydWUsXG4gIHJ1bGVzOiBbXG4gICAgeyB0b2tlbjogJycsIGZvcmVncm91bmQ6ICcyMTIxMjEnLCBiYWNrZ3JvdW5kOiAnZjVmNWY1JyB9LFxuICAgIHsgdG9rZW46ICdpbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcbiAgICB7IHRva2VuOiAna2V5d29yZCcsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ2tleXdvcmQuanNvbicsIGZvcmVncm91bmQ6ICdlYzQwN2EnLCBmb250U3R5bGU6ICdib2xkIGl0YWxpYycgfSxcbiAgICB7IHRva2VuOiAnY29tbWVudCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5zcWwnLCBmb3JlZ3JvdW5kOiAnMGQ5MDRmJyB9LFxuICAgIHsgdG9rZW46ICdudW1iZXInLCBmb3JlZ3JvdW5kOiAnRTc0QzNDJyB9LFxuXG4gICAgeyB0b2tlbjogJ2tleScsIGZvcmVncm91bmQ6ICc4NjNCMDAnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJywgZm9yZWdyb3VuZDogJzBkOTA0ZicgfSxcbiAgICB7IHRva2VuOiAncHJlZGVmaW5lZCcsIGZvcmVncm91bmQ6ICdlYzQwN2EnIH0sXG4gICAgeyB0b2tlbjogJ3ByZWRlZmluZWQuc3FsJywgZm9yZWdyb3VuZDogJ2VjNDA3YScgfSxcblxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXInLCBmb3JlZ3JvdW5kOiAnMDAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXIuaHRtbCcsIGZvcmVncm91bmQ6ICczODM4MzgnIH0sXG4gICAgeyB0b2tlbjogJ2RlbGltaXRlci54bWwnLCBmb3JlZ3JvdW5kOiAnM2I3OGU3JyB9LFxuXG4gICAgeyB0b2tlbjogJ3RhZycsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ3RhZy5pZC5qYWRlJywgZm9yZWdyb3VuZDogJzRGNzZBQycgfSxcbiAgICB7IHRva2VuOiAndGFnLmNsYXNzLmphZGUnLCBmb3JlZ3JvdW5kOiAnNEY3NkFDJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhLnNjc3MnLCBmb3JlZ3JvdW5kOiAnODAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnJywgZm9yZWdyb3VuZDogJ2UwMDAwMCcgfSxcbiAgICB7IHRva2VuOiAnbWV0YXRhZy5jb250ZW50Lmh0bWwnLCBmb3JlZ3JvdW5kOiAnRkYwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLmh0bWwnLCBmb3JlZ3JvdW5kOiAnODA4MDgwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLnhtbCcsIGZvcmVncm91bmQ6ICc4MDgwODAnIH0sXG4gICAgeyB0b2tlbjogJ21ldGF0YWcucGhwJywgZm9udFN0eWxlOiAnYm9sZCcgfSxcblxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUubmFtZScsIGZvcmVncm91bmQ6ICc5YzI3YjAnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZScsIGZvcmVncm91bmQ6ICcwNDUxQTUnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLCBmb3JlZ3JvdW5kOiAnMDk4ODVBJyB9LFxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUudW5pdCcsIGZvcmVncm91bmQ6ICcwOTg4NUEnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5odG1sJywgZm9yZWdyb3VuZDogJzAwMDBGRicgfSxcbiAgICB7IHRva2VuOiAnYXR0cmlidXRlLnZhbHVlLnhtbCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG5cbiAgICB7IHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUnLCBmb3JlZ3JvdW5kOiAnMDA2RDkwJyB9LFxuICAgIHsgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZS5pbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcblxuICAgIHsgdG9rZW46ICdvcGVyYXRvci5zY3NzJywgZm9yZWdyb3VuZDogJzY2NjY2NicgfSxcbiAgICB7IHRva2VuOiAnb3BlcmF0b3InLCBmb3JlZ3JvdW5kOiAnNzc4ODk5JyB9LFxuICBdLFxuICBjb2xvcnM6IHtcbiAgICBjb21tZW50OiAnMzg4ZTNjJyxcbiAgICAnZWRpdG9yLmZvcmVncm91bmQnOiAnZmYwMDAwJyxcbiAgICAnZWRpdG9yLmJhY2tncm91bmQnOiAnI2Y1ZjVmNScsXG4gICAgJ2VkaXRvckxpbmVOdW1iZXIuYWN0aXZlRm9yZWdyb3VuZCc6ICcjNzA3MDcwJyxcbiAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogJyNiN2I3YjcnLFxuICAgICdlZGl0b3IubGluZUhpZ2hsaWdodEJhY2tncm91bmQnOiAnI2ViZWJlYicsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiAnI2I3MWMxYycsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6ICdyZ2JhKDIyOSwgMTE1LCAxMTUsIDAuMSknLFxuICB9LFxufTtcblxuY29uc3QgZ2V0VGhlbWUgPSAodGhlbWU6ICdMaWdodCcgfCAnRGFyaycpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlOiB0aGVtZSA9PT0gJ0xpZ2h0JyA/ICd2cycgOiAndnMtZGFyaycsXG4gICAgaW5oZXJpdDogdHJ1ZSxcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICB0b2tlbjogJycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgICAgYmFja2dyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUuaW52YWxpZCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfU5lZ2F0aXZlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS5uYW1lJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS51bml0JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUuaHRtbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS54bWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYnVpbHRpbnMnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NsYXNzJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdjb21tZW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDb21tZW50YF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ2l0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NvbnN0YW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRMaXRlcmFsYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzT25TdXJmYWNlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlci5odG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkZWxpbWl0ZXIueG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkb2N0YWcnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZW1waGFzaXMnLFxuICAgICAgICBmb250U3R5bGU6ICdpdGFsaWMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdmb3JtdWxhJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRLZXl3b3JkYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2Z1bmN0aW9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdpbnZhbGlkJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9TmVnYXRpdmVgXSxcbiAgICAgIH0sXG4gICAgICB7IHRva2VuOiAna2V5JywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2tleXdvcmQnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAna2V5d29yZC5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgICBmb250U3R5bGU6ICdib2xkIGl0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpbmsnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpdGVyYWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbWV0YScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VGl0bGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbnVtYmVyJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdvcGVyYXRvcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0TGl0ZXJhbGBdLFxuICAgICAgfSxcbiAgICAgIHsgdG9rZW46ICdwcmVkZWZpbmVkJywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAncHJlZGVmaW5lZC5zcWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3ByZWRlZmluZWQucHl0aG9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdwdW5jdHVhdGlvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nLnNxbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3Ryb25nJyxcbiAgICAgICAgZm9udFN0eWxlOiAnYm9sZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U2VsZWN0b3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAndGFnLmlkLmphZGUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZy5jbGFzcy5qYWRlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd0eXBlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd2YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2xvcnM6IHtcbiAgICAgIGNvbW1lbnQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29tbWVudGBdLFxuICAgICAgJ2VkaXRvci5iYWNrZ3JvdW5kJzogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgJ2VkaXRvci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2VgXSxcbiAgICAgICdlZGl0b3JDdXJzb3IuZm9yZWdyb3VuZCc6IHRva2Vuc1tgQ3Yke3RoZW1lfVRleHRTZWNvbmRhcnlPbkJhY2tncm91bmRgXSxcbiAgICAgICdlZGl0b3JMaW5lTnVtYmVyLmFjdGl2ZUZvcmVncm91bmQnOlxuICAgICAgICB0b2tlbnNbYEN2VGhlbWUke3RoZW1lfUNvbG9yc09uU3VyZmFjZTc0YF0sXG4gICAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2UzOGBdLFxuICAgICAgJ2VkaXRvci5saW5lSGlnaGxpZ2h0QmFja2dyb3VuZCc6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzU3VyZmFjZUNvbnRhaW5lckxvd2BdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiB0b2tlbnNbYEN2JHt0aGVtZX1OZWdhdGl2ZWBdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9UGFsZXR0ZXNOZWdhdGl2ZTk1YF0sXG4gICAgfSxcbiAgfTtcbn07XG5cbi8vIEFueSBjaGFuZ2VzIHRvIHRoZXNlIHRoZW1lcyBzaG91bGQgYWxzbyBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbXBvbmVudHMvY29kZS1lZGl0b3IgdGhlbWUuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JEYXJrVGhlbWUgPSBnZXRUaGVtZSgnRGFyaycpO1xuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JMaWdodFRoZW1lID0gZ2V0VGhlbWUoJ0xpZ2h0Jyk7XG4iXX0=","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef, ChangeDetectorRef, NgZone, PLATFORM_ID, inject, } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { of, Subject } from 'rxjs';\nimport { fromEvent, merge, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n// Use esm version to support shipping subset of languages and features\nimport { editor, languages, } from 'monaco-editor/esm/vs/editor/editor.api';\nimport { mixinControlValueAccessor, mixinDisabled, } from '@covalent/core/common';\nimport { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';\nimport * as i0 from \"@angular/core\";\nconst _c0 = [\"editorContainer\"];\nconst noop = () => {\n // empty method\n};\n// counter for ids to allow for multiple editors on one page\nlet uniqueCounter = 0;\nexport class TdCodeEditorBase {\n _changeDetectorRef;\n constructor(_changeDetectorRef) {\n this._changeDetectorRef = _changeDetectorRef;\n }\n}\nexport const _TdCodeEditorMixinBase = mixinControlValueAccessor(mixinDisabled(TdCodeEditorBase), []);\nexport class TdCodeEditorComponent extends _TdCodeEditorMixinBase {\n _elementRef = inject(ElementRef);\n _ngZone = inject(NgZone);\n platformId = inject(PLATFORM_ID);\n _destroy = new Subject();\n _widthSubject = new Subject();\n _heightSubject = new Subject();\n _editorStyle = 'width:100%;height:100%;';\n _value = '';\n _theme = 'cv-light';\n _language = 'javascript';\n _subject = new Subject();\n _editorInnerContainer = 'editorInnerContainer' + uniqueCounter++;\n _editor;\n _fromEditor = false;\n _componentInitialized = false;\n _editorOptions = {};\n _isFullScreen = false;\n _keycode;\n _registeredLanguagesStyles = [];\n _disposables = [];\n _editorContainer;\n /**\n * editorInitialized: function($event)\n * Event emitted when editor is first initialized\n */\n editorInitialized = new EventEmitter();\n /**\n * editorConfigurationChanged: function($event)\n * Event emitted when editor's configuration changes\n */\n editorConfigurationChanged = new EventEmitter();\n /**\n * editorLanguageChanged: function($event)\n * Event emitted when editor's Language changes\n */\n editorLanguageChanged = new EventEmitter();\n /**\n * editorValueChange: function($event)\n * Event emitted any time something changes the editor value\n */\n editorValueChange = new EventEmitter();\n propagateChange = (_) => noop;\n /**\n * value?: string\n */\n set value(value) {\n this._value = value;\n if (this._componentInitialized) {\n this.applyValue();\n }\n }\n get value() {\n return this._value;\n }\n applyValue() {\n if (!this._fromEditor) {\n this._editor.setValue(this._value || '');\n }\n this._fromEditor = false;\n this.propagateChange(this._value);\n this.editorValueChange.emit();\n }\n registerOnChange(fn) {\n this.propagateChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * getEditorContent?: function\n * Returns the content within the editor\n */\n getValue() {\n if (!this._componentInitialized) {\n return of('');\n }\n setTimeout(() => {\n this._subject.next(this._value);\n this._subject.complete();\n this._subject = new Subject();\n });\n return this._subject.asObservable();\n }\n /**\n * language?: string\n * language used in editor\n */\n set language(language) {\n this._language = language;\n if (this._componentInitialized) {\n this.applyLanguage();\n }\n }\n get language() {\n return this._language;\n }\n applyLanguage() {\n if (this._language) {\n editor.setModelLanguage(this._editor.getModel(), this._language);\n this.editorLanguageChanged.emit();\n }\n }\n /**\n * registerLanguage?: function\n * Registers a custom Language within the editor\n */\n registerLanguage(language) {\n if (this._componentInitialized) {\n languages.register({ id: language.id });\n this._disposables.push(languages.setMonarchTokensProvider(language.id, {\n tokenizer: {\n root: language.monarchTokensProvider,\n },\n }));\n // Define a new theme that constains only rules that match this language\n editor.defineTheme(language.customTheme.id, language.customTheme.theme);\n this._theme = language.customTheme.id;\n this._disposables.push(languages.registerCompletionItemProvider(language.id, {\n provideCompletionItems: () => {\n return language.completionItemProvider;\n },\n }));\n const css = document.createElement('style');\n css.type = 'text/css';\n css.innerHTML = language.monarchTokensProviderCSS;\n document.body.appendChild(css);\n this.editorConfigurationChanged.emit();\n this._registeredLanguagesStyles = [\n ...this._registeredLanguagesStyles,\n css,\n ];\n }\n }\n /**\n * style?: string\n * css style of the editor on the page\n */\n set editorStyle(editorStyle) {\n this._editorStyle = editorStyle;\n if (this._componentInitialized) {\n this.applyStyle();\n }\n }\n get editorStyle() {\n return this._editorStyle;\n }\n applyStyle() {\n if (this._editorStyle) {\n const containerDiv = this._editorContainer.nativeElement;\n containerDiv.setAttribute('style', this._editorStyle);\n }\n }\n /**\n * theme?: string\n * Theme to be applied to editor\n */\n set theme(theme) {\n this._theme = theme;\n if (this._componentInitialized) {\n this._editor.updateOptions({ theme });\n this.editorConfigurationChanged.emit();\n }\n }\n get theme() {\n return this._theme;\n }\n /**\n * fullScreenKeyBinding?: number\n * See here for key bindings https://microsoft.github.io/monaco-editor/api/enums/keycode.html\n * Sets the KeyCode for shortcutting to Fullscreen mode\n */\n set fullScreenKeyBinding(keycode) {\n this._keycode = keycode;\n }\n get fullScreenKeyBinding() {\n return this._keycode;\n }\n /**\n * editorOptions?: object\n * Options used on editor instantiation. Available options listed here:\n * https://microsoft.github.io/monaco-editor/api/interfaces/editor.ieditoroptions.html\n */\n set editorOptions(editorOptions) {\n this._editorOptions = editorOptions;\n if (this._componentInitialized) {\n this._editor.updateOptions(editorOptions);\n this.editorConfigurationChanged.emit();\n }\n }\n get editorOptions() {\n return this._editorOptions;\n }\n /**\n * layout method that calls layout method of editor and instructs the editor to remeasure its container\n */\n layout() {\n if (this._componentInitialized) {\n this._editor.layout();\n }\n }\n /**\n * Returns if in Full Screen Mode or not\n */\n get isFullScreen() {\n return this._isFullScreen;\n }\n // tslint:disable-next-line:member-ordering\n constructor() {\n const _changeDetectorRef = inject(ChangeDetectorRef);\n super(_changeDetectorRef);\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n const containerDiv = this._editorContainer.nativeElement;\n containerDiv.id = this._editorInnerContainer;\n // Add teradata branded themes\n editor.defineTheme('cv-light', cvEditorLightTheme);\n editor.defineTheme('cv-dark', cvEditorDarkTheme);\n this._editor = editor.create(containerDiv, Object.assign({\n value: this._value,\n language: this.language,\n theme: this._theme,\n }, this.editorOptions));\n this._componentInitialized = true;\n setTimeout(() => {\n this.applyLanguage();\n this._fromEditor = true;\n this.applyValue();\n this.applyStyle();\n this.editorInitialized.emit(this._editor);\n this.editorConfigurationChanged.emit();\n });\n // The `onDidChangeContent` returns a disposable object (an object with `dispose()` method) which will cleanup\n // the listener. The callback, that we pass to `onDidChangeContent`, captures `this`. This leads to a circular reference\n // (`td-code-editor -> monaco -> td-code-editor`) and prevents the `td-code-editor` from being GC'd.\n this._disposables.push(this._editor.getModel().onDidChangeContent(() => {\n this._fromEditor = true;\n this.writeValue(this._editor.getValue());\n this.layout();\n }));\n this.addFullScreenModeCommand();\n this._ngZone.runOutsideAngular(() => merge(fromEvent(window, 'resize').pipe(debounceTime(100)), this._widthSubject.asObservable().pipe(distinctUntilChanged()), this._heightSubject.asObservable().pipe(distinctUntilChanged()))\n .pipe(debounceTime(100), takeUntil(this._destroy))\n .subscribe(() => {\n // Note: this is being called outside of the Angular zone since we don't have to\n // run change detection whenever the editor resizes itself.\n this.layout();\n }));\n this._ngZone.runOutsideAngular(() => timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n const { width, height } = this._elementRef.nativeElement.getBoundingClientRect();\n this._widthSubject.next(width);\n this._heightSubject.next(height);\n }));\n }\n ngOnDestroy() {\n this._changeDetectorRef.detach();\n this._registeredLanguagesStyles.forEach((style) => style.remove());\n while (this._disposables.length) {\n this._disposables.pop()?.dispose();\n }\n if (this._editor) {\n this._editor.dispose();\n }\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n /**\n * showFullScreenEditor request for full screen of Code Editor based on its browser type.\n */\n showFullScreenEditor() {\n if (this._componentInitialized) {\n const codeEditorElement = this._editorContainer\n .nativeElement;\n codeEditorElement.requestFullscreen();\n }\n this._isFullScreen = true;\n }\n /**\n * exitFullScreenEditor request to exit full screen of Code Editor based on its browser type.\n */\n exitFullScreenEditor() {\n if (this._componentInitialized) {\n document.exitFullscreen();\n }\n this._isFullScreen = false;\n }\n /**\n * addFullScreenModeCommand used to add the fullscreen option to the context menu\n */\n addFullScreenModeCommand() {\n this._disposables.push(this._editor.addAction({\n // An unique identifier of the contributed action.\n id: 'fullScreen',\n // A label of the action that will be presented to the user.\n label: 'Full Screen',\n // An optional array of keybindings for the action.\n contextMenuGroupId: 'navigation',\n keybindings: this._keycode,\n contextMenuOrder: 1.5,\n // Method that will be executed when the action is triggered.\n run: () => {\n this.showFullScreenEditor();\n },\n }));\n }\n static ɵfac = function TdCodeEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdCodeEditorComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdCodeEditorComponent, selectors: [[\"td-code-editor\"]], viewQuery: function TdCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._editorContainer = _t.first);\n } }, inputs: { value: \"value\", language: \"language\", editorStyle: \"editorStyle\", theme: \"theme\", fullScreenKeyBinding: \"fullScreenKeyBinding\", editorOptions: \"editorOptions\" }, outputs: { editorInitialized: \"editorInitialized\", editorConfigurationChanged: \"editorConfigurationChanged\", editorLanguageChanged: \"editorLanguageChanged\", editorValueChange: \"editorValueChange\" }, features: [i0.ɵɵProvidersFeature([\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ]), i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [[\"editorContainer\", \"\"], [1, \"editor-container\"]], template: function TdCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 1, 0);\n } }, styles: [\"[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .editor-container[_ngcontent-%COMP%]{position:absolute;inset:0} .monaco-aria-container{display:none}\"] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdCodeEditorComponent, [{\n type: Component,\n args: [{ selector: 'td-code-editor', providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ], template: \"<div class=\\\"editor-container\\\" #editorContainer></div>\\n\", styles: [\":host{display:block;position:relative}:host .editor-container{position:absolute;inset:0}::ng-deep .monaco-aria-container{display:none}\\n\"] }]\n }], () => [], { _editorContainer: [{\n type: ViewChild,\n args: ['editorContainer', { static: true }]\n }], editorInitialized: [{\n type: Output\n }], editorConfigurationChanged: [{\n type: Output\n }], editorLanguageChanged: [{\n type: Output\n }], editorValueChange: [{\n type: Output\n }], value: [{\n type: Input\n }], language: [{\n type: Input\n }], editorStyle: [{\n type: Input\n }], theme: [{\n type: Input\n }], fullScreenKeyBinding: [{\n type: Input\n }], editorOptions: [{\n type: Input\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdCodeEditorComponent, { className: \"TdCodeEditorComponent\", filePath: \"lib/code-editor.component.ts\", lineNumber: 63 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFFakIsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLHdDQUF3QyxDQUFDO0FBRWhELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV2RSxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7SUFDaEIsZUFBZTtBQUNqQixDQUFDLENBQUM7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LENBQUM7SUFDSixDQUFDOytHQTlZVSxxQkFBcUI7NkRBQXJCLHFCQUFxQjs7Ozs7aWFBUnJCO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUM1REgsNEJBQXFEOzs7aUZEOER4QyxxQkFBcUI7Y0FaakMsU0FBUzsyQkFDRSxnQkFBZ0IsYUFHZjtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7b0JBOEIrQyxnQkFBZ0I7a0JBQS9ELFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBTzlDLGlCQUFpQjtrQkFEaEIsTUFBTTtZQVFHLDBCQUEwQjtrQkFBbkMsTUFBTTtZQU9HLHFCQUFxQjtrQkFBOUIsTUFBTTtZQU9HLGlCQUFpQjtrQkFBMUIsTUFBTTtZQVFNLEtBQUs7a0JBRGpCLEtBQUs7WUFpREYsUUFBUTtrQkFEWCxLQUFLO1lBbUVGLFdBQVc7a0JBRGQsS0FBSztZQXdCRixLQUFLO2tCQURSLEtBQUs7WUFrQkYsb0JBQW9CO2tCQUR2QixLQUFLO1lBY0YsYUFBYTtrQkFEaEIsS0FBSzs7a0ZBdE9LLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uRGVzdHJveSxcbiAgTmdab25lLFxuICBQTEFURk9STV9JRCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFVzZSBlc20gdmVyc2lvbiB0byBzdXBwb3J0IHNoaXBwaW5nIHN1YnNldCBvZiBsYW5ndWFnZXMgYW5kIGZlYXR1cmVzXG5pbXBvcnQge1xuICBlZGl0b3IsXG4gIGxhbmd1YWdlcyxcbiAgSURpc3Bvc2FibGUsXG59IGZyb20gJ21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9lZGl0b3IuYXBpJztcblxuaW1wb3J0IHtcbiAgbWl4aW5Db250cm9sVmFsdWVBY2Nlc3NvcixcbiAgbWl4aW5EaXNhYmxlZCxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvY29tbW9uJztcbmltcG9ydCB7IGN2RWRpdG9yRGFya1RoZW1lLCBjdkVkaXRvckxpZ2h0VGhlbWUgfSBmcm9tICcuL2VkaXRvci50aGVtZSc7XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG4gIC8vIGVtcHR5IG1ldGhvZFxufTtcblxuLy8gY291bnRlciBmb3IgaWRzIHRvIGFsbG93IGZvciBtdWx0aXBsZSBlZGl0b3JzIG9uIG9uZSBwYWdlXG5sZXQgdW5pcXVlQ291bnRlciA9IDA7XG5cbmV4cG9ydCBjbGFzcyBUZENvZGVFZGl0b3JCYXNlIHtcbiAgY29uc3RydWN0b3IocHVibGljIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG59XG5cbmV4cG9ydCBjb25zdCBfVGRDb2RlRWRpdG9yTWl4aW5CYXNlID0gbWl4aW5Db250cm9sVmFsdWVBY2Nlc3NvcihcbiAgbWl4aW5EaXNhYmxlZChUZENvZGVFZGl0b3JCYXNlKSxcbiAgW10sXG4pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1jb2RlLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGRDb2RlRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRkQ29kZUVkaXRvckNvbXBvbmVudFxuICBleHRlbmRzIF9UZENvZGVFZGl0b3JNaXhpbkJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3k6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIF93aWR0aFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfaGVpZ2h0U3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2VkaXRvclN0eWxlID0gJ3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7JztcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBfdGhlbWUgPSAnY3YtbGlnaHQnO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9ICdqYXZhc2NyaXB0JztcbiAgcHJpdmF0ZSBfc3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfZWRpdG9ySW5uZXJDb250YWluZXI6IHN0cmluZyA9XG4gICAgJ2VkaXRvcklubmVyQ29udGFpbmVyJyArIHVuaXF1ZUNvdW50ZXIrKztcbiAgcHJpdmF0ZSBfZWRpdG9yITogZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcjtcbiAgcHJpdmF0ZSBfZnJvbUVkaXRvciA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIF9lZGl0b3JPcHRpb25zOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfaXNGdWxsU2NyZWVuID0gZmFsc2U7XG4gIHByaXZhdGUgX2tleWNvZGU6IGFueTtcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZExhbmd1YWdlc1N0eWxlczogSFRNTFN0eWxlRWxlbWVudFtdID0gW107XG4gIHByaXZhdGUgX2Rpc3Bvc2FibGVzOiBJRGlzcG9zYWJsZVtdID0gW107XG5cbiAgQFZpZXdDaGlsZCgnZWRpdG9yQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgX2VkaXRvckNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIGVkaXRvckluaXRpYWxpemVkOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBlZGl0b3IgaXMgZmlyc3QgaW5pdGlhbGl6ZWRcbiAgICovXG4gIEBPdXRwdXQoKVxuICBlZGl0b3JJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPGVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3I+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3I+KCk7XG5cbiAgLyoqXG4gICAqIGVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBlZGl0b3IncyBjb25maWd1cmF0aW9uIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBlZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIGVkaXRvckxhbmd1YWdlQ2hhbmdlZDogZnVuY3Rpb24oJGV2ZW50KVxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZWRpdG9yJ3MgTGFuZ3VhZ2UgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGVkaXRvckxhbmd1YWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIGVkaXRvclZhbHVlQ2hhbmdlOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgYW55IHRpbWUgc29tZXRoaW5nIGNoYW5nZXMgdGhlIGVkaXRvciB2YWx1ZVxuICAgKi9cbiAgQE91dHB1dCgpIGVkaXRvclZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4gbm9vcDtcblxuICAvKipcbiAgICogdmFsdWU/OiBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5hcHBseVZhbHVlKCk7XG4gICAgfVxuICB9XG4gIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGFwcGx5VmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9mcm9tRWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUgfHwgJycpO1xuICAgIH1cbiAgICB0aGlzLl9mcm9tRWRpdG9yID0gZmFsc2U7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgIHRoaXMuZWRpdG9yVmFsdWVDaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuICBvdmVycmlkZSByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRFZGl0b3JDb250ZW50PzogZnVuY3Rpb25cbiAgICogUmV0dXJucyB0aGUgY29udGVudCB3aXRoaW4gdGhlIGVkaXRvclxuICAgKi9cbiAgZ2V0VmFsdWUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm4gb2YoJycpO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3N1YmplY3QubmV4dCh0aGlzLl92YWx1ZSk7XG4gICAgICB0aGlzLl9zdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9zdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fc3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsYW5ndWFnZT86IHN0cmluZ1xuICAgKiBsYW5ndWFnZSB1c2VkIGluIGVkaXRvclxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5hcHBseUxhbmd1YWdlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlO1xuICB9XG5cbiAgYXBwbHlMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbGFuZ3VhZ2UpIHtcbiAgICAgIGVkaXRvci5zZXRNb2RlbExhbmd1YWdlKFxuICAgICAgICB0aGlzLl9lZGl0b3IuZ2V0TW9kZWwoKSBhcyBlZGl0b3IuSVRleHRNb2RlbCxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICApO1xuICAgICAgdGhpcy5lZGl0b3JMYW5ndWFnZUNoYW5nZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZWdpc3Rlckxhbmd1YWdlPzogZnVuY3Rpb25cbiAgICogUmVnaXN0ZXJzIGEgY3VzdG9tIExhbmd1YWdlIHdpdGhpbiB0aGUgZWRpdG9yXG4gICAqL1xuICByZWdpc3Rlckxhbmd1YWdlKGxhbmd1YWdlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGxhbmd1YWdlcy5yZWdpc3Rlcih7IGlkOiBsYW5ndWFnZS5pZCB9KTtcblxuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgICAgbGFuZ3VhZ2VzLnNldE1vbmFyY2hUb2tlbnNQcm92aWRlcihsYW5ndWFnZS5pZCwge1xuICAgICAgICAgIHRva2VuaXplcjoge1xuICAgICAgICAgICAgcm9vdDogbGFuZ3VhZ2UubW9uYXJjaFRva2Vuc1Byb3ZpZGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgLy8gRGVmaW5lIGEgbmV3IHRoZW1lIHRoYXQgY29uc3RhaW5zIG9ubHkgcnVsZXMgdGhhdCBtYXRjaCB0aGlzIGxhbmd1YWdlXG4gICAgICBlZGl0b3IuZGVmaW5lVGhlbWUobGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQsIGxhbmd1YWdlLmN1c3RvbVRoZW1lLnRoZW1lKTtcbiAgICAgIHRoaXMuX3RoZW1lID0gbGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQ7XG5cbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAgIGxhbmd1YWdlcy5yZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIobGFuZ3VhZ2UuaWQsIHtcbiAgICAgICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2UuY29tcGxldGlvbkl0ZW1Qcm92aWRlcjtcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNzczogSFRNTFN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICBjc3MudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICBjc3MuaW5uZXJIVE1MID0gbGFuZ3VhZ2UubW9uYXJjaFRva2Vuc1Byb3ZpZGVyQ1NTO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjc3MpO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzID0gW1xuICAgICAgICAuLi50aGlzLl9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzLFxuICAgICAgICBjc3MsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzdHlsZT86IHN0cmluZ1xuICAgKiBjc3Mgc3R5bGUgb2YgdGhlIGVkaXRvciBvbiB0aGUgcGFnZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGVkaXRvclN0eWxlKGVkaXRvclN0eWxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9lZGl0b3JTdHlsZSA9IGVkaXRvclN0eWxlO1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5hcHBseVN0eWxlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVkaXRvclN0eWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvclN0eWxlO1xuICB9XG5cbiAgYXBwbHlTdHlsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZWRpdG9yU3R5bGUpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckRpdjogSFRNTERpdkVsZW1lbnQgPSB0aGlzLl9lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnRhaW5lckRpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdGhpcy5fZWRpdG9yU3R5bGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0aGVtZT86IHN0cmluZ1xuICAgKiBUaGVtZSB0byBiZSBhcHBsaWVkIHRvIGVkaXRvclxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aGVtZSA9IHRoZW1lO1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLnVwZGF0ZU9wdGlvbnMoeyB0aGVtZSB9KTtcbiAgICAgIHRoaXMuZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuICBnZXQgdGhlbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XG4gIH1cblxuICAvKipcbiAgICogZnVsbFNjcmVlbktleUJpbmRpbmc/OiBudW1iZXJcbiAgICogU2VlIGhlcmUgZm9yIGtleSBiaW5kaW5ncyBodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vbW9uYWNvLWVkaXRvci9hcGkvZW51bXMva2V5Y29kZS5odG1sXG4gICAqIFNldHMgdGhlIEtleUNvZGUgZm9yIHNob3J0Y3V0dGluZyB0byBGdWxsc2NyZWVuIG1vZGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBmdWxsU2NyZWVuS2V5QmluZGluZyhrZXljb2RlOiBudW1iZXJbXSkge1xuICAgIHRoaXMuX2tleWNvZGUgPSBrZXljb2RlO1xuICB9XG4gIGdldCBmdWxsU2NyZWVuS2V5QmluZGluZygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleWNvZGU7XG4gIH1cblxuICAvKipcbiAgICogZWRpdG9yT3B0aW9ucz86IG9iamVjdFxuICAgKiBPcHRpb25zIHVzZWQgb24gZWRpdG9yIGluc3RhbnRpYXRpb24uIEF2YWlsYWJsZSBvcHRpb25zIGxpc3RlZCBoZXJlOlxuICAgKiBodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vbW9uYWNvLWVkaXRvci9hcGkvaW50ZXJmYWNlcy9lZGl0b3IuaWVkaXRvcm9wdGlvbnMuaHRtbFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGVkaXRvck9wdGlvbnMoZWRpdG9yT3B0aW9uczogYW55KSB7XG4gICAgdGhpcy5fZWRpdG9yT3B0aW9ucyA9IGVkaXRvck9wdGlvbnM7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IudXBkYXRlT3B0aW9ucyhlZGl0b3JPcHRpb25zKTtcbiAgICAgIHRoaXMuZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuICBnZXQgZWRpdG9yT3B0aW9ucygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIGxheW91dCBtZXRob2QgdGhhdCBjYWxscyBsYXlvdXQgbWV0aG9kIG9mIGVkaXRvciBhbmQgaW5zdHJ1Y3RzIHRoZSBlZGl0b3IgdG8gcmVtZWFzdXJlIGl0cyBjb250YWluZXJcbiAgICovXG4gIGxheW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5sYXlvdXQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpZiBpbiBGdWxsIFNjcmVlbiBNb2RlIG9yIG5vdFxuICAgKi9cbiAgZ2V0IGlzRnVsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNGdWxsU2NyZWVuO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1lbWJlci1vcmRlcmluZ1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBfY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgc3VwZXIoX2NoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyRGl2LmlkID0gdGhpcy5fZWRpdG9ySW5uZXJDb250YWluZXI7XG5cbiAgICAvLyBBZGQgdGVyYWRhdGEgYnJhbmRlZCB0aGVtZXNcbiAgICBlZGl0b3IuZGVmaW5lVGhlbWUoXG4gICAgICAnY3YtbGlnaHQnLFxuICAgICAgY3ZFZGl0b3JMaWdodFRoZW1lIGFzIGVkaXRvci5JU3RhbmRhbG9uZVRoZW1lRGF0YSxcbiAgICApO1xuXG4gICAgZWRpdG9yLmRlZmluZVRoZW1lKFxuICAgICAgJ2N2LWRhcmsnLFxuICAgICAgY3ZFZGl0b3JEYXJrVGhlbWUgYXMgZWRpdG9yLklTdGFuZGFsb25lVGhlbWVEYXRhLFxuICAgICk7XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBlZGl0b3IuY3JlYXRlKFxuICAgICAgY29udGFpbmVyRGl2LFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZSxcbiAgICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSxcbiAgICAgICAgICB0aGVtZTogdGhpcy5fdGhlbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuZWRpdG9yT3B0aW9ucyxcbiAgICAgICksXG4gICAgKTtcbiAgICB0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFwcGx5TGFuZ3VhZ2UoKTtcbiAgICAgIHRoaXMuX2Zyb21FZGl0b3IgPSB0cnVlO1xuICAgICAgdGhpcy5hcHBseVZhbHVlKCk7XG4gICAgICB0aGlzLmFwcGx5U3R5bGUoKTtcbiAgICAgIHRoaXMuZWRpdG9ySW5pdGlhbGl6ZWQuZW1pdCh0aGlzLl9lZGl0b3IpO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfSk7XG4gICAgLy8gVGhlIGBvbkRpZENoYW5nZUNvbnRlbnRgIHJldHVybnMgYSBkaXNwb3NhYmxlIG9iamVjdCAoYW4gb2JqZWN0IHdpdGggYGRpc3Bvc2UoKWAgbWV0aG9kKSB3aGljaCB3aWxsIGNsZWFudXBcbiAgICAvLyB0aGUgbGlzdGVuZXIuIFRoZSBjYWxsYmFjaywgdGhhdCB3ZSBwYXNzIHRvIGBvbkRpZENoYW5nZUNvbnRlbnRgLCBjYXB0dXJlcyBgdGhpc2AuIFRoaXMgbGVhZHMgdG8gYSBjaXJjdWxhciByZWZlcmVuY2VcbiAgICAvLyAoYHRkLWNvZGUtZWRpdG9yIC0+IG1vbmFjbyAtPiB0ZC1jb2RlLWVkaXRvcmApIGFuZCBwcmV2ZW50cyB0aGUgYHRkLWNvZGUtZWRpdG9yYCBmcm9tIGJlaW5nIEdDJ2QuXG4gICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgICh0aGlzLl9lZGl0b3IuZ2V0TW9kZWwoKSBhcyBlZGl0b3IuSVRleHRNb2RlbCkub25EaWRDaGFuZ2VDb250ZW50KCgpID0+IHtcbiAgICAgICAgdGhpcy5fZnJvbUVkaXRvciA9IHRydWU7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLl9lZGl0b3IuZ2V0VmFsdWUoKSk7XG4gICAgICAgIHRoaXMubGF5b3V0KCk7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuYWRkRnVsbFNjcmVlbk1vZGVDb21tYW5kKCk7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShkZWJvdW5jZVRpbWUoMTAwKSksXG4gICAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICB0aGlzLl9oZWlnaHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICApXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIC8vIE5vdGU6IHRoaXMgaXMgYmVpbmcgY2FsbGVkIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZSBzaW5jZSB3ZSBkb24ndCBoYXZlIHRvXG4gICAgICAgICAgLy8gcnVuIGNoYW5nZSBkZXRlY3Rpb24gd2hlbmV2ZXIgdGhlIGVkaXRvciByZXNpemVzIGl0c2VsZi5cbiAgICAgICAgICB0aGlzLmxheW91dCgpO1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgdGltZXIoNTAwLCAyNTApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5uZXh0KHdpZHRoKTtcbiAgICAgICAgICB0aGlzLl9oZWlnaHRTdWJqZWN0Lm5leHQoaGVpZ2h0KTtcbiAgICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMuZm9yRWFjaCgoc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQpID0+XG4gICAgICBzdHlsZS5yZW1vdmUoKSxcbiAgICApO1xuICAgIHdoaWxlICh0aGlzLl9kaXNwb3NhYmxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnBvcCgpPy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCh0cnVlKTtcbiAgICB0aGlzLl9kZXN0cm95LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogc2hvd0Z1bGxTY3JlZW5FZGl0b3IgcmVxdWVzdCBmb3IgZnVsbCBzY3JlZW4gb2YgQ29kZSBFZGl0b3IgYmFzZWQgb24gaXRzIGJyb3dzZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzaG93RnVsbFNjcmVlbkVkaXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnN0IGNvZGVFZGl0b3JFbGVtZW50OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX2VkaXRvckNvbnRhaW5lclxuICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGNvZGVFZGl0b3JFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgfVxuICAgIHRoaXMuX2lzRnVsbFNjcmVlbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogZXhpdEZ1bGxTY3JlZW5FZGl0b3IgcmVxdWVzdCB0byBleGl0IGZ1bGwgc2NyZWVuIG9mIENvZGUgRWRpdG9yIGJhc2VkIG9uIGl0cyBicm93c2VyIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgZXhpdEZ1bGxTY3JlZW5FZGl0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xuICAgIH1cbiAgICB0aGlzLl9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQgdXNlZCB0byBhZGQgdGhlIGZ1bGxzY3JlZW4gb3B0aW9uIHRvIHRoZSBjb250ZXh0IG1lbnVcbiAgICovXG4gIHByaXZhdGUgYWRkRnVsbFNjcmVlbk1vZGVDb21tYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICB0aGlzLl9lZGl0b3IuYWRkQWN0aW9uKHtcbiAgICAgICAgLy8gQW4gdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbnRyaWJ1dGVkIGFjdGlvbi5cbiAgICAgICAgaWQ6ICdmdWxsU2NyZWVuJyxcbiAgICAgICAgLy8gQSBsYWJlbCBvZiB0aGUgYWN0aW9uIHRoYXQgd2lsbCBiZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIuXG4gICAgICAgIGxhYmVsOiAnRnVsbCBTY3JlZW4nLFxuICAgICAgICAvLyBBbiBvcHRpb25hbCBhcnJheSBvZiBrZXliaW5kaW5ncyBmb3IgdGhlIGFjdGlvbi5cbiAgICAgICAgY29udGV4dE1lbnVHcm91cElkOiAnbmF2aWdhdGlvbicsXG4gICAgICAgIGtleWJpbmRpbmdzOiB0aGlzLl9rZXljb2RlLFxuICAgICAgICBjb250ZXh0TWVudU9yZGVyOiAxLjUsXG4gICAgICAgIC8vIE1ldGhvZCB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgYWN0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgICAgcnVuOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93RnVsbFNjcmVlbkVkaXRvcigpO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIiAjZWRpdG9yQ29udGFpbmVyPjwvZGl2PlxuIl19","import { NgModule } from '@angular/core';\nimport { TdCodeEditorComponent } from './code-editor.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentCodeEditorModule {\n static ɵfac = function CovalentCodeEditorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentCodeEditorModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentCodeEditorModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentCodeEditorModule, [{\n type: NgModule,\n args: [{\n imports: [TdCodeEditorComponent],\n exports: [TdCodeEditorComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentCodeEditorModule, { imports: [TdCodeEditorComponent], exports: [TdCodeEditorComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWhFOzs7R0FHRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs0REFBeEIsd0JBQXdCOzs7aUZBQXhCLHdCQUF3QjtjQUpwQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2FBQ2pDOzt3RkFDWSx3QkFBd0IsY0FIekIscUJBQXFCLGFBQ3JCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZENvZGVFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucy5cbiAqIFBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nIHN0YW5kYWxvbmUgY29tcG9uZW50cyBhcyBzb29uIGFzIHBvc3NpYmxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVGRDb2RlRWRpdG9yQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RkQ29kZUVkaXRvckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50Q29kZUVkaXRvck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtY29kZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29kZS1lZGl0b3Ivc3JjL2NvdmFsZW50LWNvZGUtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"covalent-code-editor.mjs","sources":["../tmp-esm2022/lib/editor.theme.js","../tmp-esm2022/lib/code-editor.component.js","../tmp-esm2022/lib/code-editor.module.js","../tmp-esm2022/covalent-code-editor.js"],"sourcesContent":["import * as tokens from '@covalent/tokens';\nexport const covalentThemeName = 'tdaa-lite';\nexport const covalentThemeConf = {\n base: 'vs',\n inherit: true,\n rules: [\n { token: '', foreground: '212121', background: 'f5f5f5' },\n { token: 'invalid', foreground: 'b71c1c' },\n { token: 'keyword', foreground: '3b78e7' },\n { token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },\n { token: 'comment', foreground: '0d904f' },\n { token: 'string.sql', foreground: '0d904f' },\n { token: 'number', foreground: 'E74C3C' },\n { token: 'key', foreground: '863B00' },\n { token: 'string.key.json', foreground: '0d904f' },\n { token: 'string.value.json', foreground: '0d904f' },\n { token: 'predefined', foreground: 'ec407a' },\n { token: 'predefined.sql', foreground: 'ec407a' },\n { token: 'delimiter', foreground: '000000' },\n { token: 'delimiter.html', foreground: '383838' },\n { token: 'delimiter.xml', foreground: '3b78e7' },\n { token: 'tag', foreground: '3b78e7' },\n { token: 'tag.id.jade', foreground: '4F76AC' },\n { token: 'tag.class.jade', foreground: '4F76AC' },\n { token: 'meta.scss', foreground: '800000' },\n { token: 'metatag', foreground: 'e00000' },\n { token: 'metatag.content.html', foreground: 'FF0000' },\n { token: 'metatag.html', foreground: '808080' },\n { token: 'metatag.xml', foreground: '808080' },\n { token: 'metatag.php', fontStyle: 'bold' },\n { token: 'attribute.name', foreground: '9c27b0' },\n { token: 'attribute.value', foreground: '0451A5' },\n { token: 'attribute.value.number', foreground: '09885A' },\n { token: 'attribute.value.unit', foreground: '09885A' },\n { token: 'attribute.value.html', foreground: '0000FF' },\n { token: 'attribute.value.xml', foreground: '0d904f' },\n { token: 'arbitration-variable', foreground: '006D90' },\n { token: 'arbitration-variable.invalid', foreground: 'b71c1c' },\n { token: 'operator.scss', foreground: '666666' },\n { token: 'operator', foreground: '778899' },\n ],\n colors: {\n comment: '388e3c',\n 'editor.foreground': 'ff0000',\n 'editor.background': '#f5f5f5',\n 'editorLineNumber.activeForeground': '#707070',\n 'editorLineNumber.foreground': '#b7b7b7',\n 'editor.lineHighlightBackground': '#ebebeb',\n 'inputValidation.errorBackground': '#b71c1c',\n 'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',\n },\n};\nconst getTheme = (theme) => {\n return {\n base: theme === 'Light' ? 'vs' : 'vs-dark',\n inherit: true,\n rules: [\n {\n token: '',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n background: tokens[`Cv${theme}Surface`],\n },\n {\n token: 'arbitration-variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'arbitration-variable.invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n {\n token: 'attribute.name',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.unit',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.html',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'attribute.value.xml',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'builtins',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'class',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'comment',\n foreground: tokens[`Cv${theme}CodeSnippetComment`],\n fontStyle: 'italic',\n },\n {\n token: 'constant',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'delimiter',\n foreground: tokens[`CvTheme${theme}ColorsOnSurface`],\n },\n {\n token: 'delimiter.html',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'delimiter.xml',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'doctag',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'emphasis',\n fontStyle: 'italic',\n },\n {\n token: 'formula',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'function',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n { token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },\n {\n token: 'keyword',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'keyword.json',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'bold italic',\n },\n {\n token: 'link',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'underline',\n },\n {\n token: 'literal',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'meta',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'operator',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n { token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },\n {\n token: 'predefined.sql',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'predefined.python',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'punctuation',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n },\n {\n token: 'string',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.sql',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.key.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.value.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'strong',\n fontStyle: 'bold',\n },\n {\n token: 'tag',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'tag.id.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'tag.class.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'type',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n ],\n colors: {\n comment: tokens[`Cv${theme}CodeSnippetComment`],\n 'editor.background': tokens[`Cv${theme}Surface`],\n 'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],\n 'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],\n 'editorLineNumber.activeForeground': tokens[`CvTheme${theme}ColorsOnSurface74`],\n 'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],\n 'editor.lineHighlightBackground': tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],\n 'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],\n 'inputValidation.errorBorder': tokens[`CvTheme${theme}PalettesNegative95`],\n },\n };\n};\n// Any changes to these themes should also be reflected in the components/code-editor theme.\nexport const cvEditorDarkTheme = getTheme('Dark');\nexport const cvEditorLightTheme = getTheme('Light');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvZWRpdG9yLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixLQUFLLEVBQUU7UUFDTCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3pELEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7UUFDekUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDMUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDN0MsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFFekMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtRQUNsRCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3BELEVBQUUsS0FBSyxFQUFFLFlB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VSxLQUFLLG1CQUFtQixDQUFDO1lBQzVDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxVQUFVLEtBQUssbUJBQW1CLENBQUM7WUFDekUsZ0NBQWdDLEVBQzlCLE1BQU0sQ0FBQyxVQUFVLEtBQUssMkJBQTJCLENBQUM7WUFDcEQsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7WUFDL0QsNkJBQTZCLEVBQzNCLE1BQU0sQ0FBQyxVQUFVLEtBQUssb0JBQW9CLENBQUM7U0FDOUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsNEZBQTRGO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0b2tlbnMgZnJvbSAnQGNvdmFsZW50L3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBjb3ZhbGVudFRoZW1lTmFtZSA9ICd0ZGFhLWxpdGUnO1xuXG5leHBvcnQgY29uc3QgY292YWxlbnRUaGVtZUNvbmYgPSB7XG4gIGJhc2U6ICd2cycsXG4gIGluaGVyaXQ6IHRydWUsXG4gIHJ1bGVzOiBbXG4gICAgeyB0b2tlbjogJycsIGZvcmVncm91bmQ6ICcyMTIxMjEnLCBiYWNrZ3JvdW5kOiAnZjVmNWY1JyB9LFxuICAgIHsgdG9rZW46ICdpbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcbiAgICB7IHRva2VuOiAna2V5d29yZCcsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ2tleXdvcmQuanNvbicsIGZvcmVncm91bmQ6ICdlYzQwN2EnLCBmb250U3R5bGU6ICdib2xkIGl0YWxpYycgfSxcbiAgICB7IHRva2VuOiAnY29tbWVudCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5zcWwnLCBmb3JlZ3JvdW5kOiAnMGQ5MDRmJyB9LFxuICAgIHsgdG9rZW46ICdudW1iZXInLCBmb3JlZ3JvdW5kOiAnRTc0QzNDJyB9LFxuXG4gICAgeyB0b2tlbjogJ2tleScsIGZvcmVncm91bmQ6ICc4NjNCMDAnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJywgZm9yZWdyb3VuZDogJzBkOTA0ZicgfSxcbiAgICB7IHRva2VuOiAncHJlZGVmaW5lZCcsIGZvcmVncm91bmQ6ICdlYzQwN2EnIH0sXG4gICAgeyB0b2tlbjogJ3ByZWRlZmluZWQuc3FsJywgZm9yZWdyb3VuZDogJ2VjNDA3YScgfSxcblxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXInLCBmb3JlZ3JvdW5kOiAnMDAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXIuaHRtbCcsIGZvcmVncm91bmQ6ICczODM4MzgnIH0sXG4gICAgeyB0b2tlbjogJ2RlbGltaXRlci54bWwnLCBmb3JlZ3JvdW5kOiAnM2I3OGU3JyB9LFxuXG4gICAgeyB0b2tlbjogJ3RhZycsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ3RhZy5pZC5qYWRlJywgZm9yZWdyb3VuZDogJzRGNzZBQycgfSxcbiAgICB7IHRva2VuOiAndGFnLmNsYXNzLmphZGUnLCBmb3JlZ3JvdW5kOiAnNEY3NkFDJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhLnNjc3MnLCBmb3JlZ3JvdW5kOiAnODAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnJywgZm9yZWdyb3VuZDogJ2UwMDAwMCcgfSxcbiAgICB7IHRva2VuOiAnbWV0YXRhZy5jb250ZW50Lmh0bWwnLCBmb3JlZ3JvdW5kOiAnRkYwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLmh0bWwnLCBmb3JlZ3JvdW5kOiAnODA4MDgwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLnhtbCcsIGZvcmVncm91bmQ6ICc4MDgwODAnIH0sXG4gICAgeyB0b2tlbjogJ21ldGF0YWcucGhwJywgZm9udFN0eWxlOiAnYm9sZCcgfSxcblxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUubmFtZScsIGZvcmVncm91bmQ6ICc5YzI3YjAnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZScsIGZvcmVncm91bmQ6ICcwNDUxQTUnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLCBmb3JlZ3JvdW5kOiAnMDk4ODVBJyB9LFxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUudW5pdCcsIGZvcmVncm91bmQ6ICcwOTg4NUEnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5odG1sJywgZm9yZWdyb3VuZDogJzAwMDBGRicgfSxcbiAgICB7IHRva2VuOiAnYXR0cmlidXRlLnZhbHVlLnhtbCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG5cbiAgICB7IHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUnLCBmb3JlZ3JvdW5kOiAnMDA2RDkwJyB9LFxuICAgIHsgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZS5pbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcblxuICAgIHsgdG9rZW46ICdvcGVyYXRvci5zY3NzJywgZm9yZWdyb3VuZDogJzY2NjY2NicgfSxcbiAgICB7IHRva2VuOiAnb3BlcmF0b3InLCBmb3JlZ3JvdW5kOiAnNzc4ODk5JyB9LFxuICBdLFxuICBjb2xvcnM6IHtcbiAgICBjb21tZW50OiAnMzg4ZTNjJyxcbiAgICAnZWRpdG9yLmZvcmVncm91bmQnOiAnZmYwMDAwJyxcbiAgICAnZWRpdG9yLmJhY2tncm91bmQnOiAnI2Y1ZjVmNScsXG4gICAgJ2VkaXRvckxpbmVOdW1iZXIuYWN0aXZlRm9yZWdyb3VuZCc6ICcjNzA3MDcwJyxcbiAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogJyNiN2I3YjcnLFxuICAgICdlZGl0b3IubGluZUhpZ2hsaWdodEJhY2tncm91bmQnOiAnI2ViZWJlYicsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiAnI2I3MWMxYycsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6ICdyZ2JhKDIyOSwgMTE1LCAxMTUsIDAuMSknLFxuICB9LFxufTtcblxuY29uc3QgZ2V0VGhlbWUgPSAodGhlbWU6ICdMaWdodCcgfCAnRGFyaycpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlOiB0aGVtZSA9PT0gJ0xpZ2h0JyA/ICd2cycgOiAndnMtZGFyaycsXG4gICAgaW5oZXJpdDogdHJ1ZSxcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICB0b2tlbjogJycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgICAgYmFja2dyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUuaW52YWxpZCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfU5lZ2F0aXZlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS5uYW1lJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS51bml0JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUuaHRtbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS54bWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYnVpbHRpbnMnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NsYXNzJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdjb21tZW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDb21tZW50YF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ2l0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NvbnN0YW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRMaXRlcmFsYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzT25TdXJmYWNlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlci5odG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkZWxpbWl0ZXIueG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkb2N0YWcnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZW1waGFzaXMnLFxuICAgICAgICBmb250U3R5bGU6ICdpdGFsaWMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdmb3JtdWxhJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRLZXl3b3JkYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2Z1bmN0aW9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdpbnZhbGlkJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9TmVnYXRpdmVgXSxcbiAgICAgIH0sXG4gICAgICB7IHRva2VuOiAna2V5JywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2tleXdvcmQnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAna2V5d29yZC5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgICBmb250U3R5bGU6ICdib2xkIGl0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpbmsnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpdGVyYWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbWV0YScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VGl0bGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbnVtYmVyJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdvcGVyYXRvcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0TGl0ZXJhbGBdLFxuICAgICAgfSxcbiAgICAgIHsgdG9rZW46ICdwcmVkZWZpbmVkJywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAncHJlZGVmaW5lZC5zcWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3ByZWRlZmluZWQucHl0aG9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdwdW5jdHVhdGlvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nLnNxbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3Ryb25nJyxcbiAgICAgICAgZm9udFN0eWxlOiAnYm9sZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U2VsZWN0b3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAndGFnLmlkLmphZGUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZy5jbGFzcy5qYWRlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd0eXBlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd2YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2xvcnM6IHtcbiAgICAgIGNvbW1lbnQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29tbWVudGBdLFxuICAgICAgJ2VkaXRvci5iYWNrZ3JvdW5kJzogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgJ2VkaXRvci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2VgXSxcbiAgICAgICdlZGl0b3JDdXJzb3IuZm9yZWdyb3VuZCc6IHRva2Vuc1tgQ3Yke3RoZW1lfVRleHRTZWNvbmRhcnlPbkJhY2tncm91bmRgXSxcbiAgICAgICdlZGl0b3JMaW5lTnVtYmVyLmFjdGl2ZUZvcmVncm91bmQnOlxuICAgICAgICB0b2tlbnNbYEN2VGhlbWUke3RoZW1lfUNvbG9yc09uU3VyZmFjZTc0YF0sXG4gICAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2UzOGBdLFxuICAgICAgJ2VkaXRvci5saW5lSGlnaGxpZ2h0QmFja2dyb3VuZCc6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzU3VyZmFjZUNvbnRhaW5lckxvd2BdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiB0b2tlbnNbYEN2JHt0aGVtZX1OZWdhdGl2ZWBdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9UGFsZXR0ZXNOZWdhdGl2ZTk1YF0sXG4gICAgfSxcbiAgfTtcbn07XG5cbi8vIEFueSBjaGFuZ2VzIHRvIHRoZXNlIHRoZW1lcyBzaG91bGQgYWxzbyBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbXBvbmVudHMvY29kZS1lZGl0b3IgdGhlbWUuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JEYXJrVGhlbWUgPSBnZXRUaGVtZSgnRGFyaycpO1xuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JMaWdodFRoZW1lID0gZ2V0VGhlbWUoJ0xpZ2h0Jyk7XG4iXX0=","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef, ChangeDetectorRef, NgZone, PLATFORM_ID, inject, } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { of, Subject } from 'rxjs';\nimport { fromEvent, merge, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n// Use esm version to support shipping subset of languages and features\nimport { editor, languages, } from 'monaco-editor/esm/vs/editor/editor.api';\nimport { mixinControlValueAccessor, mixinDisabled, } from '@covalent/core/common';\nimport { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';\nimport * as i0 from \"@angular/core\";\nconst _c0 = [\"editorContainer\"];\nconst noop = () => {\n // empty method\n};\n// counter for ids to allow for multiple editors on one page\nlet uniqueCounter = 0;\nexport class TdCodeEditorBase {\n _changeDetectorRef;\n constructor(_changeDetectorRef) {\n this._changeDetectorRef = _changeDetectorRef;\n }\n}\nexport const _TdCodeEditorMixinBase = mixinControlValueAccessor(mixinDisabled(TdCodeEditorBase), []);\nexport class TdCodeEditorComponent extends _TdCodeEditorMixinBase {\n _elementRef = inject(ElementRef);\n _ngZone = inject(NgZone);\n platformId = inject(PLATFORM_ID);\n _destroy = new Subject();\n _widthSubject = new Subject();\n _heightSubject = new Subject();\n _editorStyle = 'width:100%;height:100%;';\n _value = '';\n _theme = 'cv-light';\n _language = 'javascript';\n _subject = new Subject();\n _editorInnerContainer = 'editorInnerContainer' + uniqueCounter++;\n _editor;\n _fromEditor = false;\n _componentInitialized = false;\n _editorOptions = {};\n _isFullScreen = false;\n _keycode;\n _registeredLanguagesStyles = [];\n _disposables = [];\n _editorContainer;\n /**\n * editorInitialized: function($event)\n * Event emitted when editor is first initialized\n */\n editorInitialized = new EventEmitter();\n /**\n * editorConfigurationChanged: function($event)\n * Event emitted when editor's configuration changes\n */\n editorConfigurationChanged = new EventEmitter();\n /**\n * editorLanguageChanged: function($event)\n * Event emitted when editor's Language changes\n */\n editorLanguageChanged = new EventEmitter();\n /**\n * editorValueChange: function($event)\n * Event emitted any time something changes the editor value\n */\n editorValueChange = new EventEmitter();\n propagateChange = (_) => noop;\n /**\n * value?: string\n */\n set value(value) {\n this._value = value;\n if (this._componentInitialized) {\n this.applyValue();\n }\n }\n get value() {\n return this._value;\n }\n applyValue() {\n if (!this._fromEditor) {\n this._editor.setValue(this._value || '');\n }\n this._fromEditor = false;\n this.propagateChange(this._value);\n this.editorValueChange.emit();\n }\n registerOnChange(fn) {\n this.propagateChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * getEditorContent?: function\n * Returns the content within the editor\n */\n getValue() {\n if (!this._componentInitialized) {\n return of('');\n }\n setTimeout(() => {\n this._subject.next(this._value);\n this._subject.complete();\n this._subject = new Subject();\n });\n return this._subject.asObservable();\n }\n /**\n * language?: string\n * language used in editor\n */\n set language(language) {\n this._language = language;\n if (this._componentInitialized) {\n this.applyLanguage();\n }\n }\n get language() {\n return this._language;\n }\n applyLanguage() {\n if (this._language) {\n editor.setModelLanguage(this._editor.getModel(), this._language);\n this.editorLanguageChanged.emit();\n }\n }\n /**\n * registerLanguage?: function\n * Registers a custom Language within the editor\n */\n registerLanguage(language) {\n if (this._componentInitialized) {\n languages.register({ id: language.id });\n this._disposables.push(languages.setMonarchTokensProvider(language.id, {\n tokenizer: {\n root: language.monarchTokensProvider,\n },\n }));\n // Define a new theme that constains only rules that match this language\n editor.defineTheme(language.customTheme.id, language.customTheme.theme);\n this._theme = language.customTheme.id;\n this._disposables.push(languages.registerCompletionItemProvider(language.id, {\n provideCompletionItems: () => {\n return language.completionItemProvider;\n },\n }));\n const css = document.createElement('style');\n css.type = 'text/css';\n css.innerHTML = language.monarchTokensProviderCSS;\n document.body.appendChild(css);\n this.editorConfigurationChanged.emit();\n this._registeredLanguagesStyles = [\n ...this._registeredLanguagesStyles,\n css,\n ];\n }\n }\n /**\n * style?: string\n * css style of the editor on the page\n */\n set editorStyle(editorStyle) {\n this._editorStyle = editorStyle;\n if (this._componentInitialized) {\n this.applyStyle();\n }\n }\n get editorStyle() {\n return this._editorStyle;\n }\n applyStyle() {\n if (this._editorStyle) {\n const containerDiv = this._editorContainer.nativeElement;\n containerDiv.setAttribute('style', this._editorStyle);\n }\n }\n /**\n * theme?: string\n * Theme to be applied to editor\n */\n set theme(theme) {\n this._theme = theme;\n if (this._componentInitialized) {\n this._editor.updateOptions({ theme });\n this.editorConfigurationChanged.emit();\n }\n }\n get theme() {\n return this._theme;\n }\n /**\n * fullScreenKeyBinding?: number\n * See here for key bindings https://microsoft.github.io/monaco-editor/api/enums/keycode.html\n * Sets the KeyCode for shortcutting to Fullscreen mode\n */\n set fullScreenKeyBinding(keycode) {\n this._keycode = keycode;\n }\n get fullScreenKeyBinding() {\n return this._keycode;\n }\n /**\n * editorOptions?: object\n * Options used on editor instantiation. Available options listed here:\n * https://microsoft.github.io/monaco-editor/api/interfaces/editor.ieditoroptions.html\n */\n set editorOptions(editorOptions) {\n this._editorOptions = editorOptions;\n if (this._componentInitialized) {\n this._editor.updateOptions(editorOptions);\n this.editorConfigurationChanged.emit();\n }\n }\n get editorOptions() {\n return this._editorOptions;\n }\n /**\n * layout method that calls layout method of editor and instructs the editor to remeasure its container\n */\n layout() {\n if (this._componentInitialized) {\n this._editor.layout();\n }\n }\n /**\n * Returns if in Full Screen Mode or not\n */\n get isFullScreen() {\n return this._isFullScreen;\n }\n // tslint:disable-next-line:member-ordering\n constructor() {\n const _changeDetectorRef = inject(ChangeDetectorRef);\n super(_changeDetectorRef);\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n const containerDiv = this._editorContainer.nativeElement;\n containerDiv.id = this._editorInnerContainer;\n // Add teradata branded themes\n editor.defineTheme('cv-light', cvEditorLightTheme);\n editor.defineTheme('cv-dark', cvEditorDarkTheme);\n this._editor = editor.create(containerDiv, Object.assign({\n value: this._value,\n language: this.language,\n theme: this._theme,\n }, this.editorOptions));\n this._componentInitialized = true;\n setTimeout(() => {\n this.applyLanguage();\n this._fromEditor = true;\n this.applyValue();\n this.applyStyle();\n this.editorInitialized.emit(this._editor);\n this.editorConfigurationChanged.emit();\n });\n // The `onDidChangeContent` returns a disposable object (an object with `dispose()` method) which will cleanup\n // the listener. The callback, that we pass to `onDidChangeContent`, captures `this`. This leads to a circular reference\n // (`td-code-editor -> monaco -> td-code-editor`) and prevents the `td-code-editor` from being GC'd.\n this._disposables.push(this._editor.getModel().onDidChangeContent(() => {\n this._fromEditor = true;\n this.writeValue(this._editor.getValue());\n this.layout();\n }));\n this.addFullScreenModeCommand();\n this._ngZone.runOutsideAngular(() => merge(fromEvent(window, 'resize').pipe(debounceTime(100)), this._widthSubject.asObservable().pipe(distinctUntilChanged()), this._heightSubject.asObservable().pipe(distinctUntilChanged()))\n .pipe(debounceTime(100), takeUntil(this._destroy))\n .subscribe(() => {\n // Note: this is being called outside of the Angular zone since we don't have to\n // run change detection whenever the editor resizes itself.\n this.layout();\n }));\n this._ngZone.runOutsideAngular(() => timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n const { width, height } = this._elementRef.nativeElement.getBoundingClientRect();\n this._widthSubject.next(width);\n this._heightSubject.next(height);\n }));\n }\n ngOnDestroy() {\n this._changeDetectorRef.detach();\n this._registeredLanguagesStyles.forEach((style) => style.remove());\n while (this._disposables.length) {\n this._disposables.pop()?.dispose();\n }\n if (this._editor) {\n this._editor.dispose();\n }\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n /**\n * showFullScreenEditor request for full screen of Code Editor based on its browser type.\n */\n showFullScreenEditor() {\n if (this._componentInitialized) {\n const codeEditorElement = this._editorContainer\n .nativeElement;\n codeEditorElement.requestFullscreen();\n }\n this._isFullScreen = true;\n }\n /**\n * exitFullScreenEditor request to exit full screen of Code Editor based on its browser type.\n */\n exitFullScreenEditor() {\n if (this._componentInitialized) {\n document.exitFullscreen();\n }\n this._isFullScreen = false;\n }\n /**\n * addFullScreenModeCommand used to add the fullscreen option to the context menu\n */\n addFullScreenModeCommand() {\n this._disposables.push(this._editor.addAction({\n // An unique identifier of the contributed action.\n id: 'fullScreen',\n // A label of the action that will be presented to the user.\n label: 'Full Screen',\n // An optional array of keybindings for the action.\n contextMenuGroupId: 'navigation',\n keybindings: this._keycode,\n contextMenuOrder: 1.5,\n // Method that will be executed when the action is triggered.\n run: () => {\n this.showFullScreenEditor();\n },\n }));\n }\n static ɵfac = function TdCodeEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdCodeEditorComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdCodeEditorComponent, selectors: [[\"td-code-editor\"]], viewQuery: function TdCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._editorContainer = _t.first);\n } }, inputs: { value: \"value\", language: \"language\", editorStyle: \"editorStyle\", theme: \"theme\", fullScreenKeyBinding: \"fullScreenKeyBinding\", editorOptions: \"editorOptions\" }, outputs: { editorInitialized: \"editorInitialized\", editorConfigurationChanged: \"editorConfigurationChanged\", editorLanguageChanged: \"editorLanguageChanged\", editorValueChange: \"editorValueChange\" }, features: [i0.ɵɵProvidersFeature([\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ]), i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [[\"editorContainer\", \"\"], [1, \"editor-container\"]], template: function TdCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵdomElement(0, \"div\", 1, 0);\n } }, styles: [\"[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .editor-container[_ngcontent-%COMP%]{position:absolute;inset:0} .monaco-aria-container{display:none}\"] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdCodeEditorComponent, [{\n type: Component,\n args: [{ selector: 'td-code-editor', providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ], template: \"<div class=\\\"editor-container\\\" #editorContainer></div>\\n\", styles: [\":host{display:block;position:relative}:host .editor-container{position:absolute;inset:0}::ng-deep .monaco-aria-container{display:none}\\n\"] }]\n }], () => [], { _editorContainer: [{\n type: ViewChild,\n args: ['editorContainer', { static: true }]\n }], editorInitialized: [{\n type: Output\n }], editorConfigurationChanged: [{\n type: Output\n }], editorLanguageChanged: [{\n type: Output\n }], editorValueChange: [{\n type: Output\n }], value: [{\n type: Input\n }], language: [{\n type: Input\n }], editorStyle: [{\n type: Input\n }], theme: [{\n type: Input\n }], fullScreenKeyBinding: [{\n type: Input\n }], editorOptions: [{\n type: Input\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdCodeEditorComponent, { className: \"TdCodeEditorComponent\", filePath: \"lib/code-editor.component.ts\", lineNumber: 63 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFFakIsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLHdDQUF3QyxDQUFDO0FBRWhELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV2RSxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7SUFDaEIsZUFBZTtBQUNqQixDQUFDLENBQUM7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LENBQUM7SUFDSixDQUFDOytHQTlZVSxxQkFBcUI7NkRBQXJCLHFCQUFxQjs7Ozs7aWFBUnJCO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUM1REgsK0JBQXFEOzs7aUZEOER4QyxxQkFBcUI7Y0FaakMsU0FBUzsyQkFDRSxnQkFBZ0IsYUFHZjtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O2tCQThCQSxTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0JBTTdDLE1BQU07O2tCQVFOLE1BQU07O2tCQU9OLE1BQU07O2tCQU9OLE1BQU07O2tCQU9OLEtBQUs7O2tCQWdETCxLQUFLOztrQkFrRUwsS0FBSzs7a0JBdUJMLEtBQUs7O2tCQWlCTCxLQUFLOztrQkFhTCxLQUFLOztrRkF0T0sscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBOZ1pvbmUsXG4gIFBMQVRGT1JNX0lELFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVXNlIGVzbSB2ZXJzaW9uIHRvIHN1cHBvcnQgc2hpcHBpbmcgc3Vic2V0IG9mIGxhbmd1YWdlcyBhbmQgZmVhdHVyZXNcbmltcG9ydCB7XG4gIGVkaXRvcixcbiAgbGFuZ3VhZ2VzLFxuICBJRGlzcG9zYWJsZSxcbn0gZnJvbSAnbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2VkaXRvci5hcGknO1xuXG5pbXBvcnQge1xuICBtaXhpbkNvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBtaXhpbkRpc2FibGVkLFxufSBmcm9tICdAY292YWxlbnQvY29yZS9jb21tb24nO1xuaW1wb3J0IHsgY3ZFZGl0b3JEYXJrVGhlbWUsIGN2RWRpdG9yTGlnaHRUaGVtZSB9IGZyb20gJy4vZWRpdG9yLnRoZW1lJztcblxuY29uc3Qgbm9vcCA9ICgpID0+IHtcbiAgLy8gZW1wdHkgbWV0aG9kXG59O1xuXG4vLyBjb3VudGVyIGZvciBpZHMgdG8gYWxsb3cgZm9yIG11bHRpcGxlIGVkaXRvcnMgb24gb25lIHBhZ2VcbmxldCB1bmlxdWVDb3VudGVyID0gMDtcblxuZXhwb3J0IGNsYXNzIFRkQ29kZUVkaXRvckJhc2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cblxuZXhwb3J0IGNvbnN0IF9UZENvZGVFZGl0b3JNaXhpbkJhc2UgPSBtaXhpbkNvbnRyb2xWYWx1ZUFjY2Vzc29yKFxuICBtaXhpbkRpc2FibGVkKFRkQ29kZUVkaXRvckJhc2UpLFxuICBbXSxcbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNvZGUtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZENvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRDb2RlRWRpdG9yQ29tcG9uZW50XG4gIGV4dGVuZHMgX1RkQ29kZUVkaXRvck1peGluQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX3dpZHRoU3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIF9oZWlnaHRTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU3R5bGUgPSAnd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsnO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF90aGVtZSA9ICdjdi1saWdodCc7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gJ2phdmFzY3JpcHQnO1xuICBwcml2YXRlIF9zdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9lZGl0b3JJbm5lckNvbnRhaW5lcjogc3RyaW5nID1cbiAgICAnZWRpdG9ySW5uZXJDb250YWluZXInICsgdW5pcXVlQ291bnRlcisrO1xuICBwcml2YXRlIF9lZGl0b3IhOiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIF9mcm9tRWRpdG9yID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudEluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2VkaXRvck9wdGlvbnM6IGFueSA9IHt9O1xuICBwcml2YXRlIF9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfa2V5Y29kZTogYW55O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzOiBIVE1MU3R5bGVFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfZGlzcG9zYWJsZXM6IElEaXNwb3NhYmxlW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBfZWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogZWRpdG9ySW5pdGlhbGl6ZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvciBpcyBmaXJzdCBpbml0aWFsaXplZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGVkaXRvckluaXRpYWxpemVkOiBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4oKTtcblxuICAvKipcbiAgICogZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvcidzIGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBlZGl0b3IncyBMYW5ndWFnZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yVmFsdWVDaGFuZ2U6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCBhbnkgdGltZSBzb21ldGhpbmcgY2hhbmdlcyB0aGUgZWRpdG9yIHZhbHVlXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiBub29wO1xuXG4gIC8qKlxuICAgKiB2YWx1ZT86IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUoKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgYXBwbHlWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Zyb21FZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSB8fCAnJyk7XG4gICAgfVxuICAgIHRoaXMuX2Zyb21FZGl0b3IgPSBmYWxzZTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5lZGl0b3JWYWx1ZUNoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldEVkaXRvckNvbnRlbnQ/OiBmdW5jdGlvblxuICAgKiBSZXR1cm5zIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgZWRpdG9yXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZignJyk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3N1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxhbmd1YWdlPzogc3RyaW5nXG4gICAqIGxhbmd1YWdlIHVzZWQgaW4gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5TGFuZ3VhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG4gIH1cblxuICBhcHBseUxhbmd1YWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sYW5ndWFnZSkge1xuICAgICAgZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoXG4gICAgICAgIHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpIGFzIGVkaXRvci5JVGV4dE1vZGVsLFxuICAgICAgICB0aGlzLl9sYW5ndWFnZSxcbiAgICAgICk7XG4gICAgICB0aGlzLmVkaXRvckxhbmd1YWdlQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHJlZ2lzdGVyTGFuZ3VhZ2U/OiBmdW5jdGlvblxuICAgKiBSZWdpc3RlcnMgYSBjdXN0b20gTGFuZ3VhZ2Ugd2l0aGluIHRoZSBlZGl0b3JcbiAgICovXG4gIHJlZ2lzdGVyTGFuZ3VhZ2UobGFuZ3VhZ2U6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgbGFuZ3VhZ2VzLnJlZ2lzdGVyKHsgaWQ6IGxhbmd1YWdlLmlkIH0pO1xuXG4gICAgICB0aGlzLl9kaXNwb3NhYmxlcy5wdXNoKFxuICAgICAgICBsYW5ndWFnZXMuc2V0TW9uYXJjaFRva2Vuc1Byb3ZpZGVyKGxhbmd1YWdlLmlkLCB7XG4gICAgICAgICAgdG9rZW5pemVyOiB7XG4gICAgICAgICAgICByb290OiBsYW5ndWFnZS5tb25hcmNoVG9rZW5zUHJvdmlkZXIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICAvLyBEZWZpbmUgYSBuZXcgdGhlbWUgdGhhdCBjb25zdGFpbnMgb25seSBydWxlcyB0aGF0IG1hdGNoIHRoaXMgbGFuZ3VhZ2VcbiAgICAgIGVkaXRvci5kZWZpbmVUaGVtZShsYW5ndWFnZS5jdXN0b21UaGVtZS5pZCwgbGFuZ3VhZ2UuY3VzdG9tVGhlbWUudGhlbWUpO1xuICAgICAgdGhpcy5fdGhlbWUgPSBsYW5ndWFnZS5jdXN0b21UaGVtZS5pZDtcblxuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgICAgbGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihsYW5ndWFnZS5pZCwge1xuICAgICAgICAgIHByb3ZpZGVDb21wbGV0aW9uSXRlbXM6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsYW5ndWFnZS5jb21wbGV0aW9uSXRlbVByb3ZpZGVyO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgY3NzOiBIVE1MU3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIGNzcy50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgIGNzcy5pbm5lckhUTUwgPSBsYW5ndWFnZS5tb25hcmNoVG9rZW5zUHJvdmlkZXJDU1M7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNzcyk7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMgPSBbXG4gICAgICAgIC4uLnRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMsXG4gICAgICAgIGNzcyxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHN0eWxlPzogc3RyaW5nXG4gICAqIGNzcyBzdHlsZSBvZiB0aGUgZWRpdG9yIG9uIHRoZSBwYWdlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yU3R5bGUoZWRpdG9yU3R5bGU6IHN0cmluZykge1xuICAgIHRoaXMuX2VkaXRvclN0eWxlID0gZWRpdG9yU3R5bGU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZWRpdG9yU3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yU3R5bGU7XG4gIH1cblxuICBhcHBseVN0eWxlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lZGl0b3JTdHlsZSkge1xuICAgICAgY29uc3QgY29udGFpbmVyRGl2OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCB0aGlzLl9lZGl0b3JTdHlsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoZW1lPzogc3RyaW5nXG4gICAqIFRoZW1lIHRvIGJlIGFwcGxpZWQgdG8gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RoZW1lID0gdGhlbWU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IudXBkYXRlT3B0aW9ucyh7IHRoZW1lIH0pO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCB0aGVtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmdWxsU2NyZWVuS2V5QmluZGluZz86IG51bWJlclxuICAgKiBTZWUgaGVyZSBmb3Iga2V5IGJpbmRpbmdzIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9lbnVtcy9rZXljb2RlLmh0bWxcbiAgICogU2V0cyB0aGUgS2V5Q29kZSBmb3Igc2hvcnRjdXR0aW5nIHRvIEZ1bGxzY3JlZW4gbW9kZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKGtleWNvZGU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fa2V5Y29kZSA9IGtleWNvZGU7XG4gIH1cbiAgZ2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5Y29kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBlZGl0b3JPcHRpb25zPzogb2JqZWN0XG4gICAqIE9wdGlvbnMgdXNlZCBvbiBlZGl0b3IgaW5zdGFudGlhdGlvbi4gQXZhaWxhYmxlIG9wdGlvbnMgbGlzdGVkIGhlcmU6XG4gICAqIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9pbnRlcmZhY2VzL2VkaXRvci5pZWRpdG9yb3B0aW9ucy5odG1sXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yT3B0aW9ucyhlZGl0b3JPcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9lZGl0b3JPcHRpb25zID0gZWRpdG9yT3B0aW9ucztcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKGVkaXRvck9wdGlvbnMpO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCBlZGl0b3JPcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvck9wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogbGF5b3V0IG1ldGhvZCB0aGF0IGNhbGxzIGxheW91dCBtZXRob2Qgb2YgZWRpdG9yIGFuZCBpbnN0cnVjdHMgdGhlIGVkaXRvciB0byByZW1lYXN1cmUgaXRzIGNvbnRhaW5lclxuICAgKi9cbiAgbGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLmxheW91dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGlmIGluIEZ1bGwgU2NyZWVuIE1vZGUgb3Igbm90XG4gICAqL1xuICBnZXQgaXNGdWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Z1bGxTY3JlZW47XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWVtYmVyLW9yZGVyaW5nXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lckRpdjogSFRNTERpdkVsZW1lbnQgPSB0aGlzLl9lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb250YWluZXJEaXYuaWQgPSB0aGlzLl9lZGl0b3JJbm5lckNvbnRhaW5lcjtcblxuICAgIC8vIEFkZCB0ZXJhZGF0YSBicmFuZGVkIHRoZW1lc1xuICAgIGVkaXRvci5kZWZpbmVUaGVtZShcbiAgICAgICdjdi1saWdodCcsXG4gICAgICBjdkVkaXRvckxpZ2h0VGhlbWUgYXMgZWRpdG9yLklTdGFuZGFsb25lVGhlbWVEYXRhLFxuICAgICk7XG5cbiAgICBlZGl0b3IuZGVmaW5lVGhlbWUoXG4gICAgICAnY3YtZGFyaycsXG4gICAgICBjdkVkaXRvckRhcmtUaGVtZSBhcyBlZGl0b3IuSVN0YW5kYWxvbmVUaGVtZURhdGEsXG4gICAgKTtcblxuICAgIHRoaXMuX2VkaXRvciA9IGVkaXRvci5jcmVhdGUoXG4gICAgICBjb250YWluZXJEaXYsXG4gICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxuICAgICAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlLFxuICAgICAgICAgIHRoZW1lOiB0aGlzLl90aGVtZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5lZGl0b3JPcHRpb25zLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYXBwbHlMYW5ndWFnZSgpO1xuICAgICAgdGhpcy5fZnJvbUVkaXRvciA9IHRydWU7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUoKTtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZSgpO1xuICAgICAgdGhpcy5lZGl0b3JJbml0aWFsaXplZC5lbWl0KHRoaXMuX2VkaXRvcik7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICB9KTtcbiAgICAvLyBUaGUgYG9uRGlkQ2hhbmdlQ29udGVudGAgcmV0dXJucyBhIGRpc3Bvc2FibGUgb2JqZWN0IChhbiBvYmplY3Qgd2l0aCBgZGlzcG9zZSgpYCBtZXRob2QpIHdoaWNoIHdpbGwgY2xlYW51cFxuICAgIC8vIHRoZSBsaXN0ZW5lci4gVGhlIGNhbGxiYWNrLCB0aGF0IHdlIHBhc3MgdG8gYG9uRGlkQ2hhbmdlQ29udGVudGAsIGNhcHR1cmVzIGB0aGlzYC4gVGhpcyBsZWFkcyB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZVxuICAgIC8vIChgdGQtY29kZS1lZGl0b3IgLT4gbW9uYWNvIC0+IHRkLWNvZGUtZWRpdG9yYCkgYW5kIHByZXZlbnRzIHRoZSBgdGQtY29kZS1lZGl0b3JgIGZyb20gYmVpbmcgR0MnZC5cbiAgICB0aGlzLl9kaXNwb3NhYmxlcy5wdXNoKFxuICAgICAgKHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpIGFzIGVkaXRvci5JVGV4dE1vZGVsKS5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9mcm9tRWRpdG9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuX2VkaXRvci5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5sYXlvdXQoKTtcbiAgICAgIH0pLFxuICAgICk7XG4gICAgdGhpcy5hZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQoKTtcblxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgbWVyZ2UoXG4gICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKSxcbiAgICAgICAgdGhpcy5fd2lkdGhTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICAgIHRoaXMuX2hlaWdodFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgIClcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLy8gTm90ZTogdGhpcyBpcyBiZWluZyBjYWxsZWQgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciB6b25lIHNpbmNlIHdlIGRvbid0IGhhdmUgdG9cbiAgICAgICAgICAvLyBydW4gY2hhbmdlIGRldGVjdGlvbiB3aGVuZXZlciB0aGUgZWRpdG9yIHJlc2l6ZXMgaXRzZWxmLlxuICAgICAgICAgIHRoaXMubGF5b3V0KCk7XG4gICAgICAgIH0pLFxuICAgICk7XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICB0aW1lcig1MDAsIDI1MClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgdGhpcy5fd2lkdGhTdWJqZWN0Lm5leHQod2lkdGgpO1xuICAgICAgICAgIHRoaXMuX2hlaWdodFN1YmplY3QubmV4dChoZWlnaHQpO1xuICAgICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJlZExhbmd1YWdlc1N0eWxlcy5mb3JFYWNoKChzdHlsZTogSFRNTFN0eWxlRWxlbWVudCkgPT5cbiAgICAgIHN0eWxlLnJlbW92ZSgpLFxuICAgICk7XG4gICAgd2hpbGUgKHRoaXMuX2Rpc3Bvc2FibGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucG9wKCk/LmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzaG93RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IGZvciBmdWxsIHNjcmVlbiBvZiBDb2RlIEVkaXRvciBiYXNlZCBvbiBpdHMgYnJvd3NlciB0eXBlLlxuICAgKi9cbiAgcHVibGljIHNob3dGdWxsU2NyZWVuRWRpdG9yKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgY29uc3QgY29kZUVkaXRvckVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyXG4gICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29kZUVkaXRvckVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICB9XG4gICAgdGhpcy5faXNGdWxsU2NyZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleGl0RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IHRvIGV4aXQgZnVsbCBzY3JlZW4gb2YgQ29kZSBFZGl0b3IgYmFzZWQgb24gaXRzIGJyb3dzZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBleGl0RnVsbFNjcmVlbkVkaXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgfVxuICAgIHRoaXMuX2lzRnVsbFNjcmVlbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZEZ1bGxTY3JlZW5Nb2RlQ29tbWFuZCB1c2VkIHRvIGFkZCB0aGUgZnVsbHNjcmVlbiBvcHRpb24gdG8gdGhlIGNvbnRleHQgbWVudVxuICAgKi9cbiAgcHJpdmF0ZSBhZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgIHRoaXMuX2VkaXRvci5hZGRBY3Rpb24oe1xuICAgICAgICAvLyBBbiB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29udHJpYnV0ZWQgYWN0aW9uLlxuICAgICAgICBpZDogJ2Z1bGxTY3JlZW4nLFxuICAgICAgICAvLyBBIGxhYmVsIG9mIHRoZSBhY3Rpb24gdGhhdCB3aWxsIGJlIHByZXNlbnRlZCB0byB0aGUgdXNlci5cbiAgICAgICAgbGFiZWw6ICdGdWxsIFNjcmVlbicsXG4gICAgICAgIC8vIEFuIG9wdGlvbmFsIGFycmF5IG9mIGtleWJpbmRpbmdzIGZvciB0aGUgYWN0aW9uLlxuICAgICAgICBjb250ZXh0TWVudUdyb3VwSWQ6ICduYXZpZ2F0aW9uJyxcbiAgICAgICAga2V5YmluZGluZ3M6IHRoaXMuX2tleWNvZGUsXG4gICAgICAgIGNvbnRleHRNZW51T3JkZXI6IDEuNSxcbiAgICAgICAgLy8gTWV0aG9kIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBhY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dGdWxsU2NyZWVuRWRpdG9yKCk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiICNlZGl0b3JDb250YWluZXI+PC9kaXY+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { TdCodeEditorComponent } from './code-editor.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentCodeEditorModule {\n static ɵfac = function CovalentCodeEditorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentCodeEditorModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentCodeEditorModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentCodeEditorModule, [{\n type: NgModule,\n args: [{\n imports: [TdCodeEditorComponent],\n exports: [TdCodeEditorComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentCodeEditorModule, { imports: [TdCodeEditorComponent], exports: [TdCodeEditorComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWhFOzs7R0FHRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs0REFBeEIsd0JBQXdCOzs7aUZBQXhCLHdCQUF3QjtjQUpwQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2FBQ2pDOzt3RkFDWSx3QkFBd0IsY0FIekIscUJBQXFCLGFBQ3JCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZENvZGVFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucy5cbiAqIFBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nIHN0YW5kYWxvbmUgY29tcG9uZW50cyBhcyBzb29uIGFzIHBvc3NpYmxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVGRDb2RlRWRpdG9yQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RkQ29kZUVkaXRvckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50Q29kZUVkaXRvck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtY29kZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29kZS1lZGl0b3Ivc3JjL2NvdmFsZW50LWNvZGUtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/code-editor",
3
- "version": "11.5.9",
3
+ "version": "11.5.10",
4
4
  "description": "Teradata UI Platform Code Editor Module",
5
5
  "keywords": [
6
6
  "angular",