@modusoperandi/licit 1.0.4 → 1.0.7

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.
Files changed (360) hide show
  1. package/BlockquoteInsertNewLineCommand.js +16 -18
  2. package/BlockquoteInsertNewLineCommand.js.flow +76 -77
  3. package/BlockquoteNodeSpec.js +3 -4
  4. package/BlockquoteNodeSpec.js.flow +29 -30
  5. package/BlockquoteToggleCommand.js +16 -17
  6. package/BlockquoteToggleCommand.js.flow +56 -56
  7. package/BookmarkNodeSpec.js +2 -2
  8. package/BookmarkNodeSpec.js.flow +39 -39
  9. package/BulletListNodeSpec.js.flow +61 -61
  10. package/CZIProseMirror.js.flow +90 -90
  11. package/CodeBlockCommand.js +17 -18
  12. package/CodeBlockCommand.js.flow +65 -65
  13. package/CodeBlockNodeSpec.js.flow +24 -24
  14. package/CodeMarkSpec.js.flow +14 -14
  15. package/ContentPlaceholderPlugin.js +20 -21
  16. package/ContentPlaceholderPlugin.js.flow +185 -187
  17. package/CursorPlaceholderPlugin.js +11 -11
  18. package/CursorPlaceholderPlugin.js.flow +115 -115
  19. package/DocLayoutCommand.js +18 -21
  20. package/DocLayoutCommand.js.flow +97 -99
  21. package/DocNodeSpec.js.flow +64 -64
  22. package/EMMarkSpec.js.flow +14 -14
  23. package/EditorCommands.js.flow +126 -126
  24. package/EditorKeyMap.js +0 -1
  25. package/EditorKeyMap.js.flow +185 -187
  26. package/EditorMarks.js +2 -2
  27. package/EditorMarks.js.flow +71 -71
  28. package/EditorNodes.js +2 -3
  29. package/EditorNodes.js.flow +58 -59
  30. package/EditorPageLayoutPlugin.js +10 -10
  31. package/EditorPageLayoutPlugin.js.flow +67 -67
  32. package/EditorPlugins.js.flow +8 -8
  33. package/EditorSchema.js.flow +12 -12
  34. package/EditorState.js.flow +7 -7
  35. package/FontSizeMarkSpec.js.flow +49 -49
  36. package/FontTypeMarkSpec.js +1 -1
  37. package/FontTypeMarkSpec.js.flow +80 -80
  38. package/HTMLMutator.js +6 -7
  39. package/HTMLMutator.js.flow +59 -59
  40. package/HardBreakNodeSpec.js.flow +15 -15
  41. package/HeadingNodeSpec.js +3 -13
  42. package/HeadingNodeSpec.js.flow +42 -52
  43. package/HistoryRedoCommand.js +15 -16
  44. package/HistoryRedoCommand.js.flow +41 -41
  45. package/HistoryUndoCommand.js +15 -16
  46. package/HistoryUndoCommand.js.flow +41 -41
  47. package/HorizontalRuleCommand.js +15 -16
  48. package/HorizontalRuleCommand.js.flow +71 -71
  49. package/HorizontalRuleNodeSpec.js.flow +39 -39
  50. package/ImageUploadPlaceholderPlugin.js +15 -17
  51. package/ImageUploadPlaceholderPlugin.js.flow +190 -192
  52. package/LinkMarkSpec.js +6 -1
  53. package/LinkMarkSpec.js.flow +37 -32
  54. package/LinkSetURLCommand.js +130 -60
  55. package/LinkSetURLCommand.js.flow +141 -117
  56. package/LinkTooltipPlugin.js +122 -34
  57. package/LinkTooltipPlugin.js.flow +261 -190
  58. package/ListItemInsertNewLineCommand.js +16 -18
  59. package/ListItemInsertNewLineCommand.js.flow +76 -77
  60. package/ListItemMergeCommand.js +24 -24
  61. package/ListItemMergeCommand.js.flow +198 -199
  62. package/ListItemNodeSpec.js.flow +52 -52
  63. package/ListSplitCommand.js +15 -16
  64. package/ListSplitCommand.js.flow +54 -54
  65. package/ListToggleCommand.js +19 -20
  66. package/ListToggleCommand.js.flow +99 -99
  67. package/MarkNames.js.flow +18 -18
  68. package/MarksClearCommand.js +17 -18
  69. package/MarksClearCommand.js.flow +65 -65
  70. package/MathEditCommand.js +17 -19
  71. package/MathEditCommand.js.flow +119 -120
  72. package/MathNodeSpec.js.flow +46 -46
  73. package/NodeNames.js.flow +23 -23
  74. package/OrderedListNodeSpec.js +2 -2
  75. package/OrderedListNodeSpec.js.flow +132 -132
  76. package/ParagraphNodeSpec.js +11 -2
  77. package/ParagraphNodeSpec.js.flow +163 -156
  78. package/ParagraphSpacingCommand.js +21 -23
  79. package/ParagraphSpacingCommand.js.flow +139 -144
  80. package/PrintCommand.js +17 -18
  81. package/PrintCommand.js.flow +53 -53
  82. package/SelectionPlaceholderPlugin.js +11 -11
  83. package/SelectionPlaceholderPlugin.js.flow +131 -131
  84. package/SpacerMarkSpec.js +2 -2
  85. package/SpacerMarkSpec.js.flow +47 -47
  86. package/StrikeMarkSpec.js.flow +21 -21
  87. package/StrongMarkSpec.js.flow +25 -25
  88. package/StyleView.js +5 -7
  89. package/StyleView.js.flow +18 -19
  90. package/TableBackgroundColorCommand.js +34 -23
  91. package/TableBackgroundColorCommand.js.flow +80 -75
  92. package/TableBorderColorCommand.js +34 -23
  93. package/TableBorderColorCommand.js.flow +81 -75
  94. package/TableCellColorCommand.js +20 -21
  95. package/TableCellColorCommand.js.flow +74 -75
  96. package/TableCellMenuPlugin.js +19 -19
  97. package/TableCellMenuPlugin.js.flow +130 -132
  98. package/TableInsertCommand.js +19 -22
  99. package/TableInsertCommand.js.flow +118 -120
  100. package/TableMergeCellsCommand.js +19 -19
  101. package/TableMergeCellsCommand.js.flow +113 -112
  102. package/TableNodesSpecs.js +4 -2
  103. package/TableNodesSpecs.js.flow +80 -78
  104. package/TablePlugins.js.flow +14 -14
  105. package/TableResizePlugin.js +20 -20
  106. package/TableResizePlugin.js.flow +631 -631
  107. package/TextColorMarkSpec.js.flow +35 -35
  108. package/TextHighlightMarkSpec.js.flow +38 -38
  109. package/TextInsertTabSpaceCommand.js +15 -16
  110. package/TextInsertTabSpaceCommand.js.flow +106 -106
  111. package/TextNoWrapMarkSpec.js.flow +14 -14
  112. package/TextNodeSpec.js.flow +7 -7
  113. package/TextSelectionMarkSpec.js.flow +24 -24
  114. package/TextSubMarkSpec.js.flow +20 -20
  115. package/TextSuperMarkSpec.js.flow +20 -20
  116. package/TextUnderlineMarkSpec.js.flow +27 -27
  117. package/Types.js +6 -0
  118. package/Types.js.flow +77 -75
  119. package/WebFontLoader.js +6 -7
  120. package/WebFontLoader.js.flow +22 -22
  121. package/blockQuoteInputRule.js.flow +36 -36
  122. package/bom.xml +17223 -25722
  123. package/browser.js.flow +7 -7
  124. package/buildEditorPlugins.js +6 -7
  125. package/buildEditorPlugins.js.flow +49 -49
  126. package/buildInputRules.js +8 -4
  127. package/buildInputRules.js.flow +85 -81
  128. package/client/CollabConnector.js +20 -20
  129. package/client/CollabConnector.js.flow +90 -90
  130. package/client/EditorConnection.js +10 -9
  131. package/client/EditorConnection.js.flow +324 -323
  132. package/client/Licit.js +78 -115
  133. package/client/Licit.js.flow +611 -643
  134. package/client/Licit.test.js +49 -39
  135. package/client/Licit.test.js.flow +104 -98
  136. package/client/Reporter.js +5 -6
  137. package/client/Reporter.js.flow +37 -37
  138. package/client/SimpleConnector.js +5 -5
  139. package/client/SimpleConnector.js.flow +61 -61
  140. package/client/http.js +0 -6
  141. package/client/http.js.flow +62 -70
  142. package/client/licit.css +12 -12
  143. package/client/throttle.js +8 -2
  144. package/client/throttle.js.flow +27 -27
  145. package/convertFromDOMElement.js +2 -4
  146. package/convertFromDOMElement.js.flow +33 -36
  147. package/convertFromHTML.js +2 -3
  148. package/convertFromHTML.js.flow +15 -17
  149. package/convertFromJSON.js +1 -2
  150. package/convertFromJSON.js.flow +55 -56
  151. package/convertToCSSPTValue.js +6 -10
  152. package/convertToCSSPTValue.js.flow +19 -22
  153. package/convertToJSON.js.flow +7 -7
  154. package/createCommand.js +16 -17
  155. package/createCommand.js.flow +62 -62
  156. package/createEditorKeyMap.js +2 -2
  157. package/createEditorKeyMap.js.flow +94 -94
  158. package/createEmptyEditorState.js +2 -3
  159. package/createEmptyEditorState.js.flow +29 -31
  160. package/createTableResizingPlugin.js +6 -6
  161. package/createTableResizingPlugin.js.flow +86 -86
  162. package/findActionableCell.js.flow +74 -74
  163. package/findActiveMark.js +1 -1
  164. package/findActiveMark.js.flow +32 -32
  165. package/hyphenize.js.flow +17 -17
  166. package/index.d.ts +165 -165
  167. package/index.js.flow +10 -10
  168. package/insertTable.js +0 -3
  169. package/insertTable.js.flow +54 -56
  170. package/isEditorStateEmpty.js.flow +32 -32
  171. package/isTableNode.js.flow +15 -15
  172. package/joinDown.js +1 -3
  173. package/joinDown.js.flow +25 -27
  174. package/joinListNode.js.flow +55 -55
  175. package/joinUp.js +1 -3
  176. package/joinUp.js.flow +37 -39
  177. package/keymaps.js.flow +185 -185
  178. package/lookUpElement.js +2 -1
  179. package/lookUpElement.js.flow +14 -14
  180. package/nodeAt.js.flow +12 -12
  181. package/normalizeHTML.js +3 -1
  182. package/normalizeHTML.js.flow +80 -78
  183. package/package.json +162 -156
  184. package/patchAnchorElements.js +1 -1
  185. package/patchAnchorElements.js.flow +38 -38
  186. package/patchBreakElements.js +3 -2
  187. package/patchBreakElements.js.flow +22 -22
  188. package/patchElementInlineStyles.js +1 -1
  189. package/patchElementInlineStyles.js.flow +92 -92
  190. package/patchListElements.js +4 -4
  191. package/patchListElements.js.flow +276 -276
  192. package/patchMathElements.js +5 -7
  193. package/patchMathElements.js.flow +58 -60
  194. package/patchParagraphElements.js.flow +20 -20
  195. package/patchStyleElements.js +1 -1
  196. package/patchStyleElements.js.flow +197 -196
  197. package/patchTableElements.js +2 -3
  198. package/patchTableElements.js.flow +88 -89
  199. package/rebaseDocWithSteps.js.flow +42 -42
  200. package/sanitizeURL.js +1 -1
  201. package/sanitizeURL.js.flow +13 -13
  202. package/splitListItem.js +3 -3
  203. package/splitListItem.js.flow +191 -191
  204. package/styles.css +19 -19
  205. package/styles0.css +29 -29
  206. package/toClosestFontPtSize.js.flow +22 -22
  207. package/toSafeHTMLDocument.js.flow +9 -9
  208. package/toggleBlockquote.js +4 -5
  209. package/toggleBlockquote.js.flow +101 -108
  210. package/toggleCodeBlock.js +6 -6
  211. package/toggleCodeBlock.js.flow +102 -102
  212. package/ui/AlertInfo.js +15 -16
  213. package/ui/AlertInfo.js.flow +64 -64
  214. package/ui/BookmarkNodeView.js +20 -21
  215. package/ui/BookmarkNodeView.js.flow +66 -66
  216. package/ui/CommandButton.js +15 -16
  217. package/ui/CommandButton.js.flow +68 -68
  218. package/ui/CommandMenu.js +19 -20
  219. package/ui/CommandMenu.js.flow +75 -75
  220. package/ui/CommandMenuButton.js +23 -25
  221. package/ui/CommandMenuButton.js.flow +130 -131
  222. package/ui/CustomEditorView.js +20 -20
  223. package/ui/CustomEditorView.js.flow +29 -28
  224. package/ui/CustomMenu.js +11 -12
  225. package/ui/CustomMenu.js.flow +17 -17
  226. package/ui/CustomMenuItem.js +16 -18
  227. package/ui/CustomMenuItem.js.flow +36 -36
  228. package/ui/CustomNodeView.js +29 -19
  229. package/ui/CustomNodeView.js.flow +207 -200
  230. package/ui/CustomRadioButton.js +18 -21
  231. package/ui/CustomRadioButton.js.flow +64 -65
  232. package/ui/DocLayoutEditor.js +18 -20
  233. package/ui/DocLayoutEditor.js.flow +145 -146
  234. package/ui/Editor.js +30 -28
  235. package/ui/Editor.js.flow +287 -288
  236. package/ui/EditorFrameset.js +13 -14
  237. package/ui/EditorFrameset.js.flow +81 -81
  238. package/ui/EditorToolbar.js +36 -42
  239. package/ui/EditorToolbar.js.flow +199 -218
  240. package/ui/EditorToolbarConfig.js +5 -5
  241. package/ui/EditorToolbarConfig.js.flow +164 -164
  242. package/ui/FontSizeCommandMenuButton.js +14 -15
  243. package/ui/FontSizeCommandMenuButton.js.flow +66 -66
  244. package/ui/FontTypeCommandMenuButton.js +15 -17
  245. package/ui/FontTypeCommandMenuButton.js.flow +60 -61
  246. package/ui/Frag.js +11 -12
  247. package/ui/Frag.js.flow +13 -13
  248. package/ui/Icon.js +21 -24
  249. package/ui/Icon.js.flow +89 -89
  250. package/ui/ImageInlineEditor.js +14 -15
  251. package/ui/ImageInlineEditor.js.flow +67 -67
  252. package/ui/KeyCodes.js.flow +12 -12
  253. package/ui/LinkTooltip.js +68 -34
  254. package/ui/LinkTooltip.js.flow +118 -85
  255. package/ui/LinkURLEditor.js +160 -43
  256. package/ui/LinkURLEditor.js.flow +243 -117
  257. package/ui/ListItemNodeView.js +6 -7
  258. package/ui/ListItemNodeView.js.flow +98 -98
  259. package/ui/ListTypeButton.js +23 -27
  260. package/ui/ListTypeButton.js.flow +128 -131
  261. package/ui/ListTypeCommandButton.js +14 -15
  262. package/ui/ListTypeCommandButton.js.flow +85 -85
  263. package/ui/ListTypeMenu.js +21 -22
  264. package/ui/ListTypeMenu.js.flow +70 -70
  265. package/ui/LoadingIndicator.js +11 -12
  266. package/ui/LoadingIndicator.js.flow +20 -20
  267. package/ui/MathEditor.js +17 -22
  268. package/ui/MathEditor.js.flow +72 -78
  269. package/ui/MathInlineEditor.js +20 -21
  270. package/ui/MathInlineEditor.js.flow +101 -102
  271. package/ui/MathNodeView.js +29 -30
  272. package/ui/MathNodeView.js.flow +176 -186
  273. package/ui/PasteMenu.js +19 -23
  274. package/ui/PasteMenu.js.flow +53 -57
  275. package/ui/ResizeObserver.js +1 -1
  276. package/ui/ResizeObserver.js.flow +106 -106
  277. package/ui/RichTextEditor.js +17 -18
  278. package/ui/RichTextEditor.js.flow +133 -133
  279. package/ui/SelectionObserver.js +8 -9
  280. package/ui/SelectionObserver.js.flow +134 -134
  281. package/ui/TableCellMenu.js +14 -15
  282. package/ui/TableCellMenu.js.flow +51 -51
  283. package/ui/TableGridSizeEditor.js +30 -33
  284. package/ui/TableGridSizeEditor.js.flow +187 -184
  285. package/ui/TableNodeView.js +18 -17
  286. package/ui/TableNodeView.js.flow +25 -25
  287. package/ui/bindScrollHandler.js +2 -1
  288. package/ui/bindScrollHandler.js.flow +46 -46
  289. package/ui/canUseCSSFont.js +5 -4
  290. package/ui/canUseCSSFont.js.flow +42 -43
  291. package/ui/czi-body-layout-editor.css +16 -16
  292. package/ui/czi-bookmark-view.css +10 -10
  293. package/ui/czi-cursor-placeholder.css +36 -36
  294. package/ui/czi-custom-menu-button.css +18 -18
  295. package/ui/czi-custom-menu-item.css +30 -30
  296. package/ui/czi-custom-menu.css +8 -8
  297. package/ui/czi-custom-radio-button.css +80 -80
  298. package/ui/czi-custom-scrollbar.css +21 -21
  299. package/ui/czi-editor-frameset.css +81 -81
  300. package/ui/czi-editor-toolbar.css +122 -122
  301. package/ui/czi-editor.css +217 -220
  302. package/ui/czi-form.css +201 -107
  303. package/ui/czi-frag.css +3 -3
  304. package/ui/czi-heading.css +40 -40
  305. package/ui/czi-icon.css +72 -72
  306. package/ui/czi-image-resize-box.css +165 -165
  307. package/ui/czi-image-upload-editor.css +57 -57
  308. package/ui/czi-image-upload-placeholder.css +50 -50
  309. package/ui/czi-image-url-editor.css +38 -38
  310. package/ui/czi-image-view.css +121 -125
  311. package/ui/czi-indent.css +137 -137
  312. package/ui/czi-inline-editor.css +20 -20
  313. package/ui/czi-link-tooltip.css +112 -71
  314. package/ui/czi-list.css +406 -410
  315. package/ui/czi-loading-indicator.css +66 -111
  316. package/ui/czi-math-view.css +62 -62
  317. package/ui/czi-selection-placeholder.css +24 -24
  318. package/ui/czi-table-cell-menu.css +16 -14
  319. package/ui/czi-table-grid-size-editor.css +37 -37
  320. package/ui/czi-table.css +87 -87
  321. package/ui/czi-vars.css +2 -2
  322. package/ui/findActiveFontSize.js +2 -1
  323. package/ui/findActiveFontSize.js.flow +55 -58
  324. package/ui/findActiveFontType.js +4 -3
  325. package/ui/findActiveFontType.js.flow +35 -38
  326. package/ui/fonts.css +460 -460
  327. package/ui/handleEditorDrop.js +1 -1
  328. package/ui/handleEditorDrop.js.flow +28 -28
  329. package/ui/handleEditorKeyDown.js +1 -1
  330. package/ui/handleEditorKeyDown.js.flow +39 -39
  331. package/ui/handleEditorPaste.js +1 -1
  332. package/ui/handleEditorPaste.js.flow +33 -33
  333. package/ui/htmlElementToRect.js.flow +18 -18
  334. package/ui/icon-font.css +9 -9
  335. package/ui/injectStyleSheet.js +2 -2
  336. package/ui/injectStyleSheet.js.flow +40 -42
  337. package/ui/isElementFullyVisible.js +1 -10
  338. package/ui/isElementFullyVisible.js.flow +14 -26
  339. package/ui/isOffline.js.flow +8 -8
  340. package/ui/isReactClass.js.flow +12 -12
  341. package/ui/listType.css +21 -21
  342. package/ui/mathquill-editor/MathQuillEditor.js +27 -30
  343. package/ui/mathquill-editor/MathQuillEditor.js.flow +158 -159
  344. package/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
  345. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +14 -15
  346. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +50 -50
  347. package/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  348. package/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  349. package/ui/mathquill-editor/mathquill-import-kludge.js +1 -8
  350. package/ui/mathquill-editor/mathquill-import-kludge.js.flow +17 -24
  351. package/ui/renderLaTeXAsHTML.js +4 -4
  352. package/ui/renderLaTeXAsHTML.js.flow +46 -46
  353. package/ui/resolveImage.js +5 -6
  354. package/ui/resolveImage.js.flow +121 -123
  355. package/ui/toCSSColor.js.flow +51 -51
  356. package/ui/toCSSLineSpacing.js +2 -3
  357. package/ui/toCSSLineSpacing.js.flow +53 -55
  358. package/ui/toHexColor.js.flow +26 -26
  359. package/ui/uuid.js.flow +9 -9
  360. package/uuid.js.flow +9 -9
