@omegagrid/markdown 0.9.54 → 0.9.55
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/features/index.js +1 -1
- package/dist/components/features/index.js.map +1 -1
- package/dist/components/styles/emoji.d.ts.map +1 -1
- package/dist/components/styles/emoji.js +6 -2
- package/dist/components/styles/emoji.js.map +1 -1
- package/dist/components/styles/image-block.d.ts.map +1 -1
- package/dist/components/styles/image-block.js +150 -87
- package/dist/components/styles/image-block.js.map +1 -1
- package/dist/components/styles/table.d.ts.map +1 -1
- package/dist/components/styles/table.js +100 -50
- package/dist/components/styles/table.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BlockHandleView}from"./blockEdit";import{ToolbarView}from"./toolbar";import{createPlaceHolder}from"./placeholder";import{createCodeBlockConfig,createCodeBlockView}from"./codeBlock";import{createHtmlBlockConfig,createHtmlBlockView}from"./htmlBlock";import{createTocBlock}from"./tocBlock";import linkEdit from"./linkEdit";export*from"./blockEditMenu";export*from"./htmlBlock";export*from"./linkEdit";export function configureFeatures(e
|
|
1
|
+
import{BlockHandleView}from"./blockEdit";import{ToolbarView}from"./toolbar";import{createPlaceHolder}from"./placeholder";import{createCodeBlockConfig,createCodeBlockView}from"./codeBlock";import{createHtmlBlockConfig,createHtmlBlockView}from"./htmlBlock";import{createTocBlock}from"./tocBlock";import linkEdit from"./linkEdit";export*from"./blockEditMenu";export*from"./htmlBlock";export*from"./linkEdit";export function configureFeatures(o,e){return t=>{t.inject(e.ctx.createSlice([],"FeaturesCtx"),o)}}const createIcon=(o,e)=>o.atomico.html`<og-icon icon=${e}></og-icon>`;export var EditorFeature;!function(o){o.BlockEdit="block-edit",o.Cursor="cursor",o.CodeEditor="code-editor",o.LinkTooltip="link-tooltip",o.ImageBlock="image-block",o.Toolbar="toolbar",o.Placeholder="placeholder",o.Table="table",o.Html="html",o.Emoji="emoji",o.Toc="toc"}(EditorFeature||(EditorFeature={}));const createModifyImageUrl=o=>async e=>{if(!e)return null;const t=o(e);return"string"==typeof e?t:await t};export function getFeatures(o,e,t){const i=t.modifyImageUrl?createModifyImageUrl(t.modifyImageUrl):null;return new Map([[EditorFeature.BlockEdit,{default:!0,init:()=>{o.config((o=>{o.set(e.plugins.block.blockConfig.key,{filterNodes:o=>!e.prose.findParent((o=>["table","blockquote"].includes(o.type.name)))(o)}),o.set(e.plugins.block.block.key,{view:()=>new BlockHandleView(o,e)})})).use(e.plugins.block.block)}}],[EditorFeature.Cursor,{default:!0,init:()=>{o.config((o=>{o.update(e.plugins.cursor.dropCursorConfig.key,(()=>({class:"md-editor-drop-cursor",width:4})))})).use(e.plugins.cursor.cursor)}}],[EditorFeature.ImageBlock,{default:!0,init:()=>{o.config((o=>{o.update(e.components.imageInline.inlineImageConfig.key,(o=>({uploadButton:'<og-icon icon="upload"></og-icon>',imageIcon:'<og-icon icon="image"></og-icon>',confirmButton:'<og-icon icon="check"></og-icon>',uploadPlaceholderText:"or paste link",onUpload:t.onUpload,proxyDomURL:i}))),o.update(e.components.imageBlock.imageBlockConfig.key,(o=>({uploadButton:"Upload file",imageIcon:'<og-icon icon="image"></og-icon>',captionIcon:'<og-icon icon="comment"></og-icon>',confirmButton:"Confirm",captionPlaceholderText:"Write Image Caption",uploadPlaceholderText:"or paste link",onUpload:t.onUpload,proxyDomURL:i})))})).use(e.components.imageBlock.imageBlockComponent).use(e.components.imageInline.imageInlineComponent)}}],[EditorFeature.LinkTooltip,{default:!0,init:()=>{const e=linkEdit.getPlugin();o.config(linkEdit.configure).use(e)}}],[EditorFeature.Toolbar,{default:!0,init:()=>{const t=e.plugins.tooltip.tooltipFactory("MARKDOWN_TOOLBAR");o.config((o=>{o.set(t.key,{view:t=>new ToolbarView(o,t,e)})})).use(t)}}],[EditorFeature.Placeholder,{default:!0,init:()=>{const{config:t,plugin:i}=createPlaceHolder(e);o.config((o=>{o.update(t.key,(o=>({...o})))})).use(i).use(t)}}],[EditorFeature.Table,{default:!0,init:()=>{o.config((o=>{o.update(e.components.tableBlock.tableBlockConfig.key,(o=>({renderButton:o=>{switch(o){case"add_row":case"add_col":return createIcon(e,"plus");case"delete_row":case"delete_col":return createIcon(e,"trash");case"align_col_left":return createIcon(e,"align-left");case"align_col_center":return createIcon(e,"align-center");case"align_col_right":return createIcon(e,"align-right");case"col_drag_handle":return createIcon(e,"grip-lines-vertical");case"row_drag_handle":return createIcon(e,"grip-lines")}}})))})).use(e.components.tableBlock.tableBlock)}}],[EditorFeature.CodeEditor,{default:!0,init:()=>{const t=createCodeBlockConfig(e),i=createCodeBlockView(e);o.config((o=>{o.update(t.key,(o=>({})))})).use([i,t])}}],[EditorFeature.Html,{default:!0,init:()=>{const t=createHtmlBlockConfig(e),i=createHtmlBlockView(e);o.config((o=>{o.update(t.key,(o=>({})))})).use([i,t])}}],[EditorFeature.Emoji,{default:!0,init:()=>{e.plugins.emoji&&o.use(e.plugins.emoji.emoji)}}],[EditorFeature.Toc,{default:!0,init:()=>{const t=createTocBlock(e);o.config((o=>{o.update(t.tocConfig.key,(o=>({})))})).use(t.plugins)}}]])}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/features/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// import { Editor } from '@milkdown/kit/core';\n// import { createSlice } from '@milkdown/kit/ctx';\n// import { BlockProvider, block, blockConfig } from '@milkdown/kit/plugin/block'\nimport { BlockHandleView } from './blockEdit';\nimport type * as milkdown from '@omegagrid/milkdown-kit';\nimport { ToolbarView } from './toolbar';\nimport { createPlaceHolder } from './placeholder';\nimport { createCodeBlockConfig, createCodeBlockView } from './codeBlock';\nimport { createHtmlBlockConfig, createHtmlBlockView } from './htmlBlock';\nimport { createTocBlock } from './tocBlock';\nimport linkEdit from './linkEdit';\n\nexport * from './blockEditMenu';\nexport * from './htmlBlock';\nexport * from './linkEdit';\n\nexport type DefineFeature<TConfig = unknown> = (\n\teditor: milkdown.core.Editor,\n\tconfig?: TConfig\n) => void | Promise<void>\n\nexport function configureFeatures(features: EditorFeature[], md: typeof milkdown) {\n\treturn (ctx: milkdown.ctx.Ctx) => {\n\t\tctx.inject(md.ctx.createSlice([] as EditorFeature[], 'FeaturesCtx'), features)\n\t}\n}\n\nconst createIcon = (md: typeof milkdown, icon: string) => \n\tmd.atomico.html`<og-icon icon=${icon}></og-icon>`;\n\nexport enum EditorFeature {\n\tBlockEdit = 'block-edit',\n\tCursor = 'cursor',\n\tCodeEditor = 'code-editor',\n\t// ListItem = 'list-item',\n\tLinkTooltip = 'link-tooltip',\n\tImageBlock = 'image-block',\n\tToolbar = 'toolbar',\n\tPlaceholder = 'placeholder',\n\tTable = 'table',\n\tHtml = 'html',\n\tEmoji = 'emoji',\n\tToc = 'toc'\n}\n\nexport type FeatureDefinition = {\n\tdefault: boolean,\n\tinit: () => void\n};\n\nconst createModifyImageUrl = (fn: (url: string) => Promise<string>|string) => {\n\treturn async (url: string) => {\n\t\tif (!url) return null;\n\t\tconst modUrl = fn(url);\n\t\treturn typeof url === 'string' ? modUrl : await modUrl;\n\t}\n};\n\nexport function getFeatures(\n\teditor: milkdown.core.Editor,\n\tmd: typeof milkdown,\n\toptions: {\n\t\tonUpload?: (file: File) => Promise<string>,\n\t\tmodifyImageUrl?: (file: string) => Promise<string>|string,\n\t}\n) {\n\tconst modifyImageUrl = options.modifyImageUrl ? createModifyImageUrl(options.modifyImageUrl) : null;\n\treturn new Map<EditorFeature, FeatureDefinition>([\n\t\t[EditorFeature.BlockEdit, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.set(md.plugins.block.blockConfig.key, {\n\t\t\t\t\t\tfilterNodes: (pos) => {\n\t\t\t\t\t\tconst filter = md.prose.findParent((node) =>\n\t\t\t\t\t\t\t['table', 'blockquote'].includes(node.type.name)\n\t\t\t\t\t\t)(pos)\n\t\t\t\t\t\tif (filter) return false\n\t\t\t\t\t\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tctx.set(md.plugins.block.block.key, {\n\t\t\t\t\t\tview: () => new BlockHandleView(ctx, md),\n\t\t\t\t\t})\n\t\t\t\t}).use(md.plugins.block.block);\n\t\t\t\t// .config((ctx) => configureMenu(ctx, config))\n\t\t\t\t// .use(menuAPI)\n\t\t\t\t// .use(menu)\n\t\t\t}\n\t\t}], [EditorFeature.Cursor, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.plugins.cursor.dropCursorConfig.key, () => ({\n\t\t\t\t\t\tclass: 'md-editor-drop-cursor',\n\t\t\t\t\t\twidth: 4,\n\t\t\t\t\t\t// color: '#ff0000',\n\t\t\t\t\t}))\n\t\t\t\t}).use(md.plugins.cursor.cursor)\n\t\t\t}\n\t\t}], [EditorFeature.ImageBlock, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.components.imageInline.inlineImageConfig.key, (_value) => ({\n\t\t\t\t\t\tuploadButton: () => createIcon(md, 'upload'),\n\t\t\t\t\t\timageIcon: () => createIcon(md, 'image'),\n\t\t\t\t\t\tconfirmButton: () => createIcon(md, 'check'),\n\t\t\t\t\t\tuploadPlaceholderText: 'or paste link',\n\t\t\t\t\t\tonUpload: options.onUpload,\n\t\t\t\t\t\tproxyDomURL: modifyImageUrl,\n\t\t\t\t\t} as any))\n\t\t\t\t\tctx.update(md.components.imageBlock.imageBlockConfig.key, (_value) => ({\n\t\t\t\t\t\tuploadButton: () => 'Upload file',\n\t\t\t\t\t\timageIcon: () => createIcon(md, 'image'),\n\t\t\t\t\t\tcaptionIcon: () => createIcon(md, 'comment'),\n\t\t\t\t\t\tconfirmButton: () => 'Confirm',\n\t\t\t\t\t\tcaptionPlaceholderText: 'Write Image Caption',\n\t\t\t\t\t\tuploadPlaceholderText: 'or paste link',\n\t\t\t\t\t\tonUpload: options.onUpload,\n\t\t\t\t\t\tproxyDomURL: modifyImageUrl,\n\t\t\t\t\t} as any))\n\t\t\t\t})\n\t\t\t\t.use(md.components.imageBlock.imageBlockComponent)\n\t\t\t\t.use(md.components.imageInline.imageInlineComponent)\n\t\t\t}\n\t\t}], [EditorFeature.LinkTooltip, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\t// const toolbar = md.plugins.tooltip.tooltipFactory('MARKDOWN_LINK_EDIT_TOOLBAR');\n\t\t\t\tconst plugin = linkEdit.getPlugin();\n\t\t\t\teditor.config(linkEdit.configure)\n\t\t\t\t/*.config((ctx) => {\n\t\t\t\t\tctx.update(linkEdit.getState().key, (prev) => ({...prev}));\n\t\t\t\t})*/\n\t\t\t\t.use(plugin);\n\t\t\t}\n\t\t}], [EditorFeature.Toolbar, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst toolbar = md.plugins.tooltip.tooltipFactory('MARKDOWN_TOOLBAR');\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.set(toolbar.key, {\n\t\t\t\t\t\tview: (view) => new ToolbarView(ctx, view, md),\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.use(toolbar)\n\t\t\t}\n\t\t}], [EditorFeature.Placeholder, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst { config, plugin } = createPlaceHolder(md);\n\t\t\t\t\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(config.key, (prev) => {\n\t\t\t\t\t\treturn {...prev};\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.use(plugin)\n\t\t\t\t.use(config)\n\t\t\t}\n\t\t}], [EditorFeature.Table, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.components.tableBlock.tableBlockConfig.key, (_prev) => ({\n\t\t\t\t\t\trenderButton: (renderType) => {\n\t\t\t\t\t\t\tswitch (renderType) {\n\t\t\t\t\t\t\t\tcase 'add_row': return createIcon(md, 'plus');\n\t\t\t\t\t\t\t\tcase 'add_col': return createIcon(md, 'plus');\n\t\t\t\t\t\t\t\tcase 'delete_row': return createIcon(md, 'trash');\n\t\t\t\t\t\t\t\tcase 'delete_col': return createIcon(md, 'trash');\n\t\t\t\t\t\t\t\tcase 'align_col_left': return createIcon(md, 'align-left');\n\t\t\t\t\t\t\t\tcase 'align_col_center': return createIcon(md, 'align-center');\n\t\t\t\t\t\t\t\tcase 'align_col_right': return createIcon(md, 'align-right');\n\t\t\t\t\t\t\t\tcase 'col_drag_handle': return createIcon(md, 'grip-lines-vertical');\n\t\t\t\t\t\t\t\tcase 'row_drag_handle': return createIcon(md, 'grip-lines');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t})\n\t\t\t\t.use(md.components.tableBlock.tableBlock)\n\t\t\t}\n\t\t}], [EditorFeature.CodeEditor, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst codeBlockConfig = createCodeBlockConfig(md);\n\t\t\t\tconst codeBlockView = createCodeBlockView(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(codeBlockConfig.key, (_defaultConfig) => ({}));\n\t\t\t\t}).use([codeBlockView, codeBlockConfig]);\n\t\t\t}\n\t\t}], [EditorFeature.Html, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst htmlBlockConfig = createHtmlBlockConfig(md);\n\t\t\t\tconst htmlBlockView = createHtmlBlockView(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(htmlBlockConfig.key, (_defaultConfig) => ({}));\n\t\t\t\t}).use([htmlBlockView, htmlBlockConfig]);\n\t\t\t}\n\t\t}], [EditorFeature.Emoji, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tif (md.plugins.emoji) editor.use(md.plugins.emoji.emoji);\n\t\t\t}\n\t\t}], [EditorFeature.Toc, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst toc = createTocBlock(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(toc.tocConfig.key, (_d) => ({}));\n\t\t\t\t}).use(toc.plugins);\n\t\t\t}\n\t\t}]\n\t]);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/features/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// import { Editor } from '@milkdown/kit/core';\n// import { createSlice } from '@milkdown/kit/ctx';\n// import { BlockProvider, block, blockConfig } from '@milkdown/kit/plugin/block'\nimport { BlockHandleView } from './blockEdit';\nimport type * as milkdown from '@omegagrid/milkdown-kit';\nimport { ToolbarView } from './toolbar';\nimport { createPlaceHolder } from './placeholder';\nimport { createCodeBlockConfig, createCodeBlockView } from './codeBlock';\nimport { createHtmlBlockConfig, createHtmlBlockView } from './htmlBlock';\nimport { createTocBlock } from './tocBlock';\nimport linkEdit from './linkEdit';\n\nexport * from './blockEditMenu';\nexport * from './htmlBlock';\nexport * from './linkEdit';\n\nexport type DefineFeature<TConfig = unknown> = (\n\teditor: milkdown.core.Editor,\n\tconfig?: TConfig\n) => void | Promise<void>\n\nexport function configureFeatures(features: EditorFeature[], md: typeof milkdown) {\n\treturn (ctx: milkdown.ctx.Ctx) => {\n\t\tctx.inject(md.ctx.createSlice([] as EditorFeature[], 'FeaturesCtx'), features)\n\t}\n}\n\nconst createIcon = (md: typeof milkdown, icon: string) => \n\tmd.atomico.html`<og-icon icon=${icon}></og-icon>`;\n\nexport enum EditorFeature {\n\tBlockEdit = 'block-edit',\n\tCursor = 'cursor',\n\tCodeEditor = 'code-editor',\n\t// ListItem = 'list-item',\n\tLinkTooltip = 'link-tooltip',\n\tImageBlock = 'image-block',\n\tToolbar = 'toolbar',\n\tPlaceholder = 'placeholder',\n\tTable = 'table',\n\tHtml = 'html',\n\tEmoji = 'emoji',\n\tToc = 'toc'\n}\n\nexport type FeatureDefinition = {\n\tdefault: boolean,\n\tinit: () => void\n};\n\nconst createModifyImageUrl = (fn: (url: string) => Promise<string>|string) => {\n\treturn async (url: string) => {\n\t\tif (!url) return null;\n\t\tconst modUrl = fn(url);\n\t\treturn typeof url === 'string' ? modUrl : await modUrl;\n\t}\n};\n\nexport function getFeatures(\n\teditor: milkdown.core.Editor,\n\tmd: typeof milkdown,\n\toptions: {\n\t\tonUpload?: (file: File) => Promise<string>,\n\t\tmodifyImageUrl?: (file: string) => Promise<string>|string,\n\t}\n) {\n\tconst modifyImageUrl = options.modifyImageUrl ? createModifyImageUrl(options.modifyImageUrl) : null;\n\treturn new Map<EditorFeature, FeatureDefinition>([\n\t\t[EditorFeature.BlockEdit, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.set(md.plugins.block.blockConfig.key, {\n\t\t\t\t\t\tfilterNodes: (pos) => {\n\t\t\t\t\t\tconst filter = md.prose.findParent((node) =>\n\t\t\t\t\t\t\t['table', 'blockquote'].includes(node.type.name)\n\t\t\t\t\t\t)(pos)\n\t\t\t\t\t\tif (filter) return false\n\t\t\t\t\t\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tctx.set(md.plugins.block.block.key, {\n\t\t\t\t\t\tview: () => new BlockHandleView(ctx, md),\n\t\t\t\t\t})\n\t\t\t\t}).use(md.plugins.block.block);\n\t\t\t\t// .config((ctx) => configureMenu(ctx, config))\n\t\t\t\t// .use(menuAPI)\n\t\t\t\t// .use(menu)\n\t\t\t}\n\t\t}], [EditorFeature.Cursor, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.plugins.cursor.dropCursorConfig.key, () => ({\n\t\t\t\t\t\tclass: 'md-editor-drop-cursor',\n\t\t\t\t\t\twidth: 4,\n\t\t\t\t\t\t// color: '#ff0000',\n\t\t\t\t\t}))\n\t\t\t\t}).use(md.plugins.cursor.cursor)\n\t\t\t}\n\t\t}], [EditorFeature.ImageBlock, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.components.imageInline.inlineImageConfig.key, (_value) => ({\n\t\t\t\t\t\tuploadButton: '<og-icon icon=\"upload\"></og-icon>',\n\t\t\t\t\t\timageIcon: '<og-icon icon=\"image\"></og-icon>',\n\t\t\t\t\t\tconfirmButton: '<og-icon icon=\"check\"></og-icon>',\n\t\t\t\t\t\tuploadPlaceholderText: 'or paste link',\n\t\t\t\t\t\tonUpload: options.onUpload,\n\t\t\t\t\t\tproxyDomURL: modifyImageUrl,\n\t\t\t\t\t} as any))\n\t\t\t\t\tctx.update(md.components.imageBlock.imageBlockConfig.key, (_value) => ({\n\t\t\t\t\t\tuploadButton: 'Upload file',\n\t\t\t\t\t\timageIcon: '<og-icon icon=\"image\"></og-icon>',\n\t\t\t\t\t\tcaptionIcon: '<og-icon icon=\"comment\"></og-icon>',\n\t\t\t\t\t\tconfirmButton: 'Confirm',\n\t\t\t\t\t\tcaptionPlaceholderText: 'Write Image Caption',\n\t\t\t\t\t\tuploadPlaceholderText: 'or paste link',\n\t\t\t\t\t\tonUpload: options.onUpload,\n\t\t\t\t\t\tproxyDomURL: modifyImageUrl,\n\t\t\t\t\t} as any))\n\t\t\t\t})\n\t\t\t\t.use(md.components.imageBlock.imageBlockComponent)\n\t\t\t\t.use(md.components.imageInline.imageInlineComponent)\n\t\t\t}\n\t\t}], [EditorFeature.LinkTooltip, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\t// const toolbar = md.plugins.tooltip.tooltipFactory('MARKDOWN_LINK_EDIT_TOOLBAR');\n\t\t\t\tconst plugin = linkEdit.getPlugin();\n\t\t\t\teditor.config(linkEdit.configure)\n\t\t\t\t/*.config((ctx) => {\n\t\t\t\t\tctx.update(linkEdit.getState().key, (prev) => ({...prev}));\n\t\t\t\t})*/\n\t\t\t\t.use(plugin);\n\t\t\t}\n\t\t}], [EditorFeature.Toolbar, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst toolbar = md.plugins.tooltip.tooltipFactory('MARKDOWN_TOOLBAR');\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.set(toolbar.key, {\n\t\t\t\t\t\tview: (view) => new ToolbarView(ctx, view, md),\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.use(toolbar)\n\t\t\t}\n\t\t}], [EditorFeature.Placeholder, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst { config, plugin } = createPlaceHolder(md);\n\t\t\t\t\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(config.key, (prev) => {\n\t\t\t\t\t\treturn {...prev};\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.use(plugin)\n\t\t\t\t.use(config)\n\t\t\t}\n\t\t}], [EditorFeature.Table, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(md.components.tableBlock.tableBlockConfig.key, (_prev) => ({\n\t\t\t\t\t\trenderButton: (renderType) => {\n\t\t\t\t\t\t\tswitch (renderType) {\n\t\t\t\t\t\t\t\tcase 'add_row': return createIcon(md, 'plus');\n\t\t\t\t\t\t\t\tcase 'add_col': return createIcon(md, 'plus');\n\t\t\t\t\t\t\t\tcase 'delete_row': return createIcon(md, 'trash');\n\t\t\t\t\t\t\t\tcase 'delete_col': return createIcon(md, 'trash');\n\t\t\t\t\t\t\t\tcase 'align_col_left': return createIcon(md, 'align-left');\n\t\t\t\t\t\t\t\tcase 'align_col_center': return createIcon(md, 'align-center');\n\t\t\t\t\t\t\t\tcase 'align_col_right': return createIcon(md, 'align-right');\n\t\t\t\t\t\t\t\tcase 'col_drag_handle': return createIcon(md, 'grip-lines-vertical');\n\t\t\t\t\t\t\t\tcase 'row_drag_handle': return createIcon(md, 'grip-lines');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t})\n\t\t\t\t.use(md.components.tableBlock.tableBlock)\n\t\t\t}\n\t\t}], [EditorFeature.CodeEditor, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst codeBlockConfig = createCodeBlockConfig(md);\n\t\t\t\tconst codeBlockView = createCodeBlockView(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(codeBlockConfig.key, (_defaultConfig) => ({}));\n\t\t\t\t}).use([codeBlockView, codeBlockConfig]);\n\t\t\t}\n\t\t}], [EditorFeature.Html, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst htmlBlockConfig = createHtmlBlockConfig(md);\n\t\t\t\tconst htmlBlockView = createHtmlBlockView(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(htmlBlockConfig.key, (_defaultConfig) => ({}));\n\t\t\t\t}).use([htmlBlockView, htmlBlockConfig]);\n\t\t\t}\n\t\t}], [EditorFeature.Emoji, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tif (md.plugins.emoji) editor.use(md.plugins.emoji.emoji);\n\t\t\t}\n\t\t}], [EditorFeature.Toc, {\n\t\t\tdefault: true,\n\t\t\tinit: () => {\n\t\t\t\tconst toc = createTocBlock(md);\n\t\t\t\teditor.config((ctx) => {\n\t\t\t\t\tctx.update(toc.tocConfig.key, (_d) => ({}));\n\t\t\t\t}).use(toc.plugins);\n\t\t\t}\n\t\t}]\n\t]);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../../src/components/styles/emoji.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../../src/components/styles/emoji.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAajB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../../src/components/styles/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../../src/components/styles/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;CAavB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nexport const style = css`\n\tspan[data-type='emoji'] {\n\t\tdisplay: inline-block;\n\t}\n\n\tspan[data-type='emoji'] .emoji {\n\t\twidth: 0.6rem;\n\t\theight: 0.6rem;\n\t}\n\n\timg.emoji {\n\t\tvertical-align: middle;\n\t}\n`;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-block.d.ts","sourceRoot":"","sources":["../../../src/components/styles/image-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"image-block.d.ts","sourceRoot":"","sources":["../../../src/components/styles/image-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBA0YjB,CAAC"}
|
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
import{css}from"lit";export const style=css`
|
|
2
|
-
|
|
2
|
+
/* inline image */
|
|
3
|
+
|
|
4
|
+
.milkdown .milkdown-image-inline {
|
|
3
5
|
outline: none;
|
|
4
|
-
display: inline;
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
vertical-align: text-bottom;
|
|
5
8
|
}
|
|
6
|
-
|
|
9
|
+
|
|
10
|
+
.milkdown .milkdown-image-inline input {
|
|
7
11
|
background: transparent;
|
|
8
12
|
outline: none;
|
|
9
13
|
border: 0;
|
|
14
|
+
caret-color: var(--markdown-color-outline);
|
|
10
15
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
milkdown-image-inline > .empty-image-inline {
|
|
16
|
+
|
|
17
|
+
.milkdown .milkdown-image-inline > .empty-image-inline {
|
|
15
18
|
display: inline-flex;
|
|
16
19
|
}
|
|
17
|
-
|
|
20
|
+
|
|
21
|
+
.milkdown .milkdown-image-inline > .empty-image-inline .confirm {
|
|
18
22
|
cursor: pointer;
|
|
19
23
|
}
|
|
20
|
-
|
|
24
|
+
|
|
25
|
+
.milkdown .milkdown-image-inline > .empty-image-inline .link-importer {
|
|
21
26
|
position: relative;
|
|
22
27
|
flex: 1;
|
|
23
28
|
}
|
|
24
|
-
|
|
29
|
+
|
|
30
|
+
.milkdown .milkdown-image-inline > .empty-image-inline .link-importer > .link-input-area {
|
|
25
31
|
width: 208px;
|
|
26
32
|
color: var(--markdown-color-on-background);
|
|
33
|
+
display: flex;
|
|
27
34
|
}
|
|
28
|
-
|
|
35
|
+
|
|
36
|
+
.milkdown .milkdown-image-inline > .empty-image-inline .link-importer .placeholder {
|
|
29
37
|
position: absolute;
|
|
30
38
|
top: 0;
|
|
31
39
|
left: 0;
|
|
@@ -34,149 +42,183 @@ import{css}from"lit";export const style=css`
|
|
|
34
42
|
align-items: center;
|
|
35
43
|
cursor: text;
|
|
36
44
|
}
|
|
37
|
-
|
|
45
|
+
|
|
46
|
+
.milkdown .milkdown-image-inline > .empty-image-inline .link-importer .placeholder .uploader {
|
|
38
47
|
cursor: pointer;
|
|
39
48
|
display: flex;
|
|
40
49
|
}
|
|
41
|
-
|
|
50
|
+
|
|
51
|
+
.milkdown .milkdown-image-inline .hidden {
|
|
42
52
|
display: none !important;
|
|
43
53
|
}
|
|
44
|
-
|
|
54
|
+
|
|
55
|
+
.milkdown .milkdown-image-inline.empty.selected {
|
|
45
56
|
background: none;
|
|
46
57
|
outline: none;
|
|
47
58
|
}
|
|
48
|
-
|
|
59
|
+
|
|
60
|
+
.milkdown .milkdown-image-inline.empty.selected .empty-image-inline {
|
|
49
61
|
box-shadow: var(--markdown-shadow-1);
|
|
50
62
|
}
|
|
51
|
-
|
|
63
|
+
|
|
64
|
+
.milkdown .milkdown-image-inline.selected {
|
|
52
65
|
background: none;
|
|
53
|
-
outline: 1px solid var(--
|
|
66
|
+
outline: 1px solid var(--markdown-color-primary);
|
|
54
67
|
}
|
|
55
|
-
|
|
68
|
+
|
|
69
|
+
.milkdown .milkdown-image-inline.selected :not(input)::selection {
|
|
56
70
|
background: transparent;
|
|
57
71
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
milkdown-image-inline .empty-image-inline {
|
|
72
|
+
|
|
73
|
+
.milkdown .milkdown-image-inline .empty-image-inline {
|
|
62
74
|
align-items: center;
|
|
63
75
|
padding: 4px 10px;
|
|
64
76
|
gap: 10px;
|
|
65
77
|
background: var(--markdown-color-surface);
|
|
66
78
|
font-family: var(--markdown-font-default);
|
|
67
79
|
border-radius: 8px;
|
|
80
|
+
font-size: 16px;
|
|
68
81
|
}
|
|
69
|
-
|
|
82
|
+
|
|
83
|
+
.milkdown .milkdown-image-inline .empty-image-inline .image-icon {
|
|
70
84
|
padding: 3px;
|
|
71
85
|
width: 24px;
|
|
72
86
|
height: 24px;
|
|
73
87
|
}
|
|
74
|
-
|
|
88
|
+
|
|
89
|
+
.milkdown .milkdown-image-inline .empty-image-inline .image-icon svg {
|
|
75
90
|
width: 18px;
|
|
76
91
|
height: 18px;
|
|
77
92
|
fill: var(--markdown-color-outline);
|
|
78
93
|
}
|
|
79
|
-
|
|
94
|
+
|
|
95
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer {
|
|
80
96
|
height: 24px;
|
|
81
97
|
}
|
|
82
|
-
|
|
98
|
+
|
|
99
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder {
|
|
83
100
|
color: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);
|
|
84
101
|
}
|
|
85
|
-
|
|
102
|
+
|
|
103
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::selection {
|
|
86
104
|
background: transparent;
|
|
87
105
|
}
|
|
88
|
-
|
|
106
|
+
|
|
107
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .link-input-area {
|
|
89
108
|
line-height: 24px;
|
|
90
109
|
}
|
|
91
|
-
|
|
110
|
+
|
|
111
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader {
|
|
92
112
|
gap: 8px;
|
|
93
113
|
color: var(--og-accent-color);
|
|
94
114
|
justify-content: center;
|
|
95
115
|
transition: color 0.2s;
|
|
96
116
|
font-family: var(--markdown-font-default);
|
|
97
117
|
}
|
|
98
|
-
|
|
118
|
+
|
|
119
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer.focus .placeholder .uploader {
|
|
99
120
|
color: unset;
|
|
100
121
|
}
|
|
101
|
-
|
|
122
|
+
|
|
123
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader:hover {
|
|
102
124
|
color: var(--og-accent-color);
|
|
103
125
|
}
|
|
104
|
-
|
|
126
|
+
|
|
127
|
+
.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .text {
|
|
105
128
|
margin-left: 8px;
|
|
106
129
|
}
|
|
107
|
-
|
|
130
|
+
|
|
131
|
+
.milkdown .milkdown-image-inline .empty-image-inline .confirm {
|
|
132
|
+
display: flex;
|
|
108
133
|
width: 24px;
|
|
109
134
|
height: 24px;
|
|
110
135
|
padding: 3px;
|
|
111
136
|
border-radius: 8px;
|
|
112
137
|
color: var(--og-accent-color);
|
|
113
138
|
}
|
|
114
|
-
|
|
139
|
+
|
|
140
|
+
.milkdown .milkdown-image-inline .empty-image-inline .confirm svg {
|
|
115
141
|
width: 18px;
|
|
116
142
|
height: 18px;
|
|
117
143
|
}
|
|
118
|
-
|
|
144
|
+
|
|
145
|
+
.milkdown .milkdown-image-inline .empty-image-inline .confirm:hover {
|
|
119
146
|
background: var(--markdown-color-hover);
|
|
120
147
|
}
|
|
121
148
|
|
|
122
|
-
|
|
149
|
+
/* image block */
|
|
150
|
+
|
|
151
|
+
.milkdown .milkdown-image-block {
|
|
123
152
|
outline: none;
|
|
124
153
|
margin: 4px 0;
|
|
125
154
|
display: block;
|
|
126
155
|
}
|
|
127
|
-
|
|
156
|
+
|
|
157
|
+
.milkdown .milkdown-image-block > .image-wrapper {
|
|
128
158
|
position: relative;
|
|
129
159
|
width: fit-content;
|
|
130
160
|
margin: 0 auto;
|
|
131
161
|
min-width: 100px;
|
|
132
162
|
}
|
|
133
163
|
|
|
134
|
-
milkdown-image-block > .image-wrapper .operation {
|
|
164
|
+
.milkdown .milkdown-image-block > .image-wrapper .operation {
|
|
135
165
|
position: absolute;
|
|
136
166
|
display: flex;
|
|
137
167
|
}
|
|
138
|
-
|
|
168
|
+
|
|
169
|
+
.milkdown .milkdown-image-block > .image-wrapper .operation > .operation-item {
|
|
139
170
|
cursor: pointer;
|
|
140
171
|
}
|
|
141
|
-
|
|
172
|
+
|
|
173
|
+
.milkdown .milkdown-image-block > .image-wrapper img {
|
|
142
174
|
max-width: 100%;
|
|
143
175
|
min-height: 100px;
|
|
144
176
|
display: block;
|
|
145
177
|
object-fit: cover;
|
|
146
178
|
}
|
|
147
|
-
|
|
179
|
+
|
|
180
|
+
.milkdown .milkdown-image-block > .image-wrapper > .image-resize-handle {
|
|
148
181
|
position: absolute;
|
|
149
182
|
left: 50%;
|
|
150
183
|
transform: translateX(-50%);
|
|
151
184
|
}
|
|
152
|
-
|
|
185
|
+
|
|
186
|
+
.milkdown .milkdown-image-block > .image-wrapper > .image-resize-handle:hover {
|
|
153
187
|
cursor: row-resize;
|
|
154
188
|
}
|
|
155
|
-
|
|
189
|
+
|
|
190
|
+
.milkdown .milkdown-image-block input {
|
|
156
191
|
background: transparent;
|
|
157
192
|
outline: none;
|
|
158
193
|
border: 0;
|
|
194
|
+
caret-color: var(--markdown-color-outline);
|
|
159
195
|
}
|
|
160
|
-
|
|
196
|
+
|
|
197
|
+
.milkdown .milkdown-image-block > .caption-input {
|
|
161
198
|
display: block;
|
|
162
199
|
width: 100%;
|
|
163
200
|
text-align: center;
|
|
164
201
|
color: var(--markdown-color-on-background);
|
|
165
202
|
}
|
|
166
|
-
|
|
203
|
+
|
|
204
|
+
.milkdown .milkdown-image-block > .image-edit {
|
|
167
205
|
display: flex;
|
|
168
206
|
}
|
|
169
|
-
|
|
207
|
+
|
|
208
|
+
.milkdown .milkdown-image-block > .image-edit .confirm {
|
|
170
209
|
cursor: pointer;
|
|
171
210
|
}
|
|
172
|
-
|
|
211
|
+
|
|
212
|
+
.milkdown .milkdown-image-block > .image-edit .link-importer {
|
|
173
213
|
position: relative;
|
|
174
214
|
flex: 1;
|
|
175
215
|
}
|
|
176
|
-
|
|
216
|
+
|
|
217
|
+
.milkdown .milkdown-image-block > .image-edit .link-importer > .link-input-area {
|
|
177
218
|
width: 100%;
|
|
178
219
|
}
|
|
179
|
-
|
|
220
|
+
|
|
221
|
+
.milkdown .milkdown-image-block > .image-edit .link-importer .placeholder {
|
|
180
222
|
position: absolute;
|
|
181
223
|
top: 0;
|
|
182
224
|
left: 0;
|
|
@@ -185,17 +227,21 @@ import{css}from"lit";export const style=css`
|
|
|
185
227
|
align-items: center;
|
|
186
228
|
cursor: text;
|
|
187
229
|
}
|
|
188
|
-
|
|
230
|
+
|
|
231
|
+
.milkdown .milkdown-image-block > .image-edit .link-importer .placeholder .uploader {
|
|
189
232
|
cursor: pointer;
|
|
190
233
|
display: flex;
|
|
191
234
|
}
|
|
192
|
-
|
|
235
|
+
|
|
236
|
+
.milkdown .milkdown-image-block .hidden {
|
|
193
237
|
display: none !important;
|
|
194
238
|
}
|
|
195
|
-
|
|
239
|
+
|
|
240
|
+
.milkdown .milkdown-image-block.selected > .image-edit:not(:has(input:focus)) {
|
|
196
241
|
position: relative;
|
|
197
242
|
}
|
|
198
|
-
|
|
243
|
+
|
|
244
|
+
.milkdown .milkdown-image-block.selected > .image-edit:not(:has(input:focus))::before {
|
|
199
245
|
content: '';
|
|
200
246
|
position: absolute;
|
|
201
247
|
top: 0;
|
|
@@ -205,10 +251,12 @@ import{css}from"lit";export const style=css`
|
|
|
205
251
|
background: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);
|
|
206
252
|
pointer-events: none;
|
|
207
253
|
}
|
|
208
|
-
|
|
254
|
+
|
|
255
|
+
.milkdown .milkdown-image-block.selected > .image-wrapper {
|
|
209
256
|
position: relative;
|
|
210
257
|
}
|
|
211
|
-
|
|
258
|
+
|
|
259
|
+
.milkdown .milkdown-image-block.selected > .image-wrapper::before {
|
|
212
260
|
content: '';
|
|
213
261
|
position: absolute;
|
|
214
262
|
top: 0;
|
|
@@ -217,35 +265,45 @@ import{css}from"lit";export const style=css`
|
|
|
217
265
|
bottom: 0;
|
|
218
266
|
background: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);
|
|
219
267
|
}
|
|
220
|
-
|
|
268
|
+
|
|
269
|
+
.milkdown .milkdown-image-block.selected :not(input)::selection {
|
|
221
270
|
background: transparent;
|
|
222
271
|
}
|
|
223
|
-
|
|
272
|
+
|
|
273
|
+
.milkdown .milkdown-image-block .image-wrapper {
|
|
224
274
|
display: flex;
|
|
225
275
|
justify-content: center;
|
|
226
276
|
align-items: center;
|
|
227
277
|
}
|
|
228
|
-
|
|
278
|
+
|
|
279
|
+
.milkdown .milkdown-image-block .image-wrapper .operation {
|
|
229
280
|
gap: 12px;
|
|
230
281
|
right: 12px;
|
|
231
282
|
top: 12px;
|
|
232
283
|
opacity: 0;
|
|
233
284
|
transition: all 0.2s;
|
|
234
285
|
}
|
|
235
|
-
|
|
286
|
+
|
|
287
|
+
.milkdown .milkdown-image-block:hover > .image-wrapper .operation {
|
|
236
288
|
opacity: 1;
|
|
237
289
|
}
|
|
238
|
-
|
|
290
|
+
|
|
291
|
+
.milkdown .milkdown-image-block .image-wrapper .operation > .operation-item {
|
|
239
292
|
color: var(--og-text-color);
|
|
293
|
+
padding: 4px;
|
|
240
294
|
background: var(--og-accent-color);
|
|
241
295
|
opacity: 0.6;
|
|
242
296
|
border-radius: 50%;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
297
|
+
width: 32px;
|
|
298
|
+
height: 32px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.milkdown .milkdown-image-block .image-wrapper .operation > .operation-item svg {
|
|
302
|
+
width: 24px;
|
|
303
|
+
height: 24px;
|
|
246
304
|
}
|
|
247
305
|
|
|
248
|
-
milkdown-image-block .image-wrapper .image-resize-handle {
|
|
306
|
+
.milkdown .milkdown-image-block .image-wrapper .image-resize-handle {
|
|
249
307
|
height: 4px;
|
|
250
308
|
bottom: -2px;
|
|
251
309
|
max-width: 160px;
|
|
@@ -255,24 +313,29 @@ import{css}from"lit";export const style=css`
|
|
|
255
313
|
transition: all 0.2s;
|
|
256
314
|
border-radius: 4px;
|
|
257
315
|
}
|
|
258
|
-
|
|
316
|
+
|
|
317
|
+
.milkdown .milkdown-image-block:hover > .image-wrapper .image-resize-handle {
|
|
259
318
|
opacity: 1;
|
|
260
319
|
}
|
|
261
|
-
|
|
320
|
+
|
|
321
|
+
.milkdown .milkdown-image-block .caption-input {
|
|
262
322
|
margin: 4px auto;
|
|
263
323
|
font-family: var(--markdown-font-default);
|
|
264
324
|
}
|
|
265
|
-
|
|
325
|
+
|
|
326
|
+
.milkdown .milkdown-image-block .image-edit {
|
|
266
327
|
align-items: center;
|
|
267
328
|
padding: 16px 24px;
|
|
268
329
|
gap: 16px;
|
|
269
330
|
background: var(--markdown-color-surface);
|
|
270
331
|
height: 56px;
|
|
271
332
|
}
|
|
272
|
-
|
|
333
|
+
|
|
334
|
+
.milkdown .milkdown-image-block .image-edit .image-icon {
|
|
273
335
|
color: var(--markdown-color-outline);
|
|
274
336
|
}
|
|
275
|
-
|
|
337
|
+
|
|
338
|
+
.milkdown .milkdown-image-block .image-edit .image-icon svg {
|
|
276
339
|
width: 24px;
|
|
277
340
|
height: 24px;
|
|
278
341
|
display: flex;
|
|
@@ -280,53 +343,53 @@ import{css}from"lit";export const style=css`
|
|
|
280
343
|
align-items: center;
|
|
281
344
|
fill: var(--markdown-color-outline);
|
|
282
345
|
}
|
|
283
|
-
|
|
346
|
+
|
|
347
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .placeholder {
|
|
284
348
|
color: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);
|
|
285
349
|
}
|
|
286
|
-
|
|
350
|
+
|
|
351
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::selection {
|
|
287
352
|
background: transparent;
|
|
288
353
|
}
|
|
289
|
-
|
|
354
|
+
|
|
355
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .link-input-area {
|
|
290
356
|
line-height: 24px;
|
|
291
357
|
color: var(--markdown-color-on-background);
|
|
292
358
|
}
|
|
293
359
|
|
|
294
|
-
milkdown-image-block .image-edit .link-importer .placeholder .uploader {
|
|
360
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader {
|
|
295
361
|
gap: 8px;
|
|
296
362
|
color: var(--og-accent-color);
|
|
297
363
|
justify-content: center;
|
|
298
364
|
transition: color 0.2s;
|
|
299
365
|
font-weight: 600;
|
|
300
|
-
|
|
366
|
+
}
|
|
301
367
|
|
|
302
|
-
milkdown-image-block .image-edit .link-importer.focus .placeholder .uploader {
|
|
368
|
+
.milkdown .milkdown-image-block .image-edit .link-importer.focus .placeholder .uploader {
|
|
303
369
|
color: unset;
|
|
304
370
|
}
|
|
305
371
|
|
|
306
|
-
milkdown-image-block.image-edit .link-importer .placeholder .uploader:hover {
|
|
307
|
-
color: var(--og-
|
|
372
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader:hover {
|
|
373
|
+
color: var(--og-text-color);
|
|
308
374
|
}
|
|
309
375
|
|
|
310
|
-
milkdown-image-block .image-edit .link-importer .placeholder .text {
|
|
376
|
+
.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .text {
|
|
311
377
|
margin-left: 8px;
|
|
312
378
|
}
|
|
313
379
|
|
|
314
|
-
milkdown-image-block .image-edit .confirm {
|
|
380
|
+
.milkdown .milkdown-image-block .image-edit .confirm {
|
|
315
381
|
background: var(--markdown-color-secondary);
|
|
316
382
|
color: var(--markdown-color-on-secondary);
|
|
317
383
|
line-height: 40px;
|
|
318
384
|
padding: 0 24px;
|
|
319
385
|
border-radius: 100px;
|
|
320
386
|
font-size: 14px;
|
|
321
|
-
font-weight: 600;
|
|
387
|
+
font-weight: 600;
|
|
322
388
|
}
|
|
323
389
|
|
|
324
|
-
milkdown-image-block .image-edit .confirm:hover {
|
|
325
|
-
background:
|
|
326
|
-
0deg,
|
|
327
|
-
|
|
328
|
-
rgba(29, 25, 43, 0.08) 100%
|
|
329
|
-
),
|
|
330
|
-
var(--markdown-color-secondary);
|
|
390
|
+
.milkdown .milkdown-image-block .image-edit .confirm:hover {
|
|
391
|
+
background:
|
|
392
|
+
linear-gradient(0deg, rgba(29, 25, 43, 0.08) 0%, rgba(29, 25, 43, 0.08) 100%),
|
|
393
|
+
var(--markdown-color-secondary);
|
|
331
394
|
}
|
|
332
395
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-block.js","sourceRoot":"","sources":["../../../src/components/styles/image-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2UvB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nexport const style = css`\n\tmilkdown-image-inline {\n\t\toutline: none;\n\t\tdisplay: inline;\n\t}\n\tmilkdown-image-inline input {\n\t\tbackground: transparent;\n\t\toutline: none;\n\t\tborder: 0;\n\t}\n\tmilkdown-image-inline.empty {\n\t\tvertical-align: bottom;\n\t}\n\tmilkdown-image-inline > .empty-image-inline {\n\t\tdisplay: inline-flex;\n\t}\n\tmilkdown-image-inline > .empty-image-inline .confirm {\n\t\tcursor: pointer;\n\t}\n\tmilkdown-image-inline > .empty-image-inline .link-importer {\n\t\tposition: relative;\n\t\tflex: 1;\n\t}\n\tmilkdown-image-inline > .empty-image-inline .link-importer > .link-input-area {\n\t\twidth: 208px;\n\t\tcolor: var(--markdown-color-on-background);\n\t}\n\tmilkdown-image-inline > .empty-image-inline .link-importer .placeholder {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcursor: text;\n\t}\n\tmilkdown-image-inline > .empty-image-inline .link-importer .placeholder .uploader {\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t}\n\tmilkdown-image-inline .hidden {\n\t\tdisplay: none !important;\n\t}\n\tmilkdown-image-inline.empty.selected {\n\t\tbackground: none;\n\t\toutline: none;\n\t}\n\tmilkdown-image-inline.empty.selected .empty-image-inline {\n\t\tbox-shadow: var(--markdown-shadow-1);\n\t}\n\tmilkdown-image-inline.selected {\n\t\tbackground: none;\n\t\toutline: 1px solid var(--og-accent-color);\n\t}\n\tmilkdown-image-inline.selected :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\tmilkdown-image-inline img.image-inline {\n\t\tvertical-align: text-bottom;\n\t}\n\tmilkdown-image-inline .empty-image-inline {\n\t\talign-items: center;\n\t\tpadding: 4px 10px;\n\t\tgap: 10px;\n\t\tbackground: var(--markdown-color-surface);\n\t\tfont-family: var(--markdown-font-default);\n\t\tborder-radius: 8px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .image-icon {\n\t\tpadding: 3px;\n\t\twidth: 24px;\n\t\theight: 24px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .image-icon svg {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tfill: var(--markdown-color-outline);\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer {\n\t\theight: 24px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .placeholder {\n\t\tcolor: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .link-input-area {\n\t\tline-height: 24px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader {\n\t\tgap: 8px;\n\t\tcolor: var(--og-accent-color);\n\t\tjustify-content: center;\n\t\ttransition: color 0.2s;\n\t\tfont-family: var(--markdown-font-default);\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer.focus .placeholder .uploader {\n\t\tcolor: unset;\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader:hover {\n\t\tcolor: var(--og-accent-color);\n\t}\n\tmilkdown-image-inline .empty-image-inline .link-importer .placeholder .text {\n\t\tmargin-left: 8px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .confirm {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tpadding: 3px;\n\t\tborder-radius: 8px;\n\t\tcolor: var(--og-accent-color);\n\t}\n\tmilkdown-image-inline .empty-image-inline .confirm svg {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t}\n\tmilkdown-image-inline .empty-image-inline .confirm:hover {\n\t\tbackground: var(--markdown-color-hover);\n\t}\n\n\tmilkdown-image-block {\n\t\toutline: none;\n\t\tmargin: 4px 0;\n\t\tdisplay: block;\n\t}\n\tmilkdown-image-block > .image-wrapper {\n\t\tposition: relative;\n\t\twidth: fit-content;\n\t\tmargin: 0 auto;\n\t\tmin-width: 100px;\n\t}\n\n\tmilkdown-image-block > .image-wrapper .operation {\n\t\tposition: absolute;\n\t\tdisplay: flex;\n\t}\n\tmilkdown-image-block > .image-wrapper .operation > .operation-item {\n\t\tcursor: pointer;\n\t}\n\tmilkdown-image-block > .image-wrapper img {\n\t\tmax-width: 100%;\n\t\tmin-height: 100px;\n\t\tdisplay: block;\n\t\tobject-fit: cover;\n\t}\n\tmilkdown-image-block > .image-wrapper > .image-resize-handle {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t}\n\tmilkdown-image-block > .image-wrapper > .image-resize-handle:hover {\n\t\tcursor: row-resize;\n\t}\n\tmilkdown-image-block input {\n\t\tbackground: transparent;\n\t\toutline: none;\n\t\tborder: 0;\n\t}\n\tmilkdown-image-block > .caption-input {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tcolor: var(--markdown-color-on-background);\n\t}\n\tmilkdown-image-block > .image-edit {\n\t\tdisplay: flex;\n\t}\n\tmilkdown-image-block > .image-edit .confirm {\n\t\tcursor: pointer;\n\t}\n\tmilkdown-image-block > .image-edit .link-importer {\n\t\tposition: relative;\n\t\tflex: 1;\n\t}\n\tmilkdown-image-block > .image-edit .link-importer > .link-input-area {\n\t\twidth: 100%;\n\t}\n\tmilkdown-image-block > .image-edit .link-importer .placeholder {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcursor: text;\n\t}\n\tmilkdown-image-block > .image-edit .link-importer .placeholder .uploader {\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t}\n\tmilkdown-image-block .hidden {\n\t\tdisplay: none !important;\n\t}\n\tmilkdown-image-block.selected > .image-edit:not(:has(input:focus)) {\n\t\tposition: relative;\n\t}\n\tmilkdown-image-block.selected > .image-edit:not(:has(input:focus))::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tbackground: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);\n\t\tpointer-events: none;\n\t}\n\tmilkdown-image-block.selected > .image-wrapper {\n\t\tposition: relative;\n\t}\n\tmilkdown-image-block.selected > .image-wrapper::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tbackground: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);\n\t}\n\tmilkdown-image-block.selected :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\tmilkdown-image-block .image-wrapper {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\tmilkdown-image-block .image-wrapper .operation {\n\t\tgap: 12px;\n\t\tright: 12px;\n\t\ttop: 12px;\n\t\topacity: 0;\n\t\ttransition: all 0.2s;\n\t}\n\tmilkdown-image-block:hover > .image-wrapper .operation {\n\t\topacity: 1;\n\t}\n\tmilkdown-image-block .image-wrapper .operation > .operation-item {\n\t\tcolor: var(--og-text-color);\n\t\tbackground: var(--og-accent-color);\n\t\topacity: 0.6;\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\tmilkdown-image-block .image-wrapper .image-resize-handle {\n\t\theight: 4px;\n\t\tbottom: -2px;\n\t\tmax-width: 160px;\n\t\twidth: 100%;\n\t\tbackground: var(--markdown-color-outline);\n\t\topacity: 0;\n\t\ttransition: all 0.2s;\n\t\tborder-radius: 4px;\n\t}\n\tmilkdown-image-block:hover > .image-wrapper .image-resize-handle {\n\t\topacity: 1;\n\t}\n\tmilkdown-image-block .caption-input {\n\t\tmargin: 4px auto;\n\t\tfont-family: var(--markdown-font-default);\n\t}\n\tmilkdown-image-block .image-edit {\n\t\talign-items: center;\n\t\tpadding: 16px 24px;\n\t\tgap: 16px;\n\t\tbackground: var(--markdown-color-surface);\n\t\theight: 56px;\n\t}\n\tmilkdown-image-block .image-edit .image-icon {\n\t\tcolor: var(--markdown-color-outline);\n\t}\n\tmilkdown-image-block .image-edit .image-icon svg {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tfill: var(--markdown-color-outline);\n\t}\n\tmilkdown-image-block .image-edit .link-importer .placeholder {\n\t\tcolor: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);\n\t}\n\tmilkdown-image-block .image-edit .link-importer .placeholder :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\tmilkdown-image-block .image-edit .link-importer .link-input-area {\n\t\tline-height: 24px;\n\t\tcolor: var(--markdown-color-on-background);\n\t}\n\n\tmilkdown-image-block .image-edit .link-importer .placeholder .uploader {\n\t\tgap: 8px;\n\t\tcolor: var(--og-accent-color);\n\t\tjustify-content: center;\n\t\ttransition: color 0.2s;\n\t\tfont-weight: 600;\n\t\t}\n\n\tmilkdown-image-block .image-edit .link-importer.focus .placeholder .uploader {\n\t\tcolor: unset;\n\t}\n\n\tmilkdown-image-block.image-edit .link-importer .placeholder .uploader:hover {\n\t\tcolor: var(--og-accent-color);\n\t}\n\n\tmilkdown-image-block .image-edit .link-importer .placeholder .text {\n\t\tmargin-left: 8px;\n\t}\n\n\tmilkdown-image-block .image-edit .confirm {\n\t\tbackground: var(--markdown-color-secondary);\n\t\tcolor: var(--markdown-color-on-secondary);\n\t\tline-height: 40px;\n\t\tpadding: 0 24px;\n\t\tborder-radius: 100px;\n\t\tfont-size: 14px;\n\t\tfont-weight: 600;\t\n\t}\n\n\tmilkdown-image-block .image-edit .confirm:hover {\n\t\tbackground: linear-gradient(\n\t\t\t0deg,\n\t\t\trgba(29, 25, 43, 0.08) 0%,\n\t\t\trgba(29, 25, 43, 0.08) 100%\n\t\t),\n\t\tvar(--markdown-color-secondary);\n\t}\n`;\n"]}
|
|
1
|
+
{"version":3,"file":"image-block.js","sourceRoot":"","sources":["../../../src/components/styles/image-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0YvB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nexport const style = css`\n\t/* inline image */\n\n\t.milkdown .milkdown-image-inline {\n\t\toutline: none;\n\t\tdisplay: inline-flex;\n\t\tvertical-align: text-bottom;\n\t}\n\n\t.milkdown .milkdown-image-inline input {\n\t\tbackground: transparent;\n\t\toutline: none;\n\t\tborder: 0;\n\t\tcaret-color: var(--markdown-color-outline);\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline {\n\t\tdisplay: inline-flex;\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline .confirm {\n\t\tcursor: pointer;\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline .link-importer {\n\t\tposition: relative;\n\t\tflex: 1;\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline .link-importer > .link-input-area {\n\t\twidth: 208px;\n\t\tcolor: var(--markdown-color-on-background);\n\t\tdisplay: flex;\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline .link-importer .placeholder {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcursor: text;\n\t}\n\n\t.milkdown .milkdown-image-inline > .empty-image-inline .link-importer .placeholder .uploader {\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t}\n\n\t.milkdown .milkdown-image-inline .hidden {\n\t\tdisplay: none !important;\n\t}\n\n\t.milkdown .milkdown-image-inline.empty.selected {\n\t\tbackground: none;\n\t\toutline: none;\n\t}\n\n\t.milkdown .milkdown-image-inline.empty.selected .empty-image-inline {\n\t\tbox-shadow: var(--markdown-shadow-1);\n\t}\n\n\t.milkdown .milkdown-image-inline.selected {\n\t\tbackground: none;\n\t\toutline: 1px solid var(--markdown-color-primary);\n\t}\n\n\t.milkdown .milkdown-image-inline.selected :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline {\n\t\talign-items: center;\n\t\tpadding: 4px 10px;\n\t\tgap: 10px;\n\t\tbackground: var(--markdown-color-surface);\n\t\tfont-family: var(--markdown-font-default);\n\t\tborder-radius: 8px;\n\t\tfont-size: 16px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .image-icon {\n\t\tpadding: 3px;\n\t\twidth: 24px;\n\t\theight: 24px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .image-icon svg {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tfill: var(--markdown-color-outline);\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer {\n\t\theight: 24px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder {\n\t\tcolor: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .link-input-area {\n\t\tline-height: 24px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader {\n\t\tgap: 8px;\n\t\tcolor: var(--og-accent-color);\n\t\tjustify-content: center;\n\t\ttransition: color 0.2s;\n\t\tfont-family: var(--markdown-font-default);\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer.focus .placeholder .uploader {\n\t\tcolor: unset;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader:hover {\n\t\tcolor: var(--og-accent-color);\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .text {\n\t\tmargin-left: 8px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .confirm {\n\t\tdisplay: flex;\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tpadding: 3px;\n\t\tborder-radius: 8px;\n\t\tcolor: var(--og-accent-color);\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .confirm svg {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t}\n\n\t.milkdown .milkdown-image-inline .empty-image-inline .confirm:hover {\n\t\tbackground: var(--markdown-color-hover);\n\t}\n\n\t/* image block */\n\n\t.milkdown .milkdown-image-block {\n\t\toutline: none;\n\t\tmargin: 4px 0;\n\t\tdisplay: block;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper {\n\t\tposition: relative;\n\t\twidth: fit-content;\n\t\tmargin: 0 auto;\n\t\tmin-width: 100px;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper .operation {\n\t\tposition: absolute;\n\t\tdisplay: flex;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper .operation > .operation-item {\n\t\tcursor: pointer;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper img {\n\t\tmax-width: 100%;\n\t\tmin-height: 100px;\n\t\tdisplay: block;\n\t\tobject-fit: cover;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper > .image-resize-handle {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t}\n\n\t.milkdown .milkdown-image-block > .image-wrapper > .image-resize-handle:hover {\n\t\tcursor: row-resize;\n\t}\n\n\t.milkdown .milkdown-image-block input {\n\t\tbackground: transparent;\n\t\toutline: none;\n\t\tborder: 0;\n\t\tcaret-color: var(--markdown-color-outline);\n\t}\n\n\t.milkdown .milkdown-image-block > .caption-input {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tcolor: var(--markdown-color-on-background);\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit {\n\t\tdisplay: flex;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit .confirm {\n\t\tcursor: pointer;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit .link-importer {\n\t\tposition: relative;\n\t\tflex: 1;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit .link-importer > .link-input-area {\n\t\twidth: 100%;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit .link-importer .placeholder {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcursor: text;\n\t}\n\n\t.milkdown .milkdown-image-block > .image-edit .link-importer .placeholder .uploader {\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t}\n\n\t.milkdown .milkdown-image-block .hidden {\n\t\tdisplay: none !important;\n\t}\n\n\t.milkdown .milkdown-image-block.selected > .image-edit:not(:has(input:focus)) {\n\t\tposition: relative;\n\t}\n\n\t.milkdown .milkdown-image-block.selected > .image-edit:not(:has(input:focus))::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tbackground: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);\n\t\tpointer-events: none;\n\t}\n\n\t.milkdown .milkdown-image-block.selected > .image-wrapper {\n\t\tposition: relative;\n\t}\n\n\t.milkdown .milkdown-image-block.selected > .image-wrapper::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tbackground: color-mix(in srgb, var(--markdown-color-selected), transparent 60%);\n\t}\n\n\t.milkdown .milkdown-image-block.selected :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\n\t.milkdown .milkdown-image-block .image-wrapper {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t.milkdown .milkdown-image-block .image-wrapper .operation {\n\t\tgap: 12px;\n\t\tright: 12px;\n\t\ttop: 12px;\n\t\topacity: 0;\n\t\ttransition: all 0.2s;\n\t}\n\n\t.milkdown .milkdown-image-block:hover > .image-wrapper .operation {\n\t\topacity: 1;\n\t}\n\n\t.milkdown .milkdown-image-block .image-wrapper .operation > .operation-item {\n\t\tcolor: var(--og-text-color);\n\t\tpadding: 4px;\n\t\tbackground: var(--og-accent-color);\n\t\topacity: 0.6;\n\t\tborder-radius: 50%;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t}\n\n\t.milkdown .milkdown-image-block .image-wrapper .operation > .operation-item svg {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t}\n\n\t.milkdown .milkdown-image-block .image-wrapper .image-resize-handle {\n\t\theight: 4px;\n\t\tbottom: -2px;\n\t\tmax-width: 160px;\n\t\twidth: 100%;\n\t\tbackground: var(--markdown-color-outline);\n\t\topacity: 0;\n\t\ttransition: all 0.2s;\n\t\tborder-radius: 4px;\n\t}\n\n\t.milkdown .milkdown-image-block:hover > .image-wrapper .image-resize-handle {\n\t\topacity: 1;\n\t}\n\n\t.milkdown .milkdown-image-block .caption-input {\n\t\tmargin: 4px auto;\n\t\tfont-family: var(--markdown-font-default);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit {\n\t\talign-items: center;\n\t\tpadding: 16px 24px;\n\t\tgap: 16px;\n\t\tbackground: var(--markdown-color-surface);\n\t\theight: 56px;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .image-icon {\n\t\tcolor: var(--markdown-color-outline);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .image-icon svg {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tfill: var(--markdown-color-outline);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .placeholder {\n\t\tcolor: color-mix(in srgb, var(--markdown-color-on-background), transparent 60%);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::selection {\n\t\tbackground: transparent;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .link-input-area {\n\t\tline-height: 24px;\n\t\tcolor: var(--markdown-color-on-background);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader {\n\t\tgap: 8px;\n\t\tcolor: var(--og-accent-color);\n\t\tjustify-content: center;\n\t\ttransition: color 0.2s;\n\t\tfont-weight: 600;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer.focus .placeholder .uploader {\n\t\tcolor: unset;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader:hover {\n\t\tcolor: var(--og-text-color);\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .text {\n\t\tmargin-left: 8px;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .confirm {\n\t\tbackground: var(--markdown-color-secondary);\n\t\tcolor: var(--markdown-color-on-secondary);\n\t\tline-height: 40px;\n\t\tpadding: 0 24px;\n\t\tborder-radius: 100px;\n\t\tfont-size: 14px;\n\t\tfont-weight: 600;\n\t}\n\n\t.milkdown .milkdown-image-block .image-edit .confirm:hover {\n\t\tbackground:\n\t\t\tlinear-gradient(0deg, rgba(29, 25, 43, 0.08) 0%, rgba(29, 25, 43, 0.08) 100%),\n\t\t\tvar(--markdown-color-secondary);\n\t}\n`;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/styles/table.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/styles/table.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBA0RjB,CAAC"}
|
|
@@ -49,34 +49,44 @@ import{css}from"lit";export const style=css`
|
|
|
49
49
|
pointer-events: none;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
milkdown-table-block {
|
|
52
|
+
.milkdown-table-block {
|
|
53
53
|
display: block;
|
|
54
54
|
margin: 4px 0;
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
milkdown-table-block
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
|
|
57
|
+
.milkdown .milkdown-table-block table {
|
|
58
|
+
margin: 0 !important;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.milkdown .milkdown-table-block th,
|
|
62
|
+
.milkdown .milkdown-table-block td {
|
|
63
|
+
border: 1px solid color-mix(in srgb, var(--og-border-color-3), transparent 80%);
|
|
64
|
+
padding: 2px 10px;
|
|
60
65
|
}
|
|
61
|
-
|
|
62
|
-
milkdown-table-block
|
|
66
|
+
|
|
67
|
+
.milkdown .milkdown-table-block th .ProseMirror-selectednode,
|
|
68
|
+
.milkdown .milkdown-table-block td .ProseMirror-selectednode {
|
|
63
69
|
background-color: transparent !important;
|
|
64
70
|
}
|
|
65
|
-
|
|
66
|
-
milkdown-table-block
|
|
71
|
+
|
|
72
|
+
.milkdown .milkdown-table-block th:has(.ProseMirror-selectednode),
|
|
73
|
+
.milkdown .milkdown-table-block td:has(.ProseMirror-selectednode) {
|
|
67
74
|
outline: 1px solid var(--markdown-color-primary);
|
|
68
75
|
outline-offset: -1px;
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
milkdown-table-block .selectedCell::after {
|
|
78
|
+
.milkdown .milkdown-table-block .selectedCell::after {
|
|
72
79
|
background-color: var(--markdown-color-selected);
|
|
73
80
|
opacity: 0.4;
|
|
74
81
|
}
|
|
75
|
-
|
|
82
|
+
|
|
83
|
+
.milkdown .milkdown-table-block .selectedCell ::selection {
|
|
76
84
|
background: transparent;
|
|
77
85
|
}
|
|
78
86
|
|
|
79
|
-
|
|
87
|
+
/* drag preview */
|
|
88
|
+
|
|
89
|
+
.milkdown .milkdown-table-block .drag-preview {
|
|
80
90
|
background-color: var(--markdown-color-surface);
|
|
81
91
|
opacity: 0.4;
|
|
82
92
|
position: absolute;
|
|
@@ -86,28 +96,35 @@ import{css}from"lit";export const style=css`
|
|
|
86
96
|
outline: 1px solid var(--markdown-color-primary);
|
|
87
97
|
outline-offset: -1px;
|
|
88
98
|
}
|
|
89
|
-
|
|
99
|
+
|
|
100
|
+
.milkdown .milkdown-table-block .drag-preview[data-show='false'] {
|
|
90
101
|
display: none;
|
|
91
102
|
}
|
|
92
|
-
|
|
93
|
-
milkdown-table-block .drag-preview
|
|
103
|
+
|
|
104
|
+
.milkdown .milkdown-table-block .drag-preview th:has(.ProseMirror-selectednode),
|
|
105
|
+
.milkdown .milkdown-table-block .drag-preview td:has(.ProseMirror-selectednode) {
|
|
94
106
|
outline: none;
|
|
95
107
|
}
|
|
96
108
|
|
|
97
|
-
|
|
109
|
+
/* handle */
|
|
110
|
+
|
|
111
|
+
.milkdown .milkdown-table-block .handle {
|
|
98
112
|
position: absolute;
|
|
99
|
-
font-size:
|
|
113
|
+
font-size: 14px;
|
|
100
114
|
transition: opacity ease-in-out 0.2s;
|
|
101
115
|
}
|
|
102
|
-
|
|
116
|
+
|
|
117
|
+
.milkdown .milkdown-table-block .handle[data-show='false'] {
|
|
103
118
|
opacity: 0;
|
|
104
119
|
}
|
|
105
120
|
|
|
106
|
-
milkdown-table-block svg {
|
|
121
|
+
.milkdown .milkdown-table-block svg {
|
|
107
122
|
fill: var(--markdown-color-outline);
|
|
108
123
|
}
|
|
109
124
|
|
|
110
|
-
|
|
125
|
+
/* cell handle */
|
|
126
|
+
|
|
127
|
+
.milkdown .milkdown-table-block .cell-handle {
|
|
111
128
|
z-index: 50;
|
|
112
129
|
left: -999px;
|
|
113
130
|
top: -999px;
|
|
@@ -115,38 +132,48 @@ import{css}from"lit";export const style=css`
|
|
|
115
132
|
background-color: var(--og-accent-color);
|
|
116
133
|
color: var(--og-text-color-2);
|
|
117
134
|
border-radius: 100px;
|
|
135
|
+
box-shadow: var(--markdown-shadow-1);
|
|
118
136
|
transition: background-color 0.2s ease-in-out;
|
|
119
137
|
}
|
|
120
|
-
|
|
138
|
+
|
|
139
|
+
.milkdown .milkdown-table-block .cell-handle:hover {
|
|
121
140
|
background-color: var(--og-accent-color-highlight);
|
|
141
|
+
opacity: 1;
|
|
122
142
|
}
|
|
123
|
-
|
|
143
|
+
|
|
144
|
+
.milkdown .milkdown-table-block .cell-handle:has(.button-group:hover) {
|
|
124
145
|
background-color: var(--og-accent-color-highlight);
|
|
125
146
|
}
|
|
126
|
-
|
|
147
|
+
|
|
148
|
+
.milkdown .milkdown-table-block .cell-handle[data-role='col-drag-handle'] {
|
|
127
149
|
transform: translateY(50%);
|
|
128
150
|
padding: 0 6px;
|
|
129
151
|
width: 28px;
|
|
130
152
|
height: 16px;
|
|
131
153
|
}
|
|
132
|
-
|
|
154
|
+
|
|
155
|
+
.milkdown .milkdown-table-block .cell-handle[data-role='row-drag-handle'] {
|
|
133
156
|
transform: translateX(50%);
|
|
134
157
|
padding: 6px 0;
|
|
135
158
|
width: 16px;
|
|
136
159
|
height: 28px;
|
|
137
160
|
}
|
|
138
|
-
|
|
161
|
+
|
|
162
|
+
/* button group */
|
|
163
|
+
|
|
164
|
+
.milkdown .milkdown-table-block .cell-handle .button-group {
|
|
139
165
|
position: absolute;
|
|
140
166
|
transform: translateX(-50%);
|
|
141
167
|
left: 50%;
|
|
142
|
-
top: -
|
|
168
|
+
top: -10px;
|
|
143
169
|
display: flex;
|
|
144
|
-
gap: 2px;
|
|
145
170
|
background-color: var(--og-background-color);
|
|
146
171
|
border: 1px solid var(--og-accent-color);
|
|
147
|
-
|
|
172
|
+
border-radius: var(--og-base-radius);
|
|
173
|
+
box-shadow: var(--markdown-shadow-1);
|
|
148
174
|
}
|
|
149
|
-
|
|
175
|
+
|
|
176
|
+
.milkdown .milkdown-table-block .cell-handle .button-group::after {
|
|
150
177
|
content: '';
|
|
151
178
|
position: absolute;
|
|
152
179
|
bottom: -8px;
|
|
@@ -154,80 +181,103 @@ import{css}from"lit";export const style=css`
|
|
|
154
181
|
background-color: transparent;
|
|
155
182
|
width: 100%;
|
|
156
183
|
}
|
|
157
|
-
|
|
184
|
+
|
|
185
|
+
.milkdown .milkdown-table-block .cell-handle .button-group[data-show='false'] {
|
|
158
186
|
display: none;
|
|
159
187
|
}
|
|
160
|
-
|
|
188
|
+
|
|
189
|
+
.milkdown .milkdown-table-block .cell-handle .button-group button {
|
|
161
190
|
background-color: var(--og-accent-color);
|
|
162
191
|
color: var(--og-text-color-2);
|
|
163
192
|
cursor: pointer;
|
|
164
|
-
|
|
165
|
-
|
|
193
|
+
margin: 6px;
|
|
194
|
+
padding: 4px;
|
|
166
195
|
display: flex;
|
|
167
196
|
justify-content: center;
|
|
168
197
|
align-items: center;
|
|
198
|
+
border-radius: 4px;
|
|
169
199
|
}
|
|
170
|
-
|
|
200
|
+
|
|
201
|
+
.milkdown .milkdown-table-block .cell-handle .button-group button svg {
|
|
202
|
+
width: 24px;
|
|
203
|
+
height: 24px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.milkdown .milkdown-table-block .cell-handle .button-group button:hover {
|
|
207
|
+
border-radius: var(--og-base-radius);
|
|
171
208
|
background-color: var(--og-accent-color-highlight);
|
|
172
209
|
}
|
|
173
|
-
|
|
210
|
+
|
|
211
|
+
.milkdown .milkdown-table-block .cell-handle .button-group button:active {
|
|
174
212
|
background: var(--markdown-color-selected);
|
|
175
213
|
}
|
|
176
|
-
milkdown-table-block .cell-handle:hover {
|
|
177
|
-
opacity: 1;
|
|
178
|
-
}
|
|
179
214
|
|
|
180
|
-
|
|
215
|
+
/* line handle */
|
|
216
|
+
|
|
217
|
+
.milkdown .milkdown-table-block .line-handle {
|
|
181
218
|
z-index: 20;
|
|
182
219
|
background-color: var(--markdown-color-primary);
|
|
183
220
|
}
|
|
184
|
-
|
|
221
|
+
|
|
222
|
+
.milkdown .milkdown-table-block .line-handle:hover {
|
|
185
223
|
opacity: 1;
|
|
186
224
|
}
|
|
187
|
-
|
|
225
|
+
|
|
226
|
+
.milkdown .milkdown-table-block .line-handle .add-button {
|
|
188
227
|
cursor: pointer;
|
|
189
228
|
background-color: var(--og-accent-color);
|
|
190
229
|
color: var(--og-text-color-2);
|
|
191
230
|
border-radius: 100px;
|
|
231
|
+
box-shadow: var(--markdown-shadow-1);
|
|
192
232
|
transition: background-color 0.2s ease-in-out;
|
|
193
233
|
}
|
|
194
|
-
|
|
234
|
+
|
|
235
|
+
.milkdown .milkdown-table-block .line-handle .add-button svg {
|
|
195
236
|
width: 16px;
|
|
196
237
|
height: 16px;
|
|
197
238
|
}
|
|
198
|
-
|
|
239
|
+
|
|
240
|
+
.milkdown .milkdown-table-block .line-handle .add-button:hover {
|
|
199
241
|
background-color: var(--og-accent-color-highlight);
|
|
200
242
|
}
|
|
201
|
-
|
|
243
|
+
|
|
244
|
+
.milkdown .milkdown-table-block .line-handle .add-button:active {
|
|
202
245
|
background: var(--markdown-color-selected);
|
|
203
246
|
}
|
|
204
|
-
|
|
247
|
+
|
|
248
|
+
.milkdown .milkdown-table-block .line-handle[data-role='x-line-drag-handle'] {
|
|
205
249
|
height: 1px;
|
|
206
250
|
z-index: 2;
|
|
207
251
|
}
|
|
208
|
-
|
|
252
|
+
|
|
253
|
+
.milkdown .milkdown-table-block .line-handle[data-role='x-line-drag-handle'] .add-button {
|
|
209
254
|
position: absolute;
|
|
210
255
|
transform: translateX(-50%) translateY(-50%);
|
|
211
256
|
padding: 6px 0;
|
|
212
257
|
width: 16px;
|
|
213
258
|
height: 28px;
|
|
214
259
|
}
|
|
215
|
-
|
|
260
|
+
|
|
261
|
+
.milkdown .milkdown-table-block .line-handle[data-role='y-line-drag-handle'] {
|
|
216
262
|
width: 1px;
|
|
217
263
|
z-index: 1;
|
|
218
264
|
}
|
|
219
|
-
|
|
265
|
+
|
|
266
|
+
.milkdown .milkdown-table-block .line-handle[data-role='y-line-drag-handle'] .add-button {
|
|
220
267
|
position: absolute;
|
|
221
268
|
transform: translateY(-50%) translateX(-50%);
|
|
222
269
|
padding: 0 6px;
|
|
223
270
|
width: 28px;
|
|
224
271
|
height: 16px;
|
|
225
272
|
}
|
|
226
|
-
|
|
273
|
+
|
|
274
|
+
.milkdown .milkdown-table-block .line-handle[data-display-type='indicator'] .add-button {
|
|
227
275
|
display: none;
|
|
228
276
|
}
|
|
229
277
|
|
|
230
|
-
|
|
278
|
+
/* readonly */
|
|
279
|
+
|
|
280
|
+
.milkdown .milkdown-table-block.readonly .handle {
|
|
231
281
|
display: none;
|
|
232
282
|
}
|
|
233
283
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/components/styles/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/components/styles/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0RvB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nexport const style = css`\n\t.ProseMirror .tableWrapper {\n\t\toverflow-x: auto;\n\t}\n\t.ProseMirror table {\n\t\tborder-collapse: collapse;\n\t\ttable-layout: fixed;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t}\n\t.ProseMirror td, .ProseMirror th {\n\t\tvertical-align: top;\n\t\tbox-sizing: border-box;\n\t\tposition: relative;\n\t}\n\t\t\n\t.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),\n\t.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging) {\n\t\t/* if there's no explicit width set and the column is not being resized, set a default width */\n\t\tmin-width: var(--default-cell-min-width);\n\t}\n\t\t\n\t.ProseMirror .column-resize-handle {\n\t\tposition: absolute;\n\t\tright: -2px;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\twidth: 4px;\n\t\tz-index: 20;\n\t\tbackground-color: #adf;\n\t\tpointer-events: none;\n\t}\n\n\t.ProseMirror.resize-cursor {\n\t\tcursor: ew-resize;\n\t\tcursor: col-resize;\n\t}\n\n\t/* Give selected cells a blue overlay */\n\t.ProseMirror .selectedCell:after {\n\t\tz-index: 2;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tbackground: rgba(200, 200, 255, 0.4);\n\t\tpointer-events: none;\n\t}\n\n\t.milkdown-table-block {\n\t\tdisplay: block;\n\t\tmargin: 4px 0;\n\t}\n\n\t.milkdown .milkdown-table-block table {\n\t\tmargin: 0 !important;\n\t}\n\n\t.milkdown .milkdown-table-block th,\n\t.milkdown .milkdown-table-block td {\n\t\tborder: 1px solid color-mix(in srgb, var(--og-border-color-3), transparent 80%);\n\t\tpadding: 2px 10px;\n\t}\n\n\t.milkdown .milkdown-table-block th .ProseMirror-selectednode,\n\t.milkdown .milkdown-table-block td .ProseMirror-selectednode {\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.milkdown .milkdown-table-block th:has(.ProseMirror-selectednode),\n\t.milkdown .milkdown-table-block td:has(.ProseMirror-selectednode) {\n\t\toutline: 1px solid var(--markdown-color-primary);\n\t\toutline-offset: -1px;\n\t}\n\n\t.milkdown .milkdown-table-block .selectedCell::after {\n\t\tbackground-color: var(--markdown-color-selected);\n\t\topacity: 0.4;\n\t}\n\n\t.milkdown .milkdown-table-block .selectedCell ::selection {\n\t\tbackground: transparent;\n\t}\n\n\t/* drag preview */\n\n\t.milkdown .milkdown-table-block .drag-preview {\n\t\tbackground-color: var(--markdown-color-surface);\n\t\topacity: 0.4;\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\toutline: 1px solid var(--markdown-color-primary);\n\t\toutline-offset: -1px;\n\t}\n\n\t.milkdown .milkdown-table-block .drag-preview[data-show='false'] {\n\t\tdisplay: none;\n\t}\n\n\t.milkdown .milkdown-table-block .drag-preview th:has(.ProseMirror-selectednode),\n\t.milkdown .milkdown-table-block .drag-preview td:has(.ProseMirror-selectednode) {\n\t\toutline: none;\n\t}\n\n\t/* handle */\n\n\t.milkdown .milkdown-table-block .handle {\n\t\tposition: absolute;\n\t\tfont-size: 14px;\n\t\ttransition: opacity ease-in-out 0.2s;\n\t}\n\n\t.milkdown .milkdown-table-block .handle[data-show='false'] {\n\t\topacity: 0;\n\t}\n\n\t.milkdown .milkdown-table-block svg {\n\t\tfill: var(--markdown-color-outline);\n\t}\n\n\t/* cell handle */\n\n\t.milkdown .milkdown-table-block .cell-handle {\n\t\tz-index: 50;\n\t\tleft: -999px;\n\t\ttop: -999px;\n\t\tcursor: grab;\n\t\tbackground-color: var(--og-accent-color);\n\t\tcolor: var(--og-text-color-2);\n\t\tborder-radius: 100px;\n\t\tbox-shadow: var(--markdown-shadow-1);\n\t\ttransition: background-color 0.2s ease-in-out;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle:hover {\n\t\tbackground-color: var(--og-accent-color-highlight);\n\t\topacity: 1;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle:has(.button-group:hover) {\n\t\tbackground-color: var(--og-accent-color-highlight);\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle[data-role='col-drag-handle'] {\n\t\ttransform: translateY(50%);\n\t\tpadding: 0 6px;\n\t\twidth: 28px;\n\t\theight: 16px;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle[data-role='row-drag-handle'] {\n\t\ttransform: translateX(50%);\n\t\tpadding: 6px 0;\n\t\twidth: 16px;\n\t\theight: 28px;\n\t}\n\n\t/* button group */\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group {\n\t\tposition: absolute;\n\t\ttransform: translateX(-50%);\n\t\tleft: 50%;\n\t\ttop: -10px;\n\t\tdisplay: flex;\n\t\tbackground-color: var(--og-background-color);\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tborder-radius: var(--og-base-radius);\n\t\tbox-shadow: var(--markdown-shadow-1);\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: -8px;\n\t\theight: 8px;\n\t\tbackground-color: transparent;\n\t\twidth: 100%;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group[data-show='false'] {\n\t\tdisplay: none;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group button {\n\t\tbackground-color: var(--og-accent-color);\n\t\tcolor: var(--og-text-color-2);\n\t\tcursor: pointer;\n\t\tmargin: 6px;\n\t\tpadding: 4px;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tborder-radius: 4px;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group button svg {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group button:hover {\n\t\tborder-radius: var(--og-base-radius);\n\t\tbackground-color: var(--og-accent-color-highlight);\n\t}\n\n\t.milkdown .milkdown-table-block .cell-handle .button-group button:active {\n\t\tbackground: var(--markdown-color-selected);\n\t}\n\n\t/* line handle */\n\n\t.milkdown .milkdown-table-block .line-handle {\n\t\tz-index: 20;\n\t\tbackground-color: var(--markdown-color-primary);\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle:hover {\n\t\topacity: 1;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle .add-button {\n\t\tcursor: pointer;\n\t\tbackground-color: var(--og-accent-color);\n\t\tcolor: var(--og-text-color-2);\n\t\tborder-radius: 100px;\n\t\tbox-shadow: var(--markdown-shadow-1);\n\t\ttransition: background-color 0.2s ease-in-out;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle .add-button svg {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle .add-button:hover {\n\t\tbackground-color: var(--og-accent-color-highlight);\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle .add-button:active {\n\t\tbackground: var(--markdown-color-selected);\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle[data-role='x-line-drag-handle'] {\n\t\theight: 1px;\n\t\tz-index: 2;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle[data-role='x-line-drag-handle'] .add-button {\n\t\tposition: absolute;\n\t\ttransform: translateX(-50%) translateY(-50%);\n\t\tpadding: 6px 0;\n\t\twidth: 16px;\n\t\theight: 28px;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle[data-role='y-line-drag-handle'] {\n\t\twidth: 1px;\n\t\tz-index: 1;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle[data-role='y-line-drag-handle'] .add-button {\n\t\tposition: absolute;\n\t\ttransform: translateY(-50%) translateX(-50%);\n\t\tpadding: 0 6px;\n\t\twidth: 28px;\n\t\theight: 16px;\n\t}\n\n\t.milkdown .milkdown-table-block .line-handle[data-display-type='indicator'] .add-button {\n\t\tdisplay: none;\n\t}\n\n\t/* readonly */\n\n\t.milkdown .milkdown-table-block.readonly .handle {\n\t\tdisplay: none;\n\t}\n`;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/markdown",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.55",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Markdown view webcomponent",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@fortawesome/fontawesome-svg-core": "^7.0.1",
|
|
31
|
-
"@omegagrid/code": "^0.9.
|
|
32
|
-
"@omegagrid/core": "^0.9.
|
|
33
|
-
"@omegagrid/localize": "^0.9.
|
|
34
|
-
"@omegagrid/milkdown-kit": "^0.9.
|
|
35
|
-
"@omegagrid/tabs": "^0.9.
|
|
31
|
+
"@omegagrid/code": "^0.9.55",
|
|
32
|
+
"@omegagrid/core": "^0.9.55",
|
|
33
|
+
"@omegagrid/localize": "^0.9.55",
|
|
34
|
+
"@omegagrid/milkdown-kit": "^0.9.55",
|
|
35
|
+
"@omegagrid/tabs": "^0.9.55",
|
|
36
36
|
"lit": "^3.1.1",
|
|
37
37
|
"markdown-it": "^14.1.0",
|
|
38
38
|
"ts-debounce": "^4.0.0"
|