@atlaskit/editor-core 187.18.0 → 187.18.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 (100) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/labs/next/presets/universal.js +2 -1
  3. package/dist/cjs/plugins/help-dialog/ui/index.js +26 -27
  4. package/dist/cjs/plugins/index.js +0 -7
  5. package/dist/cjs/plugins/list/index.js +5 -5
  6. package/dist/cjs/plugins/list/transforms.js +1 -223
  7. package/dist/cjs/plugins/paste/commands.js +224 -2
  8. package/dist/cjs/plugins/paste/pm-plugins/main.js +5 -9
  9. package/dist/cjs/plugins/toolbar-lists-indentation/ui/Toolbar.js +3 -3
  10. package/dist/cjs/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +4 -4
  11. package/dist/cjs/utils/clipboard.js +5 -27
  12. package/dist/cjs/version-wrapper.js +1 -1
  13. package/dist/cjs/version.json +1 -1
  14. package/dist/es2019/labs/next/presets/universal.js +2 -1
  15. package/dist/es2019/plugins/help-dialog/ui/index.js +1 -2
  16. package/dist/es2019/plugins/index.js +0 -1
  17. package/dist/es2019/plugins/list/index.js +1 -1
  18. package/dist/es2019/plugins/list/transforms.js +2 -210
  19. package/dist/es2019/plugins/paste/commands.js +210 -2
  20. package/dist/es2019/plugins/paste/pm-plugins/main.js +3 -3
  21. package/dist/es2019/plugins/toolbar-lists-indentation/ui/Toolbar.js +1 -1
  22. package/dist/es2019/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +1 -1
  23. package/dist/es2019/utils/clipboard.js +0 -16
  24. package/dist/es2019/version-wrapper.js +1 -1
  25. package/dist/es2019/version.json +1 -1
  26. package/dist/esm/labs/next/presets/universal.js +2 -1
  27. package/dist/esm/plugins/help-dialog/ui/index.js +1 -2
  28. package/dist/esm/plugins/index.js +0 -1
  29. package/dist/esm/plugins/list/index.js +1 -1
  30. package/dist/esm/plugins/list/transforms.js +2 -219
  31. package/dist/esm/plugins/paste/commands.js +218 -1
  32. package/dist/esm/plugins/paste/pm-plugins/main.js +3 -3
  33. package/dist/esm/plugins/toolbar-lists-indentation/ui/Toolbar.js +1 -1
  34. package/dist/esm/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +1 -1
  35. package/dist/esm/utils/clipboard.js +4 -23
  36. package/dist/esm/version-wrapper.js +1 -1
  37. package/dist/esm/version.json +1 -1
  38. package/dist/types/plugins/index.d.ts +0 -1
  39. package/dist/types/plugins/insert-block/index.d.ts +1 -1
  40. package/dist/types/plugins/list/transforms.d.ts +0 -13
  41. package/dist/types/plugins/paste/commands.d.ts +14 -0
  42. package/dist/types/plugins/paste/index.d.ts +2 -0
  43. package/dist/types/utils/clipboard.d.ts +0 -3
  44. package/dist/types-ts4.5/plugins/index.d.ts +0 -1
  45. package/dist/types-ts4.5/plugins/insert-block/index.d.ts +1 -1
  46. package/dist/types-ts4.5/plugins/list/transforms.d.ts +0 -13
  47. package/dist/types-ts4.5/plugins/paste/commands.d.ts +14 -0
  48. package/dist/types-ts4.5/plugins/paste/index.d.ts +2 -0
  49. package/dist/types-ts4.5/utils/clipboard.d.ts +0 -3
  50. package/package.json +4 -3
  51. package/dist/cjs/plugins/image-upload/index.js +0 -45
  52. package/dist/cjs/plugins/image-upload/pm-plugins/actions.js +0 -19
  53. package/dist/cjs/plugins/image-upload/pm-plugins/commands-toolbar.js +0 -19
  54. package/dist/cjs/plugins/image-upload/pm-plugins/commands.js +0 -40
  55. package/dist/cjs/plugins/image-upload/pm-plugins/input-rule.js +0 -31
  56. package/dist/cjs/plugins/image-upload/pm-plugins/main.js +0 -194
  57. package/dist/cjs/plugins/image-upload/pm-plugins/plugin-key.js +0 -9
  58. package/dist/cjs/plugins/image-upload/types.js +0 -5
  59. package/dist/cjs/plugins/image-upload/utils.js +0 -40
  60. package/dist/cjs/utils/drag-drop.js +0 -19
  61. package/dist/es2019/plugins/image-upload/index.js +0 -34
  62. package/dist/es2019/plugins/image-upload/pm-plugins/actions.js +0 -8
  63. package/dist/es2019/plugins/image-upload/pm-plugins/commands-toolbar.js +0 -12
  64. package/dist/es2019/plugins/image-upload/pm-plugins/commands.js +0 -28
  65. package/dist/es2019/plugins/image-upload/pm-plugins/input-rule.js +0 -25
  66. package/dist/es2019/plugins/image-upload/pm-plugins/main.js +0 -159
  67. package/dist/es2019/plugins/image-upload/pm-plugins/plugin-key.js +0 -2
  68. package/dist/es2019/plugins/image-upload/types.js +0 -1
  69. package/dist/es2019/plugins/image-upload/utils.js +0 -38
  70. package/dist/es2019/utils/drag-drop.js +0 -9
  71. package/dist/esm/plugins/image-upload/index.js +0 -37
  72. package/dist/esm/plugins/image-upload/pm-plugins/actions.js +0 -12
  73. package/dist/esm/plugins/image-upload/pm-plugins/commands-toolbar.js +0 -12
  74. package/dist/esm/plugins/image-upload/pm-plugins/commands.js +0 -32
  75. package/dist/esm/plugins/image-upload/pm-plugins/input-rule.js +0 -23
  76. package/dist/esm/plugins/image-upload/pm-plugins/main.js +0 -186
  77. package/dist/esm/plugins/image-upload/pm-plugins/plugin-key.js +0 -2
  78. package/dist/esm/plugins/image-upload/types.js +0 -1
  79. package/dist/esm/plugins/image-upload/utils.js +0 -31
  80. package/dist/esm/utils/drag-drop.js +0 -11
  81. package/dist/types/plugins/image-upload/index.d.ts +0 -16
  82. package/dist/types/plugins/image-upload/pm-plugins/actions.d.ts +0 -3
  83. package/dist/types/plugins/image-upload/pm-plugins/commands-toolbar.d.ts +0 -3
  84. package/dist/types/plugins/image-upload/pm-plugins/commands.d.ts +0 -5
  85. package/dist/types/plugins/image-upload/pm-plugins/input-rule.d.ts +0 -5
  86. package/dist/types/plugins/image-upload/pm-plugins/main.d.ts +0 -4
  87. package/dist/types/plugins/image-upload/pm-plugins/plugin-key.d.ts +0 -3
  88. package/dist/types/plugins/image-upload/types.d.ts +0 -18
  89. package/dist/types/plugins/image-upload/utils.d.ts +0 -5
  90. package/dist/types/utils/drag-drop.d.ts +0 -2
  91. package/dist/types-ts4.5/plugins/image-upload/index.d.ts +0 -16
  92. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/actions.d.ts +0 -3
  93. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/commands-toolbar.d.ts +0 -3
  94. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/commands.d.ts +0 -5
  95. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/input-rule.d.ts +0 -5
  96. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/main.d.ts +0 -4
  97. package/dist/types-ts4.5/plugins/image-upload/pm-plugins/plugin-key.d.ts +0 -3
  98. package/dist/types-ts4.5/plugins/image-upload/types.d.ts +0 -18
  99. package/dist/types-ts4.5/plugins/image-upload/utils.d.ts +0 -5
  100. package/dist/types-ts4.5/utils/drag-drop.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 187.18.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`079e7748c62`](https://bitbucket.org/atlassian/atlassian-frontend/commits/079e7748c62) - Extracted `editor-plugin-image-upload` from `editor-core`.
8
+ - Updated dependencies
9
+
10
+ ## 187.18.1
11
+
12
+ ### Patch Changes
13
+
14
+ - [`7e77fe6f2ed`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7e77fe6f2ed) - ED-19330 Decouple list plugin from editor-core
15
+ - Updated dependencies
16
+
3
17
  ## 187.18.0
4
18
 
5
19
  ### Minor Changes
@@ -9,6 +9,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _api = require("../../../selection-api/api");
11
11
  var _plugins = require("../../../plugins");
12
+ var _editorPluginImageUpload = require("@atlaskit/editor-plugin-image-upload");
12
13
  var _editorPluginGuideline = require("@atlaskit/editor-plugin-guideline");
13
14
  var _editorPluginContextPanel = require("@atlaskit/editor-plugin-context-panel");
14
15
  var _editorPluginGrid = require("@atlaskit/editor-plugin-grid");
@@ -183,7 +184,7 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
183
184
  return builder.add([plugin, props.onSave]);
184
185
  }
