{"version":3,"file":"editor.mjs","sources":["../../src/markdown/editor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n  name: 'MarkdownEditor',\n  \n})\n</script>\n<template>\n  <div class=\"edit-container article-container\">\n    <v-md-editor\n      v-model=\"text\"\n      height=\"100%\"\n      :right-toolbar=\"rightTb\"\n      :toolbar=\"toolbar\"\n      :mode=\"mode\"\n      class=\"editor\"\n      @change=\"onEditorChange\"\n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\" name=\"MarkdownEditor\">\n\ninterface Editor {\n  insert: (callbackfn: (selected: string) => {\n    text: string,\n    selected: string\n  }) => void;\n}\n\nconst props = defineProps<{\n  modelValue: string;\n}>();\n\nconst emit = defineEmits<(e: 'update:modelValue' | 'change', value: string) => void>();\n\nconst text = ref(props.modelValue);\nconst rightTb = 'preview toc sync-scroll fullscreen multiTable';\nconst mode = 'editable';\nconst toolbar = {\n  multiTable: {\n    icon: 'v-md-icon-table',\n    title: '多栏布局',\n    action: (editor: Editor) => {\n      // toolbar点击时触发的函数\n      editor.insert((selected: string) => {\n        const prefix = '|column1|column2|column3|\\n' + '|-|-|-|\\n' + '|content1|content2|content3|\\n';\n        const suffix = '\\n{.table-noborder}\\n';\n        const content = selected || '';\n        return {\n          text: `${content}${prefix}${suffix}`,\n          selected: content,\n        };\n      });\n    },\n  },\n};\n\n// const emit = defineEmits<(event: 'change'|'input', text: string) => void>();\n\nconst onEditorChange = (text = '') => {\n  emit('update:modelValue', text);\n  emit('change', text);\n};\n\n</script>\n\n\n<style lang=\"less\" scoped>\n.edit-container {\n  height: 100%;\n}\n</style>\n"],"names":["name","_defineComponent","_objectSpread","__default__","props","modelValue","type","String","required","emits","setup","__props","emit","text","ref","rightTb","mode","onEditorChange","text2","_ctx","_cache","_component_v_md_editor","_resolveComponent","_openBlock","_createElementBlock","_hoisted_1","_createVNode","value","$event","height","toolbar","class","onChange"],"mappings":";;;;;;;;;;;AAuBAA,EAAAA,IAAA,EAAA,gBAAA;;;AAEA,aAAA,eAAAC,eAAA,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACAC,WADA,CAAA,EAAA,EAAA,EAAA;AAEAC,EAAAA,KAAA,EAAA;AACAC,IAAAA,UAAA,EAAA;AAAAC,MAAAA,IAAA,EAAAC,MAAA;AAAAC,MAAAA,QAAA,EAAA,IAAA;AAAA,KAAA;GAHA;AAzBkBC,EAAAA,KAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAyBlB;;EAxBAC,KAAA,CAAAC,OAAA,EAAA,IAAA,EAAA;IAAA,IAAA;AAAAC,MAAAA,IAAAA;KAAA,GAAA,IAAA,CAAA;IACA,IAAAR,KAAA,GAAAO,OAAA,CAAA;AACA,IAAA,IAAAE,IAAA,GAAAC,GAAA,CAAAV,KAAA,CAAAC,UAAA,CAAA,CAAA;IACA,IAAAU,OAAA,GAAA,+CAAA,CAAA;IACA,IAAAC,IAAA,GAAA,UAAA,CAAA;;;;;;;;;;;;;;;AA2BK,SAAA;;;;AAGL,IAAA,IAAAC,cAAA,GAAA,SAAAA,cAAA,GAAA;MAAA,IAAAC,KAAA,uEAAA,EAAA,CAAA;AACAN,MAAAA,IAAA,CAAA,mBAAA,EAAAM,KAAA,CAAA,CAAA;AACAN,MAAAA,IAAA,CAAA,QAAA,EAAAM,KAAA,CAAA,CAAA;KAFA,CAAA;;AAIA,IAAA,OAAA,CAAAC,IAAA,EAAAC,MAAA,KAAA;AACA,MAAA,IAAAC,sBAAA,GAAAC,gBAAA,CAAA,aAAA,CAAA,CAAA;;AACA,MAAA,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAAC,UAAA,EAAA,CACAC,WAAA,CAAAL,sBAAA,EAAA;QACAhB,UAAA,EAAAQ,IAAA,CAAAc,KADA;AAEA,QAAA,qBAAA,EAAAP,MAAA,CAAA,CAAA,CAAA,KAAAA,MAAA,CAAA,CAAA,CAAA,GAAAQ,MAAA,IAAAf,IAAA,CAAAc,KAAA,GAAAC,MAAA,CAFA;AAGAC,QAAAA,MAAA,EAAA,MAHA;AAIA,QAAA,eAAA,EAAAd,OAJA;QAKAe,OALA;QAMAd,IANA;AAOAe,QAAAA,KAAA,EAAA,QAPA;AAQAC,QAAAA,QAAA,EAAAf,cAAAA;OARA,EASA,IATA,EASA,CATA,EASA,CAAA,YAAA,CATA,CADA,CAAA,CAAA,CAAA;KAFA,CAAA;AAeA,GAAA;;AA7BA,CAAA,CAAA,CAAA;;;;;;;;;;;;"}