@atlaskit/editor-core 189.3.29 → 189.3.31

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 (122) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/plugins/index.js +0 -7
  3. package/dist/cjs/presets/universal.js +2 -1
  4. package/dist/cjs/utils/document.js +0 -6
  5. package/dist/cjs/utils/index.js +0 -6
  6. package/dist/cjs/version-wrapper.js +1 -1
  7. package/dist/es2019/plugins/index.js +0 -1
  8. package/dist/es2019/presets/universal.js +2 -1
  9. package/dist/es2019/utils/document.js +1 -1
  10. package/dist/es2019/utils/index.js +1 -1
  11. package/dist/es2019/version-wrapper.js +1 -1
  12. package/dist/esm/plugins/index.js +0 -1
  13. package/dist/esm/presets/universal.js +2 -1
  14. package/dist/esm/utils/document.js +1 -1
  15. package/dist/esm/utils/index.js +1 -1
  16. package/dist/esm/version-wrapper.js +1 -1
  17. package/dist/types/plugins/index.d.ts +0 -1
  18. package/dist/types/plugins/insert-block/types.d.ts +2 -2
  19. package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +2 -2
  20. package/dist/types/utils/document.d.ts +1 -1
  21. package/dist/types/utils/index.d.ts +1 -1
  22. package/dist/types-ts4.5/plugins/index.d.ts +0 -1
  23. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +2 -2
  24. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/index.d.ts +2 -2
  25. package/dist/types-ts4.5/utils/document.d.ts +1 -1
  26. package/dist/types-ts4.5/utils/index.d.ts +1 -1
  27. package/package.json +4 -4
  28. package/dist/cjs/plugins/tasks-and-decisions/commands.js +0 -288
  29. package/dist/cjs/plugins/tasks-and-decisions/index.js +0 -166
  30. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +0 -117
  31. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/hooks/use-show-placeholder.js +0 -40
  32. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +0 -211
  33. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/commands.js +0 -96
  34. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/helpers.js +0 -299
  35. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/input-rules.js +0 -94
  36. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/keymaps.js +0 -376
  37. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +0 -263
  38. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/plugin-key.js +0 -8
  39. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/types.js +0 -11
  40. package/dist/cjs/plugins/tasks-and-decisions/types.js +0 -5
  41. package/dist/cjs/plugins/tasks-and-decisions/ui/Decision/index.js +0 -51
  42. package/dist/cjs/plugins/tasks-and-decisions/ui/Task/index.js +0 -80
  43. package/dist/cjs/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +0 -137
  44. package/dist/cjs/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +0 -76
  45. package/dist/cjs/plugins/tasks-and-decisions/ui/ToolbarTask/index.js +0 -75
  46. package/dist/cjs/plugins/tasks-and-decisions/utils.js +0 -41
  47. package/dist/es2019/plugins/tasks-and-decisions/commands.js +0 -279
  48. package/dist/es2019/plugins/tasks-and-decisions/index.js +0 -155
  49. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +0 -76
  50. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/hooks/use-show-placeholder.js +0 -36
  51. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +0 -173
  52. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/commands.js +0 -94
  53. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/helpers.js +0 -316
  54. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/input-rules.js +0 -91
  55. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/keymaps.js +0 -370
  56. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +0 -262
  57. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/plugin-key.js +0 -2
  58. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/types.js +0 -5
  59. package/dist/es2019/plugins/tasks-and-decisions/types.js +0 -1
  60. package/dist/es2019/plugins/tasks-and-decisions/ui/Decision/index.js +0 -30
  61. package/dist/es2019/plugins/tasks-and-decisions/ui/Task/index.js +0 -54
  62. package/dist/es2019/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +0 -71
  63. package/dist/es2019/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +0 -52
  64. package/dist/es2019/plugins/tasks-and-decisions/ui/ToolbarTask/index.js +0 -51
  65. package/dist/es2019/plugins/tasks-and-decisions/utils.js +0 -32
  66. package/dist/esm/plugins/tasks-and-decisions/commands.js +0 -281
  67. package/dist/esm/plugins/tasks-and-decisions/index.js +0 -156
  68. package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +0 -110
  69. package/dist/esm/plugins/tasks-and-decisions/nodeviews/hooks/use-show-placeholder.js +0 -34
  70. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +0 -204
  71. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/commands.js +0 -90
  72. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/helpers.js +0 -285
  73. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/input-rules.js +0 -87
  74. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/keymaps.js +0 -368
  75. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +0 -256
  76. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/plugin-key.js +0 -2
  77. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/types.js +0 -5
  78. package/dist/esm/plugins/tasks-and-decisions/types.js +0 -1
  79. package/dist/esm/plugins/tasks-and-decisions/ui/Decision/index.js +0 -44
  80. package/dist/esm/plugins/tasks-and-decisions/ui/Task/index.js +0 -70
  81. package/dist/esm/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +0 -128
  82. package/dist/esm/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +0 -66
  83. package/dist/esm/plugins/tasks-and-decisions/ui/ToolbarTask/index.js +0 -65
  84. package/dist/esm/plugins/tasks-and-decisions/utils.js +0 -30
  85. package/dist/types/plugins/tasks-and-decisions/commands.d.ts +0 -16
  86. package/dist/types/plugins/tasks-and-decisions/index.d.ts +0 -3
  87. package/dist/types/plugins/tasks-and-decisions/nodeviews/decisionItem.d.ts +0 -10
  88. package/dist/types/plugins/tasks-and-decisions/nodeviews/hooks/use-show-placeholder.d.ts +0 -11
  89. package/dist/types/plugins/tasks-and-decisions/nodeviews/taskItem.d.ts +0 -14
  90. package/dist/types/plugins/tasks-and-decisions/pm-plugins/commands.d.ts +0 -15
  91. package/dist/types/plugins/tasks-and-decisions/pm-plugins/helpers.d.ts +0 -76
  92. package/dist/types/plugins/tasks-and-decisions/pm-plugins/input-rules.d.ts +0 -6
  93. package/dist/types/plugins/tasks-and-decisions/pm-plugins/keymaps.d.ts +0 -11
  94. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +0 -7
  95. package/dist/types/plugins/tasks-and-decisions/pm-plugins/plugin-key.d.ts +0 -2
  96. package/dist/types/plugins/tasks-and-decisions/pm-plugins/types.d.ts +0 -8
  97. package/dist/types/plugins/tasks-and-decisions/types.d.ts +0 -49
  98. package/dist/types/plugins/tasks-and-decisions/ui/Decision/index.d.ts +0 -14
  99. package/dist/types/plugins/tasks-and-decisions/ui/Task/index.d.ts +0 -28
  100. package/dist/types/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.d.ts +0 -29
  101. package/dist/types/plugins/tasks-and-decisions/ui/ToolbarDecision/index.d.ts +0 -23
  102. package/dist/types/plugins/tasks-and-decisions/ui/ToolbarTask/index.d.ts +0 -23
  103. package/dist/types/plugins/tasks-and-decisions/utils.d.ts +0 -4
  104. package/dist/types-ts4.5/plugins/tasks-and-decisions/commands.d.ts +0 -16
  105. package/dist/types-ts4.5/plugins/tasks-and-decisions/index.d.ts +0 -3
  106. package/dist/types-ts4.5/plugins/tasks-and-decisions/nodeviews/decisionItem.d.ts +0 -10
  107. package/dist/types-ts4.5/plugins/tasks-and-decisions/nodeviews/hooks/use-show-placeholder.d.ts +0 -11
  108. package/dist/types-ts4.5/plugins/tasks-and-decisions/nodeviews/taskItem.d.ts +0 -14
  109. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/commands.d.ts +0 -15
  110. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/helpers.d.ts +0 -76
  111. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/input-rules.d.ts +0 -6
  112. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/keymaps.d.ts +0 -11
  113. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/main.d.ts +0 -7
  114. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/plugin-key.d.ts +0 -2
  115. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/types.d.ts +0 -8
  116. package/dist/types-ts4.5/plugins/tasks-and-decisions/types.d.ts +0 -49
  117. package/dist/types-ts4.5/plugins/tasks-and-decisions/ui/Decision/index.d.ts +0 -14
  118. package/dist/types-ts4.5/plugins/tasks-and-decisions/ui/Task/index.d.ts +0 -28
  119. package/dist/types-ts4.5/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.d.ts +0 -29
  120. package/dist/types-ts4.5/plugins/tasks-and-decisions/ui/ToolbarDecision/index.d.ts +0 -23
  121. package/dist/types-ts4.5/plugins/tasks-and-decisions/ui/ToolbarTask/index.d.ts +0 -23
  122. package/dist/types-ts4.5/plugins/tasks-and-decisions/utils.d.ts +0 -4