185
186
  return builder;
186
- }).maybeAdd(_plugins.imageUploadPlugin, function (plugin, builder) {
187
+ }).maybeAdd(_editorPluginImageUpload.imageUploadPlugin, function (plugin, builder) {
187
188
  if (props.legacyImageUploadProvider) {
188
189
  return builder.add(plugin);
189
190
  }
@@ -25,11 +25,10 @@ var _styles = require("./styles");
25
25
  var keymaps = _interopRequireWildcard(require("../../../keymaps"));
26
26
  var _ToolbarButton = _interopRequireDefault(require("../../../ui/ToolbarButton"));
27
27
  var _messages = require("@atlaskit/editor-common/messages");
28
- var _messages2 = require("../../list/messages");
29
- var _messages3 = require("../../insert-block/ui/ToolbarInsertBlock/messages");
30
- var _messages4 = require("../../block-type/messages");
31
- var _messages5 = require("../../undo-redo/messages");
32
- var _messages6 = require("../../../ui/Alignment/messages");
28
+ var _messages2 = require("../../insert-block/ui/ToolbarInsertBlock/messages");
29
+ var _messages3 = require("../../block-type/messages");
30
+ var _messages4 = require("../../undo-redo/messages");
31
+ var _messages5 = require("../../../ui/Alignment/messages");
33
32
  var _commands = require("../commands");
34
33
  var _toolbar = require("../../annotation/toolbar");
35
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -149,7 +148,7 @@ var formatting = function formatting(_ref2) {
149
148
  return keymaps.toggleSuperscript;
150
149
  }
151
150
  }, {
152
- name: formatMessage(_messages4.messages.heading1),
151
+ name: formatMessage(_messages3.messages.heading1),
153
152
  type: 'heading',
154
153
  keymap: function keymap() {
155
154
  return keymaps.toggleHeading1;
@@ -162,7 +161,7 @@ var formatting = function formatting(_ref2) {
162
161
  }, "Space"));
163
162
  }
