@grandaniel/vue-markdown-editor 1.1.3-dev.df4d480 → 1.1.3-dev.ed12560
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/MarkdownEditor/ContextMenu/MarkdownEditorContextMenu.vue.d.ts +3 -1
- package/dist/components/MarkdownEditor/ContextMenu/MarkdownEditorFileContextMenu.vue.d.ts +19 -0
- package/dist/components/MarkdownEditor/ContextMenu/MarkdownEditorImageContextMenu.vue.d.ts +2 -0
- package/dist/components/MarkdownEditor/Factory/MarkdownNodeFactory.d.ts +2 -0
- package/dist/components/MarkdownEditor/MarkdownComponentRegistry.d.ts +2 -1
- package/dist/components/MarkdownEditor/MarkdownEditor.vue.d.ts +8 -0
- package/dist/components/MarkdownEditor/MarkdownEditorModule.vue.d.ts +2 -2
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleFile.vue.d.ts +16 -0
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleFileState.d.ts +8 -0
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline1.vue.d.ts +2 -2
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline2.vue.d.ts +2 -2
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline3.vue.d.ts +2 -2
- package/dist/components/MarkdownEditor/Modules/MarkdownModuleParagraph.vue.d.ts +2 -2
- package/dist/components/MarkdownEditor/Types/MarkdownAstNode.d.ts +2 -0
- package/dist/components/MarkdownEditor/Types/MarkdownAstNodeType.d.ts +2 -1
- package/dist/components/MarkdownEditor/index.d.ts +2 -1
- package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleFileRender.vue.d.ts +7 -0
- package/dist/vue-markdown-editor.css +1 -1
- package/dist/vue-markdown-editor.mjs +4659 -4356
- package/package.json +1 -1
|
@@ -7,7 +7,9 @@ declare var __VLS_7: {};
|
|
|
7
7
|
type __VLS_Slots = {} & {
|
|
8
8
|
default?: (props: typeof __VLS_7) => any;
|
|
9
9
|
};
|
|
10
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
11
|
+
rootEl: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
|
|
12
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
14
|
declare const _default: typeof __VLS_export;
|
|
13
15
|
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
click: () => any;
|
|
7
|
+
editAttributes: () => any;
|
|
8
|
+
download: () => any;
|
|
9
|
+
retry: () => any;
|
|
10
|
+
close: () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onClick?: (() => any) | undefined;
|
|
13
|
+
onEditAttributes?: (() => any) | undefined;
|
|
14
|
+
onDownload?: (() => any) | undefined;
|
|
15
|
+
onRetry?: (() => any) | undefined;
|
|
16
|
+
onClose?: (() => any) | undefined;
|
|
17
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -3,9 +3,11 @@ type __VLS_Props = {
|
|
|
3
3
|
y: number;
|
|
4
4
|
};
|
|
5
5
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
click: () => any;
|
|
6
7
|
editAttributes: () => any;
|
|
7
8
|
close: () => any;
|
|
8
9
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
+
onClick?: (() => any) | undefined;
|
|
9
11
|
onEditAttributes?: (() => any) | undefined;
|
|
10
12
|
onClose?: (() => any) | undefined;
|
|
11
13
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type MarkdownModuleFileState from "../Modules/MarkdownModuleFileState";
|
|
1
2
|
import type MarkdownModuleImageState from "../Modules/MarkdownModuleImageState";
|
|
2
3
|
import type MarkdownModuleListState from "../Modules/MarkdownModuleListState";
|
|
3
4
|
import MarkdownModuleTextState from "../Modules/MarkdownModuleTextState";
|
|
@@ -9,6 +10,7 @@ declare class MarkdownNodeFactory {
|
|
|
9
10
|
createImageNode(src: string, alt: string, caption?: string): MarkdownAstNode<MarkdownModuleImageState>;
|
|
10
11
|
createListNode(items: string[]): MarkdownAstNode<MarkdownModuleListState>;
|
|
11
12
|
createBlankParagraph(): MarkdownAstNode<MarkdownModuleTextState>;
|
|
13
|
+
createFileNode(url: string, fileName: string, fileSize: number, mimeType: string, uploadError?: string): MarkdownAstNode<MarkdownModuleFileState>;
|
|
12
14
|
}
|
|
13
15
|
declare const _default: MarkdownNodeFactory;
|
|
14
16
|
export default _default;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Component } from "vue";
|
|
2
|
+
import MarkdownModuleFileState from "./Modules/MarkdownModuleFileState";
|
|
2
3
|
import MarkdownModuleImageState from "./Modules/MarkdownModuleImageState";
|
|
3
4
|
import MarkdownModuleListState from "./Modules/MarkdownModuleListState";
|
|
4
5
|
import MarkdownModuleTextState from "./Modules/MarkdownModuleTextState";
|
|
@@ -6,7 +7,7 @@ import type { MarkdownAstNode } from "./Types/MarkdownAstNode";
|
|
|
6
7
|
import MarkdownNodeType from "./Types/MarkdownAstNodeType";
|
|
7
8
|
type MarkdownComponentRegistryEntry = {
|
|
8
9
|
component: Component;
|
|
9
|
-
stateType: typeof MarkdownModuleTextState | typeof MarkdownModuleImageState | typeof MarkdownModuleListState;
|
|
10
|
+
stateType: typeof MarkdownModuleTextState | typeof MarkdownModuleImageState | typeof MarkdownModuleListState | typeof MarkdownModuleFileState;
|
|
10
11
|
};
|
|
11
12
|
declare const registry: Record<MarkdownNodeType, MarkdownComponentRegistryEntry>;
|
|
12
13
|
export declare function isTextNodeState(state: MarkdownAstNode): state is MarkdownAstNode & {
|
|
@@ -19,6 +19,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
19
19
|
type: PropType<(file: File) => Promise<string>>;
|
|
20
20
|
required: false;
|
|
21
21
|
};
|
|
22
|
+
fileUploadFunction: {
|
|
23
|
+
type: PropType<(file: File) => Promise<string>>;
|
|
24
|
+
required: false;
|
|
25
|
+
};
|
|
22
26
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
23
27
|
"update:focused-node": (value: MarkdownAstNode<object> | null) => any;
|
|
24
28
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -35,6 +39,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
35
39
|
type: PropType<(file: File) => Promise<string>>;
|
|
36
40
|
required: false;
|
|
37
41
|
};
|
|
42
|
+
fileUploadFunction: {
|
|
43
|
+
type: PropType<(file: File) => Promise<string>>;
|
|
44
|
+
required: false;
|
|
45
|
+
};
|
|
38
46
|
}>> & Readonly<{
|
|
39
47
|
"onUpdate:focused-node"?: ((value: MarkdownAstNode<object> | null) => any) | undefined;
|
|
40
48
|
}>, {
|
|
@@ -16,9 +16,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
16
16
|
required: true;
|
|
17
17
|
};
|
|
18
18
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
|
+
focus: () => any;
|
|
19
20
|
"update:cursor-position": (args_0: number) => any;
|
|
20
21
|
"change-type": (args_0: MarkdownAstNode<object>, args_1: number) => any;
|
|
21
|
-
focus: () => any;
|
|
22
22
|
"update:node": (args_0: Record<string, unknown>) => any;
|
|
23
23
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
24
|
node: {
|
|
@@ -30,9 +30,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
30
30
|
required: true;
|
|
31
31
|
};
|
|
32
32
|
}>> & Readonly<{
|
|
33
|
+
onFocus?: (() => any) | undefined;
|
|
33
34
|
"onUpdate:cursor-position"?: ((args_0: number) => any) | undefined;
|
|
34
35
|
"onChange-type"?: ((args_0: MarkdownAstNode<object>, args_1: number) => any) | undefined;
|
|
35
|
-
onFocus?: (() => any) | undefined;
|
|
36
36
|
"onUpdate:node"?: ((args_0: Record<string, unknown>) => any) | undefined;
|
|
37
37
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
38
38
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type MarkdownModuleFileState from "./MarkdownModuleFileState";
|
|
2
|
+
declare function focus(): void;
|
|
3
|
+
type __VLS_ModelProps = {
|
|
4
|
+
modelValue: MarkdownModuleFileState;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {
|
|
7
|
+
focus: typeof focus;
|
|
8
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"retry-upload": (fileState: MarkdownModuleFileState) => any;
|
|
10
|
+
"update:modelValue": (value: MarkdownModuleFileState) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
12
|
+
"onRetry-upload"?: ((fileState: MarkdownModuleFileState) => any) | undefined;
|
|
13
|
+
"onUpdate:modelValue"?: ((value: MarkdownModuleFileState) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {
|
|
|
6
6
|
editor: import("vue").ShallowRef<import("@tiptap/vue-3").Editor | undefined, import("@tiptap/vue-3").Editor | undefined>;
|
|
7
7
|
focus: () => void;
|
|
8
8
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
9
10
|
"update:model-value": (componentState: MarkdownModuleTextState) => any;
|
|
10
11
|
"update:cursor-position": (cursorPosition: number) => any;
|
|
11
12
|
"change-type": (newType: import("..").MarkdownAstNodeType) => any;
|
|
12
|
-
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
14
15
|
"onUpdate:model-value"?: ((componentState: MarkdownModuleTextState) => any) | undefined;
|
|
15
16
|
"onUpdate:cursor-position"?: ((cursorPosition: number) => any) | undefined;
|
|
16
17
|
"onChange-type"?: ((newType: import("..").MarkdownAstNodeType) => any) | undefined;
|
|
17
|
-
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
18
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
export default _default;
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {
|
|
|
6
6
|
editor: import("vue").ShallowRef<import("@tiptap/vue-3").Editor | undefined, import("@tiptap/vue-3").Editor | undefined>;
|
|
7
7
|
focus: () => void;
|
|
8
8
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
9
10
|
"update:model-value": (componentState: MarkdownModuleTextState) => any;
|
|
10
11
|
"update:cursor-position": (cursorPosition: number) => any;
|
|
11
12
|
"change-type": (newType: import("..").MarkdownAstNodeType) => any;
|
|
12
|
-
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
14
15
|
"onUpdate:model-value"?: ((componentState: MarkdownModuleTextState) => any) | undefined;
|
|
15
16
|
"onUpdate:cursor-position"?: ((cursorPosition: number) => any) | undefined;
|
|
16
17
|
"onChange-type"?: ((newType: import("..").MarkdownAstNodeType) => any) | undefined;
|
|
17
|
-
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
18
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
export default _default;
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {
|
|
|
6
6
|
editor: import("vue").ShallowRef<import("@tiptap/vue-3").Editor | undefined, import("@tiptap/vue-3").Editor | undefined>;
|
|
7
7
|
focus: () => void;
|
|
8
8
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
9
10
|
"update:model-value": (componentState: MarkdownModuleTextState) => any;
|
|
10
11
|
"update:cursor-position": (cursorPosition: number) => any;
|
|
11
12
|
"change-type": (newType: import("..").MarkdownAstNodeType) => any;
|
|
12
|
-
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
14
15
|
"onUpdate:model-value"?: ((componentState: MarkdownModuleTextState) => any) | undefined;
|
|
15
16
|
"onUpdate:cursor-position"?: ((cursorPosition: number) => any) | undefined;
|
|
16
17
|
"onChange-type"?: ((newType: import("..").MarkdownAstNodeType) => any) | undefined;
|
|
17
|
-
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
18
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
export default _default;
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {
|
|
|
6
6
|
editor: import("vue").ShallowRef<import("@tiptap/vue-3").Editor | undefined, import("@tiptap/vue-3").Editor | undefined>;
|
|
7
7
|
focus: () => void;
|
|
8
8
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
9
10
|
"update:model-value": (componentState: MarkdownModuleTextState) => any;
|
|
10
11
|
"update:cursor-position": (cursorPosition: number) => any;
|
|
11
12
|
"change-type": (newType: import("..").MarkdownAstNodeType) => any;
|
|
12
|
-
"update:modelValue": (value: MarkdownModuleTextState) => any;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
14
15
|
"onUpdate:model-value"?: ((componentState: MarkdownModuleTextState) => any) | undefined;
|
|
15
16
|
"onUpdate:cursor-position"?: ((cursorPosition: number) => any) | undefined;
|
|
16
17
|
"onChange-type"?: ((newType: import("..").MarkdownAstNodeType) => any) | undefined;
|
|
17
|
-
"onUpdate:modelValue"?: ((value: MarkdownModuleTextState) => any) | undefined;
|
|
18
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
export default _default;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type MarkdownModuleFileState from "../Modules/MarkdownModuleFileState";
|
|
1
2
|
import type MarkdownModuleImageState from "../Modules/MarkdownModuleImageState";
|
|
2
3
|
import type MarkdownModuleTextState from "../Modules/MarkdownModuleTextState";
|
|
3
4
|
import type MarkdownNodeType from "./MarkdownAstNodeType";
|
|
@@ -12,3 +13,4 @@ export declare class MarkdownAstNode<TState extends object = object> {
|
|
|
12
13
|
}
|
|
13
14
|
export type TextNode = MarkdownAstNode<MarkdownModuleTextState>;
|
|
14
15
|
export type ImageNode = MarkdownAstNode<MarkdownModuleImageState>;
|
|
16
|
+
export type FileNode = MarkdownAstNode<MarkdownModuleFileState>;
|
|
@@ -4,7 +4,8 @@ declare enum MarkdownNodeType {
|
|
|
4
4
|
HEADLINE2 = 2,
|
|
5
5
|
HEADLINE3 = 3,
|
|
6
6
|
IMAGE = 4,
|
|
7
|
-
LIST = 5
|
|
7
|
+
LIST = 5,
|
|
8
|
+
FILE = 6
|
|
8
9
|
}
|
|
9
10
|
export type TextishNodeType = MarkdownNodeType.PARAGRAPH | MarkdownNodeType.LIST | MarkdownNodeType.HEADLINE1 | MarkdownNodeType.HEADLINE2 | MarkdownNodeType.HEADLINE3;
|
|
10
11
|
export declare function isTextNodeType(type: MarkdownNodeType): type is TextishNodeType;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as MarkdownEditor } from './MarkdownEditor.vue';
|
|
2
2
|
export { useMarkdownEditor, type MarkdownEditorInstance } from "./Composable/useMarkdownEditor";
|
|
3
3
|
export { isTextNodeState } from "./MarkdownComponentRegistry";
|
|
4
|
-
export { MarkdownAstNode, type ImageNode, type TextNode } from "./Types/MarkdownAstNode";
|
|
4
|
+
export { MarkdownAstNode, type FileNode, type ImageNode, type TextNode } from "./Types/MarkdownAstNode";
|
|
5
5
|
export { default as MarkdownAstNodeType, isTextNodeType, type TextishNodeType } from "./Types/MarkdownAstNodeType";
|
|
6
|
+
export { default as MarkdownModuleFileState } from "./Modules/MarkdownModuleFileState";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type MarkdownModuleFileState from "../../MarkdownEditor/Modules/MarkdownModuleFileState";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
state: MarkdownModuleFileState;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
declare const _default: typeof __VLS_export;
|
|
7
|
+
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.markdown-editor-context-menu[data-v-05f519e0]{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;gap:.25rem;padding:.25rem;display:flex;position:fixed;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.markdown-editor-context-menu-inline-item[data-v-7dc94914]{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.5rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.markdown-editor-context-menu-inline-item[data-v-7dc94914]:hover{background:#f3f4f6}.markdown-editor-context-menu-inline-item.is-active[data-v-7dc94914]{color:#1e40af;background:#dbeafe}.markdown-editor-context-menu-inline-item[data-v-7dc94914]:active{transform:scale(.95)}.markdown-editor-focus-controls[data-v-ce3a9e83]{flex-direction:row;align-items:center;height:100%;display:flex}.markdown-editor-focus-controls .drag-handle[data-v-ce3a9e83]{cursor:grab;-webkit-user-select:none;user-select:none;opacity:.4;padding:0 .2rem;font-size:1rem;line-height:1}.markdown-editor-focus-controls .drag-handle[data-v-ce3a9e83]:active{cursor:grabbing}.markdown-editor-focus-controls .focus-control-btn[data-v-ce3a9e83]{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;padding:0;font-size:.75rem;line-height:1;transition:opacity .1s,background .1s;display:inline-flex}.markdown-editor-focus-controls .focus-control-btn[data-v-ce3a9e83]:hover{opacity:1;background:#00000012}[data-v-cf2b20ee],[data-v-6cb21ae4]{background:0 0;border:none;outline:none}.markdown-editor-context-menu-block-item[data-v-770b13bc]{cursor:pointer;color:#374151;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.markdown-editor-context-menu-block-item[data-v-770b13bc]:hover{background:#f3f4f6}.markdown-editor-context-menu-block-item[data-v-770b13bc]:active{transform:scale(.98)}.markdown-editor-image-context-menu-content[data-v-fbe7317c]{flex-direction:column;gap:.125rem;min-width:10rem;display:flex}.markdown-editor-modal-overlay[data-v-3e773d7f]{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.markdown-editor-modal[data-v-3e773d7f]{background:#fff;border-radius:.75rem;flex-direction:column;width:100%;max-width:32rem;max-height:90vh;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.markdown-editor-modal-header[data-v-3e773d7f]{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.markdown-editor-modal-title[data-v-3e773d7f]{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.markdown-editor-modal-close[data-v-3e773d7f]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.75rem;line-height:1;transition:all .15s;display:flex}.markdown-editor-modal-close[data-v-3e773d7f]:hover{color:#111827;background:#f3f4f6}.markdown-editor-modal-body[data-v-3e773d7f]{flex:1;padding:1.5rem;overflow-y:auto}.markdown-editor-modal-footer[data-v-3e773d7f]{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.markdown-editor-modal-button[data-v-3e773d7f]{cursor:pointer;border:none;border-radius:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s}.markdown-editor-modal-button[data-v-3e773d7f]:active{transform:scale(.98)}.markdown-editor-modal-button-secondary[data-v-3e773d7f]{color:#374151;background:#f3f4f6}.markdown-editor-modal-button-secondary[data-v-3e773d7f]:hover{background:#e5e7eb}.markdown-editor-modal-button-primary[data-v-3e773d7f]{color:#fff;background:#3b82f6}.markdown-editor-modal-button-primary[data-v-3e773d7f]:hover{background:#2563eb}.markdown-module-image[data-v-9489f41b]{cursor:pointer;text-align:center;position:relative}.markdown-module-image img[data-v-9489f41b]{max-width:100%;height:auto}.markdown-module-image span[data-v-9489f41b]{color:#6b7280;margin-top:.25rem;font-size:.875rem;display:block}.markdown-module-image-form[data-v-9489f41b]{flex-direction:column;gap:1.25rem;display:flex}.markdown-module-image-form-field[data-v-9489f41b]{flex-direction:column;gap:.5rem;display:flex}.markdown-module-image-form-field label[data-v-9489f41b]{color:#374151;font-size:.875rem;font-weight:500}.markdown-module-image-form-field input[data-v-9489f41b]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;transition:all .15s}.markdown-module-image-form-field input[data-v-9489f41b]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.markdown-module-image-form-field input[data-v-9489f41b]::placeholder{color:#9ca3af}[data-v-9489f41b]{background:0 0;border:none;outline:none}[data-v-2f49655e] .tiptap ul{margin:0;padding-left:1.5rem}.markdown-editor-module[data-v-965b9a8c]{flex-direction:row;display:flex}.markdown-editor-module[data-v-965b9a8c] .tiptap{outline:none}.markdown-editor-module .markdown-editor-module-content[data-v-965b9a8c]{outline:none;width:100%}.markdown-editor-module .markdown-editor-module-controls[data-v-965b9a8c]{visibility:hidden;min-width:5rem;max-width:5rem}.markdown-editor-module[data-v-965b9a8c]:hover{background:#9e95950d}.markdown-editor-module:hover .markdown-editor-module-controls[data-v-965b9a8c],.markdown-editor-module.is-focused .markdown-editor-module-controls[data-v-965b9a8c]{visibility:visible}.markdown-editor-module .markdown-editor-module-content-focused[data-v-965b9a8c]{background-color:#9e95950d}.markdown-editor[data-v-1f5fcb46]{padding-left:6rem}.markdown-editor[data-v-1f5fcb46] p{margin:.5rem 0}.markdown-editor[data-v-1f5fcb46] strong,.markdown-editor[data-v-1f5fcb46] b{font-weight:700}.markdown-editor[data-v-1f5fcb46] em,.markdown-editor[data-v-1f5fcb46] i{font-style:italic}.markdown-editor[data-v-1f5fcb46] code{color:green;background:#7f7f7f26;border-radius:3px;padding:.1em .3em;font-family:monospace;font-size:.9em}.markdown-editor[data-v-1f5fcb46] h1{margin:0;font-size:2em}.markdown-editor[data-v-1f5fcb46] h2{margin:0;font-size:1.5em}.markdown-editor[data-v-1f5fcb46] h3{margin:0;font-size:1.17em}
|
|
1
|
+
.markdown-editor-context-menu[data-v-6e2e4100]{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;gap:.25rem;padding:.25rem;display:flex;position:fixed;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.markdown-editor-context-menu-inline-item[data-v-7dc94914]{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.5rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.markdown-editor-context-menu-inline-item[data-v-7dc94914]:hover{background:#f3f4f6}.markdown-editor-context-menu-inline-item.is-active[data-v-7dc94914]{color:#1e40af;background:#dbeafe}.markdown-editor-context-menu-inline-item[data-v-7dc94914]:active{transform:scale(.95)}.markdown-editor-focus-controls[data-v-ce3a9e83]{flex-direction:row;align-items:center;height:100%;display:flex}.markdown-editor-focus-controls .drag-handle[data-v-ce3a9e83]{cursor:grab;-webkit-user-select:none;user-select:none;opacity:.4;padding:0 .2rem;font-size:1rem;line-height:1}.markdown-editor-focus-controls .drag-handle[data-v-ce3a9e83]:active{cursor:grabbing}.markdown-editor-focus-controls .focus-control-btn[data-v-ce3a9e83]{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;padding:0;font-size:.75rem;line-height:1;transition:opacity .1s,background .1s;display:inline-flex}.markdown-editor-focus-controls .focus-control-btn[data-v-ce3a9e83]:hover{opacity:1;background:#00000012}.markdown-editor-context-menu-block-item[data-v-770b13bc]{cursor:pointer;color:#374151;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.markdown-editor-context-menu-block-item[data-v-770b13bc]:hover{background:#f3f4f6}.markdown-editor-context-menu-block-item[data-v-770b13bc]:active{transform:scale(.98)}.markdown-editor-file-context-menu-content[data-v-601706ab]{flex-direction:column;gap:.125rem;min-width:10rem;display:flex}.markdown-editor-modal-overlay[data-v-3e773d7f]{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.markdown-editor-modal[data-v-3e773d7f]{background:#fff;border-radius:.75rem;flex-direction:column;width:100%;max-width:32rem;max-height:90vh;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.markdown-editor-modal-header[data-v-3e773d7f]{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.markdown-editor-modal-title[data-v-3e773d7f]{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.markdown-editor-modal-close[data-v-3e773d7f]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.75rem;line-height:1;transition:all .15s;display:flex}.markdown-editor-modal-close[data-v-3e773d7f]:hover{color:#111827;background:#f3f4f6}.markdown-editor-modal-body[data-v-3e773d7f]{flex:1;padding:1.5rem;overflow-y:auto}.markdown-editor-modal-footer[data-v-3e773d7f]{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.markdown-editor-modal-button[data-v-3e773d7f]{cursor:pointer;border:none;border-radius:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s}.markdown-editor-modal-button[data-v-3e773d7f]:active{transform:scale(.98)}.markdown-editor-modal-button-secondary[data-v-3e773d7f]{color:#374151;background:#f3f4f6}.markdown-editor-modal-button-secondary[data-v-3e773d7f]:hover{background:#e5e7eb}.markdown-editor-modal-button-primary[data-v-3e773d7f]{color:#fff;background:#3b82f6}.markdown-editor-modal-button-primary[data-v-3e773d7f]:hover{background:#2563eb}.markdown-module-file[data-v-e00fd9f4]{cursor:pointer;position:relative}.markdown-module-file[data-v-e00fd9f4]:focus{outline:none}.markdown-module-file-card[data-v-e00fd9f4]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.markdown-module-file-card[data-v-e00fd9f4]:hover{border-color:#3b82f6}.markdown-module-file-card--error[data-v-e00fd9f4]{background:#fef2f2;border-color:#fecaca}.markdown-module-file-card--loading[data-v-e00fd9f4]{cursor:default;background:#f9fafb;border-color:#e5e7eb}.markdown-module-file-icon[data-v-e00fd9f4]{flex-shrink:0;font-size:1.5rem;line-height:1}.markdown-module-file-info[data-v-e00fd9f4]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.markdown-module-file-name[data-v-e00fd9f4]{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;text-decoration:none;overflow:hidden}.markdown-module-file-name[data-v-e00fd9f4]:hover{color:#3b82f6;text-decoration:underline}.markdown-module-file-size[data-v-e00fd9f4]{color:#6b7280;font-size:.75rem}.markdown-module-file-error-text[data-v-e00fd9f4]{color:#dc2626;font-size:.75rem}.markdown-module-file-loading-text[data-v-e00fd9f4]{color:#6b7280;font-size:.875rem}.markdown-module-file-retry-btn[data-v-e00fd9f4]{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:.375rem;width:fit-content;margin-top:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s}.markdown-module-file-retry-btn[data-v-e00fd9f4]:hover{background:#fef2f2;border-color:#f87171}.markdown-module-file-spinner[data-v-e00fd9f4]{border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.6s linear infinite markdown-module-file-spin-e00fd9f4}@keyframes markdown-module-file-spin-e00fd9f4{to{transform:rotate(360deg)}}.markdown-module-file-form[data-v-e00fd9f4]{flex-direction:column;gap:1.25rem;display:flex}.markdown-module-file-form-field[data-v-e00fd9f4]{flex-direction:column;gap:.5rem;display:flex}.markdown-module-file-form-field label[data-v-e00fd9f4]{color:#374151;font-size:.875rem;font-weight:500}.markdown-module-file-form-field input[data-v-e00fd9f4]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;transition:all .15s}.markdown-module-file-form-field input[data-v-e00fd9f4]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.markdown-module-file-form-field input[data-v-e00fd9f4]::placeholder{color:#9ca3af}[data-v-e00fd9f4],[data-v-cf2b20ee],[data-v-6cb21ae4]{background:0 0;border:none;outline:none}.markdown-editor-image-context-menu-content[data-v-01e43c72]{flex-direction:column;gap:.125rem;min-width:10rem;display:flex}.markdown-module-image[data-v-9489f41b]{cursor:pointer;text-align:center;position:relative}.markdown-module-image img[data-v-9489f41b]{max-width:100%;height:auto}.markdown-module-image span[data-v-9489f41b]{color:#6b7280;margin-top:.25rem;font-size:.875rem;display:block}.markdown-module-image-form[data-v-9489f41b]{flex-direction:column;gap:1.25rem;display:flex}.markdown-module-image-form-field[data-v-9489f41b]{flex-direction:column;gap:.5rem;display:flex}.markdown-module-image-form-field label[data-v-9489f41b]{color:#374151;font-size:.875rem;font-weight:500}.markdown-module-image-form-field input[data-v-9489f41b]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;transition:all .15s}.markdown-module-image-form-field input[data-v-9489f41b]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.markdown-module-image-form-field input[data-v-9489f41b]::placeholder{color:#9ca3af}[data-v-9489f41b]{background:0 0;border:none;outline:none}[data-v-2f49655e] .tiptap ul{margin:0;padding-left:1.5rem}.markdown-editor-module[data-v-965b9a8c]{flex-direction:row;display:flex}.markdown-editor-module[data-v-965b9a8c] .tiptap{outline:none}.markdown-editor-module .markdown-editor-module-content[data-v-965b9a8c]{outline:none;width:100%}.markdown-editor-module .markdown-editor-module-controls[data-v-965b9a8c]{visibility:hidden;min-width:5rem;max-width:5rem}.markdown-editor-module[data-v-965b9a8c]:hover{background:#9e95950d}.markdown-editor-module:hover .markdown-editor-module-controls[data-v-965b9a8c],.markdown-editor-module.is-focused .markdown-editor-module-controls[data-v-965b9a8c]{visibility:visible}.markdown-editor-module .markdown-editor-module-content-focused[data-v-965b9a8c]{background-color:#9e95950d}.markdown-editor[data-v-e7071c84]{padding-left:6rem}.markdown-editor[data-v-e7071c84] p{margin:.5rem 0}.markdown-editor[data-v-e7071c84] strong,.markdown-editor[data-v-e7071c84] b{font-weight:700}.markdown-editor[data-v-e7071c84] em,.markdown-editor[data-v-e7071c84] i{font-style:italic}.markdown-editor[data-v-e7071c84] code{color:green;background:#7f7f7f26;border-radius:3px;padding:.1em .3em;font-family:monospace;font-size:.9em}.markdown-editor[data-v-e7071c84] h1{margin:0;font-size:2em}.markdown-editor[data-v-e7071c84] h2{margin:0;font-size:1.5em}.markdown-editor[data-v-e7071c84] h3{margin:0;font-size:1.17em}.markdown-module-file-render[data-v-c47f1152]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.markdown-module-file-render-icon[data-v-c47f1152]{flex-shrink:0;font-size:1.5rem;line-height:1}.markdown-module-file-render-info[data-v-c47f1152]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.markdown-module-file-render-name[data-v-c47f1152]{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;text-decoration:none;overflow:hidden}.markdown-module-file-render-name[data-v-c47f1152]:hover{color:#3b82f6;text-decoration:underline}.markdown-module-file-render-size[data-v-c47f1152]{color:#6b7280;font-size:.75rem}
|
|
2
2
|
/*$vite$:1*/
|