Skip to content

Commit cfcee1c

Browse files
authored
FormTokenField: Revert to event.keyCode to fix IME composition issue (#45703)
1 parent 048db5f commit cfcee1c

File tree

2 files changed

+188
-83
lines changed

2 files changed

+188
-83
lines changed

packages/components/src/form-token-field/index.tsx

+21-10
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ import { useEffect, useRef, useState } from '@wordpress/element';
1111
import { __, _n, sprintf } from '@wordpress/i18n';
1212
import { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';
1313
import { speak } from '@wordpress/a11y';
14+
import {
15+
BACKSPACE,
16+
ENTER,
17+
UP,
18+
DOWN,
19+
LEFT,
20+
RIGHT,
21+
SPACE,
22+
DELETE,
23+
ESCAPE,
24+
} from '@wordpress/keycodes';
1425
import isShallowEqual from '@wordpress/is-shallow-equal';
1526

1627
/**
@@ -172,34 +183,34 @@ export function FormTokenField( props: FormTokenFieldProps ) {
172183
if ( event.defaultPrevented ) {
173184
return;
174185
}
175-
switch ( event.code ) {
176-
case 'Backspace':
186+
switch ( event.keyCode ) {
187+
case BACKSPACE:
177188
preventDefault = handleDeleteKey( deleteTokenBeforeInput );
178189
break;
179-
case 'Enter':
190+
case ENTER:
180191
preventDefault = addCurrentToken();
181192
break;
182-
case 'ArrowLeft':
193+
case LEFT:
183194
preventDefault = handleLeftArrowKey();
184195
break;
185-
case 'ArrowUp':
196+
case UP:
186197
preventDefault = handleUpArrowKey();
187198
break;
188-
case 'ArrowRight':
199+
case RIGHT:
189200
preventDefault = handleRightArrowKey();
190201
break;
191-
case 'ArrowDown':
202+
case DOWN:
192203
preventDefault = handleDownArrowKey();
193204
break;
194-
case 'Delete':
205+
case DELETE:
195206
preventDefault = handleDeleteKey( deleteTokenAfterInput );
196207
break;
197-
case 'Space':
208+
case SPACE:
198209
if ( tokenizeOnSpace ) {
199210
preventDefault = addCurrentToken();
200211
}
201212
break;
202-
case 'Escape':
213+
case ESCAPE:
203214
preventDefault = handleEscapeKey( event );
204215
break;
205216
default:

0 commit comments

Comments
 (0)