164
163
  }, {
165
- name: formatMessage(_messages4.messages.heading2),
164
+ name: formatMessage(_messages3.messages.heading2),
166
165
  type: 'heading',
167
166
  keymap: function keymap() {
168
167
  return keymaps.toggleHeading2;
@@ -175,7 +174,7 @@ var formatting = function formatting(_ref2) {
175
174
  }, "Space"));
176
175
  }
177
176
  }, {
178
- name: formatMessage(_messages4.messages.heading3),
177
+ name: formatMessage(_messages3.messages.heading3),
179
178
  type: 'heading',
180
179
  keymap: function keymap() {
181
180
  return keymaps.toggleHeading3;
@@ -188,7 +187,7 @@ var formatting = function formatting(_ref2) {
188
187
  }, "Space"));
189
188
  }
190
189
  }, {
191
- name: formatMessage(_messages4.messages.heading4),
190
+ name: formatMessage(_messages3.messages.heading4),
192
191
  type: 'heading',
193
192
  keymap: function keymap() {
194
193
  return keymaps.toggleHeading4;
@@ -201,7 +200,7 @@ var formatting = function formatting(_ref2) {
201
200
  }, "Space"));
202
201
  }
203
202
  }, {
204
- name: formatMessage(_messages4.messages.heading5),
203
+ name: formatMessage(_messages3.messages.heading5),
205
204
  type: 'heading',
206
205
  keymap: function keymap() {
207
206
  return keymaps.toggleHeading5;
@@ -214,7 +213,7 @@ var formatting = function formatting(_ref2) {
214
213
  }, "Space"));
