@modusoperandi/licit 0.1.9 → 0.13.2

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 (340) hide show
  1. package/.github/workflows/build.yml +1 -7
  2. package/.github/workflows/lint.yml +1 -1
  3. package/README.md +1 -1
  4. package/babel.config.json +54 -0
  5. package/dist/BlockquoteNodeSpec.js +2 -2
  6. package/dist/CZIProseMirror.js +4 -4
  7. package/dist/CodeBlockCommand.js +2 -2
  8. package/dist/CodeBlockCommand.js.flow +1 -1
  9. package/dist/CursorPlaceholderPlugin.js +2 -2
  10. package/dist/DocLayoutCommand.js +2 -4
  11. package/dist/DocLayoutCommand.js.flow +1 -1
  12. package/dist/DocNodeSpec.js +1 -1
  13. package/dist/EditorCommands.js +23 -35
  14. package/dist/EditorCommands.js.flow +7 -7
  15. package/dist/EditorKeyMap.js +3 -3
  16. package/dist/FontTypeMarkSpec.js +1 -1
  17. package/dist/HeadingNodeSpec.js +2 -2
  18. package/dist/ImageSourceCommand.js +2 -4
  19. package/dist/ImageSourceCommand.js.flow +1 -1
  20. package/dist/ImageUploadPlaceholderPlugin.js +1 -1
  21. package/dist/LinkSetURLCommand.js +4 -8
  22. package/dist/LinkSetURLCommand.js.flow +3 -3
  23. package/dist/LinkTooltipPlugin.js +9 -15
  24. package/dist/LinkTooltipPlugin.js.flow +5 -5
  25. package/dist/ListToggleCommand.js +5 -11
  26. package/dist/ListToggleCommand.js.flow +3 -3
  27. package/dist/MarkNames.js +1 -1
  28. package/dist/MarksClearCommand.js +3 -3
  29. package/dist/MarksClearCommand.js.flow +1 -1
  30. package/dist/MathEditCommand.js +2 -2
  31. package/dist/MathEditCommand.js.flow +1 -1
  32. package/dist/ParagraphNodeSpec.js +3 -4
  33. package/dist/ParagraphNodeSpec.js.flow +2 -6
  34. package/dist/ParagraphSpacingCommand.js +3 -3
  35. package/dist/SelectionPlaceholderPlugin.js +2 -2
  36. package/dist/SpacerMarkSpec.js +1 -1
  37. package/dist/TableBackgroundColorCommand.js +3 -7
  38. package/dist/TableBackgroundColorCommand.js.flow +3 -3
  39. package/dist/TableBorderColorCommand.js +3 -7
  40. package/dist/TableBorderColorCommand.js.flow +3 -3
  41. package/dist/TableCellColorCommand.js +3 -7
  42. package/dist/TableCellColorCommand.js.flow +3 -3
  43. package/dist/TableCellMenuPlugin.js +4 -6
  44. package/dist/TableCellMenuPlugin.js.flow +3 -3
  45. package/dist/TableInsertCommand.js +3 -5
  46. package/dist/TableInsertCommand.js.flow +2 -2
  47. package/dist/TableResizePlugin.js +2 -2
  48. package/dist/TextInsertTabSpaceCommand.js +2 -4
  49. package/dist/TextInsertTabSpaceCommand.js.flow +1 -1
  50. package/dist/Types.js +1 -1
  51. package/dist/bom.xml +4970 -4167
  52. package/dist/client/CollabConnector.js +17 -2
  53. package/dist/client/CollabConnector.js.flow +17 -2
  54. package/dist/client/EditorConnection.js +15 -4
  55. package/dist/client/EditorConnection.js.flow +14 -3
  56. package/dist/client/Licit.js +73 -58
  57. package/dist/client/Licit.js.flow +101 -85
  58. package/dist/client/Licit.test.js +18 -17
  59. package/dist/client/Licit.test.js.flow +13 -11
  60. package/dist/client/SimpleConnector.js +4 -2
  61. package/dist/client/SimpleConnector.js.flow +3 -1
  62. package/dist/client/http.js +3 -3
  63. package/dist/convertToCSSPTValue.js +1 -1
  64. package/dist/createEmptyEditorState.js +1 -1
  65. package/dist/index.js +16 -16
  66. package/dist/joinListNode.js +2 -2
  67. package/dist/joinListNode.js.flow +1 -1
  68. package/dist/keymaps.js +2 -2
  69. package/dist/patchStyleElements.js +3 -3
  70. package/dist/patchStyleElements.js.flow +1 -1
  71. package/dist/splitListItem.js +2 -2
  72. package/dist/styles.css +2 -2
  73. package/dist/styles0.css +3 -3
  74. package/dist/toggleBlockquote.js +6 -14
  75. package/dist/toggleBlockquote.js.flow +4 -4
  76. package/dist/toggleCodeBlock.js +4 -10
  77. package/dist/toggleCodeBlock.js.flow +3 -3
  78. package/dist/ui/AlertInfo.js +2 -2
  79. package/dist/ui/CommandButton.js +2 -4
  80. package/dist/ui/CommandButton.js.flow +1 -1
  81. package/dist/ui/CommandMenuButton.js +5 -7
  82. package/dist/ui/CommandMenuButton.js.flow +2 -2
  83. package/dist/ui/CustomMenuItem.js +3 -5
  84. package/dist/ui/CustomMenuItem.js.flow +1 -1
  85. package/dist/ui/CustomNodeView.js +3 -3
  86. package/dist/ui/CustomRadioButton.js +8 -6
  87. package/dist/ui/CustomRadioButton.js.flow +3 -3
  88. package/dist/ui/DocLayoutEditor.js +5 -7
  89. package/dist/ui/DocLayoutEditor.js.flow +2 -2
  90. package/dist/ui/Editor.js +1 -2
  91. package/dist/ui/Editor.js.flow +1 -2
  92. package/dist/ui/EditorFrameset.js +1 -1
  93. package/dist/ui/EditorToolbar.js +4 -4
  94. package/dist/ui/EditorToolbar.js.flow +1 -1
  95. package/dist/ui/EditorToolbarConfig.js +1 -1
  96. package/dist/ui/FontSizeCommandMenuButton.js +3 -3
  97. package/dist/ui/FontSizeCommandMenuButton.js.flow +1 -1
  98. package/dist/ui/FontTypeCommandMenuButton.js +3 -3
  99. package/dist/ui/FontTypeCommandMenuButton.js.flow +1 -1
  100. package/dist/ui/ImageAlignEditor.js +5 -5
  101. package/dist/ui/ImageAlignEditor.js.flow +1 -1
  102. package/dist/ui/ImageInlineEditor.js +5 -5
  103. package/dist/ui/ImageInlineEditor.js.flow +1 -1
  104. package/dist/ui/ImageNodeView.js +5 -7
  105. package/dist/ui/ImageNodeView.js.flow +2 -2
  106. package/dist/ui/ImageResizeBox.js +4 -4
  107. package/dist/ui/ImageResizeBox.js.flow +1 -1
  108. package/dist/ui/ImageURLEditor.js +6 -8
  109. package/dist/ui/ImageURLEditor.js.flow +2 -2
  110. package/dist/ui/ImageUploadEditor.js +3 -5
  111. package/dist/ui/ImageUploadEditor.js.flow +2 -2
  112. package/dist/ui/LinkTooltip.js +4 -4
  113. package/dist/ui/LinkTooltip.js.flow +1 -1
  114. package/dist/ui/LinkURLEditor.js +4 -6
  115. package/dist/ui/LinkURLEditor.js.flow +2 -2
  116. package/dist/ui/ListTypeButton.js +5 -7
  117. package/dist/ui/ListTypeButton.js.flow +2 -2
  118. package/dist/ui/MathEditor.js +4 -6
  119. package/dist/ui/MathEditor.js.flow +2 -2
  120. package/dist/ui/MathInlineEditor.js +7 -9
  121. package/dist/ui/MathInlineEditor.js.flow +2 -2
  122. package/dist/ui/MathNodeView.js +5 -7
  123. package/dist/ui/MathNodeView.js.flow +2 -2
  124. package/dist/ui/ResizeObserver.js +1 -1
  125. package/dist/ui/TableGridSizeEditor.js +7 -9
  126. package/dist/ui/TableGridSizeEditor.js.flow +2 -2
  127. package/dist/ui/czi-link-tooltip.css +1 -1
  128. package/dist/ui/czi-vars.css +1 -45
  129. package/dist/ui/findActiveFontType.js +1 -1
  130. package/dist/ui/htmlElementToRect.js +1 -1
  131. package/dist/ui/isElementFullyVisible.js +2 -2
  132. package/dist/ui/isElementFullyVisible.js.flow +1 -1
  133. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js +1 -1
  134. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +2 -2
  135. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +1 -1
  136. package/dist/ui/resolveImage.js +3 -3
  137. package/dist/ui/toCSSColor.js +1 -1
  138. package/dist/ui/toCSSLineSpacing.js +1 -36
  139. package/dist/ui/toCSSLineSpacing.js.flow +0 -27
  140. package/flow-typed/@modusoperandilicit-ui-commands.js +5 -0
  141. package/jest.config.js +207 -0
  142. package/lint.sh +0 -0
  143. package/node_modules/prosemirror-utils/LICENSE +13 -0
  144. package/{dist/ui/PopUpTypes.js.flow → node_modules/prosemirror-utils/README.md} +0 -0
  145. package/node_modules/prosemirror-utils/dist/helpers.js +119 -0
  146. package/node_modules/prosemirror-utils/dist/index.js +17 -0
  147. package/node_modules/prosemirror-utils/dist/index.js.map +1 -0
  148. package/node_modules/prosemirror-utils/dist/node.js +106 -0
  149. package/node_modules/prosemirror-utils/dist/selection.js +168 -0
  150. package/node_modules/prosemirror-utils/dist/transforms.js +257 -0
  151. package/node_modules/prosemirror-utils/package.json +81 -0
  152. package/node_modules/prosemirror-utils/typings.d.ts +79 -0
  153. package/package.json +14 -8
  154. package/scripts/build_bin.py +0 -0
  155. package/scripts/ci_check_dist.sh +0 -0
  156. package/src/CodeBlockCommand.js +1 -1
  157. package/src/DocLayoutCommand.js +1 -1
  158. package/src/EditorCommands.js +7 -7
  159. package/src/ImageSourceCommand.js +1 -1
  160. package/src/LinkSetURLCommand.js +3 -3
  161. package/src/LinkTooltipPlugin.js +5 -5
  162. package/src/ListToggleCommand.js +3 -3
  163. package/src/MarksClearCommand.js +1 -1
  164. package/src/MathEditCommand.js +1 -1
  165. package/src/ParagraphNodeSpec.js +2 -6
  166. package/src/TableBackgroundColorCommand.js +3 -3
  167. package/src/TableBorderColorCommand.js +3 -3
  168. package/src/TableCellColorCommand.js +3 -3
  169. package/src/TableCellMenuPlugin.js +3 -3
  170. package/src/TableInsertCommand.js +2 -2
  171. package/src/TextInsertTabSpaceCommand.js +1 -1
  172. package/src/client/CollabConnector.js +17 -2
  173. package/src/client/EditorConnection.js +14 -3
  174. package/src/client/Licit.js +101 -85
  175. package/src/client/Licit.test.js +13 -11
  176. package/src/client/SimpleConnector.js +3 -1
  177. package/src/joinListNode.js +1 -1
  178. package/src/patchStyleElements.js +1 -1
  179. package/src/styles.css +2 -2
  180. package/src/styles0.css +3 -3
  181. package/src/toggleBlockquote.js +4 -4
  182. package/src/toggleCodeBlock.js +3 -3
  183. package/src/ui/CommandButton.js +1 -1
  184. package/src/ui/CommandMenuButton.js +2 -2
  185. package/src/ui/CustomMenuItem.js +1 -1
  186. package/src/ui/CustomRadioButton.js +3 -3
  187. package/src/ui/DocLayoutEditor.js +2 -2
  188. package/src/ui/Editor.js +1 -2
  189. package/src/ui/EditorToolbar.js +1 -1
  190. package/src/ui/FontSizeCommandMenuButton.js +1 -1
  191. package/src/ui/FontTypeCommandMenuButton.js +1 -1
  192. package/src/ui/ImageAlignEditor.js +1 -1
  193. package/src/ui/ImageInlineEditor.js +1 -1
  194. package/src/ui/ImageNodeView.js +2 -2
  195. package/src/ui/ImageResizeBox.js +1 -1
  196. package/src/ui/ImageURLEditor.js +2 -2
  197. package/src/ui/ImageUploadEditor.js +2 -2
  198. package/src/ui/LinkTooltip.js +1 -1
  199. package/src/ui/LinkURLEditor.js +2 -2
  200. package/src/ui/ListTypeButton.js +2 -2
  201. package/src/ui/MathEditor.js +2 -2
  202. package/src/ui/MathInlineEditor.js +2 -2
  203. package/src/ui/MathNodeView.js +2 -2
  204. package/src/ui/TableGridSizeEditor.js +2 -2
  205. package/src/ui/czi-link-tooltip.css +1 -1
  206. package/src/ui/czi-vars.css +1 -45
  207. package/src/ui/isElementFullyVisible.js +1 -1
  208. package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +1 -1
  209. package/src/ui/toCSSLineSpacing.js +0 -27
  210. package/build_customstyle_server.py +0 -7
  211. package/dist/FontSizeCommand.js +0 -80
  212. package/dist/FontSizeCommand.js.flow +0 -57
  213. package/dist/FontTypeCommand.js +0 -137
  214. package/dist/FontTypeCommand.js.flow +0 -100
  215. package/dist/HeadingCommand.js +0 -65
  216. package/dist/HeadingCommand.js.flow +0 -51
  217. package/dist/IndentCommand.js +0 -57
  218. package/dist/IndentCommand.js.flow +0 -41
  219. package/dist/MarkToggleCommand.js +0 -90
  220. package/dist/MarkToggleCommand.js.flow +0 -66
  221. package/dist/TextAlignCommand.js +0 -151
  222. package/dist/TextAlignCommand.js.flow +0 -122
  223. package/dist/TextColorCommand.js +0 -114
  224. package/dist/TextColorCommand.js.flow +0 -87
  225. package/dist/TextHighlightCommand.js +0 -118
  226. package/dist/TextHighlightCommand.js.flow +0 -91
  227. package/dist/TextLineSpacingCommand.js +0 -177
  228. package/dist/TextLineSpacingCommand.js.flow +0 -157
  229. package/dist/applyMark.js +0 -84
  230. package/dist/applyMark.js.flow +0 -61
  231. package/dist/clearMarks.js +0 -160
  232. package/dist/clearMarks.js.flow +0 -128
  233. package/dist/compareNumber.js +0 -18
  234. package/dist/compareNumber.js.flow +0 -11
  235. package/dist/consolidateListNodes.js +0 -291
  236. package/dist/consolidateListNodes.js.flow +0 -281
  237. package/dist/coverage/lcov-report/block-navigation.js +0 -77
  238. package/dist/coverage/lcov-report/block-navigation.js.flow +0 -79
  239. package/dist/coverage/lcov-report/prettify.js +0 -994
  240. package/dist/coverage/lcov-report/prettify.js.flow +0 -2
  241. package/dist/coverage/lcov-report/sorter.js +0 -187
  242. package/dist/coverage/lcov-report/sorter.js.flow +0 -170
  243. package/dist/findNodesWithSameMark.js +0 -89
  244. package/dist/findNodesWithSameMark.js.flow +0 -89
  245. package/dist/isBulletListNode.js +0 -14
  246. package/dist/isBulletListNode.js.flow +0 -9
  247. package/dist/isInsideListItem.js +0 -19
  248. package/dist/isInsideListItem.js.flow +0 -13
  249. package/dist/isListNode.js +0 -22
  250. package/dist/isListNode.js.flow +0 -13
  251. package/dist/isNodeSelectionForNodeType.js +0 -19
  252. package/dist/isNodeSelectionForNodeType.js.flow +0 -15
  253. package/dist/isOrderedListNode.js +0 -14
  254. package/dist/isOrderedListNode.js.flow +0 -9
  255. package/dist/isTextStyleMarkCommandEnabled.js +0 -59
  256. package/dist/isTextStyleMarkCommandEnabled.js.flow +0 -49
  257. package/dist/noop.js +0 -11
  258. package/dist/noop.js.flow +0 -5
  259. package/dist/toggleHeading.js +0 -135
  260. package/dist/toggleHeading.js.flow +0 -113
  261. package/dist/toggleList.js +0 -431
  262. package/dist/toggleList.js.flow +0 -450
  263. package/dist/transformAndPreserveTextSelection.js +0 -173
  264. package/dist/transformAndPreserveTextSelection.js.flow +0 -151
  265. package/dist/ui/ColorEditor.js +0 -118
  266. package/dist/ui/ColorEditor.js.flow +0 -101
  267. package/dist/ui/CustomButton.js +0 -62
  268. package/dist/ui/CustomButton.js.flow +0 -33
  269. package/dist/ui/PointerSurface.js +0 -173
  270. package/dist/ui/PointerSurface.js.flow +0 -141
  271. package/dist/ui/PopUp.js +0 -129
  272. package/dist/ui/PopUp.js.flow +0 -77
  273. package/dist/ui/PopUpManager.js +0 -266
  274. package/dist/ui/PopUpManager.js.flow +0 -213
  275. package/dist/ui/PopUpPosition.js +0 -156
  276. package/dist/ui/PopUpPosition.js.flow +0 -104
  277. package/dist/ui/PopUpTypes.js +0 -1
  278. package/dist/ui/TooltipSurface.js +0 -99
  279. package/dist/ui/TooltipSurface.js.flow +0 -76
  280. package/dist/ui/clamp.js +0 -18
  281. package/dist/ui/clamp.js.flow +0 -11
  282. package/dist/ui/createPopUp.js +0 -199
  283. package/dist/ui/createPopUp.js.flow +0 -205
  284. package/dist/ui/czi-animations.css +0 -15
  285. package/dist/ui/czi-color-editor.css +0 -56
  286. package/dist/ui/czi-custom-button.css +0 -93
  287. package/dist/ui/czi-pop-up.css +0 -32
  288. package/dist/ui/czi-tooltip-surface.css +0 -45
  289. package/dist/ui/preventEventDefault.js +0 -10
  290. package/dist/ui/preventEventDefault.js.flow +0 -5
  291. package/dist/ui/rects.js +0 -58
  292. package/dist/ui/rects.js.flow +0 -47
  293. package/dist/updateIndentLevel.js +0 -232
  294. package/dist/updateIndentLevel.js.flow +0 -211
  295. package/flow-typed/@molicit-citation.js +0 -5
  296. package/licit/server/customstyles/start.js +0 -184
  297. package/run_customstyle_server.py +0 -20
  298. package/src/FontSizeCommand.js +0 -57
  299. package/src/FontTypeCommand.js +0 -100
  300. package/src/HeadingCommand.js +0 -51
  301. package/src/IndentCommand.js +0 -41
  302. package/src/MarkToggleCommand.js +0 -66
  303. package/src/TextAlignCommand.js +0 -122
  304. package/src/TextColorCommand.js +0 -87
  305. package/src/TextHighlightCommand.js +0 -91
  306. package/src/TextLineSpacingCommand.js +0 -157
  307. package/src/applyMark.js +0 -61
  308. package/src/clearMarks.js +0 -128
  309. package/src/compareNumber.js +0 -11
  310. package/src/consolidateListNodes.js +0 -281
  311. package/src/findNodesWithSameMark.js +0 -89
  312. package/src/isBulletListNode.js +0 -9
  313. package/src/isInsideListItem.js +0 -13
  314. package/src/isListNode.js +0 -13
  315. package/src/isNodeSelectionForNodeType.js +0 -15
  316. package/src/isOrderedListNode.js +0 -9
  317. package/src/isTextStyleMarkCommandEnabled.js +0 -49
  318. package/src/noop.js +0 -5
  319. package/src/toggleHeading.js +0 -113
  320. package/src/toggleList.js +0 -450
  321. package/src/transformAndPreserveTextSelection.js +0 -151
  322. package/src/ui/ColorEditor.js +0 -101
  323. package/src/ui/CustomButton.js +0 -33
  324. package/src/ui/PointerSurface.js +0 -141
  325. package/src/ui/PopUp.js +0 -77
  326. package/src/ui/PopUpManager.js +0 -213
  327. package/src/ui/PopUpPosition.js +0 -104
  328. package/src/ui/PopUpTypes.js +0 -0
  329. package/src/ui/TooltipSurface.js +0 -76
  330. package/src/ui/clamp.js +0 -11
  331. package/src/ui/createPopUp.js +0 -205
  332. package/src/ui/czi-animations.css +0 -15
  333. package/src/ui/czi-color-editor.css +0 -56
  334. package/src/ui/czi-custom-button.css +0 -93
  335. package/src/ui/czi-pop-up.css +0 -32
  336. package/src/ui/czi-tooltip-surface.css +0 -45
  337. package/src/ui/preventEventDefault.js +0 -5
  338. package/src/ui/rects.js +0 -47
  339. package/src/updateIndentLevel.js +0 -211
  340. package/utils/build_customstyle_server.js +0 -72
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isNodeSelectionForNodeType;
7
-
8
- var _prosemirrorState = require("prosemirror-state");
9
-
10
- var _prosemirrorModel = require("prosemirror-model");
11
-
12
- // Whether the selection is a node for the node type provided.
13
- function isNodeSelectionForNodeType(selection, nodeType) {
14
- if (selection instanceof _prosemirrorState.NodeSelection) {
15
- return selection.node.type === nodeType;
16
- }
17
-
18
- return false;
19
- }
@@ -1,15 +0,0 @@
1
- // @flow
2
-
3
- import { Selection, NodeSelection } from 'prosemirror-state';
4
- import { NodeType } from 'prosemirror-model';
5
-
6
- // Whether the selection is a node for the node type provided.
7
- export default function isNodeSelectionForNodeType(
8
- selection: Selection,
9
- nodeType: NodeType
10
- ): boolean {
11
- if (selection instanceof NodeSelection) {
12
- return selection.node.type === nodeType;
13
- }
14
- return false;
15
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isOrderedListNode;
7
-
8
- var _prosemirrorModel = require("prosemirror-model");
9
-
10
- var _NodeNames = require("./NodeNames");
11
-
12
- function isOrderedListNode(node) {
13
- return node.type.name === _NodeNames.ORDERED_LIST;
14
- }
@@ -1,9 +0,0 @@
1
- // @flow
2
-
3
- import { Node } from 'prosemirror-model';
4
-
5
- import { ORDERED_LIST } from './NodeNames';
6
-
7
- export default function isOrderedListNode(node: Node): boolean {
8
- return node.type.name === ORDERED_LIST;
9
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isTextStyleMarkCommandEnabled;
7
-
8
- var _isNodeSelectionForNodeType = _interopRequireDefault(require("./isNodeSelectionForNodeType"));
9
-
10
- var _prosemirrorState = require("prosemirror-state");
11
-
12
- var _NodeNames = require("./NodeNames");
13
-
14
- var _MarkNames = require("./MarkNames");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- const VALID_MATH_MARK_NAMES = new Set([_MarkNames.MARK_FONT_SIZE, _MarkNames.MARK_TEXT_COLOR]); // Whether the command for apply specific text style mark is enabled.
19
-
20
- function isTextStyleMarkCommandEnabled(state, markName) {
21
- const {
22
- selection,
23
- schema,
24
- tr
25
- } = state;
26
- const markType = schema.marks[markName];
27
-
28
- if (!markType) {
29
- return false;
30
- }
31
-
32
- const mathNodeType = schema.nodes[_NodeNames.MATH];
33
-
34
- if (mathNodeType && VALID_MATH_MARK_NAMES.has(markName) && (0, _isNodeSelectionForNodeType.default)(selection, mathNodeType)) {
35
- // A math node is selected.
36
- return true;
37
- }
38
-
39
- if (!(selection instanceof _prosemirrorState.TextSelection || selection instanceof _prosemirrorState.AllSelection)) {
40
- // Could be a NodeSelection or CellSelection.
41
- return false;
42
- }
43
-
44
- const {
45
- from,
46
- to
47
- } = state.selection;
48
-
49
- if (to === from + 1) {
50
- const node = tr.doc.nodeAt(from);
51
-
52
- if (node.isAtom && !node.isText && node.isLeaf) {
53
- // An atomic node (e.g. Image) is selected.
54
- return false;
55
- }
56
- }
57
-
58
- return true;
59
- }
@@ -1,49 +0,0 @@
1
- // @flow
2
-
3
- import isNodeSelectionForNodeType from './isNodeSelectionForNodeType';
4
- import { EditorState } from 'prosemirror-state';
5
- import { MATH } from './NodeNames';
6
- import { AllSelection, TextSelection } from 'prosemirror-state';
7
- import { MARK_FONT_SIZE, MARK_TEXT_COLOR } from './MarkNames';
8
-
9
- const VALID_MATH_MARK_NAMES = new Set([MARK_FONT_SIZE, MARK_TEXT_COLOR]);
10
-
11
- // Whether the command for apply specific text style mark is enabled.
12
- export default function isTextStyleMarkCommandEnabled(
13
- state: EditorState,
14
- markName: string
15
- ): boolean {
16
- const { selection, schema, tr } = state;
17
- const markType = schema.marks[markName];
18
- if (!markType) {
19
- return false;
20
- }
21
- const mathNodeType = schema.nodes[MATH];
22
- if (
23
- mathNodeType &&
24
- VALID_MATH_MARK_NAMES.has(markName) &&
25
- isNodeSelectionForNodeType(selection, mathNodeType)
26
- ) {
27
- // A math node is selected.
28
- return true;
29
- }
30
-
31
- if (
32
- !(selection instanceof TextSelection || selection instanceof AllSelection)
33
- ) {
34
- // Could be a NodeSelection or CellSelection.
35
- return false;
36
- }
37
-
38
- const { from, to } = state.selection;
39
-
40
- if (to === from + 1) {
41
- const node = tr.doc.nodeAt(from);
42
- if (node.isAtom && !node.isText && node.isLeaf) {
43
- // An atomic node (e.g. Image) is selected.
44
- return false;
45
- }
46
- }
47
-
48
- return true;
49
- }
package/dist/noop.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- const noop = function () {};
9
-
10
- var _default = noop;
11
- exports.default = _default;
package/dist/noop.js.flow DELETED
@@ -1,5 +0,0 @@
1
- // @flow
2
-
3
- const noop: any = function () {};
4
-
5
- export default noop;
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = toggleHeading;
7
-
8
- var _prosemirrorModel = require("prosemirror-model");
9
-
10
- var _prosemirrorTransform = require("prosemirror-transform");
11
-
12
- var _NodeNames = require("./NodeNames");
13
-
14
- var _compareNumber = _interopRequireDefault(require("./compareNumber"));
15
-
16
- var _isInsideListItem = _interopRequireDefault(require("./isInsideListItem"));
17
-
18
- var _isListNode = _interopRequireDefault(require("./isListNode"));
19
-
20
- var _clearMarks = require("./clearMarks");
21
-
22
- var _toggleList = require("./toggleList");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
27
-
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
-
30
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
-
32
- function toggleHeading(tr, schema, level) {
33
- const {
34
- nodes
35
- } = schema;
36
- const {
37
- selection,
38
- doc
39
- } = tr;
40
- const blockquote = nodes[_NodeNames.BLOCKQUOTE];
41
- const heading = nodes[_NodeNames.HEADING];
42
- const listItem = nodes[_NodeNames.LIST_ITEM];
43
- const paragraph = nodes[_NodeNames.PARAGRAPH];
44
-
45
- if (!selection || !doc || !heading || !paragraph || !listItem || !blockquote) {
46
- return tr;
47
- }
48
-
49
- const {
50
- from,
51
- to
52
- } = tr.selection;
53
- let startWithHeadingBlock = null;
54
- const poses = [];
55
- doc.nodesBetween(from, to, (node, pos, parentNode) => {
56
- const nodeType = node.type;
57
- const parentNodeType = parentNode.type;
58
-
59
- if (startWithHeadingBlock === null) {
60
- startWithHeadingBlock = nodeType === heading && node.attrs.level === level;
61
- }
62
-
63
- if (parentNodeType !== listItem) {
64
- poses.push(pos);
65
- }
66
-
67
- return !(0, _isListNode.default)(node);
68
- }); // Update from the bottom to avoid disruptive changes in pos.
69
-
70
- poses.sort(_compareNumber.default).reverse().forEach(pos => {
71
- tr = setHeadingNode(tr, schema, pos, startWithHeadingBlock ? null : level);
72
- });
73
- return tr;
74
- }
75
-
76
- function setHeadingNode(tr, schema, pos, level) {
77
- const {
78
- nodes
79
- } = schema;
80
- const heading = nodes[_NodeNames.HEADING];
81
- const paragraph = nodes[_NodeNames.PARAGRAPH];
82
- const blockquote = nodes[_NodeNames.BLOCKQUOTE];
83
-
84
- if (pos >= tr.doc.content.size) {
85
- // Workaround to handle the edge case that pos was shifted caused by `toggleList`.
86
- return tr;
87
- }
88
-
89
- const node = tr.doc.nodeAt(pos);
90
-
91
- if (!node || !heading || !paragraph || !blockquote) {
92
- return tr;
93
- }
94
-
95
- const nodeType = node.type;
96
-
97
- if ((0, _isInsideListItem.default)(tr.doc, pos)) {
98
- return tr;
99
- } else if ((0, _isListNode.default)(node)) {
100
- // Toggle list
101
- if (level !== null) {
102
- tr = (0, _toggleList.unwrapNodesFromList)(tr, schema, pos, paragraphNode => {
103
- const {
104
- content,
105
- marks,
106
- attrs
107
- } = paragraphNode;
108
-
109
- const headingAttrs = _objectSpread(_objectSpread({}, attrs), {}, {
110
- level
111
- });
112
-
113
- return heading.create(headingAttrs, content, marks);
114
- });
115
- }
116
- } else if (nodeType === heading) {
117
- // Toggle heading
118
- if (level === null) {
119
- tr = tr.setNodeMarkup(pos, paragraph, node.attrs, node.marks);
120
- } else {
121
- tr = tr.setNodeMarkup(pos, heading, _objectSpread(_objectSpread({}, node.attrs), {}, {
122
- level
123
- }), node.marks);
124
- }
125
- } else if (level && nodeType === paragraph || nodeType === blockquote) {
126
- // [FS] IRAD-948 2020-05-22
127
- // Clear Header formatting
128
- tr = (0, _clearMarks.clearMarks)(tr, schema);
129
- tr = tr.setNodeMarkup(pos, heading, _objectSpread(_objectSpread({}, node.attrs), {}, {
130
- level
131
- }), node.marks);
132
- }
133
-
134
- return tr;
135
- }
@@ -1,113 +0,0 @@
1
- // @flow
2
-
3
- import { Schema } from 'prosemirror-model';
4
- import { Transform } from 'prosemirror-transform';
5
-
6
- import { BLOCKQUOTE, HEADING, LIST_ITEM, PARAGRAPH } from './NodeNames';
7
- import compareNumber from './compareNumber';
8
- import isInsideListItem from './isInsideListItem';
9
- import isListNode from './isListNode';
10
- import { clearMarks } from './clearMarks';
11
- import { unwrapNodesFromList } from './toggleList';
12
-
13
- export default function toggleHeading(
14
- tr: Transform,
15
- schema: Schema,
16
- level: number
17
- ): Transform {
18
- const { nodes } = schema;
19
- const { selection, doc } = tr;
20
-
21
- const blockquote = nodes[BLOCKQUOTE];
22
- const heading = nodes[HEADING];
23
- const listItem = nodes[LIST_ITEM];
24
- const paragraph = nodes[PARAGRAPH];
25
-
26
- if (
27
- !selection ||
28
- !doc ||
29
- !heading ||
30
- !paragraph ||
31
- !listItem ||
32
- !blockquote
33
- ) {
34
- return tr;
35
- }
36
-
37
- const { from, to } = tr.selection;
38
- let startWithHeadingBlock = null;
39
- const poses = [];
40
- doc.nodesBetween(from, to, (node, pos, parentNode) => {
41
- const nodeType = node.type;
42
- const parentNodeType = parentNode.type;
43
-
44
- if (startWithHeadingBlock === null) {
45
- startWithHeadingBlock =
46
- nodeType === heading && node.attrs.level === level;
47
- }
48
-
49
- if (parentNodeType !== listItem) {
50
- poses.push(pos);
51
- }
52
- return !isListNode(node);
53
- });
54
- // Update from the bottom to avoid disruptive changes in pos.
55
- poses
56
- .sort(compareNumber)
57
- .reverse()
58
- .forEach((pos) => {
59
- tr = setHeadingNode(
60
- tr,
61
- schema,
62
- pos,
63
- startWithHeadingBlock ? null : level
64
- );
65
- });
66
- return tr;
67
- }
68
-
69
- function setHeadingNode(
70
- tr: Transform,
71
- schema: Schema,
72
- pos: number,
73
- level: ?number
74
- ): Transform {
75
- const { nodes } = schema;
76
- const heading = nodes[HEADING];
77
- const paragraph = nodes[PARAGRAPH];
78
- const blockquote = nodes[BLOCKQUOTE];
79
- if (pos >= tr.doc.content.size) {
80
- // Workaround to handle the edge case that pos was shifted caused by `toggleList`.
81
- return tr;
82
- }
83
- const node = tr.doc.nodeAt(pos);
84
- if (!node || !heading || !paragraph || !blockquote) {
85
- return tr;
86
- }
87
- const nodeType = node.type;
88
- if (isInsideListItem(tr.doc, pos)) {
89
- return tr;
90
- } else if (isListNode(node)) {
91
- // Toggle list
92
- if (level !== null) {
93
- tr = unwrapNodesFromList(tr, schema, pos, (paragraphNode) => {
94
- const { content, marks, attrs } = paragraphNode;
95
- const headingAttrs = { ...attrs, level };
96
- return heading.create(headingAttrs, content, marks);
97
- });
98
- }
99
- } else if (nodeType === heading) {
100
- // Toggle heading
101
- if (level === null) {
102
- tr = tr.setNodeMarkup(pos, paragraph, node.attrs, node.marks);
103
- } else {
104
- tr = tr.setNodeMarkup(pos, heading, { ...node.attrs, level }, node.marks);
105
- }
106
- } else if ((level && nodeType === paragraph) || nodeType === blockquote) {
107
- // [FS] IRAD-948 2020-05-22
108
- // Clear Header formatting
109
- tr = clearMarks(tr, schema);
110
- tr = tr.setNodeMarkup(pos, heading, { ...node.attrs, level }, node.marks);
111
- }
112
- return tr;
113
- }