@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,431 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = toggleList;
7
- exports.unwrapNodesFromList = unwrapNodesFromList;
8
-
9
- var _consolidateListNodes = _interopRequireDefault(require("./consolidateListNodes"));
10
-
11
- var _compareNumber = _interopRequireDefault(require("./compareNumber"));
12
-
13
- var _nullthrows = _interopRequireDefault(require("nullthrows"));
14
-
15
- var _prosemirrorModel = require("prosemirror-model");
16
-
17
- var _prosemirrorState = require("prosemirror-state");
18
-
19
- var _prosemirrorTransform = require("prosemirror-transform");
20
-
21
- var _prosemirrorUtils = require("prosemirror-utils");
22
-
23
- var _NodeNames = require("./NodeNames");
24
-
25
- var _isListNode = _interopRequireDefault(require("./isListNode"));
26
-
27
- var _transformAndPreserveTextSelection = _interopRequireWildcard(require("./transformAndPreserveTextSelection"));
28
-
29
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
-
31
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
-
33
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
-
35
- 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; }
36
-
37
- 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; }
38
-
39
- 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; }
40
-
41
- function toggleList(tr, schema, listNodeType, listStyleType) {
42
- const {
43
- selection,
44
- doc
45
- } = tr;
46
-
47
- if (!selection || !doc) {
48
- return tr;
49
- } // [FS][04-AUG-2020][IRAD-955]
50
- // Fix Unable to apply list using Ctrl+A selection
51
-
52
-
53
- let {
54
- from
55
- } = selection;
56
- let {
57
- to
58
- } = selection;
59
- let newselection = selection;
60
-
61
- if (0 === from && 0 != to) {
62
- // In here when Ctrl+A is pressed.
63
- let startPos = -1;
64
- let endPos = -1;
65
- tr.doc.descendants((node, pos) => {
66
- if (-1 === startPos) {
67
- startPos = pos;
68
- } else {
69
- endPos = pos + 1;
70
- }
71
- }); // validate endPos. Both start & end pos can't be -ve.
72
-
73
- endPos = -1 == endPos ? to : endPos; // Actual starting position similar when manually selecting
74
-
75
- startPos = 0 < to - endPos ? to - endPos : 0;
76
- from = startPos;
77
- to = 0 < endPos ? endPos : 0;
78
- newselection = _prosemirrorState.TextSelection.create(doc, from, to);
79
- tr = tr.setSelection(newselection);
80
- }
81
-
82
- const fromSelection = _prosemirrorState.TextSelection.create(doc, from, from);
83
-
84
- const paragraph = schema.nodes[_NodeNames.PARAGRAPH];
85
- const heading = schema.nodes[_NodeNames.HEADING];
86
- const result = (0, _prosemirrorUtils.findParentNodeOfType)(listNodeType)(fromSelection);
87
- const p = (0, _prosemirrorUtils.findParentNodeOfType)(paragraph)(fromSelection);
88
- const h = (0, _prosemirrorUtils.findParentNodeOfType)(heading)(fromSelection);
89
-
90
- if (result) {
91
- tr = unwrapNodesFromList(tr, schema, result.pos);
92
- } else if (paragraph && p) {
93
- tr = wrapNodesWithList(tr, schema, listNodeType, listStyleType, newselection);
94
- } else if (heading && h) {
95
- tr = wrapNodesWithList(tr, schema, listNodeType, listStyleType, newselection);
96
- }
97
-
98
- return tr;
99
- }
100
-
101
- function unwrapNodesFromList(tr, schema, listNodePos, unwrapParagraphNode) {
102
- return (0, _transformAndPreserveTextSelection.default)(tr, schema, memo => {
103
- return (0, _consolidateListNodes.default)(unwrapNodesFromListInternal(memo, listNodePos, unwrapParagraphNode));
104
- });
105
- }
106
-
107
- function wrapNodesWithList(tr, schema, listNodeType, listStyleType) {
108
- let newselection = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
109
- return (0, _transformAndPreserveTextSelection.default)(tr, schema, memo => {
110
- // [FS][04-AUG-2020][IRAD-955]
111
- // Fix Unable to apply list using Ctrl+A selection
112
- return (0, _consolidateListNodes.default)(wrapNodesWithListInternal(memo, listNodeType, listStyleType, newselection));
113
- });
114
- }
115
-
116
- function wrapNodesWithListInternal(memo, listNodeType, listStyleType) {
117
- let newselection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
118
- const {
119
- schema
120
- } = memo;
121
- let {
122
- tr
123
- } = memo;
124
- const {
125
- doc,
126
- selection
127
- } = tr;
128
- let {
129
- from,
130
- to
131
- } = selection;
132
-
133
- if (!tr || !selection) {
134
- return tr;
135
- }
136
-
137
- if (newselection) {
138
- from = newselection.from;
139
- to = newselection.to;
140
- }
141
-
142
- const paragraph = schema.nodes[_NodeNames.PARAGRAPH];
143
- const heading = schema.nodes[_NodeNames.HEADING];
144
- let items = null;
145
- let lists = [];
146
- doc.nodesBetween(from, to, (node, pos) => {
147
- const nodeType = node.type;
148
- const nodeName = nodeType.name;
149
-
150
- if ((0, _isListNode.default)(node)) {
151
- if (node.type !== listNodeType) {
152
- const listNodeAttrs = _objectSpread(_objectSpread({}, node.attrs), {}, {
153
- listNodeType: null
154
- });
155
-
156
- tr = tr.setNodeMarkup(pos, listNodeType, listNodeAttrs, node.marks);
157
- }
158
-
159
- items && lists.push(items);
160
- items = null;
161
- return false;
162
- }
163
-
164
- if (/table/.test(nodeName)) {
165
- items && lists.push(items);
166
- items = null;
167
- return true;
168
- }
169
-
170
- if (nodeType === heading || nodeType === paragraph) {
171
- items = items || [];
172
- items.push({
173
- node,
174
- pos
175
- });
176
- } else {
177
- items && items.length && lists.push(items);
178
- items = null;
179
- }
180
-
181
- return true;
182
- });
183
- items && items.length && lists.push(items);
184
- lists = lists.filter(items => items.length > 0);
185
-
186
- if (!lists.length) {
187
- return tr;
188
- }
189
-
190
- lists.sort((a, b) => {
191
- const pa = (0, _nullthrows.default)(a[0]).pos;
192
- const pb = (0, _nullthrows.default)(b[0]).pos;
193
- return pa >= pb ? 1 : -1;
194
- });
195
- lists.reverse();
196
- lists.forEach(items => {
197
- tr = wrapItemsWithListInternal(tr, schema, listNodeType, items, listStyleType);
198
- });
199
- return tr;
200
- }
201
-
202
- function wrapItemsWithListInternal(tr, schema, listNodeType, items, listStyleType) {
203
- const initialTr = tr;
204
- const paragraph = schema.nodes[_NodeNames.PARAGRAPH];
205
- const listItem = schema.nodes[_NodeNames.LIST_ITEM];
206
-
207
- if (!paragraph || !listItem) {
208
- return tr;
209
- }
210
-
211
- const paragraphNodes = [];
212
- items.forEach(item => {
213
- const {
214
- node,
215
- pos
216
- } = item; // Temporarily annotate each node with an unique ID.
217
-
218
- const uniqueID = {};
219
-
220
- const nodeAttrs = _objectSpread(_objectSpread({}, node.attrs), {}, {
221
- id: uniqueID
222
- }); // Replace the original node with the node annotated by the uniqueID.
223
-
224
-
225
- tr = tr.setNodeMarkup(pos, paragraph, nodeAttrs, node.marks);
226
- paragraphNodes.push(tr.doc.nodeAt(pos));
227
- });
228
- const firstNode = paragraphNodes[0];
229
- const lastNode = paragraphNodes[paragraphNodes.length - 1];
230
-
231
- if (!firstNode || !lastNode) {
232
- return initialTr;
233
- }
234
-
235
- const firstNodeID = firstNode.attrs.id;
236
- const lastNodeID = lastNode.attrs.id;
237
-
238
- if (!firstNodeID || !lastNodeID) {
239
- return initialTr;
240
- }
241
-
242
- let fromPos = null;
243
- let toPos = null;
244
- tr.doc.descendants((node, pos) => {
245
- const nodeID = node.attrs.id;
246
-
247
- if (nodeID === firstNodeID) {
248
- fromPos = pos;
249
- }
250
-
251
- if (nodeID === lastNodeID) {
252
- toPos = pos + node.nodeSize;
253
- }
254
-
255
- return fromPos === null || toPos === null;
256
- });
257
-
258
- if (fromPos === null || toPos === null) {
259
- return initialTr;
260
- }
261
-
262
- const listItemNodes = [];
263
- items.forEach(item => {
264
- const {
265
- node
266
- } = item; // Restore the annotated nodes with the copy of the original ones.
267
-
268
- const paragraphNode = paragraph.create(node.attrs, node.content, node.marks);
269
- const listItemNode = listItem.create(node.attrs, _prosemirrorModel.Fragment.from(paragraphNode));
270
- listItemNodes.push(listItemNode);
271
- });
272
- const listNodeAttrs = {
273
- indent: 0,
274
- start: 1,
275
- type: listStyleType
276
- };
277
- const $fromPos = tr.doc.resolve(fromPos);
278
- const $toPos = tr.doc.resolve(toPos);
279
- const hasSameListNodeBefore = $fromPos.nodeBefore && $fromPos.nodeBefore.type === listNodeType && $fromPos.nodeBefore.attrs.indent === 0;
280
- const hasSameListNodeAfter = $toPos.nodeAfter && $toPos.nodeAfter.type === listNodeType && $toPos.nodeAfter.attrs.indent === 0;
281
-
282
- if (hasSameListNodeBefore) {
283
- tr = tr.delete(fromPos, toPos);
284
- tr = tr.insert(fromPos - 1, _prosemirrorModel.Fragment.from(listItemNodes));
285
-
286
- if (hasSameListNodeAfter) {
287
- tr = tr.delete(toPos + 1, toPos + 3);
288
- }
289
- } else if (hasSameListNodeAfter) {
290
- tr = tr.delete(fromPos, toPos);
291
- tr = tr.insert(fromPos + 1, _prosemirrorModel.Fragment.from(listItemNodes));
292
- } else {
293
- const listNode = listNodeType.create(listNodeAttrs, _prosemirrorModel.Fragment.from(listItemNodes));
294
- tr = tr.delete(fromPos, toPos);
295
- tr = tr.insert(fromPos, _prosemirrorModel.Fragment.from(listNode));
296
- }
297
-
298
- return tr;
299
- } // [FS] IRAD-966 2020-05-20
300
- // Fix: Toggling issue for Multi-level list.
301
-
302
-
303
- function unwrapNodesFromSelection(tr, listNodePos, nodes, unwrapParagraphNode, from, to) {
304
- const contentBlocksBefore = [];
305
- const contentBlocksSelected = [];
306
- const contentBlocksAfter = [];
307
- const paragraph = nodes[_NodeNames.PARAGRAPH];
308
- const listItem = nodes[_NodeNames.LIST_ITEM];
309
- const listNode = tr.doc.nodeAt(listNodePos);
310
- tr.doc.nodesBetween(listNodePos, listNodePos + listNode.nodeSize, (node, pos, parentNode, index) => {
311
- if (node.type !== paragraph) {
312
- return true;
313
- }
314
-
315
- const block = {
316
- node,
317
- pos,
318
- parentNode,
319
- index
320
- };
321
-
322
- if (pos + node.nodeSize <= from) {
323
- contentBlocksBefore.push(block);
324
- } else if (pos > to) {
325
- contentBlocksAfter.push(block);
326
- } else {
327
- contentBlocksSelected.push(block);
328
- }
329
-
330
- return false;
331
- });
332
-
333
- if (!contentBlocksSelected.length) {
334
- return tr;
335
- }
336
-
337
- tr = tr.delete(listNodePos, listNodePos + listNode.nodeSize);
338
- const listNodeType = listNode.type;
339
- const attrs = {
340
- indent: listNode.attrs.indent,
341
- start: 1
342
- };
343
-
344
- if (contentBlocksAfter.length) {
345
- const nodes = contentBlocksAfter.map(block => {
346
- return listItem.create({}, _prosemirrorModel.Fragment.from(block.node));
347
- });
348
-
349
- const frag = _prosemirrorModel.Fragment.from(listNodeType.create(attrs, _prosemirrorModel.Fragment.from(nodes)));
350
-
351
- tr = tr.insert(listNodePos, frag);
352
- }
353
-
354
- if (contentBlocksSelected.length) {
355
- const nodes = contentBlocksSelected.map(block => {
356
- if (unwrapParagraphNode) {
357
- return unwrapParagraphNode(block.node);
358
- } else {
359
- return block.node;
360
- }
361
- });
362
-
363
- const frag = _prosemirrorModel.Fragment.from(nodes);
364
-
365
- tr = tr.insert(listNodePos, frag);
366
- }
367
-
368
- if (contentBlocksBefore.length) {
369
- const nodes = contentBlocksBefore.map(block => {
370
- return listItem.create({}, _prosemirrorModel.Fragment.from(block.node));
371
- });
372
-
373
- const frag = _prosemirrorModel.Fragment.from(listNodeType.create(attrs, _prosemirrorModel.Fragment.from(nodes)));
374
-
375
- tr = tr.insert(listNodePos, frag);
376
- }
377
-
378
- return tr;
379
- }
380
-
381
- function unwrapNodesFromListInternal(memo, listNodePos, unwrapParagraphNode) {
382
- const {
383
- schema
384
- } = memo;
385
- let {
386
- tr
387
- } = memo;
388
-
389
- if (!tr.doc || !tr.selection) {
390
- return tr;
391
- }
392
-
393
- const {
394
- nodes
395
- } = schema;
396
- const paragraph = nodes[_NodeNames.PARAGRAPH];
397
- const listItem = nodes[_NodeNames.LIST_ITEM];
398
-
399
- if (!listItem || !paragraph) {
400
- return tr;
401
- }
402
-
403
- const listNode = tr.doc.nodeAt(listNodePos);
404
-
405
- if (!(0, _isListNode.default)(listNode)) {
406
- return tr;
407
- }
408
-
409
- const initialSelection = tr.selection;
410
- const {
411
- from,
412
- to
413
- } = initialSelection;
414
- const listNodePoses = []; // keep all list type nodes starting position
415
-
416
- tr.doc.nodesBetween(from, to, (node, pos) => {
417
- if ((0, _isListNode.default)(node)) {
418
- listNodePoses.push(pos);
419
- }
420
- });
421
-
422
- if (from === to && from < 1) {
423
- return tr;
424
- } // Unwraps all selected list
425
-
426
-
427
- listNodePoses.sort(_compareNumber.default).reverse().forEach(pos => {
428
- tr = unwrapNodesFromSelection(tr, pos, nodes, unwrapParagraphNode, from, to);
429
- });
430
- return tr;
431
- }