@modusoperandi/licit 1.0.5 → 1.0.8

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 (253) hide show
  1. package/BlockquoteInsertNewLineCommand.js +10 -11
  2. package/BlockquoteInsertNewLineCommand.js.flow +1 -2
  3. package/BlockquoteNodeSpec.js +2 -3
  4. package/BlockquoteNodeSpec.js.flow +1 -2
  5. package/BlockquoteToggleCommand.js +9 -9
  6. package/BookmarkNodeSpec.js +1 -1
  7. package/CodeBlockCommand.js +10 -10
  8. package/CodeBlockCommand.js.flow +1 -1
  9. package/ContentPlaceholderPlugin.js +17 -18
  10. package/ContentPlaceholderPlugin.js.flow +10 -14
  11. package/CursorPlaceholderPlugin.js +8 -9
  12. package/CursorPlaceholderPlugin.js.flow +0 -2
  13. package/DocLayoutCommand.js +10 -12
  14. package/DocLayoutCommand.js.flow +1 -3
  15. package/EditorKeyMap.js +0 -1
  16. package/EditorKeyMap.js.flow +0 -2
  17. package/EditorMarks.js +1 -1
  18. package/EditorNodes.js +1 -2
  19. package/EditorNodes.js.flow +0 -1
  20. package/EditorPageLayoutPlugin.js +8 -8
  21. package/FontTypeMarkSpec.js +1 -1
  22. package/FontTypeMarkSpec.js.flow +1 -1
  23. package/HTMLMutator.js +6 -7
  24. package/HTMLMutator.js.flow +2 -3
  25. package/HeadingNodeSpec.js +2 -12
  26. package/HeadingNodeSpec.js.flow +4 -14
  27. package/HistoryRedoCommand.js +9 -9
  28. package/HistoryUndoCommand.js +9 -9
  29. package/HorizontalRuleCommand.js +9 -9
  30. package/ImageUploadPlaceholderPlugin.js +14 -18
  31. package/ImageUploadPlaceholderPlugin.js.flow +6 -11
  32. package/LinkMarkSpec.js +6 -1
  33. package/LinkMarkSpec.js.flow +5 -0
  34. package/LinkSetURLCommand.js +126 -55
  35. package/LinkSetURLCommand.js.flow +61 -37
  36. package/LinkTooltipPlugin.js +119 -31
  37. package/LinkTooltipPlugin.js.flow +91 -22
  38. package/ListItemInsertNewLineCommand.js +10 -11
  39. package/ListItemInsertNewLineCommand.js.flow +1 -2
  40. package/ListItemMergeCommand.js +17 -16
  41. package/ListItemMergeCommand.js.flow +4 -6
  42. package/ListSplitCommand.js +9 -9
  43. package/ListToggleCommand.js +9 -9
  44. package/MarksClearCommand.js +9 -9
  45. package/MathEditCommand.js +10 -11
  46. package/MathEditCommand.js.flow +1 -2
  47. package/OrderedListNodeSpec.js +1 -1
  48. package/ParagraphNodeSpec.js +11 -2
  49. package/ParagraphNodeSpec.js.flow +9 -2
  50. package/ParagraphSpacingCommand.js +13 -14
  51. package/ParagraphSpacingCommand.js.flow +4 -9
  52. package/PrintCommand.js +9 -9
  53. package/SelectionPlaceholderPlugin.js +8 -9
  54. package/SelectionPlaceholderPlugin.js.flow +0 -2
  55. package/SpacerMarkSpec.js +1 -1
  56. package/StyleView.js +3 -4
  57. package/StyleView.js.flow +0 -1
  58. package/TableBackgroundColorCommand.js +13 -16
  59. package/TableBackgroundColorCommand.js.flow +14 -18
  60. package/TableBorderColorCommand.js +13 -16
  61. package/TableBorderColorCommand.js.flow +14 -20
  62. package/TableCellColorCommand.js +11 -13
  63. package/TableCellColorCommand.js.flow +2 -4
  64. package/TableCellMenuPlugin.js +16 -16
  65. package/TableCellMenuPlugin.js.flow +5 -8
  66. package/TableInsertCommand.js +12 -15
  67. package/TableInsertCommand.js.flow +3 -6
  68. package/TableMergeCellsCommand.js +13 -12
  69. package/TableMergeCellsCommand.js.flow +4 -3
  70. package/TableNodesSpecs.js +4 -2
  71. package/TableNodesSpecs.js.flow +4 -2
  72. package/TableResizePlugin.js +18 -18
  73. package/TableResizePlugin.js.flow +2 -3
  74. package/TextInsertTabSpaceCommand.js +9 -9
  75. package/Types.js +1 -0
  76. package/Types.js.flow +2 -5
  77. package/WebFontLoader.js +4 -4
  78. package/bom.xml +20047 -28206
  79. package/buildEditorPlugins.js +4 -4
  80. package/buildInputRules.js +8 -4
  81. package/buildInputRules.js.flow +8 -4
  82. package/client/CollabConnector.js +9 -9
  83. package/client/EditorConnection.js +8 -6
  84. package/client/EditorConnection.js.flow +3 -2
  85. package/client/Licit.js +22 -59
  86. package/client/Licit.js.flow +12 -45
  87. package/client/Licit.test.js +49 -39
  88. package/client/Licit.test.js.flow +40 -34
  89. package/client/Reporter.js +3 -3
  90. package/client/SimpleConnector.js +4 -4
  91. package/client/http.js +0 -6
  92. package/client/http.js.flow +0 -8
  93. package/client/throttle.js +8 -2
  94. package/client/throttle.js.flow +2 -2
  95. package/convertFromDOMElement.js +2 -4
  96. package/convertFromDOMElement.js.flow +2 -5
  97. package/convertFromHTML.js +2 -3
  98. package/convertFromHTML.js.flow +2 -4
  99. package/convertFromJSON.js +1 -2
  100. package/convertFromJSON.js.flow +1 -2
  101. package/convertToCSSPTValue.js +6 -10
  102. package/convertToCSSPTValue.js.flow +8 -11
  103. package/createCommand.js +9 -9
  104. package/createEditorKeyMap.js +1 -1
  105. package/createEmptyEditorState.js +2 -3
  106. package/createEmptyEditorState.js.flow +2 -4
  107. package/createTableResizingPlugin.js +6 -6
  108. package/createTableResizingPlugin.js.flow +1 -1
  109. package/findActiveMark.js +1 -1
  110. package/findActiveMark.js.flow +1 -1
  111. package/insertTable.js +0 -3
  112. package/insertTable.js.flow +0 -2
  113. package/joinDown.js +1 -3
  114. package/joinDown.js.flow +1 -3
  115. package/joinUp.js +1 -3
  116. package/joinUp.js.flow +1 -3
  117. package/lookUpElement.js +2 -1
  118. package/lookUpElement.js.flow +1 -1
  119. package/normalizeHTML.js +3 -1
  120. package/normalizeHTML.js.flow +3 -1
  121. package/package.json +23 -17
  122. package/patchAnchorElements.js +1 -1
  123. package/patchAnchorElements.js.flow +1 -1
  124. package/patchBreakElements.js +3 -2
  125. package/patchBreakElements.js.flow +2 -2
  126. package/patchElementInlineStyles.js +1 -1
  127. package/patchElementInlineStyles.js.flow +1 -1
  128. package/patchListElements.js +6 -7
  129. package/patchListElements.js.flow +7 -8
  130. package/patchMathElements.js +5 -7
  131. package/patchMathElements.js.flow +2 -4
  132. package/patchStyleElements.js +1 -1
  133. package/patchStyleElements.js.flow +7 -6
  134. package/patchTableElements.js +2 -3
  135. package/patchTableElements.js.flow +2 -3
  136. package/sanitizeURL.js +1 -1
  137. package/sanitizeURL.js.flow +1 -1
  138. package/splitListItem.js +2 -2
  139. package/splitListItem.js.flow +1 -1
  140. package/styles.css +32 -3
  141. package/toggleBlockquote.js +4 -5
  142. package/toggleBlockquote.js.flow +5 -12
  143. package/toggleCodeBlock.js +6 -6
  144. package/toggleCodeBlock.js.flow +10 -10
  145. package/ui/AlertInfo.js +9 -10
  146. package/ui/AlertInfo.js.flow +0 -1
  147. package/ui/BookmarkNodeView.js +13 -13
  148. package/ui/BookmarkNodeView.js.flow +0 -2
  149. package/ui/CommandButton.js +9 -9
  150. package/ui/CommandMenu.js +12 -12
  151. package/ui/CommandMenu.js.flow +1 -1
  152. package/ui/CommandMenuButton.js +11 -13
  153. package/ui/CommandMenuButton.js.flow +2 -5
  154. package/ui/CustomEditorView.js +13 -12
  155. package/ui/CustomEditorView.js.flow +1 -0
  156. package/ui/CustomMenu.js +8 -10
  157. package/ui/CustomMenu.js.flow +0 -3
  158. package/ui/CustomMenuItem.js +10 -11
  159. package/ui/CustomMenuItem.js.flow +0 -1
  160. package/ui/CustomNodeView.js +27 -16
  161. package/ui/CustomNodeView.js.flow +16 -9
  162. package/ui/CustomRadioButton.js +13 -16
  163. package/ui/CustomRadioButton.js.flow +2 -4
  164. package/ui/DocLayoutEditor.js +10 -13
  165. package/ui/DocLayoutEditor.js.flow +1 -5
  166. package/ui/Editor.js +16 -16
  167. package/ui/Editor.js.flow +7 -12
  168. package/ui/EditorFrameset.js +9 -10
  169. package/ui/EditorFrameset.js.flow +0 -2
  170. package/ui/EditorToolbar.js +24 -30
  171. package/ui/EditorToolbar.js.flow +22 -43
  172. package/ui/EditorToolbarConfig.js +5 -5
  173. package/ui/EditorToolbarConfig.js.flow +1 -1
  174. package/ui/FontSizeCommandMenuButton.js +10 -10
  175. package/ui/FontSizeCommandMenuButton.js.flow +1 -1
  176. package/ui/FontTypeCommandMenuButton.js +11 -12
  177. package/ui/FontTypeCommandMenuButton.js.flow +4 -5
  178. package/ui/Frag.js +8 -9
  179. package/ui/Frag.js.flow +0 -2
  180. package/ui/Icon.js +12 -18
  181. package/ui/Icon.js.flow +0 -7
  182. package/ui/ImageInlineEditor.js +9 -10
  183. package/ui/ImageInlineEditor.js.flow +0 -1
  184. package/ui/LinkTooltip.js +62 -28
  185. package/ui/LinkTooltip.js.flow +55 -24
  186. package/ui/LinkURLEditor.js +151 -36
  187. package/ui/LinkURLEditor.js.flow +176 -54
  188. package/ui/ListItemNodeView.js +4 -4
  189. package/ui/ListTypeButton.js +11 -15
  190. package/ui/ListTypeButton.js.flow +2 -6
  191. package/ui/ListTypeCommandButton.js +10 -10
  192. package/ui/ListTypeCommandButton.js.flow +1 -1
  193. package/ui/ListTypeMenu.js +11 -12
  194. package/ui/ListTypeMenu.js.flow +1 -2
  195. package/ui/LoadingIndicator.js +8 -9
  196. package/ui/LoadingIndicator.js.flow +0 -1
  197. package/ui/MathEditor.js +10 -15
  198. package/ui/MathEditor.js.flow +1 -9
  199. package/ui/MathInlineEditor.js +13 -14
  200. package/ui/MathInlineEditor.js.flow +3 -5
  201. package/ui/MathNodeView.js +16 -16
  202. package/ui/MathNodeView.js.flow +10 -21
  203. package/ui/PasteMenu.js +11 -15
  204. package/ui/PasteMenu.js.flow +0 -5
  205. package/ui/ResizeObserver.js +4 -4
  206. package/ui/ResizeObserver.js.flow +3 -4
  207. package/ui/RichTextEditor.js +9 -9
  208. package/ui/SelectionObserver.js +6 -6
  209. package/ui/SelectionObserver.js.flow +2 -2
  210. package/ui/TableCellMenu.js +9 -10
  211. package/ui/TableCellMenu.js.flow +0 -2
  212. package/ui/TableGridSizeEditor.js +12 -15
  213. package/ui/TableGridSizeEditor.js.flow +7 -6
  214. package/ui/TableNodeView.js +15 -13
  215. package/ui/TableNodeView.js.flow +3 -3
  216. package/ui/bindScrollHandler.js +2 -1
  217. package/ui/bindScrollHandler.js.flow +1 -1
  218. package/ui/canUseCSSFont.js +5 -4
  219. package/ui/canUseCSSFont.js.flow +4 -5
  220. package/ui/czi-editor.css +1 -4
  221. package/ui/czi-form.css +102 -8
  222. package/ui/czi-image-view.css +1 -5
  223. package/ui/czi-link-tooltip.css +41 -0
  224. package/ui/czi-list.css +0 -4
  225. package/ui/czi-loading-indicator.css +1 -46
  226. package/ui/czi-table-cell-menu.css +3 -1
  227. package/ui/findActiveFontSize.js +2 -1
  228. package/ui/findActiveFontSize.js.flow +1 -4
  229. package/ui/findActiveFontType.js +4 -3
  230. package/ui/findActiveFontType.js.flow +3 -6
  231. package/ui/handleEditorDrop.js +1 -1
  232. package/ui/handleEditorDrop.js.flow +1 -1
  233. package/ui/handleEditorKeyDown.js +1 -1
  234. package/ui/handleEditorKeyDown.js.flow +1 -1
  235. package/ui/handleEditorPaste.js +1 -1
  236. package/ui/handleEditorPaste.js.flow +1 -1
  237. package/ui/injectStyleSheet.js +2 -2
  238. package/ui/injectStyleSheet.js.flow +2 -4
  239. package/ui/isElementFullyVisible.js +1 -10
  240. package/ui/isElementFullyVisible.js.flow +1 -13
  241. package/ui/mathquill-editor/MathQuillEditor.js +12 -14
  242. package/ui/mathquill-editor/MathQuillEditor.js.flow +0 -2
  243. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +9 -10
  244. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +0 -1
  245. package/ui/mathquill-editor/mathquill-import-kludge.js +1 -9
  246. package/ui/mathquill-editor/mathquill-import-kludge.js.flow +0 -9
  247. package/ui/renderLaTeXAsHTML.js +3 -7
  248. package/ui/renderLaTeXAsHTML.js.flow +0 -4
  249. package/ui/resolveImage.js +4 -5
  250. package/ui/resolveImage.js.flow +3 -5
  251. package/ui/toCSSLineSpacing.js +2 -3
  252. package/ui/toCSSLineSpacing.js.flow +2 -4
  253. package/styles0.css +0 -29
