{"version":3,"file":"codeEditor2.mjs","sources":["../../../../../../packages/components/codeEditor/src/codeEditor.vue"],"sourcesContent":["<template>\n  <div :class=\"ns.b()\">\n    <div\n      ref=\"editorContainer\"\n      class=\"editor-container\"\n      :style=\"{ height: style.height, width: style.width }\"\n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { useNamespace } from '@lit-element/hooks'\nimport loader from '@monaco-editor/loader'\nimport { codeEditorProps } from './codeEditor'\n\ndefineOptions({\n  name: 'LtCodeEditor',\n})\n\nconst props = defineProps(codeEditorProps)\nconst ns = useNamespace('codeEditor')\nconst emits = defineEmits(['update:value'])\n\nconst editorContainer = ref<HTMLDivElement | null>(null)\nlet editorInstance: any = null\n\nonMounted(() => {\n  loader.init().then((monaco) => {\n    if (editorContainer.value) {\n      editorInstance = monaco.editor.create(editorContainer.value, {\n        value: props.value || '',\n        language: props.language,\n        theme: props.theme,\n        readOnlyMessage: props.readOnlyMessage.value, //为只读时编辑内日提示词\n        readOnly: props.readOnly, // 是否只读内容不可编辑 默认false\n        lineNumbers: props.lineNumbers,\n        cursorWidth: props.cursorWidth,\n        cursorBlinking: props.cursorBlinking,\n        automaticLayout: props.automaticLayout,\n        roundedSelection: props.roundedSelection,\n        scrollBeyondLastLine: props.scrollBeyondLastLine,\n        autoClosingBrackets: props.autoClosingBrackets,\n        formatOnType: props.formatOnType,\n        formatOnPaste: props.formatOnPaste,\n        selectionHighlight: props.selectionHighlight,\n        fontWeight: props.fontWeight,\n        fontSize: props.fontSize,\n        lineHeight: props.lineHeight,\n        lineDecorationsWidth: props.lineDecorationsWidth,\n        lineNumbersMinChars: props.lineNumbersMinChars,\n        letterSpacing: props.letterSpacing,\n        showUnused: props.showUnused,\n      })\n\n      editorInstance.onDidChangeModelContent(() => {\n        emits('update:value', editorInstance?.getValue())\n      })\n    } else {\n      console.error('Editor container is not available')\n    }\n  })\n})\n\nonBeforeUnmount(() => {\n  if (editorInstance) {\n    editorInstance.dispose()\n  }\n})\n\nwatch(\n  () => props.language,\n  (newLanguage) => {\n    if (editorInstance) {\n      loader.init().then((monaco) => {\n        const model = editorInstance?.getModel()\n        if (model) {\n          monaco.editor.setModelLanguage(model, newLanguage)\n        } else {\n          console.error('Editor model is not available')\n        }\n      })\n    }\n  }\n)\nwatch(\n  () => props.value,\n  (newValue) => {\n    if (editorInstance && editorInstance.getValue() !== newValue) {\n      editorInstance.setValue(newValue as string)\n    }\n  }\n)\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_createElementVNode"],"mappings":"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"}