···5858 ) {
5959 if ((el as HTMLInputElement).value !== "" || e.key === "Tab") return;
6060 }
6161+ if (!AllowedIfTextBlock.includes(e.key) && isTextBlock[props.type])
6262+ return;
61636264 undoManager.startGroup();
6365 command?.({
···8688 setAreYouSure: (value: boolean) => void;
8789};
88909191+const AllowedIfTextBlock = ["Tab"];
9292+8993function Tab({ e, props, rep }: Args) {
9094 // if tab or shift tab, indent or outdent
9195 if (e.shiftKey) {
···101105 if (args.e.ctrlKey || args.e.metaKey) ArrowDown(args);
102106}
103107function ArrowDown({ e, props }: Args) {
104104- if (isTextBlock[props.type]) return;
105108 e.preventDefault();
106109 let nextBlock = props.nextBlock;
107110 if (nextBlock && useUIState.getState().selectedBlocks.length <= 1)
···116119 if (args.e.ctrlKey || args.e.metaKey) ArrowUp(args);
117120}
118121function ArrowUp({ e, props }: Args) {
119119- if (isTextBlock[props.type]) return;
120122 e.preventDefault();
121123 let prevBlock = props.previousBlock;
122124 if (prevBlock && useUIState.getState().selectedBlocks.length <= 1) {
···139141}: Args) {
140142 // if this is a textBlock, let the textBlock/keymap handle the backspace
141143 if (isLocked) return;
142142- if (isTextBlock[props.type]) return;
143144 // if its an input, label, or teatarea with content, do nothing (do the broswer default instead)
144145 let el = e.target as HTMLElement;
145146 if (
···189190}
190191191192async function Enter({ e, props, rep, entity_set }: Args) {
192192- if (isTextBlock[props.type]) return;
193193 let newEntityID = v7();
194194 let position;
195195 let el = e.target as HTMLElement;
···279279}
280280281281function Escape({ e, props, areYouSure, setAreYouSure }: Args) {
282282- if (isTextBlock[props.type]) return;
283282 e.preventDefault();
284283 if (areYouSure) {
285284 setAreYouSure(false);