@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
package/index.d.ts CHANGED
@@ -1,165 +1,165 @@
1
- // from "./isEditorStateEmpty"
2
- import { EditorState, Plugin } from 'prosemirror-state';
3
- import { Node, Schema } from 'prosemirror-model';
4
- import { Transform } from 'prosemirror-transform';
5
- import { EditorView } from 'prosemirror-view';
6
- import * as React from 'react';
7
-
8
- export default function isEditorStateEmpty(editorState: EditorState): boolean;
9
-
10
- // from "./ui/uuid";
11
- export default function uuid(): string;
12
-
13
- // from './client/Licit.js';
14
-
15
- export type DataType = Readonly<{
16
- JSON: symbol;
17
- HTML: symbol;
18
- }>;
19
-
20
- export class Licit extends React.Component<any, any> {
21
- runtime: any;
22
-
23
- constructor(props: any, context: any);
24
-
25
- /**
26
- * Provides access to prosemirror view.
27
- */
28
- get editorView(): EditorView;
29
-
30
- initialize(props: any);
31
-
32
- initEditorState(plugins: Array<Plugin>, dataType: DataType, data: any);
33
-
34
- getEffectivePlugins(
35
- schema: Schema,
36
- defaultPlugins: Array<Plugin>,
37
- plugins: Array<Plugin>
38
- ): { plugins: Array<Plugin>; schema: Schema; pasteJSONPlugin: Plugin };
39
-
40
- onReady(state: EditorState);
41
-
42
- showAlert();
43
-
44
- resetCounters(transaction: Transform);
45
-
46
- setCounterFlags(transaction: Transform, reset: boolean);
47
-
48
- getDeletedArtifactIds();
49
-
50
- isNodeHasAttribute(node: Node, attrName: string);
51
-
52
- getDocument(content: any, editorState: EditorState, dataType: DataType);
53
-
54
- insertJSON(json: { [key: string]: any } | string): void;
55
-
56
- setContent(content: any, dataType: DataType): void;
57
-
58
- hasDataChanged(nextData: any, nextDataType: DataType);
59
-
60
- changeContent(data: any, dataType: DataType);
61
-
62
- shouldComponentUpdate(nextProps: any, nextState: any);
63
-
64
- setDocID(nextState: any);
65
-
66
- render(): React.ReactElement<any>;
67
-
68
- _onChange(data: { state: EditorState; transaction: Transform }): void;
69
-
70
- closeOpenedPopupModels();
71
-
72
- _onReady(editorView: EditorView): void;
73
-
74
- /**
75
- * LICIT properties:
76
- * docID {number} [0] Collaborative Doument ID
77
- * debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
78
- * width {string} [100%] Width of the editor.
79
- * height {height} [100%] Height of the editor.
80
- * readOnly {boolean} [false] To enable/disable editing mode.
81
- * onChange {@callback} [null] Fires after each significant change.
82
- * @param data {JSON} Modified document data.
83
- * onReady {@callback} [null] Fires when the editor is fully ready.
84
- * @param ref {LICIT} Rerefence of the editor.
85
- * data {JSON} [null] Document data to be loaded into the editor.
86
- * disabled {boolean} [false] Disable the editor.
87
- * embedded {boolean} [false] Disable/Enable inline behaviour.
88
- */
89
- setProps(props: any): void;
90
-
91
- exportPDF();
92
-
93
- goToEnd(): void;
94
- }
95
-
96
- // from './Types';
97
- export type NodeSpec = {
98
- attrs?: { [key: string]: any };
99
- content?: string;
100
- draggable?: boolean;
101
- group?: string;
102
- inline?: boolean;
103
- name?: string;
104
- parseDOM?: Array<any>;
105
- toDOM?: (node: any) => Array<any>;
106
- };
107
-
108
- export type MarkSpec = {
109
- attrs?: { [key: string]: any };
110
- name?: string;
111
- parseDOM: Array<any>;
112
- toDOM: (node: any) => Array<any>;
113
- };
114
-
115
- export type EditorProps = {
116
- // TODO: Fill the interface.
117
- // https://github.com/ProseMirror/prosemirror-view/blob/master/src/index.js
118
- };
119
-
120
- export type DirectEditorProps = EditorProps & {
121
- // TODO: Fill the interface.
122
- // https://github.com/ProseMirror/prosemirror-view/blob/master/src/index.js
123
- };
124
-
125
- export type RenderCommentProps = {
126
- commentThreadId: string;
127
- isActive: boolean;
128
- requestCommentThreadDeletion: Function;
129
- requestCommentThreadReflow: Function;
130
- };
131
-
132
- export type ImageLike = {
133
- height: number;
134
- id: string;
135
- src: string;
136
- width: number;
137
- };
138
-
139
- export type EditorRuntime = {
140
- // Image Proxy
141
- canProxyImageSrc?: (src: string) => boolean;
142
- getProxyImageSrc?: (src: string) => string;
143
-
144
- // Image Upload
145
- canUploadImage?: () => boolean;
146
- uploadImage?: (obj: Blob) => Promise<ImageLike>;
147
-
148
- // Comments
149
- canComment?: () => boolean;
150
- createCommentThreadID?: () => string;
151
- renderComment?: (
152
- props: RenderCommentProps
153
- ) => React.ReactElement<any> | undefined;
154
-
155
- // External HTML
156
- canLoadHTML?: () => boolean;
157
- loadHTML?: () => Promise<string>;
158
- };
159
-
160
- // from './client/http';
161
- export function GET(url);
162
- export function POST(url, body, type);
163
- export function PUT(url, body, type);
164
- export function DELETE(url, type);
165
- export function PATCH(url, body, type);
1
+ // from "./isEditorStateEmpty"
2
+ import { EditorState, Plugin } from 'prosemirror-state';
3
+ import { Node, Schema } from 'prosemirror-model';
4
+ import { Transform } from 'prosemirror-transform';
5
+ import { EditorView } from 'prosemirror-view';
6
+ import * as React from 'react';
7
+
8
+ export default function isEditorStateEmpty(editorState: EditorState): boolean;
9
+
10
+ // from "./ui/uuid";
11
+ export default function uuid(): string;
12
+
13
+ // from './client/Licit.js';
14
+
15
+ export type DataType = Readonly<{
16
+ JSON: symbol;
17
+ HTML: symbol;
18
+ }>;
19
+
20
+ export class Licit extends React.Component<any, any> {
21
+ runtime: any;
22
+
23
+ constructor(props: any, context: any);
24
+
25
+ /**
26
+ * Provides access to prosemirror view.
27
+ */
28
+ get editorView(): EditorView;
29
+
30
+ initialize(props: any);
31
+
32
+ initEditorState(plugins: Array<Plugin>, dataType: DataType, data: any);
33
+
34
+ getEffectivePlugins(
35
+ schema: Schema,
36
+ defaultPlugins: Array<Plugin>,
37
+ plugins: Array<Plugin>
38
+ ): { plugins: Array<Plugin>; schema: Schema; pasteJSONPlugin: Plugin };
39
+
40
+ onReady(state: EditorState);
41
+
42
+ showAlert();
43
+
44
+ resetCounters(transaction: Transform);
45
+
46
+ setCounterFlags(transaction: Transform, reset: boolean);
47
+
48
+ getDeletedArtifactIds();
49
+
50
+ isNodeHasAttribute(node: Node, attrName: string);
51
+
52
+ getDocument(content: any, editorState: EditorState, dataType: DataType);
53
+
54
+ insertJSON(json: { [key: string]: any } | string): void;
55
+
56
+ setContent(content: any, dataType: DataType): void;
57
+
58
+ hasDataChanged(nextData: any, nextDataType: DataType);
59
+
60
+ changeContent(data: any, dataType: DataType);
61
+
62
+ shouldComponentUpdate(nextProps: any, nextState: any);
63
+
64
+ setDocID(nextState: any);
65
+
66
+ render(): React.ReactElement<any>;
67
+
68
+ _onChange(data: { state: EditorState; transaction: Transform }): void;
69
+
70
+ closeOpenedPopupModels();
71
+
72
+ _onReady(editorView: EditorView): void;
73
+
74
+ /**
75
+ * LICIT properties:
76
+ * docID {number} [0] Collaborative Doument ID
77
+ * debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
78
+ * width {string} [100%] Width of the editor.
79
+ * height {height} [100%] Height of the editor.
80
+ * readOnly {boolean} [false] To enable/disable editing mode.
81
+ * onChange {@callback} [null] Fires after each significant change.
82
+ * @param data {JSON} Modified document data.
83
+ * onReady {@callback} [null] Fires when the editor is fully ready.
84
+ * @param ref {LICIT} Rerefence of the editor.
85
+ * data {JSON} [null] Document data to be loaded into the editor.
86
+ * disabled {boolean} [false] Disable the editor.
87
+ * embedded {boolean} [false] Disable/Enable inline behaviour.
88
+ */
89
+ setProps(props: any): void;
90
+
91
+ exportPDF();
92
+
93
+ goToEnd(): void;
94
+ }
95
+
96
+ // from './Types';
97
+ export type NodeSpec = {
98
+ attrs?: { [key: string]: any };
99
+ content?: string;
100
+ draggable?: boolean;
101
+ group?: string;
102
+ inline?: boolean;
103
+ name?: string;
104
+ parseDOM?: Array<any>;
105
+ toDOM?: (node: any) => Array<any>;
106
+ };
107
+
108
+ export type MarkSpec = {
109
+ attrs?: { [key: string]: any };
110
+ name?: string;
111
+ parseDOM: Array<any>;
112
+ toDOM: (node: any) => Array<any>;
113
+ };
114
+
115
+ export type EditorProps = {
116
+ // TODO: Fill the interface.
117
+ // https://github.com/ProseMirror/prosemirror-view/blob/master/src/index.js
118
+ };
119
+
120
+ export type DirectEditorProps = EditorProps & {
121
+ // TODO: Fill the interface.
122
+ // https://github.com/ProseMirror/prosemirror-view/blob/master/src/index.js
123
+ };
124
+
125
+ export type RenderCommentProps = {
126
+ commentThreadId: string;
127
+ isActive: boolean;
128
+ requestCommentThreadDeletion: Function;
129
+ requestCommentThreadReflow: Function;
130
+ };
131
+
132
+ export type ImageLike = {
133
+ height: number;
134
+ id: string;
135
+ src: string;
136
+ width: number;
137
+ };
138
+
139
+ export type EditorRuntime = {
140
+ // Image Proxy
141
+ canProxyImageSrc?: (src: string) => boolean;
142
+ getProxyImageSrc?: (src: string) => string;
143
+
144
+ // Image Upload
145
+ canUploadImage?: () => boolean;
146
+ uploadImage?: (obj: Blob) => Promise<ImageLike>;
147
+
148
+ // Comments
149
+ canComment?: () => boolean;
150
+ createCommentThreadID?: () => string;
151
+ renderComment?: (
152
+ props: RenderCommentProps
153
+ ) => React.ReactElement<any> | undefined;
154
+
155
+ // External HTML
156
+ canLoadHTML?: () => boolean;
157
+ loadHTML?: () => Promise<string>;
158
+ };
159
+
160
+ // from './client/http';
161
+ export function GET(url);
162
+ export function POST(url, body, type);
163
+ export function PUT(url, body, type);
164
+ export function DELETE(url, type);
165
+ export function PATCH(url, body, type);
package/index.js.flow CHANGED
@@ -1,10 +1,10 @@
1
- // @flow
2
-
3
- export { EditorState } from 'prosemirror-state';
4
- export { default as isEditorStateEmpty } from './isEditorStateEmpty';
5
- export { default as uuid } from './ui/uuid';
6
- // [FS] IRAD-978 2020-06-05
7
- // Export Licit as a component
8
- export { default as Licit, DataType } from './client/Licit.js';
9
- // export { ImageLike, EditorRuntime } from './Types'; //Flow garbles these types beyond use for now
10
- export { GET, POST, DELETE, PATCH } from './client/http';
1
+ // @flow
2
+
3
+ export { EditorState } from 'prosemirror-state';
4
+ export { default as isEditorStateEmpty } from './isEditorStateEmpty';
5
+ export { default as uuid } from './ui/uuid';
6
+ // [FS] IRAD-978 2020-06-05
7
+ // Export Licit as a component
8
+ export { default as Licit, DataType } from './client/Licit.js';
9
+ // export { ImageLike, EditorRuntime } from './Types'; //Flow garbles these types beyond use for now
10
+ export { GET, POST, DELETE, PATCH } from './client/http';
package/insertTable.js CHANGED
@@ -2,9 +2,6 @@ import { Fragment, Schema } from 'prosemirror-model';
2
2
  import { TextSelection } from 'prosemirror-state';