215
214
  }
216
215
  }, {
217
- name: formatMessage(_messages4.messages.heading6),
216
+ name: formatMessage(_messages3.messages.heading6),
218
217
  type: 'heading',
219
218
  keymap: function keymap() {
220
219
  return keymaps.toggleHeading6;
@@ -227,13 +226,13 @@ var formatting = function formatting(_ref2) {
227
226
  }, "Space"));
228
227
  }
229
228
  }, {
230
- name: formatMessage(_messages4.messages.normal),
229
+ name: formatMessage(_messages3.messages.normal),
231
230
  type: 'paragraph',
232
231
  keymap: function keymap() {
233
232
  return keymaps.setNormalText;
234
233
  }
235
234
  }, {
236
- name: formatMessage(_messages2.messages.orderedList),
235
+ name: formatMessage(_messages.listMessages.orderedList),
237
236
  type: 'orderedList',
238
237
  keymap: function keymap() {
239
238
  return keymaps.toggleOrderedList;
@@ -246,7 +245,7 @@ var formatting = function formatting(_ref2) {
246
245
  }, "Space"));
247
246
  }
248
247
  }, {
249
- name: formatMessage(_messages2.messages.unorderedList),
248
+ name: formatMessage(_messages.listMessages.unorderedList),
250
249
  type: 'bulletList',
251
250
  keymap: function keymap() {
252
251
  return keymaps.toggleBulletList;
@@ -259,7 +258,7 @@ var formatting = function formatting(_ref2) {
259
258
  }, "Space"));
260
259
  }
261
260
  }, {
262
- name: formatMessage(_messages4.messages.blockquote),
261
+ name: formatMessage(_messages3.messages.blockquote),
263
262
  type: 'blockquote',
264
263
  keymap: function keymap() {
265
264
  return keymaps.toggleBlockQuote;
@@ -272,7 +271,7 @@ var formatting = function formatting(_ref2) {
272
271
  }, "Space"));
273
272
  }
274
273
  }, {
275
- name: formatMessage(_messages4.messages.codeblock),
274
+ name: formatMessage(_messages3.messages.codeblock),
276
275
  type: 'codeBlock',
277
276
  autoFormatting: function autoFormatting() {
278
277
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
@@ -280,7 +279,7 @@ var formatting = function formatting(_ref2) {
280
279
  }, "```"));
281
280
  }
282
281
  }, {
283
- name: formatMessage(_messages3.messages.horizontalRule),
282
+ name: formatMessage(_messages2.messages.horizontalRule),
284
283
  type: 'rule',
285
284
  keymap: function keymap() {
286
285
  return keymaps.insertRule;
@@ -291,7 +290,7 @@ var formatting = function formatting(_ref2) {
291
290
  }, "---"));
292
291
  }
293
292
  }, {
294
- name: formatMessage(_messages3.messages.link),
293
+ name: formatMessage(_messages2.messages.link),
295
294
  type: 'link',
296
295
  keymap: function keymap() {
297
296
  return keymaps.addLink;
@@ -299,7 +298,7 @@ var formatting = function formatting(_ref2) {
299
298
  autoFormatting: function autoFormatting() {
300
299
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
301
300
  css: _styles.codeLg
302
- }, "[", (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages3.messages.link), "](http://a.com)"));
301
+ }, "[", (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages2.messages.link), "](http://a.com)"));
303
302
  }
304
303
  }, {
305
304
  name: formatMessage(_messages.toolbarMessages.code),
@@ -313,7 +312,7 @@ var formatting = function formatting(_ref2) {
313
312
  }, "`", (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.toolbarMessages.code), "`"));
