Skip to content

Commit 75018b4

Browse files
authored
Merge pull request #3500 from yf-yang/add-composing
fix: support composition event in placeholder
2 parents d4d18e9 + 3e7a508 commit 75018b4

File tree

5 files changed

+100
-71
lines changed

5 files changed

+100
-71
lines changed

.changeset/orange-months-sort.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@udecode/plate-utils': patch
3+
---
4+
5+
Hide placeholder during composition

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146
"slate": "0.103.0",
147147
"slate-history": "0.100.0",
148148
"slate-hyperscript": "0.100.0",
149-
"slate-react": "0.108.0",
149+
"slate-react": "0.110.0",
150150
"slate-test-utils": "1.3.2",
151151
"tailwindcss": "^3.4.1",
152152
"ts-jest": "^29.1.2",

packages/plate-utils/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"slate": ">=0.103.0",
6666
"slate-history": ">=0.93.0",
6767
"slate-hyperscript": ">=0.66.0",
68-
"slate-react": ">=0.108.0"
68+
"slate-react": ">=0.110.0"
6969
},
7070
"publishConfig": {
7171
"access": "public"

packages/plate-utils/src/react/usePlaceholder.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
queryNode,
77
} from '@udecode/slate';
88
import { findNodePath } from '@udecode/slate-react';
9-
import { useFocused, useSelected } from 'slate-react';
9+
import { useComposing, useFocused, useSelected } from 'slate-react';
1010

1111
import type { PlateElementProps } from './PlateElement';
1212

@@ -23,6 +23,7 @@ export const usePlaceholderState = ({
2323
}: PlaceholderProps) => {
2424
const focused = useFocused();
2525
const selected = useSelected();
26+
const composing = useComposing();
2627
const editor = useEditorRef();
2728

2829
const isEmptyBlock = isElementEmpty(editor, element);
@@ -31,7 +32,11 @@ export const usePlaceholderState = ({
3132
isEmptyBlock &&
3233
(!query || queryNode([element, findNodePath(editor, element)!], query)) &&
3334
(!hideOnBlur ||
34-
(isCollapsed(editor.selection) && hideOnBlur && focused && selected));
35+
(isCollapsed(editor.selection) &&
36+
hideOnBlur &&
37+
focused &&
38+
selected &&
39+
!composing));
3540

3641
return {
3742
enabled,

0 commit comments

Comments
 (0)