@@ -1,288 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.isSupportedSourceNode = exports.insertTaskDecisionWithAnalytics = exports.insertTaskDecisionCommand = exports.insertTaskDecisionAction = exports.getListTypes = exports.createListAtSelection = exports.changeInDepth = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _model = require("@atlaskit/editor-prosemirror/model");
10
- var _state = require("@atlaskit/editor-prosemirror/state");
11
- var _utils = require("@atlaskit/editor-prosemirror/utils");
12
- var _transform = require("@atlaskit/editor-prosemirror/transform");
13
- var _adfSchema = require("@atlaskit/adf-schema");
14
- var _analytics = require("@atlaskit/editor-common/analytics");
15
- var _selection = require("@atlaskit/editor-common/selection");
16
- var _pluginKey = require("./pm-plugins/plugin-key");
17
- var _utils2 = require("@atlaskit/editor-common/utils");
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- var getContextData = function getContextData() {
21
- var contextProvider = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
- var objectId = contextProvider.objectId,
23
- containerId = contextProvider.containerId;
24
- var userContext = objectId ? _analytics.USER_CONTEXT.EDIT : _analytics.USER_CONTEXT.NEW;
25
- return {
26
- objectId: objectId,
27
- containerId: containerId,
28
- userContext: userContext
29
- };
30
- };
31
- var generateAnalyticsPayload = function generateAnalyticsPayload(listType, contextData, inputMethod, itemLocalId, listLocalId, itemIdx, listSize) {
32
- var containerId;
33
- var objectId;
34
- var userContext;
35
- if (contextData) {
36
- containerId = contextData.containerId;
37
- objectId = contextData.objectId;
38
- userContext = contextData.userContext;
39
- }
40
- return {
41
- action: _analytics.ACTION.INSERTED,
42
- actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
43
- actionSubjectId: listType === 'taskList' ? _analytics.ACTION_SUBJECT_ID.ACTION : _analytics.ACTION_SUBJECT_ID.DECISION,
44
- eventType: _analytics.EVENT_TYPE.TRACK,
45
- attributes: {
46
- inputMethod: inputMethod,
47
- containerAri: containerId,
48
- objectAri: objectId,
49
- userContext: userContext,
50
- localId: itemLocalId,
51
- listLocalId: listLocalId,
52
- position: itemIdx,
53
- listSize: listSize
54
- }
55
- };
56
- };
57
- var getListTypes = exports.getListTypes = function getListTypes(listType, schema) {
58
- var _schema$nodes = schema.nodes,
59
- decisionList = _schema$nodes.decisionList,
60
- decisionItem = _schema$nodes.decisionItem,
61
- taskList = _schema$nodes.taskList,
62
- taskItem = _schema$nodes.taskItem;
63
- if (listType === 'taskList') {
64
- return {
65
- list: taskList,
66
- item: taskItem
67
- };
68
- }
69
- return {
70
- list: decisionList,
71
- item: decisionItem
72
- };
73
- };
74
- var insertTaskDecisionAction = exports.insertTaskDecisionAction = function insertTaskDecisionAction(editorAnalyticsAPI) {
75
- return function (state, listType) {
76
- var inputMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _analytics.INPUT_METHOD.TOOLBAR;
77
- var addItem = arguments.length > 3 ? arguments[3] : undefined;
78
- var listLocalId = arguments.length > 4 ? arguments[4] : undefined;
79
- var itemLocalId = arguments.length > 5 ? arguments[5] : undefined;
80
- var itemAttrs = arguments.length > 6 ? arguments[6] : undefined;
81
- var schema = state.schema;
82
- var addAndCreateList = function addAndCreateList(_ref) {
83
- var tr = _ref.tr,
84
- list = _ref.list,
85
- item = _ref.item,
86
- listLocalId = _ref.listLocalId,
87
- itemLocalId = _ref.itemLocalId;
88
- return createListAtSelection(tr, list, item, schema, state, listLocalId, itemLocalId, itemAttrs);
89
- };
90
- var addToList = function addToList(_ref2) {
91
- var state = _ref2.state,
92
- tr = _ref2.tr,
93
- item = _ref2.item,
94
- itemLocalId = _ref2.itemLocalId;
95
- var $to = state.selection.$to;
96
- var endPos = $to.end($to.depth);
97
- var newItemParagraphPos = endPos + 2;
98
- return tr.split(endPos, 1, [{
99
- type: item,
100
- attrs: {
101
- localId: itemLocalId
102
- }
103
- }]).setSelection(new _state.TextSelection(tr.doc.resolve(newItemParagraphPos)));
104
- };
105
- var addAndCreateListFn = addItem !== null && addItem !== void 0 ? addItem : addAndCreateList;
106
- var tr = insertTaskDecisionWithAnalytics(editorAnalyticsAPI)(state, listType, inputMethod, addAndCreateListFn, addToList, listLocalId, itemLocalId, itemAttrs);
107
- if (!tr) {
108
- return state.tr;
109
- }
110
- (0, _utils2.autoJoinTr)(tr, ['taskList', 'decisionList']);
111
- return tr;
112
- };
113
- };
114
- var insertTaskDecisionCommand = exports.insertTaskDecisionCommand = function insertTaskDecisionCommand(editorAnalyticsAPI) {
115
- return function (listType) {
116
- var inputMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analytics.INPUT_METHOD.TOOLBAR;
117
- var addItem = arguments.length > 2 ? arguments[2] : undefined;
118
- var listLocalId = arguments.length > 3 ? arguments[3] : undefined;
119
- var itemLocalId = arguments.length > 4 ? arguments[4] : undefined;
120
- return function (state, dispatch) {
121
- var tr = insertTaskDecisionAction(editorAnalyticsAPI)(state, listType, inputMethod, addItem, listLocalId, itemLocalId);
122
- if (dispatch) {
123
- dispatch(tr);
124
- }
125
- return true;
126
- };
127
- };
128
- };
129
- var insertTaskDecisionWithAnalytics = exports.insertTaskDecisionWithAnalytics = function insertTaskDecisionWithAnalytics(editorAnalyticsAPI) {
130
- return function (state, listType, inputMethod, addAndCreateList, addToList, listLocalId, itemLocalId, itemAttrs) {
131
- var schema = state.schema;
132
- var _getListTypes = getListTypes(listType, schema),
133
- list = _getListTypes.list,
134
- item = _getListTypes.item;
135
- var tr = state.tr;
136
- var $to = state.selection.$to;
137
- var listNode = (0, _utils.findParentNodeOfType)(list)(state.selection);
138
- var contextIdentifierProvider = _pluginKey.stateKey.getState(state).contextIdentifierProvider;
139
- var contextData = getContextData(contextIdentifierProvider);
140
- var insertTrCreator;
141
- var itemIdx;
142
- var listSize;
143
- if (!listNode) {
144
- // Not a list - convert to one.
145
- itemIdx = 0;
146
- listSize = 1;
147
- insertTrCreator = addAndCreateList;
148
- } else if ($to.node().textContent.length >= 0) {
149
- listSize = listNode.node.childCount + 1;
150
- listLocalId = listLocalId || listNode.node.attrs.localId;
151
- var listItemNode = (0, _utils.findParentNodeOfType)(item)(state.selection); // finds current item in list
152
- itemIdx = listItemNode ? state.doc.resolve(listItemNode.pos).index() + 1 : 0;
153
- insertTrCreator = addToList ? addToList : addAndCreateList;
154
- }
155
- listLocalId = listLocalId || _adfSchema.uuid.generate();
156
- itemLocalId = itemLocalId || _adfSchema.uuid.generate();
157
- if (insertTrCreator) {
158
- var insertTr = insertTrCreator({
159
- state: state,
160
- tr: tr,
161
- list: list,
162
- item: item,
163
- listLocalId: listLocalId,
164
- itemLocalId: itemLocalId,
165
- itemAttrs: itemAttrs
166
- });
167
- if (insertTr) {
168
- editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(generateAnalyticsPayload(listType, contextData, inputMethod, itemLocalId, listLocalId, itemIdx || 0, listSize || 0))(insertTr);
169
- }
170
- return insertTr;
171
- }
172
- return null;
173
- };
174
- };
175
- var isSupportedSourceNode = exports.isSupportedSourceNode = function isSupportedSourceNode(schema, selection) {
176
- var _schema$nodes2 = schema.nodes,
177
- paragraph = _schema$nodes2.paragraph,
178
- blockquote = _schema$nodes2.blockquote,
179
- decisionList = _schema$nodes2.decisionList,
180
- taskList = _schema$nodes2.taskList;
181
- return (0, _utils.hasParentNodeOfType)([blockquote, paragraph, decisionList, taskList])(selection);
182
- };
183
- var changeInDepth = exports.changeInDepth = function changeInDepth(before, after) {
184
- return after.depth - before.depth;
185
- };
186
- var createListAtSelection = exports.createListAtSelection = function createListAtSelection(tr, list, item, schema, state) {
187
- var listLocalId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _adfSchema.uuid.generate();
188
- var itemLocalId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : _adfSchema.uuid.generate();
189
- var itemAttrs = arguments.length > 7 ? arguments[7] : undefined;
190
- var selection = state.selection;
191
- var $from = selection.$from,
192
- $to = selection.$to;
193
- if ($from.parent !== $to.parent) {
194
- // ignore selections across multiple nodes
195
- return null;
196
- }
197
- var _schema$nodes3 = schema.nodes,
198
- paragraph = _schema$nodes3.paragraph,
199
- blockquote = _schema$nodes3.blockquote,
200
- decisionList = _schema$nodes3.decisionList,
201
- taskList = _schema$nodes3.taskList,
202
- decisionItem = _schema$nodes3.decisionItem,
203
- taskItem = _schema$nodes3.taskItem,
204
- mediaGroup = _schema$nodes3.mediaGroup;
205
- if ($from.parent.type === mediaGroup) {
206
- return null;
207
- }
208
- var emptyList = list.create({
209
- localId: listLocalId
210
- }, [item.create(_objectSpread({
211
- localId: itemLocalId
212
- }, itemAttrs))]);
213
-
214
- // we don't take the content of a block node next to the gap cursor and always create an empty task
215
- if (selection instanceof _selection.GapCursorSelection) {
216
- return (0, _utils.safeInsert)(emptyList)(tr);
217
- }
218
-
219
- // try to replace when selection is in nodes which support it
220
- if (isSupportedSourceNode(schema, selection)) {
221
- var _selection$$from$node = selection.$from.node(),
222
- nodeType = _selection$$from$node.type,
223
- childCount = _selection$$from$node.childCount;
224
- var newListNode = list.create({
225
- localId: _adfSchema.uuid.generate()
226
- }, [item.create({
227
- localId: _adfSchema.uuid.generate()
228
- }, $from.node($from.depth).content)]);
229
- var hasBlockquoteParent = (0, _utils.findParentNodeOfType)(blockquote)(selection);
230
- if (hasBlockquoteParent) {
231
- var liftedDepth = $from.depth - 1;
232
- var range = new _model.NodeRange($from, $to, liftedDepth);
233
- tr.lift(range, (0, _transform.liftTarget)(range));
234
- }
235
- var listParent = (0, _utils.findParentNodeOfType)(taskList)(selection) || (0, _utils.findParentNodeOfType)(decisionList)(selection);
236
- var listItem = (0, _utils.findParentNodeOfType)(taskItem)(selection) || (0, _utils.findParentNodeOfType)(decisionItem)(selection);
237
-
238
- // For a selection inside a task/decision list, we can't just simply replace the
239
- // node type as it will mess up lists with > 1 item
240
- if (listParent && listItem) {
241
- var start;
242
- var end;
243
- var selectionPos = selection.from;
244
-
245
- // if selection is in first item in list, we need to delete extra so that
246
- // this list isn't split
247
- if (listParent.node.firstChild === listItem.node) {
248
- start = listParent.start - 1;
249
- end = listItem.start + listItem.node.nodeSize;
250
- if (listParent.node.childCount === 1) {
251
- end = listParent.start + listParent.node.nodeSize - 1;
252
- }
253
- } else {
254
- start = listItem.start - 1;
255
- end = listItem.start + listItem.node.nodeSize;
256
- selectionPos += 2; // as we have added the new list node
257
- }
258
-
259
- tr.replaceWith(start, end, newListNode);
260
- tr = (0, _utils.setTextSelection)(selectionPos)(tr);
261
- return tr;
262
- }
263
-
264
- // For a selection inside one of these node types we can just convert the node type
265
- var nodeTypesToReplace = [blockquote];
266
- if (nodeType === paragraph && childCount > 0 || hasBlockquoteParent) {
267
- // Only convert paragraphs containing content.
268
- // Empty paragraphs use the default flow.
269
- // This distinction ensures the text selection remains in the correct location.
270
-
271
- // We also want to replace the paragraph type when we are inside a blockQuote
272
- // to avoid inserting an extra taskList whilst keeping the paragraph
273
- nodeTypesToReplace.push(paragraph);
274
- }
275
- var newTr = tr;
276
- newTr = (0, _utils.replaceParentNodeOfType)(nodeTypesToReplace, newListNode)(tr);
277
-
278
- // Adjust depth for new selection, if it has changed (e.g. paragraph to list (ol > li))
279
- var depthAdjustment = changeInDepth($to, newTr.selection.$to);
280
- tr = tr.setSelection(new _state.TextSelection(tr.doc.resolve($to.pos + depthAdjustment)));
281
-
282
- // replacing successful
283
- if (newTr !== tr) {
284
- return tr;
285
- }
286
- }
287
- return (0, _utils.safeInsert)(emptyList)(tr);
288
- };
@@ -1,166 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _react = require("@emotion/react");
11
- var _adfSchema = require("@atlaskit/adf-schema");
12
- var _analytics = require("@atlaskit/editor-common/analytics");
13
- var _messages = require("@atlaskit/editor-common/messages");
14
- var _quickInsert = require("@atlaskit/editor-common/quick-insert");
15
- var _pluginKey = require("./pm-plugins/plugin-key");
16
- var _commands = require("./commands");
17
- var _inputRules = _interopRequireDefault(require("./pm-plugins/input-rules"));
18
- var _keymaps = _interopRequireWildcard(require("./pm-plugins/keymaps"));
19
- var _main = require("./pm-plugins/main");
20
- var _ToolbarDecision = _interopRequireDefault(require("./ui/ToolbarDecision"));
21
- var _ToolbarTask = _interopRequireDefault(require("./ui/ToolbarTask"));
22
- var _helpers = require("./pm-plugins/helpers");
23
- var _indentation = require("@atlaskit/editor-common/indentation");
24
- var _templateObject;
25
- /** @jsx jsx */
26
- 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); }
27
- 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; }
28
- var taskDecisionToolbarGroup = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
29
- var addItem = function addItem(insert, listType, schema) {
30
- return function (_ref) {
31
- var listLocalId = _ref.listLocalId,
32
- itemLocalId = _ref.itemLocalId;
33
- var _getListTypes = (0, _commands.getListTypes)(listType, schema),
34
- list = _getListTypes.list,
35
- item = _getListTypes.item;
36
- return insert(list.createChecked({
37
- localId: listLocalId
38
- }, item.createChecked({
39
- localId: itemLocalId
40
- })));
41
- };
42
- };
43
- var tasksAndDecisionsPlugin = function tasksAndDecisionsPlugin(_ref2) {
44
- var _api$analytics, _api$analytics2, _api$analytics3;
45
- var _ref2$config = _ref2.config,
46
- _ref2$config2 = _ref2$config === void 0 ? {} : _ref2$config,
47
- allowNestedTasks = _ref2$config2.allowNestedTasks,
48
- consumeTabs = _ref2$config2.consumeTabs,
49
- useLongPressSelection = _ref2$config2.useLongPressSelection,
50
- api = _ref2.api;
51
- return {
52
- name: 'taskDecision',
53
- nodes: function nodes() {
54
- return [{
55
- name: 'decisionList',
56
- node: _adfSchema.decisionList
57
- }, {
58
- name: 'decisionItem',
59
- node: _adfSchema.decisionItem
60
- }, {
61
- name: 'taskList',
62
- node: _adfSchema.taskList
63
- }, {
64
- name: 'taskItem',
65
- node: _adfSchema.taskItem
66
- }];
67
- },
68
- getSharedState: function getSharedState(editorState) {
69
- if (!editorState) {
70
- return undefined;
71
- }
72
- var pluginState = _pluginKey.stateKey.getState(editorState);
73
- var indentLevel = (0, _helpers.getCurrentIndentLevel)(editorState.selection) || 0;
74
- var itemIndex = (0, _helpers.getTaskItemIndex)(editorState);
75
- return {
76
- focusedTaskItemLocalId: (pluginState === null || pluginState === void 0 ? void 0 : pluginState.focusedTaskItemLocalId) || null,
77
- isInsideTask: (0, _helpers.isInsideTask)(editorState),
78
- indentDisabled: itemIndex === 0 || indentLevel >= _indentation.MAX_INDENTATION_LEVEL,
79
- outdentDisabled: indentLevel <= 1
80
- };
81
- },
82
- actions: {
83
- insertTaskDecision: (0, _commands.insertTaskDecisionCommand)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions),
84
- indentTaskList: (0, _keymaps.getIndentCommand)(api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions),
85
- outdentTaskList: (0, _keymaps.getUnindentCommand)(api === null || api === void 0 || (_api$analytics3 = api.analytics) === null || _api$analytics3 === void 0 ? void 0 : _api$analytics3.actions)
86
- },
87
- pmPlugins: function pmPlugins() {
88
- return [{
89
- name: 'tasksAndDecisions',
90
- plugin: function plugin(_ref3) {
91
- var portalProviderAPI = _ref3.portalProviderAPI,
92
- providerFactory = _ref3.providerFactory,
93
- eventDispatcher = _ref3.eventDispatcher,
94
- dispatch = _ref3.dispatch;
95
- return (0, _main.createPlugin)(portalProviderAPI, eventDispatcher, providerFactory, dispatch, api, useLongPressSelection);
96
- }
97
- }, {
98
- name: 'tasksAndDecisionsInputRule',
99
- plugin: function plugin(_ref4) {
100
- var _api$analytics4;
101
- var schema = _ref4.schema,
102
- featureFlags = _ref4.featureFlags;
103
- return (0, _inputRules.default)(api === null || api === void 0 || (_api$analytics4 = api.analytics) === null || _api$analytics4 === void 0 ? void 0 : _api$analytics4.actions)(schema, featureFlags);
104
- }
105
- }, {
106
- name: 'tasksAndDecisionsKeyMap',
107
- plugin: function plugin(_ref5) {
108
- var schema = _ref5.schema;
109
- return (0, _keymaps.default)(schema, api, allowNestedTasks, consumeTabs);
110
- }
111
- } // Needs to be after "save-on-enter"
112
- ];
113
- },
114
- secondaryToolbarComponent: function secondaryToolbarComponent(_ref6) {
115
- var editorView = _ref6.editorView,
116
- disabled = _ref6.disabled;
117
- return (0, _react.jsx)("div", {
118
- css: taskDecisionToolbarGroup
119
- }, (0, _react.jsx)(_ToolbarDecision.default, {
120
- editorView: editorView,
121
- isDisabled: disabled,
122
- isReducedSpacing: true,
123
- editorAPI: api
124
- }), (0, _react.jsx)(_ToolbarTask.default, {
125
- editorView: editorView,
126
- isDisabled: disabled,
127
- isReducedSpacing: true,
128
- editorAPI: api
129
- }));
130
- },
131
- pluginsOptions: {
132
- quickInsert: function quickInsert(_ref7) {
133
- var formatMessage = _ref7.formatMessage;
134
- return [{
135
- id: 'action',
136
- title: formatMessage(_messages.toolbarInsertBlockMessages.action),
137
- description: formatMessage(_messages.toolbarInsertBlockMessages.actionDescription),
138
- priority: 100,
139
- keywords: ['checkbox', 'task', 'todo'],
140
- keyshortcut: '[]',
141
- icon: function icon() {
142
- return (0, _react.jsx)(_quickInsert.IconAction, null);
143
- },
144
- action: function action(insert, state) {
145
- var _api$analytics5;
146
- return (0, _commands.insertTaskDecisionAction)(api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions)(state, 'taskList', _analytics.INPUT_METHOD.QUICK_INSERT, addItem(insert, 'taskList', state.schema));
147
- }
148
- }, {
149
- id: 'decision',
150
- title: formatMessage(_messages.toolbarInsertBlockMessages.decision),
151
- description: formatMessage(_messages.toolbarInsertBlockMessages.decisionDescription),
152
- priority: 900,
153
- keyshortcut: '<>',
154
- icon: function icon() {
155
- return (0, _react.jsx)(_quickInsert.IconDecision, null);
156
- },
157
- action: function action(insert, state) {
158
- var _api$analytics6;
159
- return (0, _commands.insertTaskDecisionAction)(api === null || api === void 0 || (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 ? void 0 : _api$analytics6.actions)(state, 'decisionList', _analytics.INPUT_METHOD.QUICK_INSERT, addItem(insert, 'decisionList', state.schema));
160
- }
161
- }];
162
- }
163
- }
164
- };
165
- };
166
- var _default = exports.default = tasksAndDecisionsPlugin;
@@ -1,117 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.decisionItemNodeView = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _react = _interopRequireDefault(require("react"));
15
- var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
16
- var _useShowPlaceholder = require("./hooks/use-show-placeholder");
17
- var _Decision = _interopRequireDefault(require("../ui/Decision"));
18
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- var DecisionItemWrapper = function DecisionItemWrapper(_ref) {
21
- var api = _ref.api,
22
- editorView = _ref.editorView,
23
- forwardRef = _ref.forwardRef,
24
- isContentNodeEmpty = _ref.isContentNodeEmpty,
25
- getPos = _ref.getPos;
26
- var showPlaceholder = (0, _useShowPlaceholder.useShowPlaceholder)({
27
- editorView: editorView,
28
- isContentNodeEmpty: isContentNodeEmpty,
29
- getPos: getPos,
30
- api: api
31
- });
32
- return /*#__PURE__*/_react.default.createElement(_Decision.default, {
33
- contentRef: forwardRef,
34
- showPlaceholder: showPlaceholder
35
- });
36
- };
37
- var Decision = /*#__PURE__*/function (_ReactNodeView) {
38
- (0, _inherits2.default)(Decision, _ReactNodeView);
39
- var _super = _createSuper(Decision);
40
- function Decision() {
41
- (0, _classCallCheck2.default)(this, Decision);
42
- return _super.apply(this, arguments);
43
- }
44
- (0, _createClass2.default)(Decision, [{
45
- key: "isContentEmpty",
46
- value: function isContentEmpty(node) {
47
- return node.content.childCount === 0;
48
- }
49
- }, {
50
- key: "initWithAPI",
51
- value: function initWithAPI(api) {
52
- this.api = api;
53
- this.init();
54
- return this;
55
- }
56
- }, {
57
- key: "createDomRef",
58
- value: function createDomRef() {
59
- var domRef = document.createElement('li');
60
- domRef.style['list-style-type'] = 'none';
61
- return domRef;
62
- }
63
- }, {
64
- key: "getContentDOM",
65
- value: function getContentDOM() {
66
- var dom = document.createElement('div');
67
- // setting a className prevents PM/Chrome mutation observer from
68
- // incorrectly deleting nodes
69
- dom.className = 'decision-item';
70
- return {
71
- dom: dom
72
- };
73
- }
74
- }, {
75
- key: "render",
76
- value: function render(_props, forwardRef) {
77
- var isContentNodeEmpty = this.isContentEmpty(this.node);
78
- return /*#__PURE__*/_react.default.createElement(DecisionItemWrapper, {
79
- forwardRef: forwardRef,
80
- isContentNodeEmpty: isContentNodeEmpty,
81
- api: this.api
82
- // The getPosHandler type is wrong, there is no `boolean` in the real implementation
83
- // @ts-expect-error 2322: Type 'getPosHandler' is not assignable to type '() => number | undefined'.
84
- ,
85
- getPos: this.getPos,
86
- editorView: this.view
87
- });
88
- }
89
- }, {
90
- key: "viewShouldUpdate",
91
- value: function viewShouldUpdate(nextNode) {
92
- /**
93
- * To ensure the placeholder is correctly toggled we need to allow react to re-render
94
- * on first character insertion.
95
- * Note: last character deletion is handled externally and automatically re-renders.
96
- */
97
- return this.isContentEmpty(this.node) && !!nextNode.content.childCount;
98
- }
99
- }, {
100
- key: "update",
101
- value: function update(node, decorations) {
102
- var _this = this;
103
- return (0, _get2.default)((0, _getPrototypeOf2.default)(Decision.prototype), "update", this).call(this, node, decorations, undefined,
104
- // Toggle the placeholder based on whether user input exists.
105
- function (_currentNode, _newNode) {
106
- return !_this.isContentEmpty(_newNode);
107
- });
108
- }
109
- }]);
110
- return Decision;
111
- }(_reactNodeView.default);
112
- var decisionItemNodeView = exports.decisionItemNodeView = function decisionItemNodeView(portalProviderAPI, eventDispatcher, api) {
113
- return function (node, view, getPos) {
114
- var hasIntlContext = true;
115
- return new Decision(node, view, getPos, portalProviderAPI, eventDispatcher, {}, undefined, undefined, undefined, hasIntlContext).initWithAPI(api);
116
- };
117
- };
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useShowPlaceholder = void 0;
7
- var _react = require("react");
8
- var _state = require("@atlaskit/editor-prosemirror/state");
9
- var _hooks = require("@atlaskit/editor-common/hooks");
10
- var useShowPlaceholder = exports.useShowPlaceholder = function useShowPlaceholder(_ref) {
11
- var editorView = _ref.editorView,
12
- api = _ref.api,
13
- isContentNodeEmpty = _ref.isContentNodeEmpty,
14
- getPos = _ref.getPos;
15
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['typeAhead']),
16
- typeAheadState = _useSharedPluginState.typeAheadState;
17
- var isTypeAheadOpen = Boolean(typeAheadState === null || typeAheadState === void 0 ? void 0 : typeAheadState.isOpen);
18
- var isTypeAheadOpenedInsideItem = (0, _react.useMemo)(function () {
19
- var _selection$$cursor;
20
- if (!isTypeAheadOpen) {
21
- return false;
22
- }
23
- var itemPosition = getPos();
24
- if (typeof itemPosition !== 'number') {
25
- return false;
26
- }
27
- var selection = editorView.state.selection;
28
- if (!(selection instanceof _state.TextSelection)) {
29
- return false;
30
- }
31
- var maybeItemNode = editorView.state.doc.nodeAt(itemPosition);
32
- var maybeParentItemNode = (_selection$$cursor = selection.$cursor) === null || _selection$$cursor === void 0 ? void 0 : _selection$$cursor.node();
33
- if (maybeItemNode && maybeParentItemNode && maybeItemNode.eq(maybeParentItemNode)) {
34
- return true;
35
- }
36
- return false;
37
- }, [isTypeAheadOpen, getPos, editorView]);
38
- var showPlaceholder = Boolean(!isTypeAheadOpenedInsideItem && isContentNodeEmpty);
39
- return showPlaceholder;
40
- };