@meowdown/react 0.47.0 → 0.48.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 -1
- package/dist/index.js +9 -4
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -333,6 +333,11 @@ interface EditorProps {
|
|
|
333
333
|
* Off by default.
|
|
334
334
|
*/
|
|
335
335
|
bulletAfterHeading?: boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Replaces typed character sequences with their typographic equivalents,
|
|
338
|
+
* e.g. `->` with `→` and `(c)` with `©`. On by default.
|
|
339
|
+
*/
|
|
340
|
+
substitution?: boolean;
|
|
336
341
|
/** Handles a leading `---` frontmatter block (off by default). */
|
|
337
342
|
frontmatter?: boolean;
|
|
338
343
|
/**
|
|
@@ -369,7 +374,7 @@ interface EditorProps {
|
|
|
369
374
|
/** Nodes rendered inside the editor's ProseKit context. */
|
|
370
375
|
children?: ReactNode;
|
|
371
376
|
}
|
|
372
|
-
declare function MeowdownEditor({ mode, initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, frontmatter, blockHandle, placeholder, readOnly, spellCheck, timeFormat, editorClassName, wrapperClassName, handleRef, children }: EditorProps): import("react").JSX.Element;
|
|
377
|
+
declare function MeowdownEditor({ mode, initialMarkdown, onDocChange, onSlashMenuSearch, onTagSearch, onWikilinkSearch, onSelectionMenuSearch, selectionMenuAffordance, pendingReplacementActions, onPendingReplacementResolve, onWikilinkClick, onLinkClick, onLinkCopy, onTagClick, onExitBoundary, resolveImageUrl, resolveFileLink, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, substitution, frontmatter, blockHandle, placeholder, readOnly, spellCheck, timeFormat, editorClassName, wrapperClassName, handleRef, children }: EditorProps): import("react").JSX.Element;
|
|
373
378
|
//#endregion
|
|
374
379
|
//#region src/components/markdown-view.d.ts
|
|
375
380
|
/** Payload for {@link TaskClickHandler}. */
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { clsx } from "clsx/lite";
|
|
2
2
|
import { Fragment, cloneElement, createElement, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
|
-
import { buildFileMarkdown, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkHoverHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getMarkBuilders, getPendingReplacement, getSelectedText, getTableColumnAlign, getVirtualElementFromRange, inlineTextToMarkChunks, isCodeBlockPreviewHiddenDecoration, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, renderMathInto } from "@meowdown/core";
|
|
3
|
+
import { buildFileMarkdown, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineSubstitution, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkHoverHandler, 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";
|
|
@@ -295,7 +295,7 @@ function DropIndicator$1() {
|
|
|
295
295
|
|
|
296
296
|
//#endregion
|
|
297
297
|
//#region src/components/editor-extensions.tsx
|
|
298
|
-
function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, placeholder, readOnly, wikilinkEnabled, spellCheck }) {
|
|
298
|
+
function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, resolveFileInfo, onFileClick, onFilePaste, onFileSaveError, onImageClick, embedPaste, linkPaste, bulletAfterHeading, substitution, placeholder, readOnly, wikilinkEnabled, spellCheck }) {
|
|
299
299
|
const editor = useEditor$1();
|
|
300
300
|
useEffect(() => {
|
|
301
301
|
editor.commands.setMarkMode(markMode);
|
|
@@ -358,6 +358,9 @@ function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick,
|
|
|
358
358
|
useExtension$1(useMemo(() => {
|
|
359
359
|
return bulletAfterHeading ? defineBulletAfterHeading() : null;
|
|
360
360
|
}, [bulletAfterHeading]));
|
|
361
|
+
useExtension$1(useMemo(() => {
|
|
362
|
+
return substitution ? defineSubstitution() : null;
|
|
363
|
+
}, [substitution]));
|
|
361
364
|
useExtension$1(useMemo(() => {
|
|
362
365
|
return placeholder ? definePlaceholder({
|
|
363
366
|
placeholder,
|
|
@@ -1542,7 +1545,7 @@ function resolveSelection(doc, selection) {
|
|
|
1542
1545
|
return TextSelection.between(doc.resolve(anchor), doc.resolve(head));
|
|
1543
1546
|
}
|
|
1544
1547
|
}
|
|
1545
|
-
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 }) {
|
|
1548
|
+
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, substitution = true, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, ref, children }) {
|
|
1546
1549
|
const [editor] = useState(() => {
|
|
1547
1550
|
const editor = createEditor({ extension: union(defineEditorExtension({
|
|
1548
1551
|
resolveFileLink,
|
|
@@ -1687,6 +1690,7 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSl
|
|
|
1687
1690
|
embedPaste,
|
|
1688
1691
|
linkPaste,
|
|
1689
1692
|
bulletAfterHeading,
|
|
1693
|
+
substitution,
|
|
1690
1694
|
placeholder,
|
|
1691
1695
|
readOnly,
|
|
1692
1696
|
wikilinkEnabled: !!onWikilinkSearch,
|
|
@@ -1725,7 +1729,7 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onSl
|
|
|
1725
1729
|
|
|
1726
1730
|
//#endregion
|
|
1727
1731
|
//#region src/components/editor.tsx
|
|
1728
|
-
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 }) {
|
|
1732
|
+
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, substitution = true, frontmatter = false, blockHandle = true, placeholder, readOnly, spellCheck, timeFormat, editorClassName, wrapperClassName, handleRef, children }) {
|
|
1729
1733
|
const childRef = useRef(null);
|
|
1730
1734
|
useImperativeHandle(handleRef, () => {
|
|
1731
1735
|
function getMarkdown() {
|
|
@@ -1831,6 +1835,7 @@ function MeowdownEditor({ mode = "focus", initialMarkdown, onDocChange, onSlashM
|
|
|
1831
1835
|
embedPaste,
|
|
1832
1836
|
linkPaste,
|
|
1833
1837
|
bulletAfterHeading,
|
|
1838
|
+
substitution,
|
|
1834
1839
|
frontmatter,
|
|
1835
1840
|
blockHandle,
|
|
1836
1841
|
placeholder,
|
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.48.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@prosekit/pm": "^0.1.19-beta.3",
|
|
25
25
|
"@prosekit/react": "^0.8.0-beta.21",
|
|
26
26
|
"clsx": "^2.1.1",
|
|
27
|
-
"lucide-react": "^1.
|
|
27
|
+
"lucide-react": "^1.24.0",
|
|
28
28
|
"react-property": "^2.0.2",
|
|
29
|
-
"@meowdown/core": "0.
|
|
29
|
+
"@meowdown/core": "0.48.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": "^19.0.0",
|
|
@@ -41,17 +41,17 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@css-modules-kit/codegen": "^1.
|
|
44
|
+
"@css-modules-kit/codegen": "^1.4.0",
|
|
45
45
|
"@ocavue/tsconfig": "^0.7.1",
|
|
46
|
-
"@tsdown/css": "^0.22.
|
|
46
|
+
"@tsdown/css": "^0.22.7",
|
|
47
47
|
"@types/react": "^19.2.17",
|
|
48
48
|
"@types/react-dom": "^19.2.3",
|
|
49
|
-
"@vitest/browser-playwright": "^4.1.
|
|
49
|
+
"@vitest/browser-playwright": "^4.1.10",
|
|
50
50
|
"dedent": "^1.7.2",
|
|
51
51
|
"react": "^19.2.7",
|
|
52
52
|
"react-dom": "^19.2.7",
|
|
53
|
-
"tsdown": "^0.22.
|
|
54
|
-
"vitest": "^4.1.
|
|
53
|
+
"tsdown": "^0.22.7",
|
|
54
|
+
"vitest": "^4.1.10",
|
|
55
55
|
"vitest-browser-commands": "^0.2.1",
|
|
56
56
|
"vitest-browser-react": "^2.2.0",
|
|
57
57
|
"@meowdown/vitest": "0.0.0"
|