qidian-vue-ui 1.2.63 → 1.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/config-provider/config.d.ts +2 -0
- package/dist/components/config-provider/config.mjs +4 -0
- package/dist/components/config-provider/config.mjs.map +1 -1
- package/dist/components/config-provider/index.mjs +4 -2
- package/dist/components/config-provider/index.mjs.map +1 -1
- package/dist/components/md-editor/config.mjs +9 -1
- package/dist/components/md-editor/config.mjs.map +1 -1
- package/dist/components/md-editor/index.vue.d.ts +603 -1
- package/dist/components/md-editor/index.vue.mjs +1 -1
- package/dist/components/md-editor/index.vue2.mjs +14 -8
- package/dist/components/md-editor/index.vue2.mjs.map +1 -1
- package/dist/components/md-editor/index2.css +12 -12
- package/dist/components/md-editor/types.d.ts +2 -2
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useLocale.d.ts +5 -0
- package/dist/hooks/useLocale.mjs +27 -0
- package/dist/hooks/useLocale.mjs.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/node_modules/.pnpm/@vavt_cm-extension@1.11.2/node_modules/@vavt/cm-extension/dist/locale/zh-TW.mjs +85 -0
- package/dist/node_modules/.pnpm/@vavt_cm-extension@1.11.2/node_modules/@vavt/cm-extension/dist/locale/zh-TW.mjs.map +1 -0
- package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.mjs +11 -0
- package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ComputedRef, InjectionKey } from 'vue';
|
|
2
2
|
import type { QdConfigProviderProps } from './types';
|
|
3
|
+
export declare const DEFAULT_LOCALE = "zh-CN";
|
|
4
|
+
export declare const PROVIDE_LOCALE: InjectionKey<ComputedRef<string>>;
|
|
3
5
|
export declare const PROVIDE_USER: InjectionKey<ComputedRef<QdConfigProviderProps['user']>>;
|
|
4
6
|
export declare const PROVIDE_DICT: InjectionKey<ComputedRef<QdConfigProviderProps['dict']>>;
|
|
5
7
|
export declare const PROVIDE_UPLOAD: InjectionKey<ComputedRef<QdConfigProviderProps['upload']>>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const DEFAULT_LOCALE = "zh-CN";
|
|
2
|
+
const PROVIDE_LOCALE = /* @__PURE__ */ Symbol("QdLocale");
|
|
1
3
|
const PROVIDE_USER = /* @__PURE__ */ Symbol("QdUser");
|
|
2
4
|
const PROVIDE_DICT = /* @__PURE__ */ Symbol("QdDict");
|
|
3
5
|
const PROVIDE_UPLOAD = /* @__PURE__ */ Symbol("QdUpload");
|
|
@@ -6,9 +8,11 @@ const PROVIDE_ORG = /* @__PURE__ */ Symbol("QdOrg");
|
|
|
6
8
|
const PROVIDE_OFFICE = /* @__PURE__ */ Symbol("QdOffice");
|
|
7
9
|
const PROVIDE_GLOBAL_CONFIG = /* @__PURE__ */ Symbol("QdGlobalConfig");
|
|
8
10
|
export {
|
|
11
|
+
DEFAULT_LOCALE,
|
|
9
12
|
PROVIDE_AVATAR,
|
|
10
13
|
PROVIDE_DICT,
|
|
11
14
|
PROVIDE_GLOBAL_CONFIG,
|
|
15
|
+
PROVIDE_LOCALE,
|
|
12
16
|
PROVIDE_OFFICE,
|
|
13
17
|
PROVIDE_ORG,
|
|
14
18
|
PROVIDE_UPLOAD,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../src/components/config-provider/config.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\n\nimport type { QdConfigProviderProps } from './types'\n\nexport const PROVIDE_USER: InjectionKey<ComputedRef<QdConfigProviderProps['user']>> =\n Symbol('QdUser')\nexport const PROVIDE_DICT: InjectionKey<ComputedRef<QdConfigProviderProps['dict']>> =\n Symbol('QdDict')\nexport const PROVIDE_UPLOAD: InjectionKey<ComputedRef<QdConfigProviderProps['upload']>> =\n Symbol('QdUpload')\nexport const PROVIDE_AVATAR: InjectionKey<ComputedRef<QdConfigProviderProps['avatar']>> =\n Symbol('QdAvatar')\nexport const PROVIDE_ORG: InjectionKey<ComputedRef<QdConfigProviderProps['org']>> = Symbol('QdOrg')\nexport const PROVIDE_OFFICE: InjectionKey<ComputedRef<QdConfigProviderProps['office']>> =\n Symbol('QdOffice')\nexport const PROVIDE_GLOBAL_CONFIG: InjectionKey<\n ComputedRef<NonNullable<QdConfigProviderProps['globalConfig']>>\n> = Symbol('QdGlobalConfig')\n"],"names":[],"mappings":"AAIO,MAAM,sCACJ,QAAQ;AACV,MAAM,sCACJ,QAAQ;AACV,MAAM,wCACJ,UAAU;AACZ,MAAM,wCACJ,UAAU;AACZ,MAAM,qCAA8E,OAAO;AAC3F,MAAM,wCACJ,UAAU;AACZ,MAAM,+CAEF,gBAAgB;"}
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../src/components/config-provider/config.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\n\nimport type { QdConfigProviderProps } from './types'\n\nexport const DEFAULT_LOCALE = 'zh-CN'\nexport const PROVIDE_LOCALE: InjectionKey<ComputedRef<string>> = Symbol('QdLocale')\n\nexport const PROVIDE_USER: InjectionKey<ComputedRef<QdConfigProviderProps['user']>> =\n Symbol('QdUser')\nexport const PROVIDE_DICT: InjectionKey<ComputedRef<QdConfigProviderProps['dict']>> =\n Symbol('QdDict')\nexport const PROVIDE_UPLOAD: InjectionKey<ComputedRef<QdConfigProviderProps['upload']>> =\n Symbol('QdUpload')\nexport const PROVIDE_AVATAR: InjectionKey<ComputedRef<QdConfigProviderProps['avatar']>> =\n Symbol('QdAvatar')\nexport const PROVIDE_ORG: InjectionKey<ComputedRef<QdConfigProviderProps['org']>> = Symbol('QdOrg')\nexport const PROVIDE_OFFICE: InjectionKey<ComputedRef<QdConfigProviderProps['office']>> =\n Symbol('QdOffice')\nexport const PROVIDE_GLOBAL_CONFIG: InjectionKey<\n ComputedRef<NonNullable<QdConfigProviderProps['globalConfig']>>\n> = Symbol('QdGlobalConfig')\n"],"names":[],"mappings":"AAIO,MAAM,iBAAiB;AACvB,MAAM,wCAA2D,UAAU;AAE3E,MAAM,sCACJ,QAAQ;AACV,MAAM,sCACJ,QAAQ;AACV,MAAM,wCACJ,UAAU;AACZ,MAAM,wCACJ,UAAU;AACZ,MAAM,qCAA8E,OAAO;AAC3F,MAAM,wCACJ,UAAU;AACZ,MAAM,+CAEF,gBAAgB;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { to } from "qidian-shared";
|
|
2
2
|
import { ConfigProvider } from "tdesign-vue-next";
|
|
3
3
|
import { defineComponent, ref, computed, provide, watch, watchEffect, h } from "vue";
|
|
4
|
-
import { PROVIDE_USER, PROVIDE_DICT, PROVIDE_UPLOAD, PROVIDE_AVATAR, PROVIDE_ORG, PROVIDE_OFFICE, PROVIDE_GLOBAL_CONFIG } from "./config.mjs";
|
|
4
|
+
import { DEFAULT_LOCALE, PROVIDE_USER, PROVIDE_DICT, PROVIDE_UPLOAD, PROVIDE_AVATAR, PROVIDE_ORG, PROVIDE_OFFICE, PROVIDE_GLOBAL_CONFIG, PROVIDE_LOCALE } from "./config.mjs";
|
|
5
5
|
const QdConfigProvider = defineComponent({
|
|
6
6
|
name: "QdConfigProvider",
|
|
7
7
|
props: {
|
|
8
8
|
locale: {
|
|
9
9
|
type: String,
|
|
10
|
-
default:
|
|
10
|
+
default: DEFAULT_LOCALE
|
|
11
11
|
},
|
|
12
12
|
user: {
|
|
13
13
|
type: Object,
|
|
@@ -56,6 +56,7 @@ const QdConfigProvider = defineComponent({
|
|
|
56
56
|
const avatar = computed(() => props.avatar);
|
|
57
57
|
const org = computed(() => props.org);
|
|
58
58
|
const office = computed(() => props.office);
|
|
59
|
+
const locale = computed(() => props.locale ?? DEFAULT_LOCALE);
|
|
59
60
|
provide(PROVIDE_USER, user);
|
|
60
61
|
provide(PROVIDE_DICT, dict);
|
|
61
62
|
provide(PROVIDE_UPLOAD, upload);
|
|
@@ -63,6 +64,7 @@ const QdConfigProvider = defineComponent({
|
|
|
63
64
|
provide(PROVIDE_ORG, org);
|
|
64
65
|
provide(PROVIDE_OFFICE, office);
|
|
65
66
|
provide(PROVIDE_GLOBAL_CONFIG, mergedGlobalConfig);
|
|
67
|
+
provide(PROVIDE_LOCALE, locale);
|
|
66
68
|
watch(
|
|
67
69
|
() => [props.user, props.dict, props.avatar, props.agentChat],
|
|
68
70
|
([newUser, newDict, newAvatar, newAgentChat]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/config-provider/index.ts"],"sourcesContent":["import { to } from 'qidian-shared'\nimport { ConfigProvider as TConfigProvider } from 'tdesign-vue-next'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent, h, provide, ref, watch, watchEffect } from 'vue'\n\nimport {\n PROVIDE_AVATAR,\n PROVIDE_DICT,\n PROVIDE_GLOBAL_CONFIG,\n PROVIDE_OFFICE,\n PROVIDE_ORG,\n PROVIDE_UPLOAD,\n PROVIDE_USER\n} from './config'\nimport type { QdConfigProviderProps } from './types'\n\nexport const QdConfigProvider = defineComponent({\n name: 'QdConfigProvider',\n props: {\n locale: {\n type: String as PropType<QdConfigProviderProps['locale']>,\n default:
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/config-provider/index.ts"],"sourcesContent":["import { to } from 'qidian-shared'\nimport { ConfigProvider as TConfigProvider } from 'tdesign-vue-next'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent, h, provide, ref, watch, watchEffect } from 'vue'\n\nimport {\n DEFAULT_LOCALE,\n PROVIDE_AVATAR,\n PROVIDE_DICT,\n PROVIDE_GLOBAL_CONFIG,\n PROVIDE_LOCALE,\n PROVIDE_OFFICE,\n PROVIDE_ORG,\n PROVIDE_UPLOAD,\n PROVIDE_USER\n} from './config'\nimport type { QdConfigProviderProps } from './types'\n\nexport const QdConfigProvider = defineComponent({\n name: 'QdConfigProvider',\n props: {\n locale: {\n type: String as PropType<QdConfigProviderProps['locale']>,\n default: DEFAULT_LOCALE\n },\n\n user: {\n type: Object as PropType<QdConfigProviderProps['user']>,\n default: undefined\n },\n\n dict: {\n type: Object as PropType<QdConfigProviderProps['dict']>,\n default: undefined\n },\n\n upload: {\n type: Object as PropType<QdConfigProviderProps['upload']>,\n default: undefined\n },\n\n avatar: {\n type: Object as PropType<QdConfigProviderProps['avatar']>,\n default: undefined\n },\n\n org: {\n type: Object as PropType<QdConfigProviderProps['org']>,\n default: undefined\n },\n\n office: {\n type: Object as PropType<QdConfigProviderProps['office']>,\n default: undefined\n },\n\n agentChat: {\n type: Object as PropType<QdConfigProviderProps['agentChat']>,\n default: undefined\n },\n\n globalConfig: {\n type: Object as PropType<QdConfigProviderProps['globalConfig']>,\n default: undefined\n }\n },\n setup(props: QdConfigProviderProps, { slots }) {\n const qdGlobalConfig = ref()\n const mergedGlobalConfig = computed(() => {\n return {\n ...qdGlobalConfig.value,\n ...props.globalConfig\n }\n })\n\n const user = computed(() => props.user)\n const dict = computed(() => props.dict)\n const upload = computed(() => props.upload)\n const avatar = computed(() => props.avatar)\n const org = computed(() => props.org)\n const office = computed(() => props.office)\n const locale = computed(() => props.locale ?? DEFAULT_LOCALE)\n\n provide(PROVIDE_USER, user)\n provide(PROVIDE_DICT, dict)\n provide(PROVIDE_UPLOAD, upload)\n provide(PROVIDE_AVATAR, avatar)\n provide(PROVIDE_ORG, org)\n provide(PROVIDE_OFFICE, office)\n provide(PROVIDE_GLOBAL_CONFIG, mergedGlobalConfig)\n provide(PROVIDE_LOCALE, locale)\n\n watch(\n () => [props.user, props.dict, props.avatar, props.agentChat] as const,\n ([newUser, newDict, newAvatar, newAgentChat]) => {\n if (typeof window !== 'undefined') {\n window.__QIDIAN_USER__ = newUser\n window.__QIDIAN_DICT__ = newDict\n window.__QIDIAN_AVATAR__ = newAvatar\n window.__QIDIAN_AGENT_CHAT__ = newAgentChat\n }\n },\n { immediate: true }\n )\n\n watch(\n mergedGlobalConfig,\n (newConfig) => {\n window.__QIDIAN_GLOBAL_CONFIG__ = newConfig\n },\n { immediate: true }\n )\n\n watchEffect(async () => {\n const localeMap = {\n 'zh-CN': () => import('../../locales/zh-CN'),\n 'zh-TW': () => import('../../locales/zh-TW'),\n 'en-US': () => import('../../locales/en-US')\n }\n\n const loadLocale = localeMap[props.locale as keyof typeof localeMap] || localeMap['zh-CN']\n const [err, res] = await to(\n loadLocale() as unknown as Promise<{\n default: NonNullable<QdConfigProviderProps['globalConfig']>\n }>\n )\n if (err) return\n\n qdGlobalConfig.value = res.default\n })\n\n return () => h(TConfigProvider, { globalConfig: mergedGlobalConfig.value }, slots.default)\n }\n})\n\nexport type { QdConfigProviderProps } from './types'\nexport { useConfig as useQdConfig } from './useConfig'\n"],"names":["TConfigProvider"],"mappings":";;;;AAkBO,MAAM,mBAAmB,gBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,MAAM,OAA8B,EAAE,SAAS;AAC7C,UAAM,iBAAiB,IAAA;AACvB,UAAM,qBAAqB,SAAS,MAAM;AACxC,aAAO;AAAA,QACL,GAAG,eAAe;AAAA,QAClB,GAAG,MAAM;AAAA,MAAA;AAAA,IAEb,CAAC;AAED,UAAM,OAAO,SAAS,MAAM,MAAM,IAAI;AACtC,UAAM,OAAO,SAAS,MAAM,MAAM,IAAI;AACtC,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAC1C,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAC1C,UAAM,MAAM,SAAS,MAAM,MAAM,GAAG;AACpC,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAC1C,UAAM,SAAS,SAAS,MAAM,MAAM,UAAU,cAAc;AAE5D,YAAQ,cAAc,IAAI;AAC1B,YAAQ,cAAc,IAAI;AAC1B,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,aAAa,GAAG;AACxB,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,uBAAuB,kBAAkB;AACjD,YAAQ,gBAAgB,MAAM;AAE9B;AAAA,MACE,MAAM,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS;AAAA,MAC5D,CAAC,CAAC,SAAS,SAAS,WAAW,YAAY,MAAM;AAC/C,YAAI,OAAO,WAAW,aAAa;AACjC,iBAAO,kBAAkB;AACzB,iBAAO,kBAAkB;AACzB,iBAAO,oBAAoB;AAC3B,iBAAO,wBAAwB;AAAA,QACjC;AAAA,MACF;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;AAGpB;AAAA,MACE;AAAA,MACA,CAAC,cAAc;AACb,eAAO,2BAA2B;AAAA,MACpC;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;AAGpB,gBAAY,YAAY;AACtB,YAAM,YAAY;AAAA,QAChB,SAAS,MAAM,OAAO,yBAAqB;AAAA,QAC3C,SAAS,MAAM,OAAO,yBAAqB;AAAA,QAC3C,SAAS,MAAM,OAAO,yBAAqB;AAAA,MAAA;AAG7C,YAAM,aAAa,UAAU,MAAM,MAAgC,KAAK,UAAU,OAAO;AACzF,YAAM,CAAC,KAAK,GAAG,IAAI,MAAM;AAAA,QACvB,WAAA;AAAA,MAAW;AAIb,UAAI,IAAK;AAET,qBAAe,QAAQ,IAAI;AAAA,IAC7B,CAAC;AAED,WAAO,MAAM,EAAEA,gBAAiB,EAAE,cAAc,mBAAmB,MAAA,GAAS,MAAM,OAAO;AAAA,EAC3F;AACF,CAAC;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import ZH_TW from "../../node_modules/.pnpm/@vavt_cm-extension@1.11.2/node_modules/@vavt/cm-extension/dist/locale/zh-TW.mjs";
|
|
1
2
|
import Cropper from "cropperjs";
|
|
2
3
|
import * as echarts from "echarts";
|
|
3
4
|
import highlight from "highlight.js";
|
|
@@ -32,7 +33,14 @@ const editorExtensions = {
|
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
35
|
function setupMdEditorConfig() {
|
|
35
|
-
config({
|
|
36
|
+
config({
|
|
37
|
+
editorExtensions,
|
|
38
|
+
editorConfig: {
|
|
39
|
+
languageUserDefined: {
|
|
40
|
+
"zh-TW": ZH_TW
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
36
44
|
}
|
|
37
45
|
export {
|
|
38
46
|
setupMdEditorConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../src/components/md-editor/config.ts"],"sourcesContent":["import Cropper from 'cropperjs'\nimport * as echarts from 'echarts'\nimport highlight from 'highlight.js'\nimport katex from 'katex'\nimport { config } from 'md-editor-v3'\nimport mermaid from 'mermaid'\nimport * as prettier from 'prettier'\nimport parserMarkdown from 'prettier/plugins/markdown'\nimport screenfull from 'screenfull'\n\nconst editorExtensions = {\n prettier: {\n prettierInstance: prettier,\n parserMarkdownInstance: parserMarkdown\n },\n highlight: {\n instance: highlight\n },\n screenfull: {\n instance: screenfull\n },\n katex: {\n instance: katex\n },\n cropper: {\n instance: Cropper\n },\n mermaid: {\n instance: mermaid\n },\n echarts: {\n instance: echarts\n }\n}\n\nexport function setupMdEditorConfig() {\n config({
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../src/components/md-editor/config.ts"],"sourcesContent":["import ZH_TW from '@vavt/cm-extension/dist/locale/zh-TW'\nimport Cropper from 'cropperjs'\nimport * as echarts from 'echarts'\nimport highlight from 'highlight.js'\nimport katex from 'katex'\nimport { config } from 'md-editor-v3'\nimport mermaid from 'mermaid'\nimport * as prettier from 'prettier'\nimport parserMarkdown from 'prettier/plugins/markdown'\nimport screenfull from 'screenfull'\n\nconst editorExtensions = {\n prettier: {\n prettierInstance: prettier,\n parserMarkdownInstance: parserMarkdown\n },\n highlight: {\n instance: highlight\n },\n screenfull: {\n instance: screenfull\n },\n katex: {\n instance: katex\n },\n cropper: {\n instance: Cropper\n },\n mermaid: {\n instance: mermaid\n },\n echarts: {\n instance: echarts\n }\n}\n\nexport function setupMdEditorConfig() {\n config({\n editorExtensions,\n editorConfig: {\n languageUserDefined: {\n 'zh-TW': ZH_TW\n }\n }\n })\n}\n"],"names":[],"mappings":";;;;;;;;;;AAWA,MAAM,mBAAmB;AAAA,EACvB,UAAU;AAAA,IACR,kBAAkB;AAAA,IAClB,wBAAwB;AAAA,EAAA;AAAA,EAE1B,WAAW;AAAA,IACT,UAAU;AAAA,EAAA;AAAA,EAEZ,YAAY;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEZ,OAAO;AAAA,IACL,UAAU;AAAA,EAAA;AAAA,EAEZ,SAAS;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ,SAAS;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ,SAAS;AAAA,IACP,UAAU;AAAA,EAAA;AAEd;AAEO,SAAS,sBAAsB;AACpC,SAAO;AAAA,IACL;AAAA,IACA,cAAc;AAAA,MACZ,qBAAqB;AAAA,QACnB,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EACF,CACD;AACH;"}
|
|
@@ -3,7 +3,609 @@ declare var __VLS_8: string | number, __VLS_9: any;
|
|
|
3
3
|
type __VLS_Slots = {} & {
|
|
4
4
|
[K in NonNullable<typeof __VLS_8>]?: (props: typeof __VLS_9) => any;
|
|
5
5
|
};
|
|
6
|
-
declare const __VLS_component: import("vue").DefineComponent<QdMdEditorProps, {
|
|
6
|
+
declare const __VLS_component: import("vue").DefineComponent<QdMdEditorProps, {
|
|
7
|
+
$: import("vue").ComponentInternalInstance;
|
|
8
|
+
$data: {};
|
|
9
|
+
$props: Partial<{
|
|
10
|
+
style: string | import("vue").CSSProperties;
|
|
11
|
+
onDrop: (event: DragEvent) => void;
|
|
12
|
+
onFocus: (event: FocusEvent) => void;
|
|
13
|
+
onBlur: (event: FocusEvent) => void;
|
|
14
|
+
onChange: import("md-editor-v3").ChangeEvent;
|
|
15
|
+
onInput: (event: Event) => void;
|
|
16
|
+
onError: import("md-editor-v3").ErrorEvent;
|
|
17
|
+
preview: boolean;
|
|
18
|
+
class: string;
|
|
19
|
+
id: string;
|
|
20
|
+
pageFullscreen: boolean;
|
|
21
|
+
htmlPreview: boolean;
|
|
22
|
+
onSave: import("md-editor-v3").SaveEvent;
|
|
23
|
+
onUploadImg: import("md-editor-v3").UploadImgEvent;
|
|
24
|
+
onHtmlChanged: import("md-editor-v3").HtmlChangedEvent;
|
|
25
|
+
onGetCatalog: import("md-editor-v3").GetCatalogEvent;
|
|
26
|
+
oninputBoxWidthChange: (width: string) => void;
|
|
27
|
+
onRemount: () => void;
|
|
28
|
+
language: string;
|
|
29
|
+
toolbars: import("md-editor-v3").ToolbarNames[];
|
|
30
|
+
floatingToolbars: import("md-editor-v3").ToolbarNames[];
|
|
31
|
+
toolbarsExclude: import("md-editor-v3").ToolbarNames[];
|
|
32
|
+
noPrettier: boolean;
|
|
33
|
+
tabWidth: number;
|
|
34
|
+
tableShape: number[];
|
|
35
|
+
placeholder: string;
|
|
36
|
+
defToolbars: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
}>;
|
|
39
|
+
footers: import("md-editor-v3").Footers[];
|
|
40
|
+
scrollAuto: boolean;
|
|
41
|
+
defFooters: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}>;
|
|
44
|
+
noUploadImg: boolean;
|
|
45
|
+
autoFocus: boolean;
|
|
46
|
+
disabled: boolean;
|
|
47
|
+
readOnly: boolean;
|
|
48
|
+
maxLength: number;
|
|
49
|
+
autoDetectCode: boolean;
|
|
50
|
+
completions: import("@codemirror/autocomplete").CompletionSource[];
|
|
51
|
+
showToolbarName: boolean;
|
|
52
|
+
inputBoxWidth: string;
|
|
53
|
+
transformImgUrl: (t: string) => string | Promise<string>;
|
|
54
|
+
catalogLayout: "flat" | "fixed";
|
|
55
|
+
catalogMaxDepth: number;
|
|
56
|
+
modelValue: string;
|
|
57
|
+
theme: import("md-editor-v3").Themes;
|
|
58
|
+
editorId: string;
|
|
59
|
+
showCodeRowNumber: boolean;
|
|
60
|
+
previewTheme: string;
|
|
61
|
+
mdHeadingId: import("md-editor-v3").MdHeadingId;
|
|
62
|
+
sanitize: (html: string) => string;
|
|
63
|
+
noMermaid: boolean;
|
|
64
|
+
noKatex: boolean;
|
|
65
|
+
codeTheme: string;
|
|
66
|
+
formatCopiedText: (text: string) => string;
|
|
67
|
+
codeStyleReverse: boolean;
|
|
68
|
+
codeStyleReverseList: string[];
|
|
69
|
+
noHighlight: boolean;
|
|
70
|
+
noImgZoomIn: boolean;
|
|
71
|
+
customIcon: import("md-editor-v3").CustomIcon;
|
|
72
|
+
sanitizeMermaid: (h: string) => Promise<string>;
|
|
73
|
+
codeFoldable: boolean;
|
|
74
|
+
autoFoldThreshold: number;
|
|
75
|
+
noEcharts: boolean;
|
|
76
|
+
previewComponent: import("vue").Component;
|
|
77
|
+
}> & Omit<{
|
|
78
|
+
readonly class: string;
|
|
79
|
+
readonly theme: import("md-editor-v3").Themes;
|
|
80
|
+
readonly style: string | import("vue").CSSProperties;
|
|
81
|
+
readonly placeholder: string;
|
|
82
|
+
readonly disabled: boolean;
|
|
83
|
+
readonly modelValue: string;
|
|
84
|
+
readonly language: string;
|
|
85
|
+
readonly pageFullscreen: boolean;
|
|
86
|
+
readonly preview: boolean;
|
|
87
|
+
readonly htmlPreview: boolean;
|
|
88
|
+
readonly toolbars: import("md-editor-v3").ToolbarNames[];
|
|
89
|
+
readonly floatingToolbars: import("md-editor-v3").ToolbarNames[];
|
|
90
|
+
readonly toolbarsExclude: import("md-editor-v3").ToolbarNames[];
|
|
91
|
+
readonly tabWidth: number;
|
|
92
|
+
readonly tableShape: number[];
|
|
93
|
+
readonly footers: import("md-editor-v3").Footers[];
|
|
94
|
+
readonly scrollAuto: boolean;
|
|
95
|
+
readonly autoFocus: boolean;
|
|
96
|
+
readonly autoDetectCode: boolean;
|
|
97
|
+
readonly showToolbarName: boolean;
|
|
98
|
+
readonly inputBoxWidth: string;
|
|
99
|
+
readonly transformImgUrl: (t: string) => string | Promise<string>;
|
|
100
|
+
readonly catalogLayout: "flat" | "fixed";
|
|
101
|
+
readonly showCodeRowNumber: boolean;
|
|
102
|
+
readonly mdHeadingId: import("md-editor-v3").MdHeadingId;
|
|
103
|
+
readonly sanitize: (html: string) => string;
|
|
104
|
+
readonly formatCopiedText: (text: string) => string;
|
|
105
|
+
readonly codeStyleReverse: boolean;
|
|
106
|
+
readonly codeStyleReverseList: string[];
|
|
107
|
+
readonly customIcon: import("md-editor-v3").CustomIcon;
|
|
108
|
+
readonly sanitizeMermaid: (h: string) => Promise<string>;
|
|
109
|
+
readonly codeFoldable: boolean;
|
|
110
|
+
readonly autoFoldThreshold: number;
|
|
111
|
+
readonly noPrettier: boolean;
|
|
112
|
+
readonly noUploadImg: boolean;
|
|
113
|
+
readonly readOnly: boolean;
|
|
114
|
+
readonly previewTheme: string;
|
|
115
|
+
readonly noMermaid: boolean;
|
|
116
|
+
readonly noKatex: boolean;
|
|
117
|
+
readonly codeTheme: string;
|
|
118
|
+
readonly noHighlight: boolean;
|
|
119
|
+
readonly noImgZoomIn: boolean;
|
|
120
|
+
readonly noEcharts: boolean;
|
|
121
|
+
readonly onBlur?: ((event: FocusEvent) => void) | undefined;
|
|
122
|
+
readonly onChange?: import("md-editor-v3").ChangeEvent | undefined;
|
|
123
|
+
readonly onFocus?: ((event: FocusEvent) => void) | undefined;
|
|
124
|
+
readonly onDrop?: ((event: DragEvent) => void) | undefined;
|
|
125
|
+
readonly onInput?: ((event: Event) => void) | undefined;
|
|
126
|
+
readonly onError?: import("md-editor-v3").ErrorEvent | undefined;
|
|
127
|
+
readonly id?: string | undefined;
|
|
128
|
+
readonly onSave?: import("md-editor-v3").SaveEvent | undefined;
|
|
129
|
+
readonly onUploadImg?: import("md-editor-v3").UploadImgEvent | undefined;
|
|
130
|
+
readonly defToolbars?: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
131
|
+
[key: string]: any;
|
|
132
|
+
}> | undefined;
|
|
133
|
+
readonly defFooters?: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
}> | undefined;
|
|
136
|
+
readonly completions?: import("@codemirror/autocomplete").CompletionSource[] | undefined;
|
|
137
|
+
readonly oninputBoxWidthChange?: ((width: string) => void) | undefined;
|
|
138
|
+
readonly catalogMaxDepth?: number | undefined;
|
|
139
|
+
readonly onHtmlChanged?: import("md-editor-v3").HtmlChangedEvent | undefined;
|
|
140
|
+
readonly onGetCatalog?: import("md-editor-v3").GetCatalogEvent | undefined;
|
|
141
|
+
readonly onRemount?: (() => void) | undefined;
|
|
142
|
+
readonly previewComponent?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any> | undefined;
|
|
143
|
+
readonly maxLength?: number | undefined;
|
|
144
|
+
readonly editorId?: string | undefined;
|
|
145
|
+
readonly onOnChange?: ((...args: any[]) => any) | undefined | undefined;
|
|
146
|
+
readonly onOnDrop?: ((...args: any[]) => any) | undefined | undefined;
|
|
147
|
+
readonly onOnFocus?: ((...args: any[]) => any) | undefined | undefined;
|
|
148
|
+
readonly onOnBlur?: ((...args: any[]) => any) | undefined | undefined;
|
|
149
|
+
readonly onOnInput?: ((...args: any[]) => any) | undefined | undefined;
|
|
150
|
+
readonly onOnError?: ((...args: any[]) => any) | undefined | undefined;
|
|
151
|
+
readonly onOnSave?: ((...args: any[]) => any) | undefined | undefined;
|
|
152
|
+
readonly onOnUploadImg?: ((...args: any[]) => any) | undefined | undefined;
|
|
153
|
+
readonly onOnHtmlChanged?: ((...args: any[]) => any) | undefined | undefined;
|
|
154
|
+
readonly onOnGetCatalog?: ((...args: any[]) => any) | undefined | undefined;
|
|
155
|
+
readonly "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined | undefined;
|
|
156
|
+
readonly onOninputBoxWidthChange?: ((...args: any[]) => any) | undefined | undefined;
|
|
157
|
+
readonly onOnRemount?: ((...args: any[]) => any) | undefined | undefined;
|
|
158
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "class" | "theme" | "style" | "placeholder" | "disabled" | "modelValue" | "onBlur" | "onChange" | "onFocus" | "onDrop" | "onInput" | "onError" | "id" | "language" | "pageFullscreen" | "preview" | "htmlPreview" | "onSave" | "onUploadImg" | "toolbars" | "floatingToolbars" | "toolbarsExclude" | "tabWidth" | "tableShape" | "defToolbars" | "footers" | "scrollAuto" | "defFooters" | "autoFocus" | "autoDetectCode" | "completions" | "showToolbarName" | "inputBoxWidth" | "oninputBoxWidthChange" | "transformImgUrl" | "catalogLayout" | "catalogMaxDepth" | "onHtmlChanged" | "onGetCatalog" | "showCodeRowNumber" | "mdHeadingId" | "sanitize" | "formatCopiedText" | "codeStyleReverse" | "codeStyleReverseList" | "customIcon" | "sanitizeMermaid" | "codeFoldable" | "autoFoldThreshold" | "onRemount" | "previewComponent" | "noPrettier" | "noUploadImg" | "readOnly" | "maxLength" | "editorId" | "previewTheme" | "noMermaid" | "noKatex" | "codeTheme" | "noHighlight" | "noImgZoomIn" | "noEcharts">;
|
|
159
|
+
$attrs: {
|
|
160
|
+
[x: string]: unknown;
|
|
161
|
+
};
|
|
162
|
+
$refs: {
|
|
163
|
+
[x: string]: unknown;
|
|
164
|
+
};
|
|
165
|
+
$slots: Readonly<{
|
|
166
|
+
[name: string]: import("vue").Slot<any> | undefined;
|
|
167
|
+
}>;
|
|
168
|
+
$root: import("vue").ComponentPublicInstance | null;
|
|
169
|
+
$parent: import("vue").ComponentPublicInstance | null;
|
|
170
|
+
$host: Element | null;
|
|
171
|
+
$emit: (event: "onBlur" | "onChange" | "onFocus" | "onDrop" | "onInput" | "onError" | "update:modelValue" | "onSave" | "onUploadImg" | "oninputBoxWidthChange" | "onHtmlChanged" | "onGetCatalog" | "onRemount", ...args: any[]) => void;
|
|
172
|
+
$el: any;
|
|
173
|
+
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
174
|
+
onSave: {
|
|
175
|
+
type: import("vue").PropType<import("md-editor-v3").SaveEvent>;
|
|
176
|
+
default: undefined;
|
|
177
|
+
};
|
|
178
|
+
onUploadImg: {
|
|
179
|
+
type: import("vue").PropType<import("md-editor-v3").UploadImgEvent>;
|
|
180
|
+
default: undefined;
|
|
181
|
+
};
|
|
182
|
+
pageFullscreen: {
|
|
183
|
+
type: import("vue").PropType<boolean>;
|
|
184
|
+
default: boolean;
|
|
185
|
+
};
|
|
186
|
+
preview: {
|
|
187
|
+
type: import("vue").PropType<boolean>;
|
|
188
|
+
default: boolean;
|
|
189
|
+
};
|
|
190
|
+
htmlPreview: {
|
|
191
|
+
type: import("vue").PropType<boolean>;
|
|
192
|
+
default: boolean;
|
|
193
|
+
};
|
|
194
|
+
toolbars: {
|
|
195
|
+
type: import("vue").PropType<Array<import("md-editor-v3").ToolbarNames>>;
|
|
196
|
+
default: string[];
|
|
197
|
+
};
|
|
198
|
+
floatingToolbars: {
|
|
199
|
+
type: import("vue").PropType<Array<import("md-editor-v3").ToolbarNames>>;
|
|
200
|
+
default: never[];
|
|
201
|
+
};
|
|
202
|
+
toolbarsExclude: {
|
|
203
|
+
type: import("vue").PropType<Array<import("md-editor-v3").ToolbarNames>>;
|
|
204
|
+
default: never[];
|
|
205
|
+
};
|
|
206
|
+
noPrettier: {
|
|
207
|
+
type: import("vue").PropType<boolean>;
|
|
208
|
+
default: boolean;
|
|
209
|
+
};
|
|
210
|
+
tabWidth: {
|
|
211
|
+
type: import("vue").PropType<number>;
|
|
212
|
+
default: number;
|
|
213
|
+
};
|
|
214
|
+
tableShape: {
|
|
215
|
+
type: import("vue").PropType<Array<number>>;
|
|
216
|
+
default: number[];
|
|
217
|
+
};
|
|
218
|
+
placeholder: {
|
|
219
|
+
type: import("vue").PropType<string>;
|
|
220
|
+
default: string;
|
|
221
|
+
};
|
|
222
|
+
defToolbars: {
|
|
223
|
+
type: import("vue").PropType<string | import("vue").VNode>;
|
|
224
|
+
default: undefined;
|
|
225
|
+
};
|
|
226
|
+
onError: {
|
|
227
|
+
type: import("vue").PropType<import("md-editor-v3").ErrorEvent>;
|
|
228
|
+
default: undefined;
|
|
229
|
+
};
|
|
230
|
+
footers: {
|
|
231
|
+
type: import("vue").PropType<Array<import("md-editor-v3").Footers>>;
|
|
232
|
+
default: import("md-editor-v3").Footers[];
|
|
233
|
+
};
|
|
234
|
+
scrollAuto: {
|
|
235
|
+
type: import("vue").PropType<boolean>;
|
|
236
|
+
default: boolean;
|
|
237
|
+
};
|
|
238
|
+
defFooters: {
|
|
239
|
+
type: import("vue").PropType<string | import("vue").VNode>;
|
|
240
|
+
default: undefined;
|
|
241
|
+
};
|
|
242
|
+
noUploadImg: {
|
|
243
|
+
type: import("vue").PropType<boolean>;
|
|
244
|
+
default: boolean;
|
|
245
|
+
};
|
|
246
|
+
autoFocus: {
|
|
247
|
+
type: import("vue").PropType<boolean>;
|
|
248
|
+
default: boolean;
|
|
249
|
+
};
|
|
250
|
+
disabled: {
|
|
251
|
+
type: import("vue").PropType<boolean>;
|
|
252
|
+
default: boolean;
|
|
253
|
+
};
|
|
254
|
+
readOnly: {
|
|
255
|
+
type: import("vue").PropType<boolean>;
|
|
256
|
+
default: boolean;
|
|
257
|
+
};
|
|
258
|
+
maxLength: {
|
|
259
|
+
type: import("vue").PropType<number>;
|
|
260
|
+
default: undefined;
|
|
261
|
+
};
|
|
262
|
+
autoDetectCode: {
|
|
263
|
+
type: import("vue").PropType<boolean>;
|
|
264
|
+
default: boolean;
|
|
265
|
+
};
|
|
266
|
+
onBlur: {
|
|
267
|
+
type: import("vue").PropType<(event: FocusEvent) => void>;
|
|
268
|
+
default: undefined;
|
|
269
|
+
};
|
|
270
|
+
onFocus: {
|
|
271
|
+
type: import("vue").PropType<(event: FocusEvent) => void>;
|
|
272
|
+
default: undefined;
|
|
273
|
+
};
|
|
274
|
+
completions: {
|
|
275
|
+
type: import("vue").PropType<Array<import("@codemirror/autocomplete").CompletionSource>>;
|
|
276
|
+
default: undefined;
|
|
277
|
+
};
|
|
278
|
+
showToolbarName: {
|
|
279
|
+
type: import("vue").PropType<boolean>;
|
|
280
|
+
default: boolean;
|
|
281
|
+
};
|
|
282
|
+
onInput: {
|
|
283
|
+
type: import("vue").PropType<(event: Event) => void>;
|
|
284
|
+
default: undefined;
|
|
285
|
+
};
|
|
286
|
+
onDrop: {
|
|
287
|
+
type: import("vue").PropType<(event: DragEvent) => void>;
|
|
288
|
+
default: undefined;
|
|
289
|
+
};
|
|
290
|
+
inputBoxWidth: {
|
|
291
|
+
type: import("vue").PropType<string>;
|
|
292
|
+
default: string;
|
|
293
|
+
};
|
|
294
|
+
oninputBoxWidthChange: {
|
|
295
|
+
type: import("vue").PropType<(width: string) => void>;
|
|
296
|
+
default: undefined;
|
|
297
|
+
};
|
|
298
|
+
transformImgUrl: {
|
|
299
|
+
type: import("vue").PropType<(t: string) => string | Promise<string>>;
|
|
300
|
+
default: (t: string) => string;
|
|
301
|
+
};
|
|
302
|
+
catalogLayout: {
|
|
303
|
+
type: import("vue").PropType<"fixed" | "flat">;
|
|
304
|
+
default: string;
|
|
305
|
+
};
|
|
306
|
+
catalogMaxDepth: {
|
|
307
|
+
type: import("vue").PropType<number>;
|
|
308
|
+
default: undefined;
|
|
309
|
+
};
|
|
310
|
+
modelValue: {
|
|
311
|
+
type: import("vue").PropType<string>;
|
|
312
|
+
default: string;
|
|
313
|
+
};
|
|
314
|
+
onChange: {
|
|
315
|
+
type: import("vue").PropType<import("md-editor-v3").ChangeEvent>;
|
|
316
|
+
default: undefined;
|
|
317
|
+
};
|
|
318
|
+
theme: {
|
|
319
|
+
type: import("vue").PropType<import("md-editor-v3").Themes>;
|
|
320
|
+
default: string;
|
|
321
|
+
};
|
|
322
|
+
class: {
|
|
323
|
+
type: StringConstructor;
|
|
324
|
+
default: string;
|
|
325
|
+
};
|
|
326
|
+
language: {
|
|
327
|
+
type: import("vue").PropType<string>;
|
|
328
|
+
default: string;
|
|
329
|
+
};
|
|
330
|
+
onHtmlChanged: {
|
|
331
|
+
type: import("vue").PropType<import("md-editor-v3").HtmlChangedEvent>;
|
|
332
|
+
default: undefined;
|
|
333
|
+
};
|
|
334
|
+
onGetCatalog: {
|
|
335
|
+
type: import("vue").PropType<import("md-editor-v3").GetCatalogEvent>;
|
|
336
|
+
default: undefined;
|
|
337
|
+
};
|
|
338
|
+
editorId: {
|
|
339
|
+
type: import("vue").PropType<string>;
|
|
340
|
+
default: undefined;
|
|
341
|
+
};
|
|
342
|
+
id: {
|
|
343
|
+
type: import("vue").PropType<string>;
|
|
344
|
+
default: undefined;
|
|
345
|
+
};
|
|
346
|
+
showCodeRowNumber: {
|
|
347
|
+
type: import("vue").PropType<boolean>;
|
|
348
|
+
default: boolean;
|
|
349
|
+
};
|
|
350
|
+
previewTheme: {
|
|
351
|
+
type: import("vue").PropType<import("md-editor-v3").PreviewThemes>;
|
|
352
|
+
default: string;
|
|
353
|
+
};
|
|
354
|
+
style: {
|
|
355
|
+
type: import("vue").PropType<import("vue").CSSProperties | string>;
|
|
356
|
+
default: () => {};
|
|
357
|
+
};
|
|
358
|
+
mdHeadingId: {
|
|
359
|
+
type: import("vue").PropType<import("md-editor-v3").MdHeadingId>;
|
|
360
|
+
default: import("md-editor-v3").MdHeadingId;
|
|
361
|
+
};
|
|
362
|
+
sanitize: {
|
|
363
|
+
type: import("vue").PropType<(html: string) => string>;
|
|
364
|
+
default: (html: string) => string;
|
|
365
|
+
};
|
|
366
|
+
noMermaid: {
|
|
367
|
+
type: import("vue").PropType<boolean>;
|
|
368
|
+
default: boolean;
|
|
369
|
+
};
|
|
370
|
+
noKatex: {
|
|
371
|
+
type: import("vue").PropType<boolean>;
|
|
372
|
+
default: boolean;
|
|
373
|
+
};
|
|
374
|
+
codeTheme: {
|
|
375
|
+
type: import("vue").PropType<string>;
|
|
376
|
+
default: string;
|
|
377
|
+
};
|
|
378
|
+
formatCopiedText: {
|
|
379
|
+
type: import("vue").PropType<(text: string) => string>;
|
|
380
|
+
default: (text: string) => string;
|
|
381
|
+
};
|
|
382
|
+
codeStyleReverse: {
|
|
383
|
+
type: import("vue").PropType<boolean>;
|
|
384
|
+
default: boolean;
|
|
385
|
+
};
|
|
386
|
+
codeStyleReverseList: {
|
|
387
|
+
type: import("vue").PropType<Array<string>>;
|
|
388
|
+
default: string[];
|
|
389
|
+
};
|
|
390
|
+
noHighlight: {
|
|
391
|
+
type: import("vue").PropType<boolean>;
|
|
392
|
+
default: boolean;
|
|
393
|
+
};
|
|
394
|
+
noImgZoomIn: {
|
|
395
|
+
type: import("vue").PropType<boolean>;
|
|
396
|
+
default: boolean;
|
|
397
|
+
};
|
|
398
|
+
customIcon: {
|
|
399
|
+
type: import("vue").PropType<import("md-editor-v3").CustomIcon>;
|
|
400
|
+
default: {};
|
|
401
|
+
};
|
|
402
|
+
sanitizeMermaid: {
|
|
403
|
+
type: import("vue").PropType<(h: string) => Promise<string>>;
|
|
404
|
+
default: (h: string) => Promise<string>;
|
|
405
|
+
};
|
|
406
|
+
codeFoldable: {
|
|
407
|
+
type: import("vue").PropType<boolean>;
|
|
408
|
+
default: boolean;
|
|
409
|
+
};
|
|
410
|
+
autoFoldThreshold: {
|
|
411
|
+
type: import("vue").PropType<number>;
|
|
412
|
+
default: number;
|
|
413
|
+
};
|
|
414
|
+
onRemount: {
|
|
415
|
+
type: import("vue").PropType<() => void>;
|
|
416
|
+
default: undefined;
|
|
417
|
+
};
|
|
418
|
+
noEcharts: {
|
|
419
|
+
type: import("vue").PropType<boolean>;
|
|
420
|
+
default: boolean;
|
|
421
|
+
};
|
|
422
|
+
previewComponent: {
|
|
423
|
+
type: import("vue").PropType<import("vue").Component>;
|
|
424
|
+
default: undefined;
|
|
425
|
+
};
|
|
426
|
+
}>> & Readonly<{
|
|
427
|
+
onOnChange?: ((...args: any[]) => any) | undefined;
|
|
428
|
+
onOnDrop?: ((...args: any[]) => any) | undefined;
|
|
429
|
+
onOnFocus?: ((...args: any[]) => any) | undefined;
|
|
430
|
+
onOnBlur?: ((...args: any[]) => any) | undefined;
|
|
431
|
+
onOnInput?: ((...args: any[]) => any) | undefined;
|
|
432
|
+
onOnError?: ((...args: any[]) => any) | undefined;
|
|
433
|
+
onOnSave?: ((...args: any[]) => any) | undefined;
|
|
434
|
+
onOnUploadImg?: ((...args: any[]) => any) | undefined;
|
|
435
|
+
onOnHtmlChanged?: ((...args: any[]) => any) | undefined;
|
|
436
|
+
onOnGetCatalog?: ((...args: any[]) => any) | undefined;
|
|
437
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
438
|
+
onOninputBoxWidthChange?: ((...args: any[]) => any) | undefined;
|
|
439
|
+
onOnRemount?: ((...args: any[]) => any) | undefined;
|
|
440
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("md-editor-v3").EditorEmits, string, {
|
|
441
|
+
style: string | import("vue").CSSProperties;
|
|
442
|
+
onDrop: (event: DragEvent) => void;
|
|
443
|
+
onFocus: (event: FocusEvent) => void;
|
|
444
|
+
onBlur: (event: FocusEvent) => void;
|
|
445
|
+
onChange: import("md-editor-v3").ChangeEvent;
|
|
446
|
+
onInput: (event: Event) => void;
|
|
447
|
+
onError: import("md-editor-v3").ErrorEvent;
|
|
448
|
+
preview: boolean;
|
|
449
|
+
class: string;
|
|
450
|
+
id: string;
|
|
451
|
+
pageFullscreen: boolean;
|
|
452
|
+
htmlPreview: boolean;
|
|
453
|
+
onSave: import("md-editor-v3").SaveEvent;
|
|
454
|
+
onUploadImg: import("md-editor-v3").UploadImgEvent;
|
|
455
|
+
onHtmlChanged: import("md-editor-v3").HtmlChangedEvent;
|
|
456
|
+
onGetCatalog: import("md-editor-v3").GetCatalogEvent;
|
|
457
|
+
oninputBoxWidthChange: (width: string) => void;
|
|
458
|
+
onRemount: () => void;
|
|
459
|
+
language: string;
|
|
460
|
+
toolbars: import("md-editor-v3").ToolbarNames[];
|
|
461
|
+
floatingToolbars: import("md-editor-v3").ToolbarNames[];
|
|
462
|
+
toolbarsExclude: import("md-editor-v3").ToolbarNames[];
|
|
463
|
+
noPrettier: boolean;
|
|
464
|
+
tabWidth: number;
|
|
465
|
+
tableShape: number[];
|
|
466
|
+
placeholder: string;
|
|
467
|
+
defToolbars: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
468
|
+
[key: string]: any;
|
|
469
|
+
}>;
|
|
470
|
+
footers: import("md-editor-v3").Footers[];
|
|
471
|
+
scrollAuto: boolean;
|
|
472
|
+
defFooters: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
473
|
+
[key: string]: any;
|
|
474
|
+
}>;
|
|
475
|
+
noUploadImg: boolean;
|
|
476
|
+
autoFocus: boolean;
|
|
477
|
+
disabled: boolean;
|
|
478
|
+
readOnly: boolean;
|
|
479
|
+
maxLength: number;
|
|
480
|
+
autoDetectCode: boolean;
|
|
481
|
+
completions: import("@codemirror/autocomplete").CompletionSource[];
|
|
482
|
+
showToolbarName: boolean;
|
|
483
|
+
inputBoxWidth: string;
|
|
484
|
+
transformImgUrl: (t: string) => string | Promise<string>;
|
|
485
|
+
catalogLayout: "flat" | "fixed";
|
|
486
|
+
catalogMaxDepth: number;
|
|
487
|
+
modelValue: string;
|
|
488
|
+
theme: import("md-editor-v3").Themes;
|
|
489
|
+
editorId: string;
|
|
490
|
+
showCodeRowNumber: boolean;
|
|
491
|
+
previewTheme: string;
|
|
492
|
+
mdHeadingId: import("md-editor-v3").MdHeadingId;
|
|
493
|
+
sanitize: (html: string) => string;
|
|
494
|
+
noMermaid: boolean;
|
|
495
|
+
noKatex: boolean;
|
|
496
|
+
codeTheme: string;
|
|
497
|
+
formatCopiedText: (text: string) => string;
|
|
498
|
+
codeStyleReverse: boolean;
|
|
499
|
+
codeStyleReverseList: string[];
|
|
500
|
+
noHighlight: boolean;
|
|
501
|
+
noImgZoomIn: boolean;
|
|
502
|
+
customIcon: import("md-editor-v3").CustomIcon;
|
|
503
|
+
sanitizeMermaid: (h: string) => Promise<string>;
|
|
504
|
+
codeFoldable: boolean;
|
|
505
|
+
autoFoldThreshold: number;
|
|
506
|
+
noEcharts: boolean;
|
|
507
|
+
previewComponent: import("vue").Component;
|
|
508
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
|
|
509
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
510
|
+
created?: (() => void) | (() => void)[];
|
|
511
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
512
|
+
mounted?: (() => void) | (() => void)[];
|
|
513
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
514
|
+
updated?: (() => void) | (() => void)[];
|
|
515
|
+
activated?: (() => void) | (() => void)[];
|
|
516
|
+
deactivated?: (() => void) | (() => void)[];
|
|
517
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
518
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
519
|
+
destroyed?: (() => void) | (() => void)[];
|
|
520
|
+
unmounted?: (() => void) | (() => void)[];
|
|
521
|
+
renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
|
|
522
|
+
renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
|
|
523
|
+
errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
524
|
+
};
|
|
525
|
+
$forceUpdate: () => void;
|
|
526
|
+
$nextTick: typeof import("vue").nextTick;
|
|
527
|
+
$watch: <T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions) => import("vue").WatchStopHandle;
|
|
528
|
+
style: string | import("vue").CSSProperties;
|
|
529
|
+
onDrop: (event: DragEvent) => void;
|
|
530
|
+
onFocus: (event: FocusEvent) => void;
|
|
531
|
+
onBlur: (event: FocusEvent) => void;
|
|
532
|
+
onChange: import("md-editor-v3").ChangeEvent;
|
|
533
|
+
onInput: (event: Event) => void;
|
|
534
|
+
onError: import("md-editor-v3").ErrorEvent;
|
|
535
|
+
preview: boolean;
|
|
536
|
+
class: string;
|
|
537
|
+
id: string;
|
|
538
|
+
pageFullscreen: boolean;
|
|
539
|
+
htmlPreview: boolean;
|
|
540
|
+
onSave: import("md-editor-v3").SaveEvent;
|
|
541
|
+
onUploadImg: import("md-editor-v3").UploadImgEvent;
|
|
542
|
+
onHtmlChanged: import("md-editor-v3").HtmlChangedEvent;
|
|
543
|
+
onGetCatalog: import("md-editor-v3").GetCatalogEvent;
|
|
544
|
+
oninputBoxWidthChange: (width: string) => void;
|
|
545
|
+
onRemount: () => void;
|
|
546
|
+
language: string;
|
|
547
|
+
toolbars: import("md-editor-v3").ToolbarNames[];
|
|
548
|
+
floatingToolbars: import("md-editor-v3").ToolbarNames[];
|
|
549
|
+
toolbarsExclude: import("md-editor-v3").ToolbarNames[];
|
|
550
|
+
noPrettier: boolean;
|
|
551
|
+
tabWidth: number;
|
|
552
|
+
tableShape: number[];
|
|
553
|
+
placeholder: string;
|
|
554
|
+
defToolbars: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
555
|
+
[key: string]: any;
|
|
556
|
+
}>;
|
|
557
|
+
footers: import("md-editor-v3").Footers[];
|
|
558
|
+
scrollAuto: boolean;
|
|
559
|
+
defFooters: string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
560
|
+
[key: string]: any;
|
|
561
|
+
}>;
|
|
562
|
+
noUploadImg: boolean;
|
|
563
|
+
autoFocus: boolean;
|
|
564
|
+
disabled: boolean;
|
|
565
|
+
readOnly: boolean;
|
|
566
|
+
maxLength: number;
|
|
567
|
+
autoDetectCode: boolean;
|
|
568
|
+
completions: import("@codemirror/autocomplete").CompletionSource[];
|
|
569
|
+
showToolbarName: boolean;
|
|
570
|
+
inputBoxWidth: string;
|
|
571
|
+
transformImgUrl: (t: string) => string | Promise<string>;
|
|
572
|
+
catalogLayout: "flat" | "fixed";
|
|
573
|
+
catalogMaxDepth: number;
|
|
574
|
+
modelValue: string;
|
|
575
|
+
theme: import("md-editor-v3").Themes;
|
|
576
|
+
editorId: string;
|
|
577
|
+
showCodeRowNumber: boolean;
|
|
578
|
+
previewTheme: string;
|
|
579
|
+
mdHeadingId: import("md-editor-v3").MdHeadingId;
|
|
580
|
+
sanitize: (html: string) => string;
|
|
581
|
+
noMermaid: boolean;
|
|
582
|
+
noKatex: boolean;
|
|
583
|
+
codeTheme: string;
|
|
584
|
+
formatCopiedText: (text: string) => string;
|
|
585
|
+
codeStyleReverse: boolean;
|
|
586
|
+
codeStyleReverseList: string[];
|
|
587
|
+
noHighlight: boolean;
|
|
588
|
+
noImgZoomIn: boolean;
|
|
589
|
+
customIcon: import("md-editor-v3").CustomIcon;
|
|
590
|
+
sanitizeMermaid: (h: string) => Promise<string>;
|
|
591
|
+
codeFoldable: boolean;
|
|
592
|
+
autoFoldThreshold: number;
|
|
593
|
+
noEcharts: boolean;
|
|
594
|
+
previewComponent: import("vue").Component;
|
|
595
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
596
|
+
onOnChange?: ((...args: any[]) => any) | undefined;
|
|
597
|
+
onOnDrop?: ((...args: any[]) => any) | undefined;
|
|
598
|
+
onOnFocus?: ((...args: any[]) => any) | undefined;
|
|
599
|
+
onOnBlur?: ((...args: any[]) => any) | undefined;
|
|
600
|
+
onOnInput?: ((...args: any[]) => any) | undefined;
|
|
601
|
+
onOnError?: ((...args: any[]) => any) | undefined;
|
|
602
|
+
onOnSave?: ((...args: any[]) => any) | undefined;
|
|
603
|
+
onOnUploadImg?: ((...args: any[]) => any) | undefined;
|
|
604
|
+
onOnHtmlChanged?: ((...args: any[]) => any) | undefined;
|
|
605
|
+
onOnGetCatalog?: ((...args: any[]) => any) | undefined;
|
|
606
|
+
onOninputBoxWidthChange?: ((...args: any[]) => any) | undefined;
|
|
607
|
+
onOnRemount?: ((...args: any[]) => any) | undefined;
|
|
608
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
609
|
"update:modelValue": (args_0: string | undefined) => any;
|
|
8
610
|
}, string, import("vue").PublicProps, Readonly<QdMdEditorProps> & Readonly<{
|
|
9
611
|
"onUpdate:modelValue"?: ((args_0: string | undefined) => any) | undefined;
|
|
@@ -4,7 +4,7 @@ import _sfc_main from "./index.vue2.mjs";
|
|
|
4
4
|
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
6
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
7
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
7
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-94f380a5"]]);
|
|
8
8
|
export {
|
|
9
9
|
index as default
|
|
10
10
|
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import './index2.css'
|
|
2
2
|
import './index.css'
|
|
3
|
-
import { defineComponent, mergeDefaults, computed, inject, ref, useTemplateRef,
|
|
3
|
+
import { defineComponent, mergeDefaults, computed, inject, ref, useTemplateRef, createBlock, openBlock, unref, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
4
4
|
import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
|
|
5
5
|
import { MdEditor } from "md-editor-v3";
|
|
6
|
+
import { createExposeProxy } from "qidian-shared";
|
|
6
7
|
import { FormItemInjectionKey } from "tdesign-vue-next/es/form/constants";
|
|
7
8
|
import { setupMdEditorConfig } from "./config.mjs";
|
|
8
9
|
import { qdMdEditorToolbars, qdMdEditorProps } from "./props.mjs";
|
|
10
|
+
import { useLocale } from "../../hooks/useLocale.mjs";
|
|
9
11
|
import { useReadonly } from "../../hooks/useReadonly.mjs";
|
|
10
12
|
import { useDisabled } from "../../hooks/useDisabled.mjs";
|
|
13
|
+
import { useTheme } from "../../hooks/useTheme.mjs";
|
|
11
14
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
15
|
...{
|
|
13
16
|
name: "QdMdEditor"
|
|
@@ -52,7 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
52
55
|
onChange: { type: Function },
|
|
53
56
|
theme: {},
|
|
54
57
|
class: {},
|
|
55
|
-
|
|
58
|
+
locale: {},
|
|
56
59
|
onHtmlChanged: { type: Function },
|
|
57
60
|
onGetCatalog: { type: Function },
|
|
58
61
|
id: {},
|
|
@@ -76,7 +79,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
76
79
|
previewComponent: {}
|
|
77
80
|
}, qdMdEditorProps),
|
|
78
81
|
emits: ["update:modelValue"],
|
|
79
|
-
setup(__props, { emit: __emit }) {
|
|
82
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
80
83
|
setupMdEditorConfig();
|
|
81
84
|
const props = __props;
|
|
82
85
|
const emit = __emit;
|
|
@@ -89,6 +92,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
89
92
|
const tdReadonly = useReadonly();
|
|
90
93
|
const tdDisabled = useDisabled();
|
|
91
94
|
const tdFormItem = inject(FormItemInjectionKey, void 0);
|
|
95
|
+
const tdTheme = useTheme();
|
|
96
|
+
const tdLocale = useLocale();
|
|
92
97
|
const focus = ref(false);
|
|
93
98
|
const reProps = computed(() => {
|
|
94
99
|
const {
|
|
@@ -97,6 +102,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
97
102
|
disabled,
|
|
98
103
|
maxlength,
|
|
99
104
|
toolbars,
|
|
105
|
+
theme,
|
|
100
106
|
onFocus,
|
|
101
107
|
onBlur,
|
|
102
108
|
disabledEcharts,
|
|
@@ -106,6 +112,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
106
112
|
disabledMermaid,
|
|
107
113
|
disabledPrettier,
|
|
108
114
|
disabledUploadImg,
|
|
115
|
+
locale,
|
|
109
116
|
...mdEditorOptions
|
|
110
117
|
} = props;
|
|
111
118
|
const reReadonly = readonly ?? tdReadonly.value;
|
|
@@ -127,6 +134,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
127
134
|
}
|
|
128
135
|
const reMdEditorOptions = {
|
|
129
136
|
...mdEditorOptions,
|
|
137
|
+
theme: tdTheme.value,
|
|
138
|
+
language: tdLocale.value,
|
|
130
139
|
codeTheme: "github",
|
|
131
140
|
previewTheme: "github",
|
|
132
141
|
toolbars: reToolbars,
|
|
@@ -151,14 +160,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
151
160
|
};
|
|
152
161
|
});
|
|
153
162
|
const editorRef = useTemplateRef("editor");
|
|
154
|
-
|
|
155
|
-
onMounted(async () => {
|
|
156
|
-
Object.assign(expose, editorRef.value);
|
|
157
|
-
});
|
|
163
|
+
__expose(createExposeProxy({}, editorRef));
|
|
158
164
|
return (_ctx, _cache) => {
|
|
159
165
|
return openBlock(), createBlock(unref(MdEditor), mergeProps({
|
|
160
166
|
ref: "editor",
|
|
161
|
-
key: reProps.value.readonly ? "readonly" : "editable"
|
|
167
|
+
key: `${reProps.value.readonly ? "readonly" : "editable"}-${reProps.value.mdEditorOptions.preview}-${reProps.value.mdEditorOptions.htmlPreview}-${reProps.value.mdEditorOptions.pageFullscreen}`,
|
|
162
168
|
modelValue: reModelValue.value,
|
|
163
169
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => reModelValue.value = $event),
|
|
164
170
|
class: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/md-editor/index.vue"],"sourcesContent":["<template>\n <md-editor\n ref=\"editor\"\n :key=\"reProps.readonly ? 'readonly' : 'editable'
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/md-editor/index.vue"],"sourcesContent":["<template>\n <md-editor\n ref=\"editor\"\n :key=\"`${reProps.readonly ? 'readonly' : 'editable'}-${reProps.mdEditorOptions.preview}-${reProps.mdEditorOptions.htmlPreview}-${reProps.mdEditorOptions.pageFullscreen}`\"\n v-model=\"reModelValue\"\n :class=\"[\n 'qd-md-editor',\n focus ? 'qd-md-editor--focus' : '',\n reProps.disabled ? 'qd-md-editor--disabled' : ''\n ]\"\n :read-only=\"reProps.readonly\"\n :disabled=\"reProps.disabled\"\n v-bind=\"reProps.mdEditorOptions\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </md-editor>\n</template>\n\n<script setup lang=\"ts\">\n // TODO 图片上传\n // TODO 文件上传\n import { useVModels } from '@vueuse/core'\n import type { EditorProps } from 'md-editor-v3'\n import { MdEditor } from 'md-editor-v3'\n import { createExposeProxy } from 'qidian-shared'\n import { FormItemInjectionKey } from 'tdesign-vue-next/es/form/constants'\n import { computed, inject, ref, useTemplateRef } from 'vue'\n\n import { useDisabled, useLocale, useReadonly, useTheme } from '../../hooks'\n import { setupMdEditorConfig } from './config'\n import { qdMdEditorProps, qdMdEditorToolbars } from './props'\n import type { QdMdEditorProps } from './types'\n\n defineOptions({\n name: 'QdMdEditor'\n })\n\n setupMdEditorConfig()\n\n const props = withDefaults(defineProps<QdMdEditorProps>(), qdMdEditorProps)\n const emit = defineEmits<{\n 'update:modelValue': [QdMdEditorProps['modelValue']]\n }>()\n const { modelValue } = useVModels(props, emit, { passive: true })\n const reModelValue = computed({\n get: () => modelValue.value ?? '', // 防止 md-editor 报错\n set: (val) => (modelValue.value = val)\n })\n\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const tdFormItem = inject(FormItemInjectionKey, undefined)\n const tdTheme = useTheme()\n const tdLocale = useLocale()\n const focus = ref(false)\n\n const reProps = computed(() => {\n const {\n modelValue,\n readonly,\n disabled,\n maxlength,\n toolbars,\n theme,\n onFocus,\n onBlur,\n disabledEcharts,\n disabledHighlight,\n disabledImgZoomIn,\n disabledKatex,\n disabledMermaid,\n disabledPrettier,\n disabledUploadImg,\n locale,\n ...mdEditorOptions\n } = props\n\n const reReadonly = readonly ?? tdReadonly.value\n const reDisabled = disabled ?? tdDisabled.value\n\n const reOnFocus: typeof onFocus = (evt) => {\n focus.value = true\n onFocus?.(evt)\n }\n\n const reOnBlur: typeof onBlur = (evt) => {\n focus.value = false\n tdFormItem?.handleBlur()\n onBlur?.(evt)\n }\n\n const reToolbars =\n reReadonly || reDisabled\n ? ['=', 'pageFullscreen', 'preview']\n : (toolbars ?? [...qdMdEditorToolbars])\n\n const reDisabledUploadImg = disabledUploadImg ?? true\n if (reDisabledUploadImg) {\n const imgIdx = reToolbars.findIndex((item) => item === 'image')\n if (imgIdx > -1) reToolbars.splice(imgIdx, 1)\n }\n\n const reMdEditorOptions = {\n ...mdEditorOptions,\n theme: tdTheme.value,\n language: tdLocale.value,\n codeTheme: 'github',\n previewTheme: 'github',\n toolbars: reToolbars,\n noEcharts: disabledEcharts,\n noHighlight: disabledHighlight,\n noImgZoomIn: disabledImgZoomIn,\n noKatex: disabledKatex,\n noMermaid: disabledMermaid,\n noPrettier: disabledPrettier,\n noUploadImg: reDisabledUploadImg,\n maxLength: maxlength,\n onFocus: reOnFocus,\n onBlur: reOnBlur\n } as unknown as Omit<EditorProps, 'modelValue' | 'readOnly' | 'disabled'>\n\n return {\n readonly: reReadonly,\n disabled: reDisabled,\n mdEditorOptions: reMdEditorOptions,\n models: {\n modelValue\n }\n }\n })\n\n const editorRef = useTemplateRef('editor')\n\n defineExpose(createExposeProxy({}, editorRef))\n</script>\n\n<style lang=\"less\">\n @import 'md-editor-v3/lib/style.css';\n @import 'katex/dist/katex.min.css';\n @import 'cropperjs/dist/cropper.css';\n @import 'highlight.js/styles/github.css';\n</style>\n\n<style lang=\"less\" scoped>\n .qd-md-editor {\n --md-color: var(--td-text-color-primary);\n --md-border-color: var(--td-border-level-2-color);\n --md-bk-color: var(--td-bg-color-specialcomponent);\n --md-bk-hover-color: var(--td-bg-color-container-hover);\n height: 100%;\n border-radius: var(--td-radius-default);\n transition:\n border cubic-bezier(0.38, 0, 0.24, 1) 0.2s,\n box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s,\n background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s,\n -webkit-box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s;\n\n &:hover {\n border-color: var(--td-brand-color);\n }\n\n &.qd-md-editor--focus {\n border-color: var(--td-brand-color);\n box-shadow: 0 0 0 2px var(--td-brand-color-focus);\n }\n\n &.qd-md-editor--disabled {\n color: var(--td-text-color-disabled);\n background-color: var(--td-bg-color-component-disabled);\n cursor: not-allowed;\n\n :deep(.cm-editor) {\n background-color: transparent;\n }\n\n &:hover {\n border-color: var(--td-border-level-2-color);\n }\n }\n\n :deep(.md-editor) {\n &-preview {\n padding: var(--td-comp-paddingLR-s);\n }\n }\n\n :deep(.cm-editor) {\n font: var(--td-font-body-medium);\n }\n\n :deep(.cm-scroller) {\n line-height: inherit !important;\n }\n\n :deep(.cm-content) {\n margin: 0 !important;\n padding: var(--td-comp-paddingLR-s);\n }\n }\n\n .t-is-error .qd-md-editor {\n border-color: var(--td-error-color);\n\n &--focus {\n box-shadow: 0 0 0 2px var(--td-error-color-focus);\n }\n }\n</style>\n"],"names":["modelValue","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCE,wBAAA;AAEA,UAAM,QAAQ;AACd,UAAM,OAAO;AAGb,UAAM,EAAE,eAAe,WAAW,OAAO,MAAM,EAAE,SAAS,MAAM;AAChE,UAAM,eAAe,SAAS;AAAA,MAC5B,KAAK,MAAM,WAAW,SAAS;AAAA;AAAA,MAC/B,KAAK,CAAC,QAAS,WAAW,QAAQ;AAAA,IAAA,CACnC;AAED,UAAM,aAAa,YAAA;AACnB,UAAM,aAAa,YAAA;AACnB,UAAM,aAAa,OAAO,sBAAsB,MAAS;AACzD,UAAM,UAAU,SAAA;AAChB,UAAM,WAAW,UAAA;AACjB,UAAM,QAAQ,IAAI,KAAK;AAEvB,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ,YAAAA;AAAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MAAA,IACD;AAEJ,YAAM,aAAa,YAAY,WAAW;AAC1C,YAAM,aAAa,YAAY,WAAW;AAE1C,YAAM,YAA4B,CAAC,QAAQ;AACzC,cAAM,QAAQ;AACd,kBAAU,GAAG;AAAA,MACf;AAEA,YAAM,WAA0B,CAAC,QAAQ;AACvC,cAAM,QAAQ;AACd,oBAAY,WAAA;AACZ,iBAAS,GAAG;AAAA,MACd;AAEA,YAAM,aACJ,cAAc,aACV,CAAC,KAAK,kBAAkB,SAAS,IAChC,YAAY,CAAC,GAAG,kBAAkB;AAEzC,YAAM,sBAAsB,qBAAqB;AACjD,UAAI,qBAAqB;AACvB,cAAM,SAAS,WAAW,UAAU,CAAC,SAAS,SAAS,OAAO;AAC9D,YAAI,SAAS,GAAI,YAAW,OAAO,QAAQ,CAAC;AAAA,MAC9C;AAEA,YAAM,oBAAoB;AAAA,QACxB,GAAG;AAAA,QACH,OAAO,QAAQ;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,WAAW;AAAA,QACX,cAAc;AAAA,QACd,UAAU;AAAA,QACV,WAAW;AAAA,QACX,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,QACX,SAAS;AAAA,QACT,QAAQ;AAAA,MAAA;AAGV,aAAO;AAAA,QACL,UAAU;AAAA,QACV,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,QAAQ;AAAA,UACN,YAAAA;AAAAA,QAAA;AAAA,MACF;AAAA,IAEJ,CAAC;AAED,UAAM,YAAY,eAAe,QAAQ;AAEzC,aAAa,kBAAkB,IAAI,SAAS,CAAC;;AAtI7C,aAAAC,aAAAC,YAgBYC,iBAhBZC,WAgBY;AAAA,QAfV,KAAI;AAAA,QACH,KAAG,GAAK,cAAQ,sCAAsC,QAAA,MAAQ,gBAAgB,OAAO,IAAI,QAAA,MAAQ,gBAAgB,WAAW,IAAI,QAAA,MAAQ,gBAAgB,cAAc;AAAA,oBAC9J,aAAA;AAAA,qEAAA,aAAY,QAAA;AAAA,QACpB,OAAK;AAAA;UAAgC,MAAA,QAAK,wBAAA;AAAA,UAAqC,QAAA,MAAQ,WAAQ,2BAAA;AAAA,QAAA;AAAA,QAK/F,aAAW,QAAA,MAAQ;AAAA,QACnB,UAAU,QAAA,MAAQ;AAAA,MAAA,GACX,QAAA,MAAQ,eAAe,GAAAC,YAAA,EAAA,GAAA,KAAA;AAAA,mBAEDC,KAAAA,QAAM,CAAlB,GAAG,SAAI;;;YACvB,IAAAC,QAAA,CAD6C,cAAS;AAAA,cACtDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,GAAA,QAAA,IAAA;AAAA,YAAA;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.qd-md-editor[data-v-
|
|
1
|
+
.qd-md-editor[data-v-94f380a5] {
|
|
2
2
|
--md-color: var(--td-text-color-primary);
|
|
3
3
|
--md-border-color: var(--td-border-level-2-color);
|
|
4
4
|
--md-bk-color: var(--td-bg-color-specialcomponent);
|
|
@@ -7,40 +7,40 @@
|
|
|
7
7
|
border-radius: var(--td-radius-default);
|
|
8
8
|
transition: border cubic-bezier(0.38, 0, 0.24, 1) 0.2s, box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s, background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s, -webkit-box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
|
|
9
9
|
}
|
|
10
|
-
.qd-md-editor[data-v-
|
|
10
|
+
.qd-md-editor[data-v-94f380a5]:hover {
|
|
11
11
|
border-color: var(--td-brand-color);
|
|
12
12
|
}
|
|
13
|
-
.qd-md-editor.qd-md-editor--focus[data-v-
|
|
13
|
+
.qd-md-editor.qd-md-editor--focus[data-v-94f380a5] {
|
|
14
14
|
border-color: var(--td-brand-color);
|
|
15
15
|
box-shadow: 0 0 0 2px var(--td-brand-color-focus);
|
|
16
16
|
}
|
|
17
|
-
.qd-md-editor.qd-md-editor--disabled[data-v-
|
|
17
|
+
.qd-md-editor.qd-md-editor--disabled[data-v-94f380a5] {
|
|
18
18
|
color: var(--td-text-color-disabled);
|
|
19
19
|
background-color: var(--td-bg-color-component-disabled);
|
|
20
20
|
cursor: not-allowed;
|
|
21
21
|
}
|
|
22
|
-
.qd-md-editor.qd-md-editor--disabled[data-v-
|
|
22
|
+
.qd-md-editor.qd-md-editor--disabled[data-v-94f380a5] .cm-editor {
|
|
23
23
|
background-color: transparent;
|
|
24
24
|
}
|
|
25
|
-
.qd-md-editor.qd-md-editor--disabled[data-v-
|
|
25
|
+
.qd-md-editor.qd-md-editor--disabled[data-v-94f380a5]:hover {
|
|
26
26
|
border-color: var(--td-border-level-2-color);
|
|
27
27
|
}
|
|
28
|
-
.qd-md-editor[data-v-
|
|
28
|
+
.qd-md-editor[data-v-94f380a5] .md-editor-preview {
|
|
29
29
|
padding: var(--td-comp-paddingLR-s);
|
|
30
30
|
}
|
|
31
|
-
.qd-md-editor[data-v-
|
|
31
|
+
.qd-md-editor[data-v-94f380a5] .cm-editor {
|
|
32
32
|
font: var(--td-font-body-medium);
|
|
33
33
|
}
|
|
34
|
-
.qd-md-editor[data-v-
|
|
34
|
+
.qd-md-editor[data-v-94f380a5] .cm-scroller {
|
|
35
35
|
line-height: inherit !important;
|
|
36
36
|
}
|
|
37
|
-
.qd-md-editor[data-v-
|
|
37
|
+
.qd-md-editor[data-v-94f380a5] .cm-content {
|
|
38
38
|
margin: 0 !important;
|
|
39
39
|
padding: var(--td-comp-paddingLR-s);
|
|
40
40
|
}
|
|
41
|
-
.t-is-error .qd-md-editor[data-v-
|
|
41
|
+
.t-is-error .qd-md-editor[data-v-94f380a5] {
|
|
42
42
|
border-color: var(--td-error-color);
|
|
43
43
|
}
|
|
44
|
-
.t-is-error .qd-md-editor--focus[data-v-
|
|
44
|
+
.t-is-error .qd-md-editor--focus[data-v-94f380a5] {
|
|
45
45
|
box-shadow: 0 0 0 2px var(--td-error-color-focus);
|
|
46
46
|
}
|
|
@@ -40,7 +40,7 @@ export interface QdMdEditorProps {
|
|
|
40
40
|
onChange?: ChangeEvent;
|
|
41
41
|
theme?: Themes;
|
|
42
42
|
class?: StringConstructor;
|
|
43
|
-
|
|
43
|
+
locale?: string;
|
|
44
44
|
onHtmlChanged?: HtmlChangedEvent;
|
|
45
45
|
onGetCatalog?: GetCatalogEvent;
|
|
46
46
|
id?: string;
|
|
@@ -55,7 +55,7 @@ export interface QdMdEditorProps {
|
|
|
55
55
|
codeStyleReverseList?: string[];
|
|
56
56
|
disabledHighlight?: boolean;
|
|
57
57
|
disabledImgZoomIn?: boolean;
|
|
58
|
-
customIcon
|
|
58
|
+
customIcon?: CustomIcon;
|
|
59
59
|
sanitizeMermaid?: (h: string) => Promise<string>;
|
|
60
60
|
codeFoldable?: boolean;
|
|
61
61
|
autoFoldThreshold?: number;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getCurrentInstance, computed, inject } from "vue";
|
|
2
|
+
import { PROVIDE_LOCALE, DEFAULT_LOCALE } from "../components/config-provider/config.mjs";
|
|
3
|
+
import isString from "../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.mjs";
|
|
4
|
+
function useLocale(context) {
|
|
5
|
+
const currentInstance = getCurrentInstance();
|
|
6
|
+
const componentLocale = computed(() => currentInstance.props.locale);
|
|
7
|
+
const injectLocale = inject(PROVIDE_LOCALE, void 0);
|
|
8
|
+
return computed(() => {
|
|
9
|
+
if (isString(context?.beforeLocale?.value) && context.beforeLocale.value) {
|
|
10
|
+
return context.beforeLocale.value;
|
|
11
|
+
}
|
|
12
|
+
if (isString(componentLocale.value) && componentLocale.value) {
|
|
13
|
+
return componentLocale.value;
|
|
14
|
+
}
|
|
15
|
+
if (isString(context?.afterLocale?.value) && context.afterLocale.value) {
|
|
16
|
+
return context.afterLocale.value;
|
|
17
|
+
}
|
|
18
|
+
if (isString(injectLocale?.value) && injectLocale.value) {
|
|
19
|
+
return injectLocale.value;
|
|
20
|
+
}
|
|
21
|
+
return DEFAULT_LOCALE;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
useLocale
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useLocale.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocale.mjs","sources":["../../src/hooks/useLocale.ts"],"sourcesContent":["import { isString } from 'lodash-es'\nimport type { Ref } from 'vue'\nimport { computed, getCurrentInstance, inject } from 'vue'\n\nimport { DEFAULT_LOCALE, PROVIDE_LOCALE } from '../components/config-provider/config'\n\nexport function useLocale(context?: { beforeLocale?: Ref<string>; afterLocale?: Ref<string> }) {\n const currentInstance = getCurrentInstance()!\n const componentLocale = computed(() => currentInstance.props.locale as string)\n\n const injectLocale = inject(PROVIDE_LOCALE, undefined)\n\n return computed(() => {\n if (isString(context?.beforeLocale?.value) && context.beforeLocale.value) {\n return context.beforeLocale.value\n }\n // Component\n if (isString(componentLocale.value) && componentLocale.value) {\n return componentLocale.value\n }\n // ComponentGroup\n if (isString(context?.afterLocale?.value) && context.afterLocale.value) {\n return context.afterLocale.value\n }\n // ConfigProvider\n if (isString(injectLocale?.value) && injectLocale.value) {\n return injectLocale.value\n }\n\n return DEFAULT_LOCALE\n })\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,UAAU,SAAqE;AAC7F,QAAM,kBAAkB,mBAAA;AACxB,QAAM,kBAAkB,SAAS,MAAM,gBAAgB,MAAM,MAAgB;AAE7E,QAAM,eAAe,OAAO,gBAAgB,MAAS;AAErD,SAAO,SAAS,MAAM;AACpB,QAAI,SAAS,SAAS,cAAc,KAAK,KAAK,QAAQ,aAAa,OAAO;AACxE,aAAO,QAAQ,aAAa;AAAA,IAC9B;AAEA,QAAI,SAAS,gBAAgB,KAAK,KAAK,gBAAgB,OAAO;AAC5D,aAAO,gBAAgB;AAAA,IACzB;AAEA,QAAI,SAAS,SAAS,aAAa,KAAK,KAAK,QAAQ,YAAY,OAAO;AACtE,aAAO,QAAQ,YAAY;AAAA,IAC7B;AAEA,QAAI,SAAS,cAAc,KAAK,KAAK,aAAa,OAAO;AACvD,aAAO,aAAa;AAAA,IACtB;AAEA,WAAO;AAAA,EACT,CAAC;AACH;"}
|
package/dist/index.mjs
CHANGED
|
@@ -51,6 +51,7 @@ import { hasRole, hasRoleDirective } from "./directive/hasRole.mjs";
|
|
|
51
51
|
import { useAgentChat } from "./hooks/useAgentChat/index.mjs";
|
|
52
52
|
import { useDict, useDictBatch, useDictDynamic } from "./hooks/useDict/index.mjs";
|
|
53
53
|
import { useDisabled } from "./hooks/useDisabled.mjs";
|
|
54
|
+
import { useLocale } from "./hooks/useLocale.mjs";
|
|
54
55
|
import { useModal } from "./hooks/useModal.mjs";
|
|
55
56
|
import { usePerfectScrollbar } from "./hooks/usePerfectScrollbar.mjs";
|
|
56
57
|
import { useReadonly } from "./hooks/useReadonly.mjs";
|
|
@@ -125,6 +126,7 @@ export {
|
|
|
125
126
|
useDictBatch,
|
|
126
127
|
useDictDynamic,
|
|
127
128
|
useDisabled,
|
|
129
|
+
useLocale,
|
|
128
130
|
useModal,
|
|
129
131
|
usePerfectScrollbar,
|
|
130
132
|
useConfig as useQdConfig,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
const ZH_TW = {
|
|
2
|
+
toolbarTips: {
|
|
3
|
+
bold: "加粗",
|
|
4
|
+
underline: "下劃線",
|
|
5
|
+
italic: "斜體",
|
|
6
|
+
strikeThrough: "刪除線",
|
|
7
|
+
title: "標題",
|
|
8
|
+
sub: "下標",
|
|
9
|
+
sup: "上標",
|
|
10
|
+
quote: "引用",
|
|
11
|
+
unorderedList: "無序列表",
|
|
12
|
+
orderedList: "有序列表",
|
|
13
|
+
task: "任務列表",
|
|
14
|
+
codeRow: "行內代碼",
|
|
15
|
+
code: "程式碼區塊",
|
|
16
|
+
link: "鏈接",
|
|
17
|
+
image: "圖片",
|
|
18
|
+
table: "表格",
|
|
19
|
+
mermaid: "mermaid圖",
|
|
20
|
+
katex: "katex公式",
|
|
21
|
+
revoke: "後退",
|
|
22
|
+
next: "前進",
|
|
23
|
+
save: "保存",
|
|
24
|
+
prettier: "美化",
|
|
25
|
+
pageFullscreen: "瀏覽器全屏",
|
|
26
|
+
fullscreen: "螢幕全屏",
|
|
27
|
+
preview: "預覽",
|
|
28
|
+
htmlPreview: "html代碼預覽",
|
|
29
|
+
catalog: "目錄",
|
|
30
|
+
github: "源碼地址"
|
|
31
|
+
},
|
|
32
|
+
titleItem: {
|
|
33
|
+
h1: "一級標題",
|
|
34
|
+
h2: "二級標題",
|
|
35
|
+
h3: "三級標題",
|
|
36
|
+
h4: "四級標題",
|
|
37
|
+
h5: "五級標題",
|
|
38
|
+
h6: "六級標題"
|
|
39
|
+
},
|
|
40
|
+
imgTitleItem: {
|
|
41
|
+
link: "添加鏈接",
|
|
42
|
+
upload: "上傳圖片",
|
|
43
|
+
clip2upload: "裁剪上傳"
|
|
44
|
+
},
|
|
45
|
+
linkModalTips: {
|
|
46
|
+
linkTitle: "添加鏈接",
|
|
47
|
+
imageTitle: "添加圖片",
|
|
48
|
+
descLabel: "鏈接描述:",
|
|
49
|
+
descLabelPlaceHolder: "請輸入描述...",
|
|
50
|
+
urlLabel: "鏈接地址:",
|
|
51
|
+
urlLabelPlaceHolder: "請輸入链接...",
|
|
52
|
+
buttonOK: "確定"
|
|
53
|
+
},
|
|
54
|
+
clipModalTips: {
|
|
55
|
+
title: "裁剪圖片上傳",
|
|
56
|
+
buttonUpload: "上傳"
|
|
57
|
+
},
|
|
58
|
+
copyCode: {
|
|
59
|
+
text: "複製代碼",
|
|
60
|
+
successTips: "已複製!",
|
|
61
|
+
failTips: "複製失敗!"
|
|
62
|
+
},
|
|
63
|
+
mermaid: {
|
|
64
|
+
flow: "流程圖",
|
|
65
|
+
sequence: "時序圖",
|
|
66
|
+
gantt: "甘特圖",
|
|
67
|
+
class: "類圖",
|
|
68
|
+
state: "狀態圖",
|
|
69
|
+
pie: "餅圖",
|
|
70
|
+
relationship: "關係圖",
|
|
71
|
+
journey: "旅程圖"
|
|
72
|
+
},
|
|
73
|
+
katex: {
|
|
74
|
+
inline: "行內公式",
|
|
75
|
+
block: "區塊公式"
|
|
76
|
+
},
|
|
77
|
+
footer: {
|
|
78
|
+
markdownTotal: "字數",
|
|
79
|
+
scrollAuto: "同步滾動"
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export {
|
|
83
|
+
ZH_TW as default
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=zh-TW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-TW.mjs","sources":["../../../../../../../../../../../node_modules/.pnpm/@vavt+cm-extension@1.11.2/node_modules/@vavt/cm-extension/dist/locale/zh-TW.js"],"sourcesContent":["/**\n * @author imzbf\n * @email zbfcqtl@gmail.com\n * @github https://github.com/imzbf\n *\n * 繁体\n *\n * 作者不确定是否完全翻译正确中文繁体\n * 如果您发现错误,请纠正我\n */\nconst ZH_TW = {\n toolbarTips: {\n bold: '加粗',\n underline: '下劃線',\n italic: '斜體',\n strikeThrough: '刪除線',\n title: '標題',\n sub: '下標',\n sup: '上標',\n quote: '引用',\n unorderedList: '無序列表',\n orderedList: '有序列表',\n task: '任務列表',\n codeRow: '行內代碼',\n code: '程式碼區塊',\n link: '鏈接',\n image: '圖片',\n table: '表格',\n mermaid: 'mermaid圖',\n katex: 'katex公式',\n revoke: '後退',\n next: '前進',\n save: '保存',\n prettier: '美化',\n pageFullscreen: '瀏覽器全屏',\n fullscreen: '螢幕全屏',\n preview: '預覽',\n htmlPreview: 'html代碼預覽',\n catalog: '目錄',\n github: '源碼地址',\n },\n titleItem: {\n h1: '一級標題',\n h2: '二級標題',\n h3: '三級標題',\n h4: '四級標題',\n h5: '五級標題',\n h6: '六級標題',\n },\n imgTitleItem: {\n link: '添加鏈接',\n upload: '上傳圖片',\n clip2upload: '裁剪上傳',\n },\n linkModalTips: {\n linkTitle: '添加鏈接',\n imageTitle: '添加圖片',\n descLabel: '鏈接描述:',\n descLabelPlaceHolder: '請輸入描述...',\n urlLabel: '鏈接地址:',\n urlLabelPlaceHolder: '請輸入链接...',\n buttonOK: '確定',\n },\n clipModalTips: {\n title: '裁剪圖片上傳',\n buttonUpload: '上傳',\n },\n copyCode: {\n text: '複製代碼',\n successTips: '已複製!',\n failTips: '複製失敗!',\n },\n mermaid: {\n flow: '流程圖',\n sequence: '時序圖',\n gantt: '甘特圖',\n class: '類圖',\n state: '狀態圖',\n pie: '餅圖',\n relationship: '關係圖',\n journey: '旅程圖',\n },\n katex: {\n inline: '行內公式',\n block: '區塊公式',\n },\n footer: {\n markdownTotal: '字數',\n scrollAuto: '同步滾動',\n },\n};\nexport default ZH_TW;\n"],"names":[],"mappings":"AAUK,MAAC,QAAQ;AAAA,EACV,aAAa;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,eAAe;AAAA,IACf,aAAa;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,aAAa;AAAA,IACb,SAAS;AAAA,IACT,QAAQ;AAAA,EAChB;AAAA,EACI,WAAW;AAAA,IACP,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACZ;AAAA,EACI,cAAc;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,EACrB;AAAA,EACI,eAAe;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,UAAU;AAAA,EAClB;AAAA,EACI,eAAe;AAAA,IACX,OAAO;AAAA,IACP,cAAc;AAAA,EACtB;AAAA,EACI,UAAU;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EAClB;AAAA,EACI,SAAS;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,IACL,cAAc;AAAA,IACd,SAAS;AAAA,EACjB;AAAA,EACI,OAAO;AAAA,IACH,QAAQ;AAAA,IACR,OAAO;AAAA,EACf;AAAA,EACI,QAAQ;AAAA,IACJ,eAAe;AAAA,IACf,YAAY;AAAA,EACpB;AACA;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import baseGetTag from "./_baseGetTag.mjs";
|
|
2
|
+
import isArray from "./isArray.mjs";
|
|
3
|
+
import isObjectLike from "./isObjectLike.mjs";
|
|
4
|
+
var stringTag = "[object String]";
|
|
5
|
+
function isString(value) {
|
|
6
|
+
return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
isString as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=isString.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isString.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.js"],"sourcesContent":["import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n"],"names":[],"mappings":";;;AAKA,IAAI,YAAY;AAmBhB,SAAS,SAAS,OAAO;AACvB,SAAO,OAAO,SAAS,YACpB,CAAC,QAAQ,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,KAAK,KAAK;AACpE;","x_google_ignoreList":[0]}
|