pixel-react 1.18.9 → 1.18.10

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.
@@ -4,8 +4,15 @@ const EditableCell = React.forwardRef(({ initialValue = '', onChange, className
4
4
  const cellRef = useRef(null);
5
5
  React.useImperativeHandle(ref, () => cellRef.current);
6
6
  useEffect(() => {
7
- if (cellRef.current && initialValue !== cellRef.current.innerText) {
8
- cellRef.current.innerText = initialValue;
7
+ if (cellRef.current && document.activeElement !== cellRef.current) {
8
+ // We add a 'buffer' newline if the value ends in \n to force the
9
+ // browser to render the second line for the cursor.
10
+ const displayValue = initialValue.endsWith('\n')
11
+ ? `${initialValue}\n`
12
+ : initialValue;
13
+ if (displayValue !== cellRef.current.innerText) {
14
+ cellRef.current.innerText = displayValue;
15
+ }
9
16
  }
10
17
  }, [initialValue]);
11
18
  const defaultStyle = {
@@ -25,42 +32,33 @@ const EditableCell = React.forwardRef(({ initialValue = '', onChange, className
25
32
  position: 'relative',
26
33
  paddingBottom: '2px',
27
34
  };
35
+ const handleInput = () => {
36
+ if (cellRef.current) {
37
+ let newValue = cellRef.current.innerText;
38
+ // Strip the browser's layout newline before sending back to parent
39
+ if (newValue.endsWith('\n')) {
40
+ newValue = newValue.slice(0, -1);
41
+ }
42
+ onChange?.(newValue);
43
+ }
44
+ };
28
45
  const handleKeyDown = (e) => {
29
46
  if (e.key === 'Enter') {
30
47
  if (e.altKey || e.shiftKey) {
31
48
  e.preventDefault();
32
49
  document.execCommand('insertLineBreak');
33
- handleInput();
34
50
  return;
35
51
  }
36
52
  cellRef.current?.blur();
37
53
  }
38
54
  if (e.key === 'Delete' || e.key === 'Backspace') {
39
55
  e.stopPropagation();
40
- return;
41
- }
42
- };
43
- const handleInput = () => {
44
- if (cellRef.current) {
45
- const newValue = cellRef.current.innerText;
46
- onChange?.(newValue);
47
56
  }
48
57
  };
49
58
  const handlePaste = (e) => {
50
59
  e.preventDefault();
51
60
  const text = e.clipboardData.getData('text/plain');
52
- const selection = window.getSelection();
53
- if (!selection || !selection.rangeCount)
54
- return;
55
- const range = selection.getRangeAt(0);
56
- range.deleteContents();
57
- const textNode = document.createTextNode(text);
58
- range.insertNode(textNode);
59
- range.setStartAfter(textNode);
60
- range.collapse(true);
61
- selection.removeAllRanges();
62
- selection.addRange(range);
63
- handleInput();
61
+ document.execCommand('insertText', false, text);
64
62
  };
65
63
  return (_jsx("div", { style: style, children: _jsx("div", { ref: cellRef, className: `editable-cell ${className}`, contentEditable: true, suppressContentEditableWarning: true, onKeyDown: handleKeyDown, onInput: handleInput, onPaste: handlePaste, spellCheck: false, autoCorrect: "off", autoCapitalize: "off", style: defaultStyle }) }));
66
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCell.js","sourceRoot":"","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditableCell.js","sourceRoot":"","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.tsx"],"names":[],"mappings":"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"}