@@ -1,187 +1,185 @@
1
- // @flow
2
-
3
- // import Keymap from 'browserkeymap';
4
-
5
- import browser from './browser.js';
6
-
7
- import {
8
- makeKeyMap,
9
- makeKeyMapWithCommon,
10
- } from '@modusoperandi/licit-doc-attrs-step';
11
-
12
- // https://tinyurl.com/ybwf3wex
13
-
14
- export function tooltip(keymap: ?any): ?string {
15
- if (keymap) {
16
- let shortcut;
17
- if (browser.isMac()) {
18
- shortcut = keymap.mac
19
- .replace(/Cmd/i, '')
20
- .replace(/Shift/i, '')
21
- .replace(/Ctrl/i, '^')
22
- .replace(/Alt/i, '⌥');
23
- } else {
24
- shortcut = keymap.windows;
25
- }
26
- return `${keymap.description} (${shortcut})`;
27
- }
28
- return null;
29
- }
30
-
31
- export function findShortcutByKeymap(keymap: any): ?string {
32
- if (browser.isMac()) {
33
- return keymap.mac;
34
- }
35
-
36
- return keymap.windows;
37
- }
38
-
39
- export const KEY_BACK_DELETE = makeKeyMapWithCommon('', 'Backspace');
40
- export const KEY_FORWARD_DELETE = makeKeyMapWithCommon('', 'Delete');
41
- export const KEY_INSERT_HORIZONTAL_RULE = makeKeyMapWithCommon(
42
- 'Insert horizontal rule',
43
- 'Mod-Shift--'
44
- );
45
- export const KEY_INSERT_NEW_LINE = makeKeyMapWithCommon(
46
- 'Insert new line',
47
- 'Shift-Enter'
48
- );
49
- // [FS][07-MAY-2020][IRAD-956]
50
- // export const KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE = makeKeyMapWithCommon(
51
- // 'Insert new line in blockquote',
52
- // 'Shift-Enter'
53
- // );
54
- export const KEY_INSERT_NEW_LINE_IN_LIST_ITEM = makeKeyMapWithCommon(
55
- 'Insert new line in list item',
56
- 'Shift-Enter'
57
- );
58
- export const KEY_REDO = makeKeyMapWithCommon('Redo', 'Mod-Shift-z');
59
- export const KEY_SET_NORMAL_TEXT = makeKeyMap(
60
- 'Normal text',
61
- 'Ctrl-0',
62
- 'Cmd-Alt-0'
63
- );
64
- export const KEY_SHIFT_BACKSPACE = makeKeyMapWithCommon(
65
- 'Shift Backspace',
66
- 'Shift-Backspace'
67
- );
68
- export const KEY_SPLIT_CODEBLOCK = makeKeyMapWithCommon(
69
- 'Split code block',
70
- 'Enter'
71
- );
72
- export const KEY_SPLIT_LIST_ITEM = makeKeyMapWithCommon(
73
- 'Split list item',
74
- 'Enter'
75
- );
76
- export const KEY_TAB = makeKeyMapWithCommon('', 'Tab');
77
- export const KEY_TAB_SHIFT = makeKeyMapWithCommon('', 'Shift-Tab');
78
- export const KEY_TOGGLE_BLOCK_QUOTE = makeKeyMap(
79
- 'Block quote',
80
- 'Ctrl-7',
81
- 'Cmd-Alt-7'
82
- );
83
- export const KEY_TOGGLE_BOLD = makeKeyMapWithCommon('Toggle bold', 'Mod-b');
84
- export const KEY_TOGGLE_BULLET_LIST = makeKeyMapWithCommon(
85
- 'Toggle bullet list',
86
- 'Mod-Shift-b'
87
- );
88
- export const KEY_TOGGLE_CODE_BLOCK = makeKeyMap(
89
- 'Code block',
90
- 'Ctrl-8',
91
- 'Cmd-Alt-8'
92
- );
93
- export const KEY_TOGGLE_HEADING_1 = makeKeyMap(
94
- 'Heading 1',
95
- 'Ctrl-1',
96
- 'Cmd-Alt-1'
97
- );
98
- export const KEY_TOGGLE_HEADING_2 = makeKeyMap(
99
- 'Heading 2',
100
- 'Ctrl-2',
101
- 'Cmd-Alt-2'
102
- );
103
- export const KEY_TOGGLE_HEADING_3 = makeKeyMap(
104
- 'Heading 3',
105
- 'Ctrl-3',
106
- 'Cmd-Alt-3'
107
- );
108
- export const KEY_TOGGLE_HEADING_4 = makeKeyMap(
109
- 'Heading 4',
110
- 'Ctrl-4',
111
- 'Cmd-Alt-4'
112
- );
113
- export const KEY_TOGGLE_HEADING_5 = makeKeyMap(
114
- 'Heading 5',
115
- 'Ctrl-5',
116
- 'Cmd-Alt-5'
117
- );
118
- export const KEY_TOGGLE_HEADING_6 = makeKeyMap(
119
- 'Heading 5',
120
- 'Ctrl-6',
121
- 'Cmd-Alt-6'
122
- );
123
- export const KEY_TOGGLE_ITALIC = makeKeyMapWithCommon('Toggle italic', 'Mod-i');
124
- export const KEY_TOGGLE_MONOSPACE = makeKeyMapWithCommon(
125
- 'Toggle monospace',
126
- 'Mod-Shift-m'
127
- );
128
- export const KEY_TOGGLE_ORDERED_LIST = makeKeyMapWithCommon(
129
- 'Toggle ordered list',
130
- 'Mod-Shift-l'
131
- );
132
- export const KEY_TOGGLE_STRIKETHROUGH = makeKeyMapWithCommon(
133
- 'Toggle strikethrough',
134
- 'Mod-Shift-s'
135
- );
136
- export const KEY_TOGGLE_UNDERLINE = makeKeyMapWithCommon(
137
- 'Toggle underline',
138
- 'Mod-u'
139
- );
140
- export const KEY_UNDO = makeKeyMapWithCommon('Undo', 'Mod-z');
141
-
142
- export const ALL_KEYS = [
143
- KEY_BACK_DELETE,
144
- KEY_FORWARD_DELETE,
145
- KEY_INSERT_HORIZONTAL_RULE,
146
- KEY_INSERT_NEW_LINE,
147
- // [FS][07-MAY-2020][IRAD-956]
148
- // KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE,
149
- KEY_INSERT_NEW_LINE_IN_LIST_ITEM,
150
- KEY_SET_NORMAL_TEXT,
151
- KEY_SHIFT_BACKSPACE,
152
- KEY_SPLIT_LIST_ITEM,
153
- KEY_TAB_SHIFT,
154
- KEY_TAB,
155
- KEY_TOGGLE_BLOCK_QUOTE,
156
- KEY_TOGGLE_BOLD,
157
- KEY_TOGGLE_BULLET_LIST,
158
- KEY_TOGGLE_BULLET_LIST,
159
- KEY_TOGGLE_CODE_BLOCK,
160
- KEY_TOGGLE_HEADING_1,
161
- KEY_TOGGLE_HEADING_2,
162
- KEY_TOGGLE_HEADING_3,
163
- KEY_TOGGLE_HEADING_4,
164
- KEY_TOGGLE_HEADING_5,
165
- KEY_TOGGLE_HEADING_6,
166
- KEY_TOGGLE_ITALIC,
167
- KEY_TOGGLE_MONOSPACE,
168
- KEY_TOGGLE_ORDERED_LIST,
169
- KEY_TOGGLE_STRIKETHROUGH,
170
- KEY_TOGGLE_UNDERLINE,
171
- KEY_UNDO,
172
- ];
173
-
174
- export function findKeymapByDescription(description: string): ?any {
175
- const matches = ALL_KEYS.filter((keymap) => {
176
- return keymap.description.toUpperCase() === description.toUpperCase();
177
- });
178
- return matches[0];
179
- }
180
-
181
- export function findShortcutByDescription(description: string): ?string {
182
- const keymap = findKeymapByDescription(description);
183
- if (keymap) {
184
- return findShortcutByKeymap(keymap);
185
- }
186
- return null;
187
- }
1
+ // @flow
2
+
3
+ import browser from './browser.js';
4
+
5
+ import {
6
+ makeKeyMap,
7
+ makeKeyMapWithCommon,
8
+ } from '@modusoperandi/licit-doc-attrs-step';
9
+
10
+ // https://tinyurl.com/ybwf3wex
11
+
12
+ export function tooltip(keymap: ?any): ?string {
13
+ if (keymap) {
14
+ let shortcut;
15
+ if (browser.isMac()) {
16
+ shortcut = keymap.mac
17
+ .replace(/Cmd/i, '⌘')
18
+ .replace(/Shift/i, '⇧')
19
+ .replace(/Ctrl/i, '^')
20
+ .replace(/Alt/i, '');
21
+ } else {
22
+ shortcut = keymap.windows;
23
+ }
24
+ return `${keymap.description} (${shortcut})`;
25
+ }
26
+ return null;
27
+ }
28
+
29
+ export function findShortcutByKeymap(keymap: any): ?string {
30
+ if (browser.isMac()) {
31
+ return keymap.mac;
32
+ }
33
+
34
+ return keymap.windows;
35
+ }
36
+
37
+ export const KEY_BACK_DELETE = makeKeyMapWithCommon('', 'Backspace');
38
+ export const KEY_FORWARD_DELETE = makeKeyMapWithCommon('', 'Delete');
39
+ export const KEY_INSERT_HORIZONTAL_RULE = makeKeyMapWithCommon(
40
+ 'Insert horizontal rule',
41
+ 'Mod-Shift--'
42
+ );
43
+ export const KEY_INSERT_NEW_LINE = makeKeyMapWithCommon(
44
+ 'Insert new line',
45
+ 'Shift-Enter'
46
+ );
47
+ // [FS][07-MAY-2020][IRAD-956]
48
+ // export const KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE = makeKeyMapWithCommon(
49
+ // 'Insert new line in blockquote',
50
+ // 'Shift-Enter'
51
+ // );
52
+ export const KEY_INSERT_NEW_LINE_IN_LIST_ITEM = makeKeyMapWithCommon(
53
+ 'Insert new line in list item',
54
+ 'Shift-Enter'
55
+ );
56
+ export const KEY_REDO = makeKeyMapWithCommon('Redo', 'Mod-Shift-z');
57
+ export const KEY_SET_NORMAL_TEXT = makeKeyMap(
58
+ 'Normal text',
59
+ 'Ctrl-0',
60
+ 'Cmd-Alt-0'
61
+ );
62
+ export const KEY_SHIFT_BACKSPACE = makeKeyMapWithCommon(
63
+ 'Shift Backspace',
64
+ 'Shift-Backspace'
65
+ );
66
+ export const KEY_SPLIT_CODEBLOCK = makeKeyMapWithCommon(
67
+ 'Split code block',
68
+ 'Enter'
69
+ );
70
+ export const KEY_SPLIT_LIST_ITEM = makeKeyMapWithCommon(
71
+ 'Split list item',
72
+ 'Enter'
73
+ );
74
+ export const KEY_TAB = makeKeyMapWithCommon('', 'Tab');
75
+ export const KEY_TAB_SHIFT = makeKeyMapWithCommon('', 'Shift-Tab');
76
+ export const KEY_TOGGLE_BLOCK_QUOTE = makeKeyMap(
77
+ 'Block quote',
78
+ 'Ctrl-7',
79
+ 'Cmd-Alt-7'
80
+ );
81
+ export const KEY_TOGGLE_BOLD = makeKeyMapWithCommon('Toggle bold', 'Mod-b');
82
+ export const KEY_TOGGLE_BULLET_LIST = makeKeyMapWithCommon(
83
+ 'Toggle bullet list',
84
+ 'Mod-Shift-b'
85
+ );
86
+ export const KEY_TOGGLE_CODE_BLOCK = makeKeyMap(
87
+ 'Code block',
88
+ 'Ctrl-8',
89
+ 'Cmd-Alt-8'
90
+ );
91
+ export const KEY_TOGGLE_HEADING_1 = makeKeyMap(
92
+ 'Heading 1',
93
+ 'Ctrl-1',
94
+ 'Cmd-Alt-1'
95
+ );
96
+ export const KEY_TOGGLE_HEADING_2 = makeKeyMap(
97
+ 'Heading 2',
98
+ 'Ctrl-2',
99
+ 'Cmd-Alt-2'
100
+ );
101
+ export const KEY_TOGGLE_HEADING_3 = makeKeyMap(
102
+ 'Heading 3',
103
+ 'Ctrl-3',
104
+ 'Cmd-Alt-3'
105
+ );
106
+ export const KEY_TOGGLE_HEADING_4 = makeKeyMap(
107
+ 'Heading 4',
108
+ 'Ctrl-4',
109
+ 'Cmd-Alt-4'
110
+ );
111
+ export const KEY_TOGGLE_HEADING_5 = makeKeyMap(
112
+ 'Heading 5',
113
+ 'Ctrl-5',
114
+ 'Cmd-Alt-5'
115
+ );
116
+ export const KEY_TOGGLE_HEADING_6 = makeKeyMap(
117
+ 'Heading 5',
118
+ 'Ctrl-6',
119
+ 'Cmd-Alt-6'
120
+ );
121
+ export const KEY_TOGGLE_ITALIC = makeKeyMapWithCommon('Toggle italic', 'Mod-i');
122
+ export const KEY_TOGGLE_MONOSPACE = makeKeyMapWithCommon(
123
+ 'Toggle monospace',
124
+ 'Mod-Shift-m'
125
+ );
126
+ export const KEY_TOGGLE_ORDERED_LIST = makeKeyMapWithCommon(
127
+ 'Toggle ordered list',
128
+ 'Mod-Shift-l'
129
+ );
130
+ export const KEY_TOGGLE_STRIKETHROUGH = makeKeyMapWithCommon(
131
+ 'Toggle strikethrough',
132
+ 'Mod-Shift-s'
133
+ );
134
+ export const KEY_TOGGLE_UNDERLINE = makeKeyMapWithCommon(
135
+ 'Toggle underline',
136
+ 'Mod-u'
137
+ );
138
+ export const KEY_UNDO = makeKeyMapWithCommon('Undo', 'Mod-z');
139
+
140
+ export const ALL_KEYS = [
141
+ KEY_BACK_DELETE,
142
+ KEY_FORWARD_DELETE,
143
+ KEY_INSERT_HORIZONTAL_RULE,
144
+ KEY_INSERT_NEW_LINE,
145
+ // [FS][07-MAY-2020][IRAD-956]
146
+ // KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE,
147
+ KEY_INSERT_NEW_LINE_IN_LIST_ITEM,
148
+ KEY_SET_NORMAL_TEXT,
149
+ KEY_SHIFT_BACKSPACE,
150
+ KEY_SPLIT_LIST_ITEM,
151
+ KEY_TAB_SHIFT,
152
+ KEY_TAB,
153
+ KEY_TOGGLE_BLOCK_QUOTE,
154
+ KEY_TOGGLE_BOLD,
155
+ KEY_TOGGLE_BULLET_LIST,
156
+ KEY_TOGGLE_BULLET_LIST,
157
+ KEY_TOGGLE_CODE_BLOCK,
158
+ KEY_TOGGLE_HEADING_1,
159
+ KEY_TOGGLE_HEADING_2,
160
+ KEY_TOGGLE_HEADING_3,
161
+ KEY_TOGGLE_HEADING_4,
162
+ KEY_TOGGLE_HEADING_5,
163
+ KEY_TOGGLE_HEADING_6,
164
+ KEY_TOGGLE_ITALIC,
165
+ KEY_TOGGLE_MONOSPACE,
166
+ KEY_TOGGLE_ORDERED_LIST,
167
+ KEY_TOGGLE_STRIKETHROUGH,
168
+ KEY_TOGGLE_UNDERLINE,
169
+ KEY_UNDO,
170
+ ];
171
+
172
+ export function findKeymapByDescription(description: string): ?any {
173
+ const matches = ALL_KEYS.filter((keymap) => {
174
+ return keymap.description.toUpperCase() === description.toUpperCase();
175
+ });
176
+ return matches[0];
177
+ }
178
+
179
+ export function findShortcutByDescription(description: string): ?string {
180
+ const keymap = findKeymapByDescription(description);
181
+ if (keymap) {
182
+ return findShortcutByKeymap(keymap);
183
+ }
184
+ return null;
185
+ }
package/EditorMarks.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var _marks;
2
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { Schema } from 'prosemirror-model';
7
7
  import CodeMarkSpec from './CodeMarkSpec.js';
