@grandaniel/vue-markdown-editor 1.1.3 → 1.2.0

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.
Files changed (38) hide show
  1. package/README.md +588 -6
  2. package/dist/components/MarkdownEditor/Composable/activeEditorStore.d.ts +7 -0
  3. package/dist/components/MarkdownEditor/Composable/parseMarkdown.d.ts +2 -0
  4. package/dist/components/MarkdownEditor/Composable/serializeMarkdown.d.ts +2 -0
  5. package/dist/components/MarkdownEditor/Composable/useMarkdownEditor.d.ts +1 -0
  6. package/dist/components/MarkdownEditor/Composable/useMarkdownProcessor.d.ts +1 -0
  7. package/dist/components/MarkdownEditor/ContextMenu/MarkdownEditorContextMenu.vue.d.ts +3 -1
  8. package/dist/components/MarkdownEditor/ContextMenu/MarkdownEditorFileContextMenu.vue.d.ts +19 -0
  9. package/dist/components/MarkdownEditor/ContextMenu/MarkdownEditorImageContextMenu.vue.d.ts +6 -2
  10. package/dist/components/MarkdownEditor/Factory/MarkdownNodeFactory.d.ts +2 -0
  11. package/dist/components/MarkdownEditor/MarkdownComponentRegistry.d.ts +2 -1
  12. package/dist/components/MarkdownEditor/MarkdownEditor.vue.d.ts +16 -0
  13. package/dist/components/MarkdownEditor/MarkdownEditorModule.vue.d.ts +2 -2
  14. package/dist/components/MarkdownEditor/Modules/MarkdownModuleFile.vue.d.ts +16 -0
  15. package/dist/components/MarkdownEditor/Modules/MarkdownModuleFileState.d.ts +8 -0
  16. package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline1.vue.d.ts +3 -2
  17. package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline2.vue.d.ts +3 -2
  18. package/dist/components/MarkdownEditor/Modules/MarkdownModuleHeadline3.vue.d.ts +3 -2
  19. package/dist/components/MarkdownEditor/Modules/MarkdownModuleList.vue.d.ts +1 -0
  20. package/dist/components/MarkdownEditor/Modules/MarkdownModuleParagraph.vue.d.ts +3 -2
  21. package/dist/components/MarkdownEditor/Types/MarkdownAstNode.d.ts +2 -0
  22. package/dist/components/MarkdownEditor/Types/MarkdownAstNodeType.d.ts +2 -1
  23. package/dist/components/MarkdownEditor/index.d.ts +2 -1
  24. package/dist/components/MarkdownRenderer/Composable/useMarkdownRenderer.d.ts +1189 -0
  25. package/dist/components/MarkdownRenderer/MarkdownRenderer.vue.d.ts +1170 -0
  26. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleFileRender.vue.d.ts +7 -0
  27. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleHeadline1Render.vue.d.ts +7 -0
  28. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleHeadline2Render.vue.d.ts +7 -0
  29. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleHeadline3Render.vue.d.ts +7 -0
  30. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleImageRender.vue.d.ts +7 -0
  31. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleListRender.vue.d.ts +7 -0
  32. package/dist/components/MarkdownRenderer/RenderModules/MarkdownModuleParagraphRender.vue.d.ts +7 -0
  33. package/dist/components/MarkdownRenderer/defaultRenderComponentRegistry.d.ts +10 -0
  34. package/dist/components/MarkdownRenderer/index.d.ts +2 -0
  35. package/dist/components/index.d.ts +1 -0
  36. package/dist/vue-markdown-editor.css +1 -1
  37. package/dist/vue-markdown-editor.mjs +4770 -4174
  38. package/package.json +8 -7
@@ -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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleTextState from "../../MarkdownEditor/Modules/MarkdownModuleTextState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleTextState;
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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleTextState from "../../MarkdownEditor/Modules/MarkdownModuleTextState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleTextState;
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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleTextState from "../../MarkdownEditor/Modules/MarkdownModuleTextState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleTextState;
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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleImageState from "../../MarkdownEditor/Modules/MarkdownModuleImageState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleImageState;
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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleListState from "../../MarkdownEditor/Modules/MarkdownModuleListState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleListState;
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;
@@ -0,0 +1,7 @@
1
+ import type MarkdownModuleTextState from "../../MarkdownEditor/Modules/MarkdownModuleTextState";
2
+ type __VLS_Props = {
3
+ state: MarkdownModuleTextState;
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;
@@ -0,0 +1,10 @@
1
+ import MarkdownNodeType from "../MarkdownEditor/Types/MarkdownAstNodeType";
2
+ import type { RenderComponent, RenderStateMap } from "./Composable/useMarkdownRenderer";
3
+ /**
4
+ * The default render component registry, mapping each node type to its built-in render component.
5
+ * Used as the fallback when no custom renderer instance is provided to `<MarkdownRenderer>`.
6
+ */
7
+ declare const defaultRenderComponentRegistry: {
8
+ [K in MarkdownNodeType]: RenderComponent<RenderStateMap[K]>;
9
+ };
10
+ export default defaultRenderComponentRegistry;
@@ -0,0 +1,2 @@
1
+ export { default as MarkdownRenderer } from "./MarkdownRenderer.vue";
2
+ export { useMarkdownRenderer, type MarkdownRendererInstance, type RenderComponent, type RenderStateMap } from "./Composable/useMarkdownRenderer";
@@ -1 +1,2 @@
1
1
  export * from './MarkdownEditor/';
2
+ export * from './MarkdownRenderer/';
@@ -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-4e53d049]{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-4e53d049]:hover{background:#f3f4f6}.markdown-editor-context-menu-inline-item.is-active[data-v-4e53d049]{color:#1e40af;background:#dbeafe}.markdown-editor-context-menu-inline-item[data-v-4e53d049]: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-aa7529af],[data-v-0d04047d]{background:0 0;border:none;outline:none}.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-a762fc53]{cursor:pointer;text-align:center;position:relative}.markdown-module-image img[data-v-a762fc53]{max-width:100%;height:auto}.markdown-module-image span[data-v-a762fc53]{color:#6b7280;margin-top:.25rem;font-size:.875rem;display:block}.markdown-module-image-form[data-v-a762fc53]{flex-direction:column;gap:1.25rem;display:flex}.markdown-module-image-form-field[data-v-a762fc53]{flex-direction:column;gap:.5rem;display:flex}.markdown-module-image-form-field label[data-v-a762fc53]{color:#374151;font-size:.875rem;font-weight:500}.markdown-module-image-form-field input[data-v-a762fc53]{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-a762fc53]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.markdown-module-image-form-field input[data-v-a762fc53]::placeholder{color:#9ca3af}[data-v-a762fc53]{background:0 0;border:none;outline:none}[data-v-4cf48f83] .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-700c129f]{padding-left:6rem}.markdown-editor[data-v-700c129f] p{margin:.5rem 0}.markdown-editor[data-v-700c129f] strong,.markdown-editor[data-v-700c129f] b{font-weight:700}.markdown-editor[data-v-700c129f] em,.markdown-editor[data-v-700c129f] i{font-style:italic}.markdown-editor[data-v-700c129f] code{color:green;background:#7f7f7f26;border-radius:3px;padding:.1em .3em;font-family:monospace;font-size:.9em}.markdown-editor[data-v-700c129f] h1{margin:0;font-size:2em}.markdown-editor[data-v-700c129f] h2{margin:0;font-size:1.5em}.markdown-editor[data-v-700c129f] 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*/