@@ -1,28 +1,29 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
5
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
6
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
7
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
5
8
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
6
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
7
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
10
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
8
11
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
10
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
13
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
14
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
15
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
17
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- import { EditorState } from 'prosemirror-state';
16
- import { TextSelection } from 'prosemirror-state';
18
+ import { EditorState, TextSelection } from 'prosemirror-state';
17
19
  import { Transform } from 'prosemirror-transform';
18
20
  import { EditorView } from 'prosemirror-view';
19
21
  import { MARK_LINK } from './MarkNames.js';
20
22
  import { hideSelectionPlaceholder, showSelectionPlaceholder } from './SelectionPlaceholderPlugin.js';
21
- import { applyMark } from '@modusoperandi/licit-ui-commands';
22
- import { findNodesWithSameMark } from '@modusoperandi/licit-ui-commands';
23
+ import { applyMark, findNodesWithSameMark, createPopUp } from '@modusoperandi/licit-ui-commands';
23
24
  import LinkURLEditor from './ui/LinkURLEditor.js';
24
25
  import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
25
- import { createPopUp } from '@modusoperandi/licit-ui-commands';
26
+ import { INNER_LINK } from './Types.js';
26
27
  var LinkSetURLCommand = /*#__PURE__*/function (_UICommand) {
27
28
  function LinkSetURLCommand() {
28
29
  var _this;
@@ -46,49 +47,124 @@ var LinkSetURLCommand = /*#__PURE__*/function (_UICommand) {
46
47
  to = _state$selection.to;
47
48
  return from < to;
48
49
  });
49
- _defineProperty(_this, "waitForUserInput", function (state, dispatch, view, event) {
50
- if (_this._popUp) {
51
- return Promise.resolve(undefined);
52
- }
53
- if (dispatch) {
54
- dispatch(showSelectionPlaceholder(state));
55
- }
56
- var doc = state.doc,
57
- schema = state.schema,
58
- selection = state.selection;
59
- var markType = schema.marks[MARK_LINK];
60
- if (!markType) {
61
- return Promise.resolve(undefined);
62
- }
63
- var from = selection.from,
64
- to = selection.to;
65
- var result = findNodesWithSameMark(doc, from, to, markType);
66
- var href = result ? result.mark.attrs.href : null;
67
- return new Promise(function (resolve) {
68
- _this._popUp = createPopUp(LinkURLEditor, {
69
- href: href
70
- }, {
71
- modal: true,
72
- onClose: function onClose(val) {
73
- if (_this._popUp) {
74
- _this._popUp = null;
75
- resolve(val);
76
- }
50
+ _defineProperty(_this, "showTocList", /*#__PURE__*/function () {
51
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(view) {
52
+ var storeTOCvalue, TOCselectedNode, stylePromise, styles;
53
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
54
+ while (1) switch (_context.prev = _context.next) {
55
+ case 0:
56
+ storeTOCvalue = [];
57
+ TOCselectedNode = [];
58
+ stylePromise = view.runtime;
59
+ if (!(stylePromise === null || undefined)) {
60
+ _context.next = 5;
61
+ break;
62
+ }
63
+ return _context.abrupt("return", TOCselectedNode);
64
+ case 5:
65
+ _context.next = 7;
66
+ return stylePromise.fetchStyles();
67
+ case 7:
68
+ styles = _context.sent;
69
+ storeTOCvalue = styles.filter(function (style) {
70
+ return style.styles.toc === true;
71
+ }).map(function (style) {
72
+ return style.styleName;
73
+ });
74
+ view.state.tr.doc.descendants(function (node, pos) {
75
+ if (node.attrs.styleName) {
76
+ for (var i = 0; i <= storeTOCvalue.length; i++) {
77
+ if (storeTOCvalue[i] === node.attrs.styleName) {
78
+ TOCselectedNode.push({
79
+ node_: node,
80
+ pos_: pos
81
+ });
82
+ }
83
+ }
84
+ }
85
+ });
86
+ return _context.abrupt("return", TOCselectedNode);
87
+ case 11:
88
+ case "end":
89
+ return _context.stop();
77
90
  }
78
- });
79
- });
80
- });
81
- _defineProperty(_this, "executeWithUserInput", function (state, dispatch, view, href) {
91
+ }, _callee);
92
+ }));
93
+ return function (_x) {
94
+ return _ref.apply(this, arguments);
95
+ };
96
+ }());
97
+ _defineProperty(_this, "waitForUserInput", /*#__PURE__*/function () {
98
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(state, dispatch, view, event) {
99
+ var doc, schema, selection, markType, from, to, result, href, tocItemsNode, viewPops;
100
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
101
+ while (1) switch (_context2.prev = _context2.next) {
102
+ case 0:
103
+ if (dispatch) {
104
+ dispatch(showSelectionPlaceholder(state));
105
+ }
106
+ doc = state.doc, schema = state.schema, selection = state.selection;
107
+ markType = schema.marks[MARK_LINK];
108
+ if (markType) {
109
+ _context2.next = 5;
110
+ break;
111
+ }
112
+ return _context2.abrupt("return", Promise.resolve(undefined));
113
+ case 5:
114
+ from = selection.from, to = selection.to;
115
+ result = findNodesWithSameMark(doc, from, to, markType);
116
+ href = result ? result.mark.attrs.href : null;
117
+ _context2.next = 10;
118
+ return _this.showTocList(view);
119
+ case 10:
120
+ tocItemsNode = _context2.sent;
121
+ viewPops = {
122
+ href_: href,
123
+ TOCselectedNode_: tocItemsNode,
124
+ view_: view
125
+ };
126
+ return _context2.abrupt("return", new Promise(function (resolve) {
127
+ _this._popUp = createPopUp(LinkURLEditor, viewPops, {
128
+ modal: true,
129
+ onClose: function onClose(val) {
130
+ if (_this._popUp) {
131
+ resolve(val);
132
+ _this._popUp = null;
133
+ }
134
+ }
135
+ });
136
+ }));
137
+ case 13:
138
+ case "end":
139
+ return _context2.stop();
140
+ }
141
+ }, _callee2);
142
+ }));
143
+ return function (_x2, _x3, _x4, _x5) {
144
+ return _ref2.apply(this, arguments);
145
+ };
146
+ }());
147
+ _defineProperty(_this, "executeWithUserInput", function (state, dispatch, view, url) {
82
148
  if (dispatch) {
83
149
  var selection = state.selection,
84
150
  schema = state.schema;
85
151
  var _tr = state.tr;
86
152
  _tr = view ? hideSelectionPlaceholder(view.state) : _tr;
87
153
  _tr = _tr.setSelection(selection);
88
- if (href !== undefined) {
154
+ if (url !== undefined) {
155
+ var selectionId;
156
+ var href;
157
+ if (url.includes(INNER_LINK)) {
158
+ selectionId = url.split(INNER_LINK)[0];
159
+ href = url.split(INNER_LINK)[1];
160
+ } else {
161
+ selectionId = null;
162
+ href = url;
163
+ }
89
164
  var markType = schema.marks[MARK_LINK];
90
- var attrs = href ? {
91
- href: href
165
+ var attrs = url ? {
166
+ href: href,
167
+ selectionId: selectionId
92
168
  } : null;
93
169
  _tr = applyMark(_tr.setSelection(state.selection), schema, markType, attrs);
94
170
  }
@@ -100,11 +176,6 @@ var LinkSetURLCommand = /*#__PURE__*/function (_UICommand) {
100
176
  return _this;
101
177
  }
102
178
  _inherits(LinkSetURLCommand, _UICommand);
103
- return _createClass(LinkSetURLCommand, [{
104
- key: "cancel",
105
- value: function cancel() {
106
- return null;
107
- }
108
- }]);
179
+ return _createClass(LinkSetURLCommand);
109
180
  }(UICommand);
110
181
  export default LinkSetURLCommand;
@@ -1,30 +1,22 @@
1
1
  // @flow
2
2
 
3
- import { EditorState } from 'prosemirror-state';
4
- import { TextSelection } from 'prosemirror-state';
3
+ import { EditorState, TextSelection } from 'prosemirror-state';
5
4
  import { Transform } from 'prosemirror-transform';
6
5
  import { EditorView } from 'prosemirror-view';
7
6
 
8
- import {
9
- MARK_LINK
10
- } from './MarkNames.js';
7
+ import { MARK_LINK } from './MarkNames.js';
11
8
  import {
12
9
  hideSelectionPlaceholder,
13
10
  showSelectionPlaceholder,
14
11
  } from './SelectionPlaceholderPlugin.js';
15
12
  import {
16
- applyMark
17
- } from '@modusoperandi/licit-ui-commands';
18
- import {
19
- findNodesWithSameMark
13
+ applyMark, findNodesWithSameMark, createPopUp
20
14
  } from '@modusoperandi/licit-ui-commands';
21
15
  import LinkURLEditor from './ui/LinkURLEditor.js';
22
16
  import {
23
17
  UICommand
24
18
  } from '@modusoperandi/licit-doc-attrs-step';
25
- import {
26
- createPopUp
27
- } from '@modusoperandi/licit-ui-commands';
19
+ import { INNER_LINK } from './Types.js';
28
20
 
29
21
  class LinkSetURLCommand extends UICommand {
30
22
  _popUp = null;
@@ -43,16 +35,40 @@ class LinkSetURLCommand extends UICommand {
43
35
  return from < to;
44
36
  };
45
37
 
46
- waitForUserInput = (
38
+ showTocList = async (view) => {
39
+ let storeTOCvalue = [];
40
+ const TOCselectedNode = [];
41
+
42
+ const stylePromise = view.runtime;
43
+
44
+ if (stylePromise === null || undefined) {
45
+ return TOCselectedNode;
46
+ }
47
+ const styles = await stylePromise.fetchStyles();
48
+
49
+ storeTOCvalue = styles
50
+ .filter((style) => style.styles.toc === true)
51
+ .map((style) => style.styleName);
52
+
53
+ view.state.tr.doc.descendants((node, pos) => {
54
+ if (node.attrs.styleName) {
55
+ for (let i = 0; i <= storeTOCvalue.length; i++) {
56
+ if (storeTOCvalue[i] === node.attrs.styleName) {
57
+ TOCselectedNode.push({ node_: node, pos_: pos });
58
+ }
59
+ }
60
+ }
61
+ });
62
+
63
+ return TOCselectedNode;
64
+ };
65
+
66
+ waitForUserInput = async (
47
67
  state: EditorState,
48
68
  dispatch: ?(tr: Transform) => void,
49
69
  view: ?EditorView,
50
70
  event: ?SyntheticEvent<>
51
71
  ): Promise<any> => {
52
- if (this._popUp) {
53
- return Promise.resolve(undefined);
54
- }
55
-
56
72
  if (dispatch) {
57
73
  dispatch(showSelectionPlaceholder(state));
58
74
  }
@@ -65,20 +81,23 @@ class LinkSetURLCommand extends UICommand {
65
81
  const { from, to } = selection;
66
82
  const result = findNodesWithSameMark(doc, from, to, markType);
67
83
  const href = result ? result.mark.attrs.href : null;
84
+ const tocItemsNode = await this.showTocList(view);
85
+ const viewPops = {
86
+ href_: href,
87
+ TOCselectedNode_: tocItemsNode,
88
+ view_: view,
89
+ };
90
+
68
91
  return new Promise((resolve) => {
69
- this._popUp = createPopUp(
70
- LinkURLEditor,
71
- { href },
72
- {
73
- modal: true,
74
- onClose: (val) => {
75
- if (this._popUp) {
76
- this._popUp = null;
77
- resolve(val);
78
- }
79
- },
80
- }
81
- );
92
+ this._popUp = createPopUp(LinkURLEditor, viewPops, {
93
+ modal: true,
94
+ onClose: (val) => {
95
+ if (this._popUp) {
96
+ resolve(val);
97
+ this._popUp = null;
98
+ }
99
+ },
100
+ });
82
101
  });
83
102
  };
84
103
 
@@ -86,16 +105,25 @@ class LinkSetURLCommand extends UICommand {
86
105
  state: EditorState,
87
106
  dispatch: ?(tr: Transform) => void,
88
107
  view: ?EditorView,
89
- href: ?string
108
+ url: ?string
90
109
  ): boolean => {
91
110
  if (dispatch) {
92
111
  const { selection, schema } = state;
93
112
  let { tr } = state;
94
113
  tr = view ? hideSelectionPlaceholder(view.state) : tr;
95
114
  tr = tr.setSelection(selection);
96
- if (href !== undefined) {
115
+ if (url !== undefined) {
116
+ let selectionId;
117
+ let href;
118
+ if (url.includes(INNER_LINK)) {
119
+ selectionId = url.split(INNER_LINK)[0];
120
+ href = url.split(INNER_LINK)[1];
121
+ } else {
122
+ selectionId = null;
123
+ href = url;
124
+ }
97
125
  const markType = schema.marks[MARK_LINK];
98
- const attrs = href ? { href } : null;
126
+ const attrs = url ? { href, selectionId } : null;
99
127
  tr = applyMark(
100
128
  tr.setSelection(state.selection),
101
129
  schema,
@@ -108,10 +136,6 @@ class LinkSetURLCommand extends UICommand {
108
136
  view && view.focus();
109
137
  return true;
110
138
  };
111
-
112
- cancel(): void {
113
- return null;
114
- }
115
139
  }
116
140
 
117
141
  export default LinkSetURLCommand;