@meowdown/react 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -0
- package/dist/index.js +9 -4
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -318,6 +318,11 @@ interface EditorProps {
|
|
|
318
318
|
* the embed back into the raw link. On by default.
|
|
319
319
|
*/
|
|
320
320
|
embedPaste?: boolean;
|
|
321
|
+
/**
|
|
322
|
+
* Pasting a URL over selected text wraps the selection as a Markdown link
|
|
323
|
+
* `[selected text](url)`; one undo restores the plain text. On by default.
|
|
324
|
+
*/
|
|
325
|
+
linkPaste?: boolean;
|
|
321
326
|
/**
|
|
322
327
|
* Pressing Enter at the end of the document's first heading (the title line)
|
|
323
328
|
* starts a fresh empty bullet on the next line instead of a plain paragraph.
|
|
@@ -384,6 +389,7 @@ declare function MeowdownEditor({
|
|
|
384
389
|
onFileSaveError,
|
|
385
390
|
onImageClick,
|
|
386
391
|
embedPaste,
|
|
392
|
+
linkPaste,
|
|
387
393
|
bulletAfterHeading,
|
|
388
394
|
frontmatter,
|
|
389
395
|
blockHandle,
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { clsx } from "clsx/lite";
|
|
2
2
|
import { Fragment, createElement, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
|
-
import { codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkdownCopy, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getMarkBuilders, getPendingReplacement, getSelectedText, getTableColumnAlign, getVirtualElementFromRange, inlineTextToMarkChunks, isCodeBlockPreviewHiddenDecoration, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, renderMathInto } from "@meowdown/core";
|
|
3
|
+
import { codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, defineMarkdownCopy, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getMarkBuilders, getPendingReplacement, getSelectedText, getTableColumnAlign, getVirtualElementFromRange, inlineTextToMarkChunks, isCodeBlockPreviewHiddenDecoration, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, renderMathInto } from "@meowdown/core";
|
|
4
4
|
import { clamp } from "@ocavue/utils";
|
|
5
5
|
import { canUseRegexLookbehind, createEditor, defineDocChangeHandler, defineUpdateHandler, isTextSelection, union } from "@prosekit/core";
|
|
6
6
|
import { Selection, TextSelection } from "@prosekit/pm/state";
|
|
@@ -293,7 +293,7 @@ function DropIndicator$1() {
|
|
|
293
293
|
|
|
294
294
|
//#endregion
|
|
295
295
|
//#region src/components/editor-extensions.tsx
|
|
296
|
-
function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, bulletAfterHeading, placeholder, readOnly, wikilinkEnabled, spellCheck }) {
|
|
296
|
+
function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, placeholder, readOnly, wikilinkEnabled, spellCheck }) {
|
|
297
297
|
const editor = useEditor$1();
|
|
298
298
|
useEffect(() => {
|
|
299
299
|
editor.commands.setMarkMode(markMode);
|
|
@@ -350,6 +350,9 @@ function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick,
|
|
|
350
350
|
useExtension$1(useMemo(() => {
|
|
351
351
|
return embedPaste ? defineEmbedPaste() : null;
|
|
352
352
|
}, [embedPaste]));
|
|
353
|
+
useExtension$1(useMemo(() => {
|
|
354
|
+
return linkPaste ? defineLinkPaste() : null;
|
|
355
|
+
}, [linkPaste]));
|
|
353
356
|
useExtension$1(useMemo(() => {
|
|
354
357
|
return defineHTMLPaste();
|
|
355
358
|
}, []));
|
|
@@ -1486,7 +1489,7 @@ function resolveSelection(doc, selection) {
|
|
|
1486
1489
|
return TextSelection.between(doc.resolve(anchor), doc.resolve(head));
|
|
1487
1490
|
}
|
|
1488
1491
|
}
|
|
1489
|
-
function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance = true, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, bulletAfterHeading, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, ref, children }) {
|
|
1492
|
+
function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance = true, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, ref, children }) {
|
|
1490
1493
|
const [editor] = useState(() => {
|
|
1491
1494
|
const editor = createEditor({ extension: union(defineEditorExtension({
|
|
1492
1495
|
resolveFileLink,
|
|
@@ -1628,6 +1631,7 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSl
|
|
|
1628
1631
|
onFileSaveError,
|
|
1629
1632
|
onImageClick,
|
|
1630
1633
|
embedPaste,
|
|
1634
|
+
linkPaste,
|
|
1631
1635
|
bulletAfterHeading,
|
|
1632
1636
|
placeholder,
|
|
1633
1637
|
readOnly,
|
|
@@ -1665,7 +1669,7 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSl
|
|
|
1665
1669
|
|
|
1666
1670
|
//#endregion
|
|
1667
1671
|
//#region src/components/editor.tsx
|
|
1668
|
-
function MeowdownEditor({ mode = "focus", initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance = true, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste = true, bulletAfterHeading = false, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, wrapperClassName, handleRef, children }) {
|
|
1672
|
+
function MeowdownEditor({ mode = "focus", initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance = true, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste = true, linkPaste = true, bulletAfterHeading = false, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, wrapperClassName, handleRef, children }) {
|
|
1669
1673
|
const childRef = useRef(null);
|
|
1670
1674
|
useImperativeHandle(handleRef, () => {
|
|
1671
1675
|
function getMarkdown() {
|
|
@@ -1769,6 +1773,7 @@ function MeowdownEditor({ mode = "focus", initialMarkdown, onDocChange, onSlashM
|
|
|
1769
1773
|
onFileSaveError,
|
|
1770
1774
|
onImageClick,
|
|
1771
1775
|
embedPaste,
|
|
1776
|
+
linkPaste,
|
|
1772
1777
|
bulletAfterHeading,
|
|
1773
1778
|
frontmatter,
|
|
1774
1779
|
blockHandle,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meowdown/react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.38.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"@ocavue/utils": "^1.7.0",
|
|
23
23
|
"@prosekit/core": "^0.13.0-beta.5",
|
|
24
24
|
"@prosekit/pm": "^0.1.19-beta.2",
|
|
25
|
-
"@prosekit/react": "^0.8.0-beta.
|
|
25
|
+
"@prosekit/react": "^0.8.0-beta.19",
|
|
26
26
|
"clsx": "^2.1.1",
|
|
27
27
|
"lucide-react": "^1.21.0",
|
|
28
|
-
"@meowdown/core": "0.
|
|
28
|
+
"@meowdown/core": "0.38.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"react": "^19.0.0",
|