]> BookStack Code Mirror - bookstack/blob - resources/js/wysiwyg/lexical/core/LexicalCommands.ts
Lexical: Imported core lexical libs
[bookstack] / resources / js / wysiwyg / lexical / core / LexicalCommands.ts
1 /**
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  *
7  */
8
9 import type {
10   BaseSelection,
11   ElementFormatType,
12   LexicalCommand,
13   LexicalNode,
14   TextFormatType,
15 } from 'lexical';
16
17 export type PasteCommandType = ClipboardEvent | InputEvent | KeyboardEvent;
18
19 export function createCommand<T>(type?: string): LexicalCommand<T> {
20   return __DEV__ ? {type} : {};
21 }
22
23 export const SELECTION_CHANGE_COMMAND: LexicalCommand<void> = createCommand(
24   'SELECTION_CHANGE_COMMAND',
25 );
26 export const SELECTION_INSERT_CLIPBOARD_NODES_COMMAND: LexicalCommand<{
27   nodes: Array<LexicalNode>;
28   selection: BaseSelection;
29 }> = createCommand('SELECTION_INSERT_CLIPBOARD_NODES_COMMAND');
30 export const CLICK_COMMAND: LexicalCommand<MouseEvent> =
31   createCommand('CLICK_COMMAND');
32 export const DELETE_CHARACTER_COMMAND: LexicalCommand<boolean> = createCommand(
33   'DELETE_CHARACTER_COMMAND',
34 );
35 export const INSERT_LINE_BREAK_COMMAND: LexicalCommand<boolean> = createCommand(
36   'INSERT_LINE_BREAK_COMMAND',
37 );
38 export const INSERT_PARAGRAPH_COMMAND: LexicalCommand<void> = createCommand(
39   'INSERT_PARAGRAPH_COMMAND',
40 );
41 export const CONTROLLED_TEXT_INSERTION_COMMAND: LexicalCommand<
42   InputEvent | string
43 > = createCommand('CONTROLLED_TEXT_INSERTION_COMMAND');
44 export const PASTE_COMMAND: LexicalCommand<PasteCommandType> =
45   createCommand('PASTE_COMMAND');
46 export const REMOVE_TEXT_COMMAND: LexicalCommand<InputEvent | null> =
47   createCommand('REMOVE_TEXT_COMMAND');
48 export const DELETE_WORD_COMMAND: LexicalCommand<boolean> = createCommand(
49   'DELETE_WORD_COMMAND',
50 );
51 export const DELETE_LINE_COMMAND: LexicalCommand<boolean> = createCommand(
52   'DELETE_LINE_COMMAND',
53 );
54 export const FORMAT_TEXT_COMMAND: LexicalCommand<TextFormatType> =
55   createCommand('FORMAT_TEXT_COMMAND');
56 export const UNDO_COMMAND: LexicalCommand<void> = createCommand('UNDO_COMMAND');
57 export const REDO_COMMAND: LexicalCommand<void> = createCommand('REDO_COMMAND');
58 export const KEY_DOWN_COMMAND: LexicalCommand<KeyboardEvent> =
59   createCommand('KEYDOWN_COMMAND');
60 export const KEY_ARROW_RIGHT_COMMAND: LexicalCommand<KeyboardEvent> =
61   createCommand('KEY_ARROW_RIGHT_COMMAND');
62 export const MOVE_TO_END: LexicalCommand<KeyboardEvent> =
63   createCommand('MOVE_TO_END');
64 export const KEY_ARROW_LEFT_COMMAND: LexicalCommand<KeyboardEvent> =
65   createCommand('KEY_ARROW_LEFT_COMMAND');
66 export const MOVE_TO_START: LexicalCommand<KeyboardEvent> =
67   createCommand('MOVE_TO_START');
68 export const KEY_ARROW_UP_COMMAND: LexicalCommand<KeyboardEvent> =
69   createCommand('KEY_ARROW_UP_COMMAND');
70 export const KEY_ARROW_DOWN_COMMAND: LexicalCommand<KeyboardEvent> =
71   createCommand('KEY_ARROW_DOWN_COMMAND');
72 export const KEY_ENTER_COMMAND: LexicalCommand<KeyboardEvent | null> =
73   createCommand('KEY_ENTER_COMMAND');
74 export const KEY_SPACE_COMMAND: LexicalCommand<KeyboardEvent> =
75   createCommand('KEY_SPACE_COMMAND');
76 export const KEY_BACKSPACE_COMMAND: LexicalCommand<KeyboardEvent> =
77   createCommand('KEY_BACKSPACE_COMMAND');
78 export const KEY_ESCAPE_COMMAND: LexicalCommand<KeyboardEvent> =
79   createCommand('KEY_ESCAPE_COMMAND');
80 export const KEY_DELETE_COMMAND: LexicalCommand<KeyboardEvent> =
81   createCommand('KEY_DELETE_COMMAND');
82 export const KEY_TAB_COMMAND: LexicalCommand<KeyboardEvent> =
83   createCommand('KEY_TAB_COMMAND');
84 export const INSERT_TAB_COMMAND: LexicalCommand<void> =
85   createCommand('INSERT_TAB_COMMAND');
86 export const INDENT_CONTENT_COMMAND: LexicalCommand<void> = createCommand(
87   'INDENT_CONTENT_COMMAND',
88 );
89 export const OUTDENT_CONTENT_COMMAND: LexicalCommand<void> = createCommand(
90   'OUTDENT_CONTENT_COMMAND',
91 );
92 export const DROP_COMMAND: LexicalCommand<DragEvent> =
93   createCommand('DROP_COMMAND');
94 export const FORMAT_ELEMENT_COMMAND: LexicalCommand<ElementFormatType> =
95   createCommand('FORMAT_ELEMENT_COMMAND');
96 export const DRAGSTART_COMMAND: LexicalCommand<DragEvent> =
97   createCommand('DRAGSTART_COMMAND');
98 export const DRAGOVER_COMMAND: LexicalCommand<DragEvent> =
99   createCommand('DRAGOVER_COMMAND');
100 export const DRAGEND_COMMAND: LexicalCommand<DragEvent> =
101   createCommand('DRAGEND_COMMAND');
102 export const COPY_COMMAND: LexicalCommand<
103   ClipboardEvent | KeyboardEvent | null
104 > = createCommand('COPY_COMMAND');
105 export const CUT_COMMAND: LexicalCommand<
106   ClipboardEvent | KeyboardEvent | null
107 > = createCommand('CUT_COMMAND');
108 export const SELECT_ALL_COMMAND: LexicalCommand<KeyboardEvent> =
109   createCommand('SELECT_ALL_COMMAND');
110 export const CLEAR_EDITOR_COMMAND: LexicalCommand<void> = createCommand(
111   'CLEAR_EDITOR_COMMAND',
112 );
113 export const CLEAR_HISTORY_COMMAND: LexicalCommand<void> = createCommand(
114   'CLEAR_HISTORY_COMMAND',
115 );
116 export const CAN_REDO_COMMAND: LexicalCommand<boolean> =
117   createCommand('CAN_REDO_COMMAND');
118 export const CAN_UNDO_COMMAND: LexicalCommand<boolean> =
119   createCommand('CAN_UNDO_COMMAND');
120 export const FOCUS_COMMAND: LexicalCommand<FocusEvent> =
121   createCommand('FOCUS_COMMAND');
122 export const BLUR_COMMAND: LexicalCommand<FocusEvent> =
123   createCommand('BLUR_COMMAND');
124 export const KEY_MODIFIER_COMMAND: LexicalCommand<KeyboardEvent> =
125   createCommand('KEY_MODIFIER_COMMAND');