@@ -1,71 +1,71 @@
1
- import { Schema } from 'prosemirror-model';
2
-
3
- import CodeMarkSpec from './CodeMarkSpec.js';
4
- import DocNodeSpec from './DocNodeSpec.js';
5
- import EMMarkSpec from './EMMarkSpec.js';
6
- import FontSizeMarkSpec from './FontSizeMarkSpec.js';
7
- import FontTypeMarkSpec from './FontTypeMarkSpec.js';
8
- import LinkMarkSpec from './LinkMarkSpec.js';
9
- import * as MarkNames from './MarkNames.js';
10
- import { DOC, PARAGRAPH, TEXT } from './NodeNames.js';
11
- import ParagraphNodeSpec from './ParagraphNodeSpec.js';
12
- import SpacerMarkSpec from './SpacerMarkSpec.js';
13
- import StrikeMarkSpec from './StrikeMarkSpec.js';
14
- import StrongMarkSpec from './StrongMarkSpec.js';
15
- import TextColorMarkSpec from './TextColorMarkSpec.js';
16
- import TextHighlightMarkSpec from './TextHighlightMarkSpec.js';
17
- import TextNoWrapMarkSpec from './TextNoWrapMarkSpec.js';
18
- import TextNodeSpec from './TextNodeSpec.js';
19
- import TextSelectionMarkSpec from './TextSelectionMarkSpec.js';
20
- import TextSuperMarkSpec from './TextSuperMarkSpec.js';
21
- import TextSubMarkSpec from './TextSubMarkSpec.js';
22
- import TextUnderlineMarkSpec from './TextUnderlineMarkSpec.js';
23
-
24
- const {
25
- MARK_CODE,
26
- MARK_EM,
27
- MARK_FONT_SIZE,
28
- MARK_FONT_TYPE,
29
- MARK_LINK,
30
- MARK_NO_BREAK,
31
- MARK_STRIKE,
32
- MARK_STRONG,
33
- MARK_SUPER,
34
- MARK_SUB,
35
- MARK_TEXT_COLOR,
36
- MARK_TEXT_HIGHLIGHT,
37
- MARK_TEXT_SELECTION,
38
- MARK_UNDERLINE,
39
- MARK_SPACER,
40
- } = MarkNames;
41
-
42
- // These nodes are required to build basic marks.
43
- const nodes = {
44
- [DOC]: DocNodeSpec,
45
- [PARAGRAPH]: ParagraphNodeSpec,
46
- [TEXT]: TextNodeSpec,
47
- };
48
-
49
- const marks = {
50
- // Link mark should be rendered first.
51
- // https://discuss.prosemirror.net/t/prevent-marks-from-breaking-up-links/401/5
52
- [MARK_LINK]: LinkMarkSpec,
53
- [MARK_NO_BREAK]: TextNoWrapMarkSpec,
54
- [MARK_CODE]: CodeMarkSpec,
55
- [MARK_EM]: EMMarkSpec,
56
- [MARK_FONT_SIZE]: FontSizeMarkSpec,
57
- [MARK_FONT_TYPE]: FontTypeMarkSpec,
58
- [MARK_SPACER]: SpacerMarkSpec,
59
- [MARK_STRIKE]: StrikeMarkSpec,
60
- [MARK_STRONG]: StrongMarkSpec,
61
- [MARK_SUPER]: TextSuperMarkSpec,
62
- [MARK_SUB]: TextSubMarkSpec,
63
- [MARK_TEXT_COLOR]: TextColorMarkSpec,
64
- [MARK_TEXT_HIGHLIGHT]: TextHighlightMarkSpec,
65
- [MARK_TEXT_SELECTION]: TextSelectionMarkSpec,
66
- [MARK_UNDERLINE]: TextUnderlineMarkSpec,
67
- };
68
-
69
- const schema = new Schema({ nodes, marks });
70
- const EditorMarks = schema.spec.marks;
71
- export default EditorMarks;
1
+ import { Schema } from 'prosemirror-model';
2
+
3
+ import CodeMarkSpec from './CodeMarkSpec.js';
4
+ import DocNodeSpec from './DocNodeSpec.js';
5
+ import EMMarkSpec from './EMMarkSpec.js';
6
+ import FontSizeMarkSpec from './FontSizeMarkSpec.js';
7
+ import FontTypeMarkSpec from './FontTypeMarkSpec.js';
8
+ import LinkMarkSpec from './LinkMarkSpec.js';
9
+ import * as MarkNames from './MarkNames.js';
10
+ import { DOC, PARAGRAPH, TEXT } from './NodeNames.js';
11
+ import ParagraphNodeSpec from './ParagraphNodeSpec.js';
12
+ import SpacerMarkSpec from './SpacerMarkSpec.js';
13
+ import StrikeMarkSpec from './StrikeMarkSpec.js';
14
+ import StrongMarkSpec from './StrongMarkSpec.js';
15
+ import TextColorMarkSpec from './TextColorMarkSpec.js';
16
+ import TextHighlightMarkSpec from './TextHighlightMarkSpec.js';
17
+ import TextNoWrapMarkSpec from './TextNoWrapMarkSpec.js';
18
+ import TextNodeSpec from './TextNodeSpec.js';
19
+ import TextSelectionMarkSpec from './TextSelectionMarkSpec.js';
20
+ import TextSuperMarkSpec from './TextSuperMarkSpec.js';
21
+ import TextSubMarkSpec from './TextSubMarkSpec.js';
22
+ import TextUnderlineMarkSpec from './TextUnderlineMarkSpec.js';
23
+
24
+ const {
25
+ MARK_CODE,
26
+ MARK_EM,
27
+ MARK_FONT_SIZE,
28
+ MARK_FONT_TYPE,
29
+ MARK_LINK,
30
+ MARK_NO_BREAK,
31
+ MARK_STRIKE,
32
+ MARK_STRONG,
33
+ MARK_SUPER,
34
+ MARK_SUB,
35
+ MARK_TEXT_COLOR,
36
+ MARK_TEXT_HIGHLIGHT,
37
+ MARK_TEXT_SELECTION,
38
+ MARK_UNDERLINE,
39
+ MARK_SPACER,
40
+ } = MarkNames;
41
+
42
+ // These nodes are required to build basic marks.
43
+ const nodes = {
44
+ [DOC]: DocNodeSpec,
45
+ [PARAGRAPH]: ParagraphNodeSpec,
46
+ [TEXT]: TextNodeSpec,
47
+ };
48
+
49
+ const marks = {
50
+ // Link mark should be rendered first.
51
+ // https://discuss.prosemirror.net/t/prevent-marks-from-breaking-up-links/401/5
52
+ [MARK_LINK]: LinkMarkSpec,
53
+ [MARK_NO_BREAK]: TextNoWrapMarkSpec,
54
+ [MARK_CODE]: CodeMarkSpec,
55
+ [MARK_EM]: EMMarkSpec,
56
+ [MARK_FONT_SIZE]: FontSizeMarkSpec,
57
+ [MARK_FONT_TYPE]: FontTypeMarkSpec,
58
+ [MARK_SPACER]: SpacerMarkSpec,
59
+ [MARK_STRIKE]: StrikeMarkSpec,
60
+ [MARK_STRONG]: StrongMarkSpec,
61
+ [MARK_SUPER]: TextSuperMarkSpec,
62
+ [MARK_SUB]: TextSubMarkSpec,
63
+ [MARK_TEXT_COLOR]: TextColorMarkSpec,
64
+ [MARK_TEXT_HIGHLIGHT]: TextHighlightMarkSpec,
65
+ [MARK_TEXT_SELECTION]: TextSelectionMarkSpec,
66
+ [MARK_UNDERLINE]: TextUnderlineMarkSpec,
67
+ };
68
+
69
+ const schema = new Schema({ nodes, marks });
70
+ const EditorMarks = schema.spec.marks;
71
+ export default EditorMarks;
package/EditorNodes.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var _nodes;
2
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { Schema } from 'prosemirror-model';
7
7
  import BlockquoteNodeSpec from './BlockquoteNodeSpec.js';
@@ -9,7 +9,6 @@ import BookmarkNodeSpec from './BookmarkNodeSpec.js';
9
9
  import BulletListNodeSpec from './BulletListNodeSpec.js';
10
10
  import DocNodeSpec from './DocNodeSpec.js';
11
11
  import HardBreakNodeSpec from './HardBreakNodeSpec.js';
12
- // import HeadingNodeSpec from './HeadingNodeSpec';
13
12
  import HorizontalRuleNodeSpec from './HorizontalRuleNodeSpec.js';
14
13
  import ListItemNodeSpec from './ListItemNodeSpec.js';
15
14
  import MathNodeSpec from './MathNodeSpec.js';