314
313
  }
315
314
  }, {
316
- name: formatMessage(_messages3.messages.action),
315
+ name: formatMessage(_messages2.messages.action),
317
316
  type: 'taskItem',
318
317
  autoFormatting: function autoFormatting() {
319
318
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
@@ -323,7 +322,7 @@ var formatting = function formatting(_ref2) {
323
322
  }, "Space"));
324
323
  }
325
324
  }, {
326
- name: formatMessage(_messages3.messages.decision),
325
+ name: formatMessage(_messages2.messages.decision),
327
326
  type: 'decisionItem',
328
327
  autoFormatting: function autoFormatting() {
329
328
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
@@ -333,7 +332,7 @@ var formatting = function formatting(_ref2) {
333
332
  }, "Space"));
334
333
  }
335
334
  }, {
336
- name: formatMessage(_messages3.messages.emoji),
335
+ name: formatMessage(_messages2.messages.emoji),
337
336
  type: 'emoji',
338
337
  autoFormatting: function autoFormatting() {
339
338
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
@@ -341,7 +340,7 @@ var formatting = function formatting(_ref2) {
341
340
  }, ":"));
342
341
  }
343
342
  }, {
344
- name: formatMessage(_messages3.messages.mention),
343
+ name: formatMessage(_messages2.messages.mention),
345
344
  type: 'mention',
346
345
  autoFormatting: function autoFormatting() {
347
346
  return (0, _react2.jsx)("span", null, (0, _react2.jsx)("span", {
@@ -349,13 +348,13 @@ var formatting = function formatting(_ref2) {
349
348
  }, "@"));
350
349
  }
351
350
  }, {
352
- name: formatMessage(_messages6.alignmentMessages.alignLeft),
351
+ name: formatMessage(_messages5.alignmentMessages.alignLeft),
353
352
  type: 'alignment',
354
353
  keymap: function keymap() {
355
354
  return keymaps.alignLeft;
356
355
  }
357
356
  }, {
358
- name: formatMessage(_messages6.alignmentMessages.alignRight),
357
+ name: formatMessage(_messages5.alignmentMessages.alignRight),
359
358
  type: 'alignment'
360
359
  }];
361
360
  };
@@ -370,13 +369,13 @@ var otherFormatting = function otherFormatting(_ref3) {
370
369
  return keymaps.clearFormatting;
371
370
  }