3
3
  import { Transform } from 'prosemirror-transform';
4
4
  import { PARAGRAPH, TABLE, TABLE_CELL, TABLE_ROW } from './NodeNames.js';
5
-
6
- // const ZERO_WIDTH_SPACE_CHAR = '\u200b';
7
-
8
5
  export default function insertTable(tr, schema, rows, cols) {
9
6
  if (!tr.selection || !tr.doc) {
10
7
  return tr;
@@ -1,56 +1,54 @@
1
- // @flow
2
-
3
- import { Fragment, Schema } from 'prosemirror-model';
4
- import { TextSelection } from 'prosemirror-state';
5
- import { Transform } from 'prosemirror-transform';
6
-
7
- import { PARAGRAPH, TABLE, TABLE_CELL, TABLE_ROW } from './NodeNames.js';
8
-
9
- // const ZERO_WIDTH_SPACE_CHAR = '\u200b';
10
-
11
- export default function insertTable(
12
- tr: Transform,
13
- schema: Schema,
14
- rows: number,
15
- cols: number
16
- ): Transform {
17
- if (!tr.selection || !tr.doc) {
18
- return tr;
19
- }
20
- const { from, to } = tr.selection;
21
- if (from !== to) {
22
- return tr;
23
- }
24
-
25
- const { nodes } = schema;
26
- const cell = nodes[TABLE_CELL];
27
- const paragraph = nodes[PARAGRAPH];
28
- const row = nodes[TABLE_ROW];
29
- const table = nodes[TABLE];
30
- if (!(cell && paragraph && row && table)) {
31
- return tr;
32
- }
33
-
34
- const rowNodes = [];
35
- for (let rr = 0; rr < rows; rr++) {
36
- const cellNodes = [];
37
- for (let cc = 0; cc < cols; cc++) {
38
- // [FS] IRAD-950 2020-05-25
39
- // Fix:Extra arrow key required for cell navigation using arrow right/Left
40
- const cellNode = cell.create(
41
- undefined,
42
- Fragment.fromArray([paragraph.create()])
43
- );
44
- cellNodes.push(cellNode);
45
- }
46
- const rowNode = row.create({}, Fragment.from(cellNodes));
47
- rowNodes.push(rowNode);
48
- }
49
- const tableNode = table.create({}, Fragment.from(rowNodes));
50
- tr = tr.insert(from, Fragment.from(tableNode));
51
-
52
- const selection = TextSelection.create(tr.doc, from + 5, from + 5);
53
-
54
- tr = tr.setSelection(selection);
55
- return tr;
56
- }
1
+ // @flow
2
+
3
+ import { Fragment, Schema } from 'prosemirror-model';
4
+ import { TextSelection } from 'prosemirror-state';
5
+ import { Transform } from 'prosemirror-transform';
6
+
7
+ import { PARAGRAPH, TABLE, TABLE_CELL, TABLE_ROW } from './NodeNames.js';
8
+
9
+ export default function insertTable(
10
+ tr: Transform,
11
+ schema: Schema,
12
+ rows: number,
13
+ cols: number
14
+ ): Transform {
15
+ if (!tr.selection || !tr.doc) {
16
+ return tr;
17
+ }
18
+ const { from, to } = tr.selection;
19
+ if (from !== to) {
20
+ return tr;
21
+ }
22
+
23
+ const { nodes } = schema;
24
+ const cell = nodes[TABLE_CELL];
25
+ const paragraph = nodes[PARAGRAPH];
26
+ const row = nodes[TABLE_ROW];
27
+ const table = nodes[TABLE];
28
+ if (!(cell && paragraph && row && table)) {
29
+ return tr;
30
+ }
31
+
32
+ const rowNodes = [];
33
+ for (let rr = 0; rr < rows; rr++) {
34
+ const cellNodes = [];
35
+ for (let cc = 0; cc < cols; cc++) {
36
+ // [FS] IRAD-950 2020-05-25
37
+ // Fix:Extra arrow key required for cell navigation using arrow right/Left
38
+ const cellNode = cell.create(
39
+ undefined,
40
+ Fragment.fromArray([paragraph.create()])
41
+ );
42
+ cellNodes.push(cellNode);
43
+ }
44
+ const rowNode = row.create({}, Fragment.from(cellNodes));
45
+ rowNodes.push(rowNode);
46
+ }
47
+ const tableNode = table.create({}, Fragment.from(rowNodes));
48
+ tr = tr.insert(from, Fragment.from(tableNode));
49
+
50
+ const selection = TextSelection.create(tr.doc, from + 5, from + 5);
51
+
52
+ tr = tr.setSelection(selection);
53
+ return tr;
54
+ }
@@ -1,32 +1,32 @@
1
- // @flow
2
-
3
- import { EditorState } from 'prosemirror-state';
4
-
5
- const ZERO_WIDTH_SPACE_CHAR = '\u200b';
6
-
7
- export default function isEditorStateEmpty(editorState: EditorState): boolean {
8
- const { doc } = editorState;
9
- const { nodeSize } = doc;
10
- if (nodeSize < 2) {
11
- const text = doc.textContent;
12
- return !text || text === ' ';
13
- } else if (nodeSize < 10) {
14
- let isEmpty = true;
15
- doc.nodesBetween(0, doc.nodeSize - 2, (node, ii) => {
16
- if (isEmpty) {
17
- const nodeType = node.type;
18
- if (nodeType.isText) {
19
- const text = doc.textContent;
20
- isEmpty = !text || text === ' ' || text === ZERO_WIDTH_SPACE_CHAR;
21
- } else if (nodeType.isAtom) {
22
- // e.g. Image, Video...etc.
23
- isEmpty = false;
24
- }
25
- }
26
- return isEmpty;
27
- });
28
- return isEmpty;
29
- } else {
30
- return false;
31
- }
32
- }
1
+ // @flow
2
+
3
+ import { EditorState } from 'prosemirror-state';
4
+
5
+ const ZERO_WIDTH_SPACE_CHAR = '\u200b';
6
+
7
+ export default function isEditorStateEmpty(editorState: EditorState): boolean {
8
+ const { doc } = editorState;
9
+ const { nodeSize } = doc;
10
+ if (nodeSize < 2) {
11
+ const text = doc.textContent;
12
+ return !text || text === ' ';
13
+ } else if (nodeSize < 10) {
14
+ let isEmpty = true;
15
+ doc.nodesBetween(0, doc.nodeSize - 2, (node, ii) => {
16
+ if (isEmpty) {
17
+ const nodeType = node.type;
18
+ if (nodeType.isText) {
19
+ const text = doc.textContent;
20
+ isEmpty = !text || text === ' ' || text === ZERO_WIDTH_SPACE_CHAR;
21
+ } else if (nodeType.isAtom) {
22
+ // e.g. Image, Video...etc.
23
+ isEmpty = false;
24
+ }
25
+ }
26
+ return isEmpty;
27
+ });
28
+ return isEmpty;
29
+ } else {
30
+ return false;
31
+ }
32
+ }
@@ -1,15 +1,15 @@
1
- // @flow
2
-
3
- import { Node } from 'prosemirror-model';
4
-
5
- import { TABLE, TABLE_CELL, TABLE_HEADER, TABLE_ROW } from './NodeNames';
6
-
7
- export default function isTableNode(node: Node): boolean {
8
- const name = node instanceof Node ? node.type.name : null;
9
- return (
10
- name === TABLE ||
11
- name === TABLE_ROW ||
12
- name === TABLE_HEADER ||
13
- name === TABLE_CELL
14
- );
15
- }
1
+ // @flow
2
+
3
+ import { Node } from 'prosemirror-model';
4
+
5
+ import { TABLE, TABLE_CELL, TABLE_HEADER, TABLE_ROW } from './NodeNames';
6
+
7
+ export default function isTableNode(node: Node): boolean {
8
+ const name = node instanceof Node ? node.type.name : null;
9
+ return (
10
+ name === TABLE ||
11
+ name === TABLE_ROW ||
12
+ name === TABLE_HEADER ||
13
+ name === TABLE_CELL
14
+ );
15
+ }
package/joinDown.js CHANGED
@@ -1,8 +1,6 @@
1
1
  // https://github.com/ProseMirror/prosemirror-commands/blob/master/src/commands.js
2
2
  import { NodeSelection } from 'prosemirror-state';
3
- import { Transform } from 'prosemirror-transform';
4
- import { canJoin } from 'prosemirror-transform';
5
- import { joinPoint } from 'prosemirror-transform';
3
+ import { Transform, canJoin, joinPoint } from 'prosemirror-transform';
6
4
 
7
5
  // Join the selected block, or the closest ancestor of the selection
8
6
  // that can be joined, with the sibling after it.
package/joinDown.js.flow CHANGED
@@ -1,27 +1,25 @@
1
- // @flow
2
- // https://github.com/ProseMirror/prosemirror-commands/blob/master/src/commands.js
3
-
4
- import { NodeSelection } from 'prosemirror-state';
5
- import { Transform } from 'prosemirror-transform';
6
- import { canJoin } from 'prosemirror-transform';
7
- import { joinPoint } from 'prosemirror-transform';
8
-
9
- // Join the selected block, or the closest ancestor of the selection
10
- // that can be joined, with the sibling after it.
11
- export default function joinDown(tr: Transform): Transform {
12
- const sel = tr.selection;
13
- let point;
14
- if (sel instanceof NodeSelection) {
15
- if (sel.node.isTextblock || !canJoin(tr.doc, sel.to)) {
16
- return tr;
17
- }
18
- point = sel.to;
19
- } else {
20
- point = joinPoint(tr.doc, sel.to, 1);
21
- if (point === null || point === undefined) {
22
- return tr;
23
- }
24
- }
25
- tr = tr.join(point);
26
- return tr;
27
- }
1
+ // @flow
2
+ // https://github.com/ProseMirror/prosemirror-commands/blob/master/src/commands.js
3
+
4
+ import { NodeSelection } from 'prosemirror-state';
5
+ import { Transform , canJoin, joinPoint} from 'prosemirror-transform';
6
+
7
+ // Join the selected block, or the closest ancestor of the selection
8
+ // that can be joined, with the sibling after it.
9
+ export default function joinDown(tr: Transform): Transform {
10
+ const sel = tr.selection;
11
+ let point;
12
+ if (sel instanceof NodeSelection) {
13
+ if (sel.node.isTextblock || !canJoin(tr.doc, sel.to)) {
14
+ return tr;
15
+ }
16
+ point = sel.to;
17
+ } else {
18
+ point = joinPoint(tr.doc, sel.to, 1);
19
+ if (point === null || point === undefined) {
20
+ return tr;
21
+ }
22
+ }
23
+ tr = tr.join(point);
24
+ return tr;
25
+ }