@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 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.37.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.17",
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.37.0"
28
+ "@meowdown/core": "0.38.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "react": "^19.0.0",