{"version":3,"file":"index.mjs","sources":["../../../../../../../../packages/components/editor/src/toolbar/image/index.vue"],"sourcesContent":["<template>\n  <span :class=\"[ns.b()]\">\n    <el-dropdown trigger=\"click\">\n      <div>\n        <el-tooltip\n          effect=\"light\"\n          placement=\"top\"\n          :disabled=\"!showTip\"\n          :content=\"t('epx.editor.imageTip')\"\n        >\n          <Icon :icon=\"Image\" size=\"20\" color=\"#000000\" />\n        </el-tooltip>\n      </div>\n\n      <template #dropdown>\n        <el-dropdown-menu>\n          <el-dropdown-item>\n            <online-image @change=\"handleOnlineImage\" />\n          </el-dropdown-item>\n          <el-dropdown-item>\n            <upload-image\n              :trigger-name=\"t('epx.editor.uploadPicture')\"\n              @change=\"handleUploadImage\"\n            />\n          </el-dropdown-item>\n        </el-dropdown-menu>\n      </template>\n    </el-dropdown>\n  </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport {\n  ElDropdown,\n  ElDropdownItem,\n  ElDropdownMenu,\n  ElTooltip,\n  useLocale,\n  useNamespace,\n} from 'element-plus'\nimport * as IconsVue from '@element-plus/components/icons-vue/index'\nimport Icon from '../icon.vue'\nimport { useToolBarContext } from '../../hooks'\nimport UploadImage from '../upload/index.vue'\nimport OnlineImage from './online.vue'\nimport type { UploadFile } from 'element-plus'\nimport type { ISetImageOptions, IToolbarImage } from '../../types'\n\nconst ns = useNamespace('editor-image')\nconst { t } = useLocale()\nconst { Image } = IconsVue\n\ndefineOptions({\n  name: 'EditorImage',\n  inheritAttrs: false,\n})\n\nconst toolBarContext = useToolBarContext()\nconst showTip = computed(() => toolBarContext.value.configure.showTip)\n\nconst getEditor = () => toolBarContext.value.editor\nconst getConfigure = () =>\n  toolBarContext.value.configure?.image ?? { onChange: () => {} }\n\nconst setImage = (options: ISetImageOptions) => {\n  getEditor().chain().focus().setImage(options).run()\n}\n\nconst handleOnlineImage = (options: ISetImageOptions) => {\n  setImage(options)\n}\n\nconst handleUploadImage = (uploadFile: UploadFile) => {\n  const imageConfig: IToolbarImage = getConfigure()\n  imageConfig.onChange(uploadFile, (options: ISetImageOptions) => {\n    setImage(options)\n  })\n}\n</script>\n"],"names":["IconsVue"],"mappings":";;;;;;;;;mCAqDc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;AAPM,IAAA,MAAA,EAAA,GAAK,aAAa,cAAc,CAAA,CAAA;AAChC,IAAA,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AAClB,IAAA,MAAA,EAAE,OAAU,GAAAA,KAAA,CAAA;AAOlB,IAAA,MAAM,iBAAiB,iBAAkB,EAAA,CAAA;AACzC,IAAA,MAAM,UAAU,QAAS,CAAA,MAAM,cAAe,CAAA,KAAA,CAAM,UAAU,OAAO,CAAA,CAAA;AAE/D,IAAA,MAAA,SAAA,GAAY,MAAM,cAAA,CAAe,KAAM,CAAA,MAAA,CAAA;AACvC,IAAA,MAAA,eAAe;;AACnB,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAe,MAAM,SAArB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,UAAhC,IAAyC,GAAA,EAAA,GAAA,EAAE,UAAU,MAAM;AAAA,OAAG,EAAA,CAAA;AAAA,KAAA,CAAA;AAE1D,IAAA,MAAA,QAAA,GAAW,CAAC,OAA8B,KAAA;AACpC,MAAA,SAAA,EAAA,CAAE,OAAQ,CAAA,KAAA,GAAQ,QAAS,CAAA,OAAO,EAAE,GAAI,EAAA,CAAA;AAAA,KACpD,CAAA;AAEM,IAAA,MAAA,iBAAA,GAAoB,CAAC,OAA8B,KAAA;AACvD,MAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAAA,KAClB,CAAA;AAEM,IAAA,MAAA,iBAAA,GAAoB,CAAC,UAA2B,KAAA;AACpD,MAAA,MAAM,cAA6B,YAAa,EAAA,CAAA;AACpC,MAAA,WAAA,CAAA,QAAA,CAAS,UAAY,EAAA,CAAC,OAA8B,KAAA;AAC9D,QAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAAA,OACjB,CAAA,CAAA;AAAA,KACH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}