372
371
  }, {
373
- name: formatMessage(_messages5.messages.undo),
372
+ name: formatMessage(_messages4.messages.undo),
374
373
  type: 'undo',
375
374
  keymap: function keymap() {
376
375
  return keymaps.undo;
377
376
  }
378
377
  }, {
379
- name: formatMessage(_messages5.messages.redo),
378
+ name: formatMessage(_messages4.messages.redo),
380
379
  type: 'redo',
381
380
  keymap: function keymap() {
382
381
  return keymaps.redo;
@@ -191,12 +191,6 @@ Object.defineProperty(exports, "historyPlugin", {
191
191
  return _history.default;
192
192
  }
193
193
  });
194
- Object.defineProperty(exports, "imageUploadPlugin", {
195
- enumerable: true,
196
- get: function get() {
197
- return _imageUpload.default;
198
- }
199
- });
200
194
  Object.defineProperty(exports, "indentationPlugin", {
201
195
  enumerable: true,
202
196
  get: function get() {
@@ -388,7 +382,6 @@ var _emoji = _interopRequireDefault(require("./emoji"));
388
382
  var _extension = _interopRequireDefault(require("./extension"));
389
383
  var _fakeTextCursor = _interopRequireDefault(require("./fake-text-cursor"));
390
384
  var _helpDialog = _interopRequireDefault(require("./help-dialog"));
391
- var _imageUpload = _interopRequireDefault(require("./image-upload"));
392
385
  var _insertBlock = _interopRequireDefault(require("./insert-block"));
393
386
  var _jiraIssue = _interopRequireDefault(require("./jira-issue"));
394
387
  var _layout = _interopRequireDefault(require("./layout"));
@@ -10,7 +10,7 @@ var _adfSchema = require("@atlaskit/adf-schema");
10
10
  var _main = require("./pm-plugins/main");
11
11
  var _inputRules = _interopRequireDefault(require("./pm-plugins/input-rules"));
12
12
  var _keymap = _interopRequireDefault(require("./pm-plugins/keymap"));
13
- var _messages = require("./messages");
13
+ var _messages = require("@atlaskit/editor-common/messages");
14
14
  var _analytics = require("../analytics");
15
15
  var _keymaps = require("../../keymaps");
16
16
  var _quickInsert = require("@atlaskit/editor-common/quick-insert");
@@ -63,8 +63,8 @@ var listPlugin = function listPlugin(options, api) {
63
63
  var formatMessage = _ref3.formatMessage;
64
64
  return [{
65
65
  id: 'unorderedList',
66
- title: formatMessage(_messages.messages.unorderedList),
67
- description: formatMessage(_messages.messages.unorderedListDescription),
66
+ title: formatMessage(_messages.listMessages.unorderedList),
67
+ description: formatMessage(_messages.listMessages.unorderedListDescription),
68
68
  keywords: ['ul', 'unordered'],
69
69
  priority: 1100,
70
70
  keyshortcut: (0, _keymaps.tooltip)(_keymaps.toggleBulletList),
@@ -86,8 +86,8 @@ var listPlugin = function listPlugin(options, api) {
86
86
  }
87
87
  }, {
88
88
  id: 'orderedList',
89
- title: formatMessage(_messages.messages.orderedList),
90
- description: formatMessage(_messages.messages.orderedListDescription),
89
+ title: formatMessage(_messages.listMessages.orderedList),
90
+ description: formatMessage(_messages.listMessages.orderedListDescription),
91
91
  keywords: ['ol', 'ordered'],
92
92
  priority: 1200,
93
93
  keyshortcut: (0, _keymaps.tooltip)(_keymaps.toggleOrderedList),
@@ -1,21 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.liftFollowingList = liftFollowingList;
8
7
  exports.liftNodeSelectionList = liftNodeSelectionList;
9
8
  exports.liftTextSelectionList = liftTextSelectionList;
10
- exports.upgradeTextToLists = exports.splitParagraphs = exports.splitIntoParagraphs = void 0;
11
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
9
  var _model = require("@atlaskit/editor-prosemirror/model");
14
10
  var _state = require("@atlaskit/editor-prosemirror/state");
15
11
  var _transform = require("@atlaskit/editor-prosemirror/transform");
16
- var _commands = require("@atlaskit/editor-prosemirror/commands");
17
- var _utils = require("@atlaskit/editor-common/utils");
18
- var _slice = require("../../utils/slice");
19
12
  var _indentation = require("./utils/indentation");
20
13
  function liftListItem(selection, tr) {
21
14
  var $from = selection.$from,
@@ -104,219 +97,4 @@ function liftTextSelectionList(selection, tr) {
104
97
  }
105
98
  }
106
99
  return tr;
107
- }
108
-
109
- // matchers for text lists
110
- var bullets = /^\s*[\*\-\u2022](\s+|\s+$)/;
111
- var numbers = /^\s*\d[\.\)](\s+|$)/;
112
- var getListType = function getListType(node, schema) {
113
- if (!node.text) {
114
- return null;
115
- }
116
- var _schema$nodes = schema.nodes,
117
- bulletList = _schema$nodes.bulletList,
118
- orderedList = _schema$nodes.orderedList;
119
- return [{
120
- node: bulletList,
121
- matcher: bullets
122
- }, {
123
- node: orderedList,
124
- matcher: numbers
125
- }].reduce(function (lastMatch, listType) {
126
- if (lastMatch) {
127
- return lastMatch;
128
- }
129
- var match = node.text.match(listType.matcher);
130
- return match ? [listType.node, match[0].length] : lastMatch;
131
- }, null);
132
- };
133
- var extractListFromParagraph = function extractListFromParagraph(node, parent, schema) {
134
- var _schema$nodes2 = schema.nodes,
135
- hardBreak = _schema$nodes2.hardBreak,
136
- bulletList = _schema$nodes2.bulletList,
137
- orderedList = _schema$nodes2.orderedList;
138
- var content = (0, _slice.mapChildren)(node.content, function (node) {
139
- return node;
140
- });
141
- var listTypes = [bulletList, orderedList];
142
-
143
- // wrap each line into a listItem and a containing list
144
- var listified = content.map(function (child, index) {
145
- var listMatch = getListType(child, schema);
146
- var prevChild = index > 0 && content[index - 1];
147
-
148
- // only extract list when preceded by a hardbreak
149
- if (prevChild && prevChild.type !== hardBreak) {
150
- return child;
151
- }
152
- if (!listMatch || !child.text) {
153
- return child;
154
- }
155
- var _listMatch = (0, _slicedToArray2.default)(listMatch, 2),
156
- nodeType = _listMatch[0],
157
- length = _listMatch[1];
158
-
159
- // convert to list item
160
- var newText = child.text.substr(length);
161
- var listItemNode = schema.nodes.listItem.createAndFill(undefined, schema.nodes.paragraph.createChecked(undefined, newText.length ? schema.text(newText) : undefined));
162
- if (!listItemNode) {
163
- return child;
164
- }
165
- var newList = nodeType.createChecked(undefined, [listItemNode]);
166
- // Check whether our new list is valid content in our current structure,
167
- // otherwise dont convert.
168
- if (parent && !parent.type.validContent(_model.Fragment.from(newList))) {
169
- return child;
170
- }
171
- return newList;
172
- }).filter(function (child, idx, arr) {
173
- // remove hardBreaks that have a list node on either side
174
-
175
- // wasn't hardBreak, leave as-is
176
- if (child.type !== hardBreak) {
177
- return child;
178
- }
179
- if (idx > 0 && listTypes.indexOf(arr[idx - 1].type) > -1) {
180
- // list node on the left
181
- return null;
182
- }
183
- if (idx < arr.length - 1 && listTypes.indexOf(arr[idx + 1].type) > -1) {
184
- // list node on the right
185
- return null;
186
- }
187
- return child;
188
- });
189
-
190
- // try to join
191
- var mockState = _state.EditorState.create({
192
- schema: schema
193
- });
194
- var joinedListsTr;
195
- var mockDispatch = function mockDispatch(tr) {
196
- joinedListsTr = tr;
197
- };
198
- (0, _commands.autoJoin)(function (state, dispatch) {
199
- if (!dispatch) {
200
- return false;
201
- }
202
-
203
- // Return false to prevent replaceWith from wrapping the text node in a paragraph
204
- // paragraph since that will be done later. If it's done here, it will fail
205
- // the paragraph.validContent check.
206
- // Dont return false if there are lists, as they arent validContent for paragraphs
207
- // and will result in hanging textNodes
208
- var containsList = listified.some(function (node) {
209
- return node.type === bulletList || node.type === orderedList;
210
- });
211
- if (listified.some(function (node) {
212
- return node.isText;
213
- }) && !containsList) {
214
- return false;
215
- }
216
- dispatch(state.tr.replaceWith(0, 2, listified));
217
- return true;
218
- }, function (before, after) {
219
- return (0, _utils.isListNode)(before) && (0, _utils.isListNode)(after);
220
- })(mockState, mockDispatch);
221
- var fragment = joinedListsTr ? joinedListsTr.doc.content : _model.Fragment.from(listified);
222
-
223
- // try to re-wrap fragment in paragraph (which is the original node we unwrapped)
224
- var paragraph = schema.nodes.paragraph;
225
- if (paragraph.validContent(fragment)) {
226
- return _model.Fragment.from(paragraph.create(node.attrs, fragment, node.marks));
227
- }
228
-
229
- // fragment now contains other nodes, get Prosemirror to wrap with ContentMatch later
230
- return fragment;
231
- };
232
-
233
- /**
234
- * Walks the slice, creating paragraphs that were previously separated by hardbreaks.
235
- * Returns the original paragraph node (as a fragment), or a fragment containing multiple nodes.
236
- */
237
- var splitIntoParagraphs = function splitIntoParagraphs(_ref) {
238
- var fragment = _ref.fragment,
239
- _ref$blockMarks = _ref.blockMarks,
240
- blockMarks = _ref$blockMarks === void 0 ? [] : _ref$blockMarks,
241
- schema = _ref.schema;
242
- var paragraphs = [];
243
- var curChildren = [];
244
- var lastNode = null;
245
- var _schema$nodes3 = schema.nodes,
246
- hardBreak = _schema$nodes3.hardBreak,
247
- paragraph = _schema$nodes3.paragraph;
248
- fragment.forEach(function (node, i) {
249
- var isNodeValidContentForParagraph = schema.nodes.paragraph.validContent(_model.Fragment.from(node));
250
- if (!isNodeValidContentForParagraph) {
251
- paragraphs.push(node);
252
- return;
253
- }
254
- // ED-14725 Fixed the issue that it make duplicated line
255
- // when pasting <br /> from google docs.
256
- if (i === 0 && node.type === hardBreak) {
257
- paragraphs.push(paragraph.createChecked(undefined, curChildren, (0, _toConsumableArray2.default)(blockMarks)));
258
- lastNode = node;
259
- return;
260
- } else if (lastNode && lastNode.type === hardBreak && node.type === hardBreak) {
261
- // double hardbreak
262
-
263
- // backtrack a little; remove the trailing hardbreak we added last loop
264
- curChildren.pop();
265
-
266
- // create a new paragraph
267
- paragraphs.push(paragraph.createChecked(undefined, curChildren, (0, _toConsumableArray2.default)(blockMarks)));
268
- curChildren = [];
269
- return;
270
- }
271
-
272
- // add to this paragraph
273
- curChildren.push(node);
274
- lastNode = node;
275
- });
276
- if (curChildren.length) {
277
- paragraphs.push(paragraph.createChecked(undefined, curChildren, (0, _toConsumableArray2.default)(blockMarks)));
278
- }
279
- return _model.Fragment.from(paragraphs.length ? paragraphs : [paragraph.createAndFill(undefined, undefined, (0, _toConsumableArray2.default)(blockMarks))]);
280
- };
281
- exports.splitIntoParagraphs = splitIntoParagraphs;
282
- var splitParagraphs = function splitParagraphs(slice, schema) {
283
- // exclude Text nodes with a code mark, since we transform those later
284
- // into a codeblock
285
- var hasCodeMark = false;
286
- slice.content.forEach(function (child) {
287
- hasCodeMark = hasCodeMark || child.marks.some(function (mark) {
288
- return mark.type === schema.marks.code;
289
- });
290
- });
291
-
292
- // slice might just be a raw text string
293
- if (schema.nodes.paragraph.validContent(slice.content) && !hasCodeMark) {
294
- var replSlice = splitIntoParagraphs({
295
- fragment: slice.content,
296
- schema: schema
297
- });
298
- return new _model.Slice(replSlice, slice.openStart + 1, slice.openEnd + 1);
299
- }
300
- return (0, _slice.mapSlice)(slice, function (node) {
301
- if (node.type === schema.nodes.paragraph) {
302
- return splitIntoParagraphs({
303
- fragment: node.content,
304
- blockMarks: node.marks,
305
- schema: schema
306
- });
307
- }
308
- return node;
309
- });
310
- };
311
-
312
- // above will wrap everything in paragraphs for us
313
- exports.splitParagraphs = splitParagraphs;
314
- var upgradeTextToLists = function upgradeTextToLists(slice, schema) {
315
- return (0, _slice.mapSlice)(slice, function (node, parent) {
316
- if (node.type === schema.nodes.paragraph) {
317
- return extractListFromParagraph(node, parent, schema);
318
- }
319
- return node;
320
- });
321
- };
322
- exports.upgradeTextToLists = upgradeTextToLists;
100
+ }