Skip to content

Commit d0bf8d7

Browse files
Merge pull request #168 from 0101oak/oak/fix-sizeMeasurements-copy
copy paste for sizeMeasurements on windows is fixed
2 parents 0987bd3 + b96adec commit d0bf8d7

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/features/utilitty/removePossibilityToEnterSigns.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,30 @@ export const restrictNumericInput = (e: React.KeyboardEvent<HTMLInputElement>) =
66
const inputValue = inputElement.value;
77

88
const allowedControlKeys = [
9-
'Backspace',
10-
'ArrowUp',
11-
'ArrowDown',
12-
'ArrowLeft',
13-
'ArrowRight',
14-
'Control',
9+
'backspace',
10+
'arrowup',
11+
'arrowdown',
12+
'arrowleft',
13+
'arrowright',
14+
'control',
15+
'meta',
1516
'v',
1617
'c',
18+
'tab',
19+
'shift',
20+
'delete'
1721
];
1822

23+
// Convert key to lowercase for consistent checking
24+
const lowerKey = key.toLowerCase();
25+
26+
// Check if it's a copy/paste command (Windows: Ctrl, Mac: Command)
27+
const isCopyPaste = (e.ctrlKey || e.metaKey) && (lowerKey === 'c' || lowerKey === 'v');
28+
1929
if (
20-
(key === 'e' || key === 'E' || (isNaN(Number(key)) && key !== '.' && !allowedControlKeys.includes(key)))
21-
&& !(e.ctrlKey && (key === 'v' || key === 'c'))
30+
(lowerKey === 'e' ||
31+
(isNaN(Number(key)) && key !== '.' && !allowedControlKeys.includes(lowerKey)))
32+
&& !isCopyPaste
2233
) {
2334
e.preventDefault();
2435
}

0 commit comments

Comments
 (0)