@meowdown/react 0.29.2 → 0.30.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/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { clsx } from "clsx/lite";
2
2
  import { Fragment, createElement, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
3
- import { codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, isSelectionInTableCell, listenForTweetHeight, markdownToDoc, matchEmbed } from "@meowdown/core";
3
+ import { codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, isSelectionInTableCell, listenForTweetHeight, markdownToDoc, matchEmbed } from "@meowdown/core";
4
4
  import { clamp } from "@ocavue/utils";
5
5
  import { canUseRegexLookbehind, createEditor, defineDocChangeHandler, union } from "@prosekit/core";
6
6
  import { Selection, TextSelection } from "@prosekit/pm/state";
@@ -216,7 +216,7 @@ function DropIndicator$1() {
216
216
 
217
217
  //#endregion
218
218
  //#region src/components/editor-extensions.tsx
219
- function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, onImagePaste, onImageSaveError, onImageClick, embedPaste, bulletAfterHeading, placeholder, readOnly, wikilinkEnabled }) {
219
+ function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick, onTagClick, onExitBoundary, resolveImageUrl, onImagePaste, onImageSaveError, onImageClick, embedPaste, bulletAfterHeading, placeholder, readOnly, wikilinkEnabled, spellCheck }) {
220
220
  useExtension$1(useMemo(() => {
221
221
  return defineMarkMode(markMode);
222
222
  }, [markMode]));
@@ -255,8 +255,12 @@ function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick,
255
255
  useExtension$1(useMemo(() => {
256
256
  return embedPaste ? defineEmbedPaste() : null;
257
257
  }, [embedPaste]));
258
- useExtension$1(useMemo(() => defineHTMLPaste(), []));
259
- useExtension$1(useMemo(() => defineMarkdownCopy(), []));
258
+ useExtension$1(useMemo(() => {
259
+ return defineHTMLPaste();
260
+ }, []));
261
+ useExtension$1(useMemo(() => {
262
+ return defineMarkdownCopy();
263
+ }, []));
260
264
  useExtension$1(useMemo(() => {
261
265
  return bulletAfterHeading ? defineBulletAfterHeading() : null;
262
266
  }, [bulletAfterHeading]));
@@ -269,6 +273,9 @@ function EditorExtensions({ markMode, onDocChange, onWikilinkClick, onLinkClick,
269
273
  useExtension$1(useMemo(() => {
270
274
  return wikilinkEnabled ? defineWikilinkTrigger() : null;
271
275
  }, [wikilinkEnabled]));
276
+ useExtension$1(useMemo(() => {
277
+ return spellCheck == null ? null : defineSpellCheckPlugin(spellCheck);
278
+ }, [spellCheck]));
272
279
  return null;
273
280
  }
274
281
 
@@ -1044,7 +1051,6 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onTa
1044
1051
  children: [
1045
1052
  /* @__PURE__ */ jsx("div", {
1046
1053
  ref: editor.mount,
1047
- spellCheck,
1048
1054
  className: clsx("meowdown-content", editorClassName)
1049
1055
  }),
1050
1056
  /* @__PURE__ */ jsx(EditorExtensions, {
@@ -1062,7 +1068,8 @@ function ProseKitEditor({ markMode = "focus", initialMarkdown, onDocChange, onTa
1062
1068
  bulletAfterHeading,
1063
1069
  placeholder,
1064
1070
  readOnly,
1065
- wikilinkEnabled: !!onWikilinkSearch
1071
+ wikilinkEnabled: !!onWikilinkSearch,
1072
+ spellCheck
1066
1073
  }),
1067
1074
  blockHandle && !readOnly && /* @__PURE__ */ jsx(BlockHandle, {}),
1068
1075
  !readOnly && /* @__PURE__ */ jsx(TableHandle, {}),
package/dist/style.css CHANGED
@@ -24,10 +24,10 @@
24
24
  .meow_Trigger_D3j_9q {
25
25
  box-sizing: border-box;
26
26
  border: 1px solid var(--meowdown-border);
27
+ background: var(--meowdown-popover-bg);
27
28
  height: 1.6rem;
28
29
  color: var(--meowdown-muted);
29
30
  cursor: pointer;
30
- background: light-dark(#fff, #27272a);
31
31
  border-radius: .35rem;
32
32
  align-items: center;
33
33
  gap: .25rem;
@@ -55,11 +55,11 @@
55
55
  .meow_CopyButton_D3j_9q {
56
56
  box-sizing: border-box;
57
57
  border: 1px solid var(--meowdown-border);
58
+ background: var(--meowdown-popover-bg);
58
59
  width: 1.6rem;
59
60
  height: 1.6rem;
60
61
  color: var(--meowdown-muted);
61
62
  cursor: pointer;
62
- background: light-dark(#fff, #27272a);
63
63
  border-radius: .35rem;
64
64
  justify-content: center;
65
65
  align-items: center;
@@ -90,10 +90,10 @@
90
90
  box-sizing: border-box;
91
91
  max-height: min(var(--available-height), 18rem);
92
92
  border: 1px solid var(--meowdown-border);
93
+ background: var(--meowdown-popover-bg);
93
94
  width: 14rem;
94
95
  color: var(--meowdown-text);
95
96
  transform-origin: var(--transform-origin);
96
- background: light-dark(#fff, #27272a);
97
97
  border-radius: .5rem;
98
98
  flex-direction: column;
99
99
  font-family: ui-sans-serif, system-ui, sans-serif;
@@ -240,7 +240,7 @@
240
240
  display: flex;
241
241
 
242
242
  &:hover {
243
- background: light-dark(#f4f4f5, #27272a);
243
+ background: var(--meowdown-popover-hover-bg);
244
244
  }
245
245
 
246
246
  & svg {
@@ -264,7 +264,7 @@
264
264
  .meow_Popup_IjcqKG {
265
265
  box-sizing: border-box;
266
266
  border: 1px solid var(--meowdown-border);
267
- background: var(--meowdown-link-popover-bg, light-dark(#fff, #18181b));
267
+ background: var(--meowdown-popover-bg);
268
268
  border-radius: .75rem;
269
269
  flex-direction: column;
270
270
  width: 100%;
@@ -302,7 +302,7 @@
302
302
  display: inline-flex;
303
303
 
304
304
  &:hover {
305
- background: var(--meowdown-link-popover-hover-bg, light-dark(#f4f4f5, #27272a));
305
+ background: var(--meowdown-popover-hover-bg);
306
306
  }
307
307
 
308
308
  & svg {
@@ -358,8 +358,7 @@
358
358
  white-space: nowrap;
359
359
  user-select: none;
360
360
  border: 1px solid var(--meowdown-border);
361
- background: #fff;
362
- background: var(--meowdown-autocomplete-bg, light-dark(#fff, #18181b));
361
+ background: var(--meowdown-popover-bg);
363
362
  border-radius: .75rem;
364
363
  flex-direction: column;
365
364
  width: 100%;
@@ -393,8 +392,7 @@
393
392
  }
394
393
 
395
394
  &[data-highlighted] {
396
- background: #f4f4f5;
397
- background: var(--meowdown-autocomplete-highlight-bg, light-dark(#f4f4f5, #27272a));
395
+ background: var(--meowdown-popover-hover-bg);
398
396
  }
399
397
 
400
398
  & kbd {
@@ -465,9 +463,9 @@
465
463
  .meow_Trigger_hpZLgq {
466
464
  box-sizing: border-box;
467
465
  border: 1px solid var(--meowdown-border);
466
+ background: var(--meowdown-popover-bg);
468
467
  color: color-mix(in oklab, var(--meowdown-muted) 50%, transparent);
469
468
  cursor: grab;
470
- background: light-dark(#fff, #18181b);
471
469
  border-radius: .25rem;
472
470
  outline: none;
473
471
  justify-content: center;
@@ -478,7 +476,7 @@
478
476
  overflow: clip;
479
477
 
480
478
  &:hover {
481
- background: light-dark(#f4f4f5, #27272a);
479
+ background: var(--meowdown-popover-hover-bg);
482
480
  }
483
481
 
484
482
  & svg {
@@ -494,10 +492,10 @@
494
492
  white-space: nowrap;
495
493
  user-select: none;
496
494
  border: 1px solid var(--meowdown-border);
495
+ background: var(--meowdown-popover-bg);
497
496
  min-width: 8rem;
498
497
  max-height: 25rem;
499
498
  transform-origin: var(--transform-origin);
500
- background: light-dark(#fff, #18181b);
501
499
  border-radius: .75rem;
502
500
  outline: none;
503
501
  flex-direction: column;
@@ -540,11 +538,11 @@
540
538
  display: flex;
541
539
 
542
540
  &[data-highlighted] {
543
- background: light-dark(#f4f4f5, #27272a);
541
+ background: var(--meowdown-popover-hover-bg);
544
542
  }
545
543
 
546
544
  &[data-danger] {
547
- color: light-dark(#ef4444, #f87171);
545
+ color: var(--meowdown-danger);
548
546
  }
549
547
 
550
548
  &[data-disabled="true"] {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meowdown/react",
3
3
  "type": "module",
4
- "version": "0.29.2",
4
+ "version": "0.30.1",
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.4",
24
24
  "@prosekit/pm": "^0.1.19-beta.1",
25
- "@prosekit/react": "^0.8.0-beta.14",
25
+ "@prosekit/react": "^0.8.0-beta.15",
26
26
  "clsx": "^2.1.1",
27
27
  "lucide-react": "^1.21.0",
28
- "@meowdown/core": "0.29.2"
28
+ "@meowdown/core": "0.30.1"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "react": "^19.0.0",