import { memo, useCallback, useLayoutEffect, useRef, useState } from 'react'; import MultiLineCell from './MultiLineCell'; import SingleLineCell from './SingleLineCell'; import TextLikeInput from './TextLikeInput'; interface EditableCellProps { initialValue: string; multiline?: boolean; fieldId?: string; fieldLabel?: string; handleUpdate: (newValue: string) => void; } interface FocusableEditor { focus: () => void; select?: () => void; } interface FocusableDisplay { focusParentElement: () => void; } /** * Lazily mounts the text editor for a cell. * * Mounting an ``/`