@milkdown/crepe 7.5.0 → 7.5.1
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/lib/cjs/{index--tnUmqZ_.js → index--2zEz40J.js} +8 -23
- package/lib/cjs/{index--tnUmqZ_.js.map → index--2zEz40J.js.map} +1 -1
- package/lib/cjs/{index-92bwto5V.js → index-5n9R-QCl.js} +5 -20
- package/lib/cjs/{index-92bwto5V.js.map → index-5n9R-QCl.js.map} +1 -1
- package/lib/cjs/{index-HH5lPgpj.js → index-HEdBw63r.js} +8 -23
- package/lib/cjs/{index-HH5lPgpj.js.map → index-HEdBw63r.js.map} +1 -1
- package/lib/cjs/{index-J1-yHn7v.js → index-Hlt9dRH5.js} +5 -20
- package/lib/cjs/{index-J1-yHn7v.js.map → index-Hlt9dRH5.js.map} +1 -1
- package/lib/cjs/{index-cb-5m0vG.js → index-KCW2CzRk.js} +8 -23
- package/lib/cjs/index-KCW2CzRk.js.map +1 -0
- package/lib/cjs/{index-VYwHTL3F.js → index-KSZhahYb.js} +6 -21
- package/lib/cjs/{index-VYwHTL3F.js.map → index-KSZhahYb.js.map} +1 -1
- package/lib/cjs/index-N1cRxqdw.js +39 -0
- package/lib/cjs/index-N1cRxqdw.js.map +1 -0
- package/lib/cjs/{index-c_OzudR7.js → index-NNo_VSEA.js} +5 -20
- package/lib/{esm/index-DS7Z4Ach.js.map → cjs/index-NNo_VSEA.js.map} +1 -1
- package/lib/cjs/{index-Tjg8KyK7.js → index-O1bDbloo.js} +5 -20
- package/lib/{esm/index-eqd5wtjX.js.map → cjs/index-O1bDbloo.js.map} +1 -1
- package/lib/cjs/{index-55VIM-52.js → index-OPh9naof.js} +8 -23
- package/lib/cjs/{index-55VIM-52.js.map → index-OPh9naof.js.map} +1 -1
- package/lib/cjs/{index-E4Ist86Z.js → index-PAhfZtcH.js} +5 -20
- package/lib/cjs/{index-E4Ist86Z.js.map → index-PAhfZtcH.js.map} +1 -1
- package/lib/cjs/{index-vfzLCXfi.js → index-PeRHVz4A.js} +5 -20
- package/lib/{esm/index-3bDzhU6z.js.map → cjs/index-PeRHVz4A.js.map} +1 -1
- package/lib/cjs/{index-Jztk6JlP.js → index-U7GWrg-w.js} +9 -456
- package/lib/cjs/index-U7GWrg-w.js.map +1 -0
- package/lib/cjs/{index-zXSAHvAj.js → index-UTb0Az5e.js} +2 -2
- package/lib/cjs/{index-zXSAHvAj.js.map → index-UTb0Az5e.js.map} +1 -1
- package/lib/cjs/{index-lBumFRUQ.js → index-UnEAyH8X.js} +5 -20
- package/lib/cjs/{index-lBumFRUQ.js.map → index-UnEAyH8X.js.map} +1 -1
- package/lib/cjs/{index-1vHyMXH8.js → index-VCkq0ru1.js} +5 -20
- package/lib/{esm/index-g_3dzLYU.js.map → cjs/index-VCkq0ru1.js.map} +1 -1
- package/lib/cjs/{index-FbNqlZU8.js → index-WQl7Du53.js} +4 -19
- package/lib/cjs/index-WQl7Du53.js.map +1 -0
- package/lib/cjs/{index-nTfDKYYi.js → index-ahL5MvrQ.js} +28 -43
- package/lib/cjs/{index-nTfDKYYi.js.map → index-ahL5MvrQ.js.map} +1 -1
- package/lib/cjs/{index--sa4NMpW.js → index-bpgWLeRY.js} +5 -20
- package/lib/cjs/{index--sa4NMpW.js.map → index-bpgWLeRY.js.map} +1 -1
- package/lib/cjs/index-dEVmN_aj.js +26 -0
- package/lib/cjs/index-dEVmN_aj.js.map +1 -0
- package/lib/cjs/{index-von4W2LG.js → index-fZupvR_f.js} +8 -23
- package/lib/{esm/index-NZ5-xr5_.js.map → cjs/index-fZupvR_f.js.map} +1 -1
- package/lib/cjs/{index-mcxgNBq9.js → index-gSM-jgti.js} +5 -20
- package/lib/cjs/{index-mcxgNBq9.js.map → index-gSM-jgti.js.map} +1 -1
- package/lib/cjs/{index-lUNj3xuC.js → index-jlPr_A_N.js} +5 -20
- package/lib/cjs/{index-lUNj3xuC.js.map → index-jlPr_A_N.js.map} +1 -1
- package/lib/cjs/index-ocxd4A-M.js +675 -0
- package/lib/cjs/index-ocxd4A-M.js.map +1 -0
- package/lib/cjs/{index-J3XY9IPt.js → index-rFFAL9YA.js} +9 -17
- package/lib/cjs/{index-J3XY9IPt.js.map → index-rFFAL9YA.js.map} +1 -1
- package/lib/cjs/index-tlx25I_m.js +36 -0
- package/lib/cjs/index-tlx25I_m.js.map +1 -0
- package/lib/cjs/index-tqAbVyds.js +28 -0
- package/lib/cjs/index-tqAbVyds.js.map +1 -0
- package/lib/cjs/{index-cpC-j5Nt.js → index-udZSknd8.js} +30 -39
- package/lib/cjs/{index-cpC-j5Nt.js.map → index-udZSknd8.js.map} +1 -1
- package/lib/cjs/index-uleaJDBC.js +19 -0
- package/lib/cjs/index-uleaJDBC.js.map +1 -0
- package/lib/cjs/{index-jn036wuh.js → index-urB-WDqA.js} +7 -22
- package/lib/{esm/index-VoX_n1l_.js.map → cjs/index-urB-WDqA.js.map} +1 -1
- package/lib/cjs/{index-jlfsu92T.js → index-xWgWtxUR.js} +6 -21
- package/lib/cjs/{index-jlfsu92T.js.map → index-xWgWtxUR.js.map} +1 -1
- package/lib/cjs/index.js +150 -14
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/{todoList-Ze4FLMlx.js → todoList-YYRQo7wG.js} +1 -12
- package/lib/cjs/todoList-YYRQo7wG.js.map +1 -0
- package/lib/esm/{index-Yuj7sNhQ.js → index-1NetiFdJ.js} +8 -23
- package/lib/esm/{index-Yuj7sNhQ.js.map → index-1NetiFdJ.js.map} +1 -1
- package/lib/esm/{index-6GrVnloh.js → index-2I_xbjAZ.js} +28 -43
- package/lib/esm/{index-6GrVnloh.js.map → index-2I_xbjAZ.js.map} +1 -1
- package/lib/esm/{index-bexsWrgs.js → index-2huXYfuJ.js} +8 -23
- package/lib/esm/{index-bexsWrgs.js.map → index-2huXYfuJ.js.map} +1 -1
- package/lib/esm/{index-zrQXXSXm.js → index-4x6_TVZv.js} +5 -20
- package/lib/esm/{index-zrQXXSXm.js.map → index-4x6_TVZv.js.map} +1 -1
- package/lib/esm/index-6JoGWH2I.js +17 -0
- package/lib/esm/index-6JoGWH2I.js.map +1 -0
- package/lib/esm/{index-OpUb5xP6.js → index-A-dNwMMf.js} +2 -2
- package/lib/esm/{index-OpUb5xP6.js.map → index-A-dNwMMf.js.map} +1 -1
- package/lib/esm/{index-SDPCpsD5.js → index-AV99ipmP.js} +5 -20
- package/lib/esm/{index-SDPCpsD5.js.map → index-AV99ipmP.js.map} +1 -1
- package/lib/esm/{index-MB6wQe1U.js → index-CMGDOz11.js} +5 -13
- package/lib/esm/{index-MB6wQe1U.js.map → index-CMGDOz11.js.map} +1 -1
- package/lib/esm/index-HlPKwzLC.js +34 -0
- package/lib/esm/index-HlPKwzLC.js.map +1 -0
- package/lib/esm/{index-MxgqkRtj.js → index-PC2bahtq.js} +5 -20
- package/lib/esm/{index-MxgqkRtj.js.map → index-PC2bahtq.js.map} +1 -1
- package/lib/esm/{index-eqd5wtjX.js → index-QBYz82jZ.js} +5 -20
- package/lib/{cjs/index-Tjg8KyK7.js.map → esm/index-QBYz82jZ.js.map} +1 -1
- package/lib/esm/{index-VP76m4nW.js → index-W1pAMr_8.js} +6 -21
- package/lib/esm/{index-VP76m4nW.js.map → index-W1pAMr_8.js.map} +1 -1
- package/lib/esm/{index-i79QMXpJ.js → index-Xzdc2jbA.js} +7 -454
- package/lib/esm/index-Xzdc2jbA.js.map +1 -0
- package/lib/esm/{index-_4fWmRbN.js → index-ZAtZWqJQ.js} +5 -20
- package/lib/esm/{index-_4fWmRbN.js.map → index-ZAtZWqJQ.js.map} +1 -1
- package/lib/esm/index-_A9vu1ED.js +673 -0
- package/lib/esm/index-_A9vu1ED.js.map +1 -0
- package/lib/esm/{index-x8SyiPMC.js → index-bnSKBrbD.js} +5 -20
- package/lib/esm/{index-x8SyiPMC.js.map → index-bnSKBrbD.js.map} +1 -1
- package/lib/esm/index-fVrfHXda.js +24 -0
- package/lib/esm/index-fVrfHXda.js.map +1 -0
- package/lib/esm/{index-Vl0W0S3h.js → index-ftnOhuRS.js} +4 -19
- package/lib/esm/index-ftnOhuRS.js.map +1 -0
- package/lib/esm/{index-1l-61HI-.js → index-iQPB0Rdl.js} +6 -21
- package/lib/esm/{index-1l-61HI-.js.map → index-iQPB0Rdl.js.map} +1 -1
- package/lib/esm/{index-grT-Kuf2.js → index-kPj3-TKp.js} +5 -20
- package/lib/esm/{index-grT-Kuf2.js.map → index-kPj3-TKp.js.map} +1 -1
- package/lib/esm/{index-NZ5-xr5_.js → index-kgOR7SZ6.js} +8 -23
- package/lib/{cjs/index-von4W2LG.js.map → esm/index-kgOR7SZ6.js.map} +1 -1
- package/lib/esm/{index-A83StUe6.js → index-lm00PM0y.js} +8 -17
- package/lib/esm/{index-A83StUe6.js.map → index-lm00PM0y.js.map} +1 -1
- package/lib/esm/{index-g_3dzLYU.js → index-m49Bj3q7.js} +5 -20
- package/lib/{cjs/index-1vHyMXH8.js.map → esm/index-m49Bj3q7.js.map} +1 -1
- package/lib/esm/index-ohmbt6Ys.js +37 -0
- package/lib/esm/index-ohmbt6Ys.js.map +1 -0
- package/lib/esm/{index-rvOBAXap.js → index-sWVjGw-3.js} +8 -23
- package/lib/esm/index-sWVjGw-3.js.map +1 -0
- package/lib/esm/{index-DS7Z4Ach.js → index-twh8lL5o.js} +5 -20
- package/lib/{cjs/index-c_OzudR7.js.map → esm/index-twh8lL5o.js.map} +1 -1
- package/lib/esm/{index-3bDzhU6z.js → index-v02MCz4_.js} +5 -20
- package/lib/{cjs/index-vfzLCXfi.js.map → esm/index-v02MCz4_.js.map} +1 -1
- package/lib/esm/index-v3rvbocl.js +26 -0
- package/lib/esm/index-v3rvbocl.js.map +1 -0
- package/lib/esm/{index-XH7OnwZl.js → index-wEXT8mbN.js} +5 -20
- package/lib/esm/{index-XH7OnwZl.js.map → index-wEXT8mbN.js.map} +1 -1
- package/lib/esm/{index-VoX_n1l_.js → index-wFIac5Kw.js} +7 -22
- package/lib/{cjs/index-jn036wuh.js.map → esm/index-wFIac5Kw.js.map} +1 -1
- package/lib/esm/{index-3HeWs5rX.js → index-wg94ewRo.js} +8 -23
- package/lib/esm/{index-3HeWs5rX.js.map → index-wg94ewRo.js.map} +1 -1
- package/lib/esm/index.js +152 -12
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/{todoList-M-PGJKde.js → todoList-9QsDDcmB.js} +2 -12
- package/lib/esm/todoList-9QsDDcmB.js.map +1 -0
- package/package.json +1 -1
- package/lib/cjs/_view-N32ied53.js +0 -27
- package/lib/cjs/_view-N32ied53.js.map +0 -1
- package/lib/cjs/floating-ui.dom-2cjBpir5.js +0 -1134
- package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +0 -1
- package/lib/cjs/helper-1aludV1Z.js +0 -15
- package/lib/cjs/helper-1aludV1Z.js.map +0 -1
- package/lib/cjs/index-28q261C7.js +0 -448
- package/lib/cjs/index-28q261C7.js.map +0 -1
- package/lib/cjs/index-Buu2tD9O.js +0 -534
- package/lib/cjs/index-Buu2tD9O.js.map +0 -1
- package/lib/cjs/index-FbNqlZU8.js.map +0 -1
- package/lib/cjs/index-Jztk6JlP.js.map +0 -1
- package/lib/cjs/index-N6pPZY61.js +0 -191
- package/lib/cjs/index-N6pPZY61.js.map +0 -1
- package/lib/cjs/index-TUJs6KKL.js +0 -472
- package/lib/cjs/index-TUJs6KKL.js.map +0 -1
- package/lib/cjs/index-_GOdKqUK.js +0 -1147
- package/lib/cjs/index-_GOdKqUK.js.map +0 -1
- package/lib/cjs/index-cKQcw-eu.js +0 -386
- package/lib/cjs/index-cKQcw-eu.js.map +0 -1
- package/lib/cjs/index-cb-5m0vG.js.map +0 -1
- package/lib/cjs/index-crv_k6dv.js +0 -1353
- package/lib/cjs/index-crv_k6dv.js.map +0 -1
- package/lib/cjs/index-kqz-P6o6.js +0 -55
- package/lib/cjs/index-kqz-P6o6.js.map +0 -1
- package/lib/cjs/index-tBw4NmwY.js +0 -33852
- package/lib/cjs/index-tBw4NmwY.js.map +0 -1
- package/lib/cjs/schema-RVrwDDcq.js +0 -74
- package/lib/cjs/schema-RVrwDDcq.js.map +0 -1
- package/lib/cjs/todoList-Ze4FLMlx.js.map +0 -1
- package/lib/cjs/tooltip-plugin--lhebztC.js +0 -191
- package/lib/cjs/tooltip-plugin--lhebztC.js.map +0 -1
- package/lib/esm/_view-IlZC8FA6.js +0 -25
- package/lib/esm/_view-IlZC8FA6.js.map +0 -1
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js +0 -1130
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +0 -1
- package/lib/esm/helper-wZAtC67x.js +0 -13
- package/lib/esm/helper-wZAtC67x.js.map +0 -1
- package/lib/esm/index-0-j8Icms.js +0 -384
- package/lib/esm/index-0-j8Icms.js.map +0 -1
- package/lib/esm/index-8QJbxTYk.js +0 -1145
- package/lib/esm/index-8QJbxTYk.js.map +0 -1
- package/lib/esm/index-9w_hdnvb.js +0 -532
- package/lib/esm/index-9w_hdnvb.js.map +0 -1
- package/lib/esm/index-AOoFzBaK.js +0 -53
- package/lib/esm/index-AOoFzBaK.js.map +0 -1
- package/lib/esm/index-LAdX6LsO.js +0 -33805
- package/lib/esm/index-LAdX6LsO.js.map +0 -1
- package/lib/esm/index-Vl0W0S3h.js.map +0 -1
- package/lib/esm/index-chrnjY1D.js +0 -470
- package/lib/esm/index-chrnjY1D.js.map +0 -1
- package/lib/esm/index-hF04phbf.js +0 -189
- package/lib/esm/index-hF04phbf.js.map +0 -1
- package/lib/esm/index-i79QMXpJ.js.map +0 -1
- package/lib/esm/index-rvOBAXap.js.map +0 -1
- package/lib/esm/index-uP9BKsTM.js +0 -446
- package/lib/esm/index-uP9BKsTM.js.map +0 -1
- package/lib/esm/index-ueQQMSgm.js +0 -1351
- package/lib/esm/index-ueQQMSgm.js.map +0 -1
- package/lib/esm/schema-JWJqD9qa.js +0 -71
- package/lib/esm/schema-JWJqD9qa.js.map +0 -1
- package/lib/esm/todoList-M-PGJKde.js.map +0 -1
- package/lib/esm/tooltip-plugin-iw2EQWIG.js +0 -185
- package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Vl0W0S3h.js","sources":["../../../../node_modules/.pnpm/@babel+runtime@7.23.6/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@uiw+codemirror-themes@4.22.1_@codemirror+language@6.10.1_@codemirror+state@6.4.1_@codemirror+view@6.26.0/node_modules/@uiw/codemirror-themes/esm/index.js","../../../../node_modules/.pnpm/@uiw+codemirror-theme-nord@4.22.1_@codemirror+language@6.10.1_@codemirror+state@6.4.1_@codemirror+view@6.26.0/node_modules/@uiw/codemirror-theme-nord/esm/index.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { EditorView } from '@codemirror/view';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nexport var createTheme = _ref => {\n var {\n theme,\n settings = {},\n styles = []\n } = _ref;\n var themeOptions = {\n '.cm-gutters': {}\n };\n var baseStyle = {};\n if (settings.background) {\n baseStyle.backgroundColor = settings.background;\n }\n if (settings.backgroundImage) {\n baseStyle.backgroundImage = settings.backgroundImage;\n }\n if (settings.foreground) {\n baseStyle.color = settings.foreground;\n }\n if (settings.fontSize) {\n baseStyle.fontSize = settings.fontSize;\n }\n if (settings.background || settings.foreground) {\n themeOptions['&'] = baseStyle;\n }\n if (settings.fontFamily) {\n themeOptions['&.cm-editor .cm-scroller'] = {\n fontFamily: settings.fontFamily\n };\n }\n if (settings.gutterBackground) {\n themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;\n }\n if (settings.gutterForeground) {\n themeOptions['.cm-gutters'].color = settings.gutterForeground;\n }\n if (settings.gutterBorder) {\n themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;\n }\n if (settings.caret) {\n themeOptions['.cm-content'] = {\n caretColor: settings.caret\n };\n themeOptions['.cm-cursor, .cm-dropCursor'] = {\n borderLeftColor: settings.caret\n };\n }\n var activeLineGutterStyle = {};\n if (settings.gutterActiveForeground) {\n activeLineGutterStyle.color = settings.gutterActiveForeground;\n }\n if (settings.lineHighlight) {\n themeOptions['.cm-activeLine'] = {\n backgroundColor: settings.lineHighlight\n };\n activeLineGutterStyle.backgroundColor = settings.lineHighlight;\n }\n themeOptions['.cm-activeLineGutter'] = activeLineGutterStyle;\n if (settings.selection) {\n themeOptions['&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection'] = {\n background: settings.selection + ' !important'\n };\n }\n if (settings.selectionMatch) {\n themeOptions['& .cm-selectionMatch'] = {\n backgroundColor: settings.selectionMatch\n };\n }\n var themeExtension = EditorView.theme(themeOptions, {\n dark: theme === 'dark'\n });\n var highlightStyle = HighlightStyle.define(styles);\n var extension = [themeExtension, syntaxHighlighting(highlightStyle)];\n return extension;\n};\nexport default createTheme;","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsNord = {\n background: '#2e3440',\n foreground: '#FFFFFF',\n caret: '#FFFFFF',\n selection: '#00000073',\n selectionMatch: '#00000073',\n gutterBackground: '#2e3440',\n gutterForeground: '#4c566a',\n gutterActiveForeground: '#d8dee9',\n lineHighlight: '#4c566a29'\n};\n\n// Colors from https://www.nordtheme.com/docs/colors-and-palettes\nexport var nordInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsNord, settings),\n styles: [{\n tag: t.keyword,\n color: '#5e81ac'\n }, {\n tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName],\n color: '#88c0d0'\n }, {\n tag: [t.variableName],\n color: '#8fbcbb'\n }, {\n tag: [t.function(t.variableName)],\n color: '#8fbcbb'\n }, {\n tag: [t.labelName],\n color: '#81a1c1'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#5e81ac'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#a3be8c'\n }, {\n tag: [t.brace],\n color: '#8fbcbb'\n }, {\n tag: [t.annotation],\n color: '#d30102'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#b48ead'\n }, {\n tag: [t.typeName, t.className],\n color: '#ebcb8b'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#a3be8c'\n }, {\n tag: [t.tagName],\n color: '#b48ead'\n }, {\n tag: [t.squareBracket],\n color: '#bf616a'\n }, {\n tag: [t.angleBracket],\n color: '#d08770'\n }, {\n tag: [t.attributeName],\n color: '#ebcb8b'\n }, {\n tag: [t.regexp],\n color: '#5e81ac'\n }, {\n tag: [t.quote],\n color: '#b48ead'\n }, {\n tag: [t.string],\n color: '#a3be8c'\n }, {\n tag: t.link,\n color: '#a3be8c',\n textDecoration: 'underline',\n textUnderlinePosition: 'under'\n }, {\n tag: [t.url, t.escape, t.special(t.string)],\n color: '#8fbcbb'\n }, {\n tag: [t.meta],\n color: '#88c0d0'\n }, {\n tag: [t.monospace],\n color: '#d8dee9',\n fontStyle: 'italic'\n }, {\n tag: [t.comment],\n color: '#4c566a',\n fontStyle: 'italic'\n }, {\n tag: t.strong,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic',\n color: '#5e81ac'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.special(t.heading1),\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.heading1,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: [t.heading2, t.heading3, t.heading4],\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: [t.heading5, t.heading6],\n color: '#5e81ac'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#d08770'\n }, {\n tag: [t.processingInstruction, t.inserted],\n color: '#8fbcbb'\n }, {\n tag: [t.contentSeparator],\n color: '#ebcb8b'\n }, {\n tag: t.invalid,\n color: '#434c5e',\n borderBottom: \"1px dotted #d30102\"\n }, ...styles]\n });\n};\nexport var nord = nordInit();"],"names":["t"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
import { w as withMeta, l as linkIcon, f as editIcon, r as removeIcon, g as confirmIcon } from './todoList-M-PGJKde.js';
|
|
2
|
-
import { d as debounce } from './index-0-j8Icms.js';
|
|
3
|
-
import { posToDOMRect } from '@milkdown/prose';
|
|
4
|
-
import { t as tooltipFactory, l as linkTooltipState, a as linkTooltipConfig, b as linkTooltipAPI, T as TooltipProvider } from './tooltip-plugin-iw2EQWIG.js';
|
|
5
|
-
import { a as linkSchema, e as editorViewCtx } from './index-LAdX6LsO.js';
|
|
6
|
-
import { d as defIfNotExists } from './helper-wZAtC67x.js';
|
|
7
|
-
import { c, html, useRef, useState, useEffect } from 'atomico';
|
|
8
|
-
import { c as clsx } from './clsx-RxCLxYpD.js';
|
|
9
|
-
import { TextSelection } from '@milkdown/prose/state';
|
|
10
|
-
import './floating-ui.dom-CAYjY8Gv.js';
|
|
11
|
-
import '@milkdown/prose/model';
|
|
12
|
-
import '@milkdown/prose/commands';
|
|
13
|
-
import '@milkdown/prose/inputrules';
|
|
14
|
-
import '@milkdown/prose/keymap';
|
|
15
|
-
import '@milkdown/prose/view';
|
|
16
|
-
import '@milkdown/prose/schema-list';
|
|
17
|
-
import '@milkdown/prose/transform';
|
|
18
|
-
import '@milkdown/prose/history';
|
|
19
|
-
import '@milkdown/prose/tables';
|
|
20
|
-
|
|
21
|
-
const linkPreviewTooltip = tooltipFactory("LINK_PREVIEW");
|
|
22
|
-
withMeta(linkPreviewTooltip[0], {
|
|
23
|
-
displayName: "PreviewTooltipSpec<link-tooltip>",
|
|
24
|
-
group: "LinkTooltip"
|
|
25
|
-
});
|
|
26
|
-
withMeta(linkPreviewTooltip[1], {
|
|
27
|
-
displayName: "PreviewTooltipPlugin<link-tooltip>",
|
|
28
|
-
group: "LinkTooltip"
|
|
29
|
-
});
|
|
30
|
-
const linkEditTooltip = tooltipFactory("LINK_EDIT");
|
|
31
|
-
withMeta(linkEditTooltip[0], {
|
|
32
|
-
displayName: "EditTooltipSpec<link-tooltip>",
|
|
33
|
-
group: "LinkTooltip"
|
|
34
|
-
});
|
|
35
|
-
withMeta(linkEditTooltip[1], {
|
|
36
|
-
displayName: "EditTooltipPlugin<link-tooltip>",
|
|
37
|
-
group: "LinkTooltip"
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
function findMarkPosition(mark, node, doc, from, to) {
|
|
41
|
-
let markPos = { start: -1, end: -1 };
|
|
42
|
-
doc.nodesBetween(from, to, (n, pos) => {
|
|
43
|
-
if (markPos.start > -1)
|
|
44
|
-
return false;
|
|
45
|
-
if (markPos.start === -1 && mark.isInSet(n.marks) && node === n) {
|
|
46
|
-
markPos = {
|
|
47
|
-
start: pos,
|
|
48
|
-
end: pos + Math.max(n.textContent.length, 1)
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return void 0;
|
|
52
|
-
});
|
|
53
|
-
return markPos;
|
|
54
|
-
}
|
|
55
|
-
function shouldShowPreviewWhenHover(ctx, view, event) {
|
|
56
|
-
const $pos = view.posAtCoords({ left: event.clientX, top: event.clientY });
|
|
57
|
-
if (!$pos)
|
|
58
|
-
return;
|
|
59
|
-
const { pos } = $pos;
|
|
60
|
-
const node = view.state.doc.nodeAt(pos);
|
|
61
|
-
if (!node)
|
|
62
|
-
return;
|
|
63
|
-
const mark = node.marks.find((mark2) => mark2.type === linkSchema.mark.type(ctx));
|
|
64
|
-
if (!mark)
|
|
65
|
-
return;
|
|
66
|
-
const key = linkPreviewTooltip.pluginKey();
|
|
67
|
-
if (!key)
|
|
68
|
-
return;
|
|
69
|
-
return { show: true, pos, node, mark };
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const linkPreviewComponent = ({ config, src, onEdit, onRemove }) => {
|
|
73
|
-
const onClickEditButton = (e) => {
|
|
74
|
-
e.stopPropagation();
|
|
75
|
-
e.preventDefault();
|
|
76
|
-
onEdit == null ? void 0 : onEdit();
|
|
77
|
-
};
|
|
78
|
-
const onClickRemoveButton = (e) => {
|
|
79
|
-
e.stopPropagation();
|
|
80
|
-
e.preventDefault();
|
|
81
|
-
onRemove == null ? void 0 : onRemove();
|
|
82
|
-
};
|
|
83
|
-
const onClickPreview = (e) => {
|
|
84
|
-
e.preventDefault();
|
|
85
|
-
if (navigator.clipboard && src) {
|
|
86
|
-
navigator.clipboard.writeText(src).then(() => {
|
|
87
|
-
config == null ? void 0 : config.onCopyLink(src);
|
|
88
|
-
}).catch((e2) => {
|
|
89
|
-
throw e2;
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
return html`
|
|
94
|
-
<host>
|
|
95
|
-
<div class="link-preview" onmousedown=${onClickPreview}>
|
|
96
|
-
<span class="link-icon">
|
|
97
|
-
${config == null ? void 0 : config.linkIcon()}
|
|
98
|
-
</span>
|
|
99
|
-
<a href=${src} target="_blank" class="link-display">${src}</a>
|
|
100
|
-
<span class="button link-edit-button" onmousedown=${onClickEditButton}>
|
|
101
|
-
${config == null ? void 0 : config.editButton()}
|
|
102
|
-
</span>
|
|
103
|
-
<span class="button link-remove-button" onmousedown=${onClickRemoveButton}>
|
|
104
|
-
${config == null ? void 0 : config.removeButton()}
|
|
105
|
-
</span>
|
|
106
|
-
</div>
|
|
107
|
-
</host>
|
|
108
|
-
`;
|
|
109
|
-
};
|
|
110
|
-
linkPreviewComponent.props = {
|
|
111
|
-
config: Object,
|
|
112
|
-
src: String,
|
|
113
|
-
onEdit: Function,
|
|
114
|
-
onRemove: Function
|
|
115
|
-
};
|
|
116
|
-
const LinkPreviewElement = c(linkPreviewComponent);
|
|
117
|
-
|
|
118
|
-
var __typeError$1 = (msg) => {
|
|
119
|
-
throw TypeError(msg);
|
|
120
|
-
};
|
|
121
|
-
var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
|
|
122
|
-
var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
123
|
-
var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
124
|
-
var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
125
|
-
var _content$1, _provider$1, _slice, _hovering, _onStateChange, _onMouseEnter, _onMouseLeave, _hide;
|
|
126
|
-
class LinkPreviewTooltip {
|
|
127
|
-
// get #instance() {
|
|
128
|
-
// return this.#provider.getInstance()
|
|
129
|
-
// }
|
|
130
|
-
constructor(ctx, view) {
|
|
131
|
-
this.ctx = ctx;
|
|
132
|
-
__privateAdd$1(this, _content$1, new LinkPreviewElement());
|
|
133
|
-
__privateAdd$1(this, _provider$1);
|
|
134
|
-
__privateAdd$1(this, _slice, this.ctx.use(linkTooltipState.key));
|
|
135
|
-
__privateAdd$1(this, _hovering, false);
|
|
136
|
-
// setRect = (rect: DOMRect) => {
|
|
137
|
-
// // this.#provider.getInstance()?.setProps({
|
|
138
|
-
// // getReferenceClientRect: () => rect,
|
|
139
|
-
// // })
|
|
140
|
-
// this.#provider.virtualElement = {
|
|
141
|
-
// getBoundingClientRect: () => rect,
|
|
142
|
-
// }
|
|
143
|
-
// }
|
|
144
|
-
__privateAdd$1(this, _onStateChange, ({ mode }) => {
|
|
145
|
-
if (mode === "edit")
|
|
146
|
-
__privateGet$1(this, _hide).call(this);
|
|
147
|
-
});
|
|
148
|
-
__privateAdd$1(this, _onMouseEnter, () => {
|
|
149
|
-
__privateSet$1(this, _hovering, true);
|
|
150
|
-
});
|
|
151
|
-
__privateAdd$1(this, _onMouseLeave, () => {
|
|
152
|
-
__privateSet$1(this, _hovering, false);
|
|
153
|
-
});
|
|
154
|
-
__privateAdd$1(this, _hide, () => {
|
|
155
|
-
__privateGet$1(this, _provider$1).hide();
|
|
156
|
-
__privateGet$1(this, _provider$1).element.removeEventListener("mouseenter", __privateGet$1(this, _onMouseEnter));
|
|
157
|
-
__privateGet$1(this, _provider$1).element.removeEventListener("mouseleave", __privateGet$1(this, _onMouseLeave));
|
|
158
|
-
});
|
|
159
|
-
this.show = (mark, from, to, rect) => {
|
|
160
|
-
__privateGet$1(this, _content$1).config = this.ctx.get(linkTooltipConfig.key);
|
|
161
|
-
__privateGet$1(this, _content$1).src = mark.attrs.href;
|
|
162
|
-
__privateGet$1(this, _content$1).onEdit = () => {
|
|
163
|
-
this.ctx.get(linkTooltipAPI.key).editLink(mark, from, to);
|
|
164
|
-
};
|
|
165
|
-
__privateGet$1(this, _content$1).onRemove = () => {
|
|
166
|
-
this.ctx.get(linkTooltipAPI.key).removeLink(from, to);
|
|
167
|
-
__privateGet$1(this, _hide).call(this);
|
|
168
|
-
};
|
|
169
|
-
__privateGet$1(this, _provider$1).show({
|
|
170
|
-
getBoundingClientRect: () => rect
|
|
171
|
-
});
|
|
172
|
-
__privateGet$1(this, _provider$1).element.addEventListener("mouseenter", __privateGet$1(this, _onMouseEnter));
|
|
173
|
-
__privateGet$1(this, _provider$1).element.addEventListener("mouseleave", __privateGet$1(this, _onMouseLeave));
|
|
174
|
-
};
|
|
175
|
-
this.hide = () => {
|
|
176
|
-
if (__privateGet$1(this, _hovering))
|
|
177
|
-
return;
|
|
178
|
-
__privateGet$1(this, _hide).call(this);
|
|
179
|
-
};
|
|
180
|
-
this.update = () => {
|
|
181
|
-
};
|
|
182
|
-
this.destroy = () => {
|
|
183
|
-
__privateGet$1(this, _slice).off(__privateGet$1(this, _onStateChange));
|
|
184
|
-
__privateGet$1(this, _provider$1).destroy();
|
|
185
|
-
__privateGet$1(this, _content$1).remove();
|
|
186
|
-
};
|
|
187
|
-
__privateSet$1(this, _provider$1, new TooltipProvider({
|
|
188
|
-
debounce: 0,
|
|
189
|
-
content: __privateGet$1(this, _content$1),
|
|
190
|
-
shouldShow: () => false
|
|
191
|
-
}));
|
|
192
|
-
__privateGet$1(this, _provider$1).update(view);
|
|
193
|
-
__privateSet$1(this, _slice, ctx.use(linkTooltipState.key));
|
|
194
|
-
__privateGet$1(this, _slice).on(__privateGet$1(this, _onStateChange));
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
_content$1 = new WeakMap();
|
|
198
|
-
_provider$1 = new WeakMap();
|
|
199
|
-
_slice = new WeakMap();
|
|
200
|
-
_hovering = new WeakMap();
|
|
201
|
-
_onStateChange = new WeakMap();
|
|
202
|
-
_onMouseEnter = new WeakMap();
|
|
203
|
-
_onMouseLeave = new WeakMap();
|
|
204
|
-
_hide = new WeakMap();
|
|
205
|
-
|
|
206
|
-
defIfNotExists("milkdown-link-preview", LinkPreviewElement);
|
|
207
|
-
function configureLinkPreviewTooltip(ctx) {
|
|
208
|
-
let linkPreviewTooltipView;
|
|
209
|
-
const DELAY = 200;
|
|
210
|
-
const onMouseMove = debounce((view, event) => {
|
|
211
|
-
if (!linkPreviewTooltipView)
|
|
212
|
-
return;
|
|
213
|
-
if (!view.hasFocus())
|
|
214
|
-
return;
|
|
215
|
-
const state = ctx.get(linkTooltipState.key);
|
|
216
|
-
if (state.mode === "edit")
|
|
217
|
-
return;
|
|
218
|
-
const result = shouldShowPreviewWhenHover(ctx, view, event);
|
|
219
|
-
if (result) {
|
|
220
|
-
const position = view.state.doc.resolve(result.pos);
|
|
221
|
-
const markPosition = findMarkPosition(result.mark, result.node, view.state.doc, position.before(), position.after());
|
|
222
|
-
const from = markPosition.start;
|
|
223
|
-
const to = markPosition.end;
|
|
224
|
-
linkPreviewTooltipView.show(result.mark, from, to, posToDOMRect(view, from, to));
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
linkPreviewTooltipView.hide();
|
|
228
|
-
}, DELAY);
|
|
229
|
-
const onMouseLeave = () => {
|
|
230
|
-
setTimeout(() => {
|
|
231
|
-
linkPreviewTooltipView == null ? void 0 : linkPreviewTooltipView.hide();
|
|
232
|
-
}, DELAY);
|
|
233
|
-
};
|
|
234
|
-
ctx.set(linkPreviewTooltip.key, {
|
|
235
|
-
props: {
|
|
236
|
-
handleDOMEvents: {
|
|
237
|
-
mousemove: onMouseMove,
|
|
238
|
-
mouseleave: onMouseLeave
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
view: (view) => {
|
|
242
|
-
linkPreviewTooltipView = new LinkPreviewTooltip(ctx, view);
|
|
243
|
-
return linkPreviewTooltipView;
|
|
244
|
-
}
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
const linkEditComponent = ({
|
|
249
|
-
src,
|
|
250
|
-
onConfirm,
|
|
251
|
-
onCancel,
|
|
252
|
-
config
|
|
253
|
-
}) => {
|
|
254
|
-
const linkInput = useRef();
|
|
255
|
-
const [link, setLink] = useState(src);
|
|
256
|
-
useEffect(() => {
|
|
257
|
-
setLink(src != null ? src : "");
|
|
258
|
-
}, [src]);
|
|
259
|
-
const onConfirmEdit = () => {
|
|
260
|
-
var _a, _b;
|
|
261
|
-
onConfirm == null ? void 0 : onConfirm((_b = (_a = linkInput.current) == null ? void 0 : _a.value) != null ? _b : "");
|
|
262
|
-
};
|
|
263
|
-
const onKeydown = (e) => {
|
|
264
|
-
var _a, _b;
|
|
265
|
-
e.stopPropagation();
|
|
266
|
-
if (e.key === "Enter") {
|
|
267
|
-
onConfirm == null ? void 0 : onConfirm((_b = (_a = linkInput.current) == null ? void 0 : _a.value) != null ? _b : "");
|
|
268
|
-
e.preventDefault();
|
|
269
|
-
}
|
|
270
|
-
if (e.key === "Escape") {
|
|
271
|
-
onCancel == null ? void 0 : onCancel();
|
|
272
|
-
e.preventDefault();
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
return html`
|
|
276
|
-
<host>
|
|
277
|
-
<div class="link-edit">
|
|
278
|
-
<input
|
|
279
|
-
class="input-area"
|
|
280
|
-
placeholder=${config == null ? void 0 : config.inputPlaceholder}
|
|
281
|
-
ref=${linkInput}
|
|
282
|
-
onkeydown=${onKeydown}
|
|
283
|
-
oninput=${(e) => setLink(e.target.value)}
|
|
284
|
-
value=${link}
|
|
285
|
-
/>
|
|
286
|
-
<span class=${clsx("button confirm", !link && "hidden")} onclick=${onConfirmEdit}>
|
|
287
|
-
${config == null ? void 0 : config.confirmButton()}
|
|
288
|
-
</span>
|
|
289
|
-
</div>
|
|
290
|
-
</host>
|
|
291
|
-
`;
|
|
292
|
-
};
|
|
293
|
-
linkEditComponent.props = {
|
|
294
|
-
config: Object,
|
|
295
|
-
src: String,
|
|
296
|
-
onConfirm: Function,
|
|
297
|
-
onCancel: Function
|
|
298
|
-
};
|
|
299
|
-
const LinkEditElement = c(linkEditComponent);
|
|
300
|
-
|
|
301
|
-
var __typeError = (msg) => {
|
|
302
|
-
throw TypeError(msg);
|
|
303
|
-
};
|
|
304
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
305
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
306
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
307
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
308
|
-
var _content, _provider, _data, _reset, _confirmEdit, _enterEditMode;
|
|
309
|
-
const defaultData = {
|
|
310
|
-
from: -1,
|
|
311
|
-
to: -1,
|
|
312
|
-
mark: null
|
|
313
|
-
};
|
|
314
|
-
class LinkEditTooltip {
|
|
315
|
-
constructor(ctx, view) {
|
|
316
|
-
this.ctx = ctx;
|
|
317
|
-
__privateAdd(this, _content, new LinkEditElement());
|
|
318
|
-
__privateAdd(this, _provider);
|
|
319
|
-
__privateAdd(this, _data, { ...defaultData });
|
|
320
|
-
__privateAdd(this, _reset, () => {
|
|
321
|
-
__privateGet(this, _provider).hide();
|
|
322
|
-
this.ctx.update(linkTooltipState.key, (state) => ({
|
|
323
|
-
...state,
|
|
324
|
-
mode: "preview"
|
|
325
|
-
}));
|
|
326
|
-
__privateSet(this, _data, { ...defaultData });
|
|
327
|
-
});
|
|
328
|
-
__privateAdd(this, _confirmEdit, (href) => {
|
|
329
|
-
const view = this.ctx.get(editorViewCtx);
|
|
330
|
-
const { from, to, mark } = __privateGet(this, _data);
|
|
331
|
-
const type = linkSchema.type(this.ctx);
|
|
332
|
-
if (mark && mark.attrs.href === href) {
|
|
333
|
-
__privateGet(this, _reset).call(this);
|
|
334
|
-
return;
|
|
335
|
-
}
|
|
336
|
-
const tr = view.state.tr;
|
|
337
|
-
if (mark)
|
|
338
|
-
tr.removeMark(from, to, mark);
|
|
339
|
-
tr.addMark(from, to, type.create({ href }));
|
|
340
|
-
view.dispatch(tr);
|
|
341
|
-
__privateGet(this, _reset).call(this);
|
|
342
|
-
});
|
|
343
|
-
__privateAdd(this, _enterEditMode, (value, from, to) => {
|
|
344
|
-
const config = this.ctx.get(linkTooltipConfig.key);
|
|
345
|
-
__privateGet(this, _content).config = config;
|
|
346
|
-
__privateGet(this, _content).src = value;
|
|
347
|
-
this.ctx.update(linkTooltipState.key, (state) => ({
|
|
348
|
-
...state,
|
|
349
|
-
mode: "edit"
|
|
350
|
-
}));
|
|
351
|
-
const view = this.ctx.get(editorViewCtx);
|
|
352
|
-
view.dispatch(view.state.tr.setSelection(TextSelection.create(view.state.doc, from, to)));
|
|
353
|
-
__privateGet(this, _provider).show({
|
|
354
|
-
getBoundingClientRect: () => posToDOMRect(view, from, to)
|
|
355
|
-
});
|
|
356
|
-
requestAnimationFrame(() => {
|
|
357
|
-
var _a;
|
|
358
|
-
(_a = __privateGet(this, _content).querySelector("input")) == null ? void 0 : _a.focus();
|
|
359
|
-
});
|
|
360
|
-
});
|
|
361
|
-
this.update = (view) => {
|
|
362
|
-
const { state } = view;
|
|
363
|
-
const { selection } = state;
|
|
364
|
-
if (!(selection instanceof TextSelection))
|
|
365
|
-
return;
|
|
366
|
-
const { from, to } = selection;
|
|
367
|
-
if (from === __privateGet(this, _data).from && to === __privateGet(this, _data).to)
|
|
368
|
-
return;
|
|
369
|
-
__privateGet(this, _reset).call(this);
|
|
370
|
-
};
|
|
371
|
-
this.destroy = () => {
|
|
372
|
-
__privateGet(this, _provider).destroy();
|
|
373
|
-
__privateGet(this, _content).remove();
|
|
374
|
-
};
|
|
375
|
-
this.addLink = (from, to) => {
|
|
376
|
-
__privateSet(this, _data, {
|
|
377
|
-
from,
|
|
378
|
-
to,
|
|
379
|
-
mark: null
|
|
380
|
-
});
|
|
381
|
-
__privateGet(this, _enterEditMode).call(this, "", from, to);
|
|
382
|
-
};
|
|
383
|
-
this.editLink = (mark, from, to) => {
|
|
384
|
-
__privateSet(this, _data, {
|
|
385
|
-
from,
|
|
386
|
-
to,
|
|
387
|
-
mark
|
|
388
|
-
});
|
|
389
|
-
__privateGet(this, _enterEditMode).call(this, mark.attrs.href, from, to);
|
|
390
|
-
};
|
|
391
|
-
this.removeLink = (from, to) => {
|
|
392
|
-
const view = this.ctx.get(editorViewCtx);
|
|
393
|
-
const tr = view.state.tr;
|
|
394
|
-
tr.removeMark(from, to, linkSchema.type(this.ctx));
|
|
395
|
-
view.dispatch(tr);
|
|
396
|
-
__privateGet(this, _reset).call(this);
|
|
397
|
-
};
|
|
398
|
-
__privateSet(this, _provider, new TooltipProvider({
|
|
399
|
-
content: __privateGet(this, _content),
|
|
400
|
-
debounce: 0,
|
|
401
|
-
shouldShow: () => false
|
|
402
|
-
}));
|
|
403
|
-
__privateGet(this, _provider).onHide = () => {
|
|
404
|
-
__privateGet(this, _content).update().catch((e) => {
|
|
405
|
-
throw e;
|
|
406
|
-
});
|
|
407
|
-
view.dom.focus({ preventScroll: true });
|
|
408
|
-
};
|
|
409
|
-
__privateGet(this, _provider).update(view);
|
|
410
|
-
__privateGet(this, _content).onConfirm = __privateGet(this, _confirmEdit);
|
|
411
|
-
__privateGet(this, _content).onCancel = __privateGet(this, _reset);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
_content = new WeakMap();
|
|
415
|
-
_provider = new WeakMap();
|
|
416
|
-
_data = new WeakMap();
|
|
417
|
-
_reset = new WeakMap();
|
|
418
|
-
_confirmEdit = new WeakMap();
|
|
419
|
-
_enterEditMode = new WeakMap();
|
|
420
|
-
|
|
421
|
-
defIfNotExists("milkdown-link-edit", LinkEditElement);
|
|
422
|
-
function configureLinkEditTooltip(ctx) {
|
|
423
|
-
let linkEditTooltipView;
|
|
424
|
-
ctx.update(linkTooltipAPI.key, (api) => ({
|
|
425
|
-
...api,
|
|
426
|
-
addLink: (from, to) => {
|
|
427
|
-
linkEditTooltipView == null ? void 0 : linkEditTooltipView.addLink(from, to);
|
|
428
|
-
},
|
|
429
|
-
editLink: (mark, from, to) => {
|
|
430
|
-
linkEditTooltipView == null ? void 0 : linkEditTooltipView.editLink(mark, from, to);
|
|
431
|
-
},
|
|
432
|
-
removeLink: (from, to) => {
|
|
433
|
-
linkEditTooltipView == null ? void 0 : linkEditTooltipView.removeLink(from, to);
|
|
434
|
-
}
|
|
435
|
-
}));
|
|
436
|
-
ctx.set(linkEditTooltip.key, {
|
|
437
|
-
view: (view) => {
|
|
438
|
-
linkEditTooltipView = new LinkEditTooltip(ctx, view);
|
|
439
|
-
return linkEditTooltipView;
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
function configureLinkTooltip(ctx) {
|
|
445
|
-
configureLinkPreviewTooltip(ctx);
|
|
446
|
-
configureLinkEditTooltip(ctx);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
const linkTooltipPlugin = [linkTooltipState, linkTooltipAPI, linkTooltipConfig, linkPreviewTooltip, linkEditTooltip].flat();
|
|
450
|
-
|
|
451
|
-
const defineFeature = (editor, config) => {
|
|
452
|
-
editor.config(configureLinkTooltip).config((ctx) => {
|
|
453
|
-
ctx.update(linkTooltipConfig.key, (prev) => {
|
|
454
|
-
var _a, _b, _c, _d, _e, _f;
|
|
455
|
-
return {
|
|
456
|
-
...prev,
|
|
457
|
-
linkIcon: (_a = config == null ? void 0 : config.linkIcon) != null ? _a : () => linkIcon,
|
|
458
|
-
editButton: (_b = config == null ? void 0 : config.editButton) != null ? _b : () => editIcon,
|
|
459
|
-
removeButton: (_c = config == null ? void 0 : config.removeButton) != null ? _c : () => removeIcon,
|
|
460
|
-
confirmButton: (_d = config == null ? void 0 : config.confirmButton) != null ? _d : () => confirmIcon,
|
|
461
|
-
inputPlaceholder: (_e = config == null ? void 0 : config.inputPlaceholder) != null ? _e : "Paste link...",
|
|
462
|
-
onCopyLink: (_f = config == null ? void 0 : config.onCopyLink) != null ? _f : () => {
|
|
463
|
-
}
|
|
464
|
-
};
|
|
465
|
-
});
|
|
466
|
-
}).use(linkTooltipPlugin);
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
export { defineFeature };
|
|
470
|
-
//# sourceMappingURL=index-chrnjY1D.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-chrnjY1D.js","sources":["../../../components/src/link-tooltip/tooltips.ts","../../../components/src/link-tooltip/utils.ts","../../../components/src/link-tooltip/preview/preview-component.ts","../../../components/src/link-tooltip/preview/preview-view.ts","../../../components/src/link-tooltip/preview/preview-configure.ts","../../../components/src/link-tooltip/edit/edit-component.ts","../../../components/src/link-tooltip/edit/edit-view.ts","../../../components/src/link-tooltip/edit/edit-configure.ts","../../../components/src/link-tooltip/configure.ts","../../../components/src/link-tooltip/index.ts","../../src/feature/link-tooltip/index.ts"],"sourcesContent":["import { tooltipFactory } from '@milkdown/plugin-tooltip'\nimport { withMeta } from '../__internal__/meta'\n\nexport const linkPreviewTooltip = tooltipFactory('LINK_PREVIEW')\nwithMeta(linkPreviewTooltip[0], {\n displayName: 'PreviewTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkPreviewTooltip[1], {\n displayName: 'PreviewTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\nexport const linkEditTooltip = tooltipFactory('LINK_EDIT')\nwithMeta(linkEditTooltip[0], {\n displayName: 'EditTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkEditTooltip[1], {\n displayName: 'EditTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\n","import type { Mark, Node } from '@milkdown/prose/model'\nimport type { Ctx } from '@milkdown/ctx'\nimport type { EditorView } from '@milkdown/prose/view'\nimport { linkSchema } from '@milkdown/preset-commonmark'\nimport { linkPreviewTooltip } from './tooltips'\n\nexport function findMarkPosition(mark: Mark, node: Node, doc: Node, from: number, to: number) {\n let markPos = { start: -1, end: -1 }\n doc.nodesBetween(from, to, (n, pos) => {\n // stop recursive finding if result is found\n if (markPos.start > -1)\n return false\n\n if (markPos.start === -1 && mark.isInSet(n.marks) && node === n) {\n markPos = {\n start: pos,\n end: pos + Math.max(n.textContent.length, 1),\n }\n }\n\n return undefined\n })\n\n return markPos\n}\n\nexport function shouldShowPreviewWhenHover(ctx: Ctx, view: EditorView, event: MouseEvent) {\n const $pos = view.posAtCoords({ left: event.clientX, top: event.clientY })\n if (!$pos)\n return\n\n const { pos } = $pos\n const node = view.state.doc.nodeAt(pos)\n\n if (!node)\n return\n\n const mark = node.marks.find(mark => mark.type === linkSchema.mark.type(ctx))\n if (!mark)\n return\n\n const key = linkPreviewTooltip.pluginKey()\n if (!key)\n return\n\n return { show: true, pos, node, mark }\n}\n","import type { Component } from 'atomico'\nimport { c, html } from 'atomico'\nimport type { LinkTooltipConfig } from '../slices'\n\nexport interface LinkPreviewProps {\n config: LinkTooltipConfig\n src: string\n onEdit: () => void\n onRemove: () => void\n}\n\nexport const linkPreviewComponent: Component<LinkPreviewProps> = ({ config, src, onEdit, onRemove }) => {\n const onClickEditButton = (e: MouseEvent) => {\n e.stopPropagation()\n e.preventDefault()\n onEdit?.()\n }\n\n const onClickRemoveButton = (e: MouseEvent) => {\n e.stopPropagation()\n e.preventDefault()\n onRemove?.()\n }\n\n const onClickPreview = (e: MouseEvent) => {\n e.preventDefault()\n if (navigator.clipboard && src) {\n navigator.clipboard.writeText(src)\n .then(() => {\n config?.onCopyLink(src)\n }).catch((e) => {\n throw e\n })\n }\n }\n\n return html`\n <host>\n <div class=\"link-preview\" onmousedown=${onClickPreview}>\n <span class=\"link-icon\">\n ${config?.linkIcon()}\n </span>\n <a href=${src} target=\"_blank\" class=\"link-display\">${src}</a>\n <span class=\"button link-edit-button\" onmousedown=${onClickEditButton}>\n ${config?.editButton()}\n </span>\n <span class=\"button link-remove-button\" onmousedown=${onClickRemoveButton}>\n ${config?.removeButton()}\n </span>\n </div>\n </host>\n `\n}\n\nlinkPreviewComponent.props = {\n config: Object,\n src: String,\n onEdit: Function,\n onRemove: Function,\n}\n\nexport const LinkPreviewElement = c(linkPreviewComponent)\n","import type { PluginView } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport type { Mark } from '@milkdown/prose/model'\nimport { TooltipProvider } from '@milkdown/plugin-tooltip'\nimport type { Ctx, Slice } from '@milkdown/ctx'\nimport type { LinkToolTipState } from '../slices'\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from '../slices'\nimport { LinkPreviewElement } from './preview-component'\n\nexport class LinkPreviewTooltip implements PluginView {\n #content = new LinkPreviewElement()\n #provider: TooltipProvider\n #slice: Slice<LinkToolTipState> = this.ctx.use(linkTooltipState.key)\n\n #hovering = false\n\n // get #instance() {\n // return this.#provider.getInstance()\n // }\n\n constructor(readonly ctx: Ctx, view: EditorView) {\n this.#provider = new TooltipProvider({\n debounce: 0,\n content: this.#content,\n shouldShow: () => false,\n })\n this.#provider.update(view)\n this.#slice = ctx.use(linkTooltipState.key)\n this.#slice.on(this.#onStateChange)\n }\n\n // setRect = (rect: DOMRect) => {\n // // this.#provider.getInstance()?.setProps({\n // // getReferenceClientRect: () => rect,\n // // })\n // this.#provider.virtualElement = {\n // getBoundingClientRect: () => rect,\n // }\n // }\n\n #onStateChange = ({ mode }: LinkToolTipState) => {\n if (mode === 'edit')\n this.#hide()\n }\n\n #onMouseEnter = () => {\n this.#hovering = true\n }\n\n #onMouseLeave = () => {\n this.#hovering = false\n }\n\n #hide = () => {\n this.#provider.hide()\n this.#provider.element.removeEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.removeEventListener('mouseleave', this.#onMouseLeave)\n }\n\n show = (mark: Mark, from: number, to: number, rect: DOMRect) => {\n this.#content.config = this.ctx.get(linkTooltipConfig.key)\n this.#content.src = mark.attrs.href\n this.#content.onEdit = () => {\n this.ctx.get(linkTooltipAPI.key).editLink(mark, from, to)\n }\n this.#content.onRemove = () => {\n this.ctx.get(linkTooltipAPI.key).removeLink(from, to)\n this.#hide()\n }\n\n this.#provider.show({\n getBoundingClientRect: () => rect,\n })\n this.#provider.element.addEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.addEventListener('mouseleave', this.#onMouseLeave)\n }\n\n hide = () => {\n if (this.#hovering)\n return\n\n this.#hide()\n }\n\n update = () => {}\n\n destroy = () => {\n this.#slice.off(this.#onStateChange)\n this.#provider.destroy()\n this.#content.remove()\n }\n}\n","import type { Ctx } from '@milkdown/ctx'\nimport debounce from 'lodash.debounce'\nimport type { EditorView } from '@milkdown/prose/view'\nimport { posToDOMRect } from '@milkdown/prose'\nimport { linkTooltipState } from '../slices'\nimport { findMarkPosition, shouldShowPreviewWhenHover } from '../utils'\nimport { linkPreviewTooltip } from '../tooltips'\nimport { defIfNotExists } from '../../__internal__/helper'\nimport { LinkPreviewTooltip } from './preview-view'\nimport { LinkPreviewElement } from './preview-component'\n\ndefIfNotExists('milkdown-link-preview', LinkPreviewElement)\nexport function configureLinkPreviewTooltip(ctx: Ctx) {\n let linkPreviewTooltipView: LinkPreviewTooltip | null\n\n const DELAY = 200\n const onMouseMove = debounce((view: EditorView, event: MouseEvent) => {\n if (!linkPreviewTooltipView)\n return\n if (!view.hasFocus())\n return\n\n const state = ctx.get(linkTooltipState.key)\n if (state.mode === 'edit')\n return\n\n const result = shouldShowPreviewWhenHover(ctx, view, event)\n if (result) {\n const position = view.state.doc.resolve(result.pos)\n const markPosition = findMarkPosition(result.mark, result.node, view.state.doc, position.before(), position.after())\n const from = markPosition.start\n const to = markPosition.end\n linkPreviewTooltipView.show(result.mark, from, to, posToDOMRect(view, from, to))\n return\n }\n\n linkPreviewTooltipView.hide()\n }, DELAY)\n\n const onMouseLeave = () => {\n setTimeout(() => {\n linkPreviewTooltipView?.hide()\n }, DELAY)\n }\n\n ctx.set(linkPreviewTooltip.key, {\n props: {\n handleDOMEvents: {\n mousemove: onMouseMove,\n mouseleave: onMouseLeave,\n },\n },\n view: (view) => {\n linkPreviewTooltipView = new LinkPreviewTooltip(ctx, view)\n return linkPreviewTooltipView\n },\n })\n}\n","import type { Component } from 'atomico'\nimport { c, html, useEffect, useRef, useState } from 'atomico'\nimport clsx from 'clsx'\nimport type { LinkTooltipConfig } from '../slices'\n\nexport interface LinkEditProps {\n config: LinkTooltipConfig\n src: string\n onConfirm: (href: string) => void\n onCancel: () => void\n}\n\nexport const linkEditComponent: Component<LinkEditProps> = ({\n src,\n onConfirm,\n onCancel,\n config,\n}) => {\n const linkInput = useRef<HTMLInputElement>()\n const [link, setLink] = useState(src)\n\n useEffect(() => {\n setLink(src ?? '')\n }, [src])\n\n const onConfirmEdit = () => {\n onConfirm?.(linkInput.current?.value ?? '')\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n e.stopPropagation()\n if (e.key === 'Enter') {\n onConfirm?.(linkInput.current?.value ?? '')\n e.preventDefault()\n }\n if (e.key === 'Escape') {\n onCancel?.()\n e.preventDefault()\n }\n }\n\n return html`\n <host>\n <div class=\"link-edit\">\n <input\n class=\"input-area\"\n placeholder=${config?.inputPlaceholder}\n ref=${linkInput}\n onkeydown=${onKeydown}\n oninput=${(e: InputEvent) => setLink((e.target as HTMLInputElement).value)}\n value=${link}\n />\n <span class=${clsx('button confirm', !link && 'hidden')} onclick=${onConfirmEdit}>\n ${config?.confirmButton()}\n </span>\n </div>\n </host>\n `\n}\n\nlinkEditComponent.props = {\n config: Object,\n src: String,\n onConfirm: Function,\n onCancel: Function,\n}\n\nexport const LinkEditElement = c(linkEditComponent)\n","import type { Ctx } from '@milkdown/ctx'\nimport { TextSelection } from '@milkdown/prose/state'\nimport type { PluginView } from '@milkdown/prose/state'\nimport type { Mark } from '@milkdown/prose/model'\nimport type { EditorView } from '@milkdown/prose/view'\nimport { TooltipProvider } from '@milkdown/plugin-tooltip'\nimport { editorViewCtx } from '@milkdown/core'\nimport { linkSchema } from '@milkdown/preset-commonmark'\nimport { posToDOMRect } from '@milkdown/prose'\nimport { linkTooltipConfig, linkTooltipState } from '../slices'\nimport { LinkEditElement } from './edit-component'\n\ninterface Data {\n from: number\n to: number\n mark: Mark | null\n}\n\nconst defaultData: Data = {\n from: -1,\n to: -1,\n mark: null,\n}\n\nexport class LinkEditTooltip implements PluginView {\n #content = new LinkEditElement()\n #provider: TooltipProvider\n #data: Data = { ...defaultData }\n\n constructor(readonly ctx: Ctx, view: EditorView) {\n this.#provider = new TooltipProvider({\n content: this.#content,\n debounce: 0,\n shouldShow: () => false,\n })\n this.#provider.onHide = () => {\n this.#content.update().catch((e) => {\n throw e\n })\n view.dom.focus({ preventScroll: true })\n }\n this.#provider.update(view)\n this.#content.onConfirm = this.#confirmEdit\n this.#content.onCancel = this.#reset\n }\n\n #reset = () => {\n this.#provider.hide()\n this.ctx.update(linkTooltipState.key, state => ({\n ...state,\n mode: 'preview' as const,\n }))\n this.#data = { ...defaultData }\n }\n\n #confirmEdit = (href: string) => {\n const view = this.ctx.get(editorViewCtx)\n const { from, to, mark } = this.#data\n const type = linkSchema.type(this.ctx)\n if (mark && mark.attrs.href === href) {\n this.#reset()\n return\n }\n\n const tr = view.state.tr\n if (mark)\n tr.removeMark(from, to, mark)\n\n tr.addMark(from, to, type.create({ href }))\n view.dispatch(tr)\n\n this.#reset()\n }\n\n #enterEditMode = (value: string, from: number, to: number) => {\n const config = this.ctx.get(linkTooltipConfig.key)\n this.#content.config = config\n this.#content.src = value\n this.ctx.update(linkTooltipState.key, state => ({\n ...state,\n mode: 'edit' as const,\n }))\n const view = this.ctx.get(editorViewCtx)\n // this.#setRect(posToDOMRect(view, from, to))\n view.dispatch(view.state.tr.setSelection(TextSelection.create(view.state.doc, from, to)))\n this.#provider.show({\n getBoundingClientRect: () => posToDOMRect(view, from, to),\n })\n requestAnimationFrame(() => {\n this.#content.querySelector('input')?.focus()\n })\n }\n\n update = (view: EditorView) => {\n const { state } = view\n const { selection } = state\n if (!(selection instanceof TextSelection))\n return\n const { from, to } = selection\n if (from === this.#data.from && to === this.#data.to)\n return\n\n this.#reset()\n }\n\n destroy = () => {\n this.#provider.destroy()\n this.#content.remove()\n }\n\n addLink = (from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark: null,\n }\n this.#enterEditMode('', from, to)\n }\n\n editLink = (mark: Mark, from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark,\n }\n this.#enterEditMode(mark.attrs.href, from, to)\n }\n\n removeLink = (from: number, to: number) => {\n const view = this.ctx.get(editorViewCtx)\n\n const tr = view.state.tr\n tr.removeMark(from, to, linkSchema.type(this.ctx))\n view.dispatch(tr)\n\n this.#reset()\n }\n}\n","import type { Ctx } from '@milkdown/ctx'\nimport { linkTooltipAPI } from '../slices'\nimport { linkEditTooltip } from '../tooltips'\nimport { defIfNotExists } from '../../__internal__/helper'\nimport { LinkEditElement } from './edit-component'\nimport { LinkEditTooltip } from './edit-view'\n\ndefIfNotExists('milkdown-link-edit', LinkEditElement)\nexport function configureLinkEditTooltip(ctx: Ctx) {\n let linkEditTooltipView: LinkEditTooltip | null\n\n ctx.update(linkTooltipAPI.key, api => ({\n ...api,\n addLink: (from, to) => {\n linkEditTooltipView?.addLink(from, to)\n },\n editLink: (mark, from, to) => {\n linkEditTooltipView?.editLink(mark, from, to)\n },\n removeLink: (from, to) => {\n linkEditTooltipView?.removeLink(from, to)\n },\n }))\n\n ctx.set(linkEditTooltip.key, {\n view: (view) => {\n linkEditTooltipView = new LinkEditTooltip(ctx, view)\n return linkEditTooltipView\n },\n })\n}\n","import type { Ctx } from '@milkdown/ctx'\nimport { configureLinkPreviewTooltip } from './preview/preview-configure'\nimport { configureLinkEditTooltip } from './edit/edit-configure'\n\nexport function configureLinkTooltip(ctx: Ctx) {\n configureLinkPreviewTooltip(ctx)\n configureLinkEditTooltip(ctx)\n}\n","import type { MilkdownPlugin } from '@milkdown/ctx'\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from './slices'\nimport { linkEditTooltip, linkPreviewTooltip } from './tooltips'\n\nexport * from './slices'\nexport * from './configure'\nexport * from './tooltips'\n\nexport const linkTooltipPlugin: MilkdownPlugin[] = [linkTooltipState, linkTooltipAPI, linkTooltipConfig, linkPreviewTooltip, linkEditTooltip].flat()\n","import { configureLinkTooltip, linkTooltipConfig, linkTooltipPlugin } from '@milkdown/kit/component/link-tooltip'\nimport type { DefineFeature, Icon } from '../shared'\nimport { confirmIcon, editIcon, linkIcon, removeIcon } from '../../icons'\n\ninterface LinkTooltipConfig {\n linkIcon: Icon\n editButton: Icon\n removeButton: Icon\n confirmButton: Icon\n inputPlaceholder: string\n onCopyLink: (link: string) => void\n}\n\nexport type LinkTooltipFeatureConfig = Partial<LinkTooltipConfig>\n\nexport const defineFeature: DefineFeature<LinkTooltipFeatureConfig> = (editor, config) => {\n editor\n .config(configureLinkTooltip)\n .config((ctx) => {\n ctx.update(linkTooltipConfig.key, prev => ({\n ...prev,\n linkIcon: config?.linkIcon ?? (() => linkIcon),\n editButton: config?.editButton ?? (() => editIcon),\n removeButton: config?.removeButton ?? (() => removeIcon),\n confirmButton: config?.confirmButton ?? (() => confirmIcon),\n inputPlaceholder: config?.inputPlaceholder ?? 'Paste link...',\n onCopyLink: config?.onCopyLink ?? (() => {}),\n }))\n })\n .use(linkTooltipPlugin)\n}\n"],"names":["mark","e","_content","_provider","__privateAdd","__privateGet","__privateSet"],"mappings":"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"}
|