@atlaskit/editor-core 188.3.1 → 188.4.0

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 (70) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/labs/next/presets/universal.js +2 -1
  3. package/dist/cjs/plugins/index.js +0 -7
  4. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  5. package/dist/cjs/plugins/mentions/index.js +31 -21
  6. package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +1 -3
  7. package/dist/cjs/plugins/placeholder-text/index.js +9 -9
  8. package/dist/cjs/plugins/type-ahead/api.js +8 -26
  9. package/dist/cjs/plugins/type-ahead/index.js +135 -4
  10. package/dist/cjs/plugins/undo-redo/index.js +10 -8
  11. package/dist/cjs/plugins/undo-redo/types.js +5 -0
  12. package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  13. package/dist/cjs/test-utils.js +0 -7
  14. package/dist/cjs/version-wrapper.js +1 -1
  15. package/dist/es2019/labs/next/presets/universal.js +2 -1
  16. package/dist/es2019/plugins/index.js +1 -2
  17. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  18. package/dist/es2019/plugins/mentions/index.js +30 -22
  19. package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +2 -5
  20. package/dist/es2019/plugins/placeholder-text/index.js +8 -8
  21. package/dist/es2019/plugins/type-ahead/api.js +9 -28
  22. package/dist/es2019/plugins/type-ahead/index.js +140 -5
  23. package/dist/es2019/plugins/undo-redo/index.js +5 -2
  24. package/dist/es2019/plugins/undo-redo/types.js +1 -0
  25. package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  26. package/dist/es2019/test-utils.js +0 -1
  27. package/dist/es2019/version-wrapper.js +1 -1
  28. package/dist/esm/labs/next/presets/universal.js +2 -1
  29. package/dist/esm/plugins/index.js +1 -2
  30. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -4
  31. package/dist/esm/plugins/mentions/index.js +32 -22
  32. package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +2 -5
  33. package/dist/esm/plugins/placeholder-text/index.js +9 -9
  34. package/dist/esm/plugins/type-ahead/api.js +9 -27
  35. package/dist/esm/plugins/type-ahead/index.js +136 -5
  36. package/dist/esm/plugins/undo-redo/index.js +10 -8
  37. package/dist/esm/plugins/undo-redo/types.js +1 -0
  38. package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +10 -9
  39. package/dist/esm/test-utils.js +0 -1
  40. package/dist/esm/version-wrapper.js +1 -1
  41. package/dist/types/labs/next/presets/default.d.ts +228 -18
  42. package/dist/types/plugins/index.d.ts +0 -1
  43. package/dist/types/plugins/insert-block/types.d.ts +3 -1
  44. package/dist/types/plugins/mentions/index.d.ts +11 -4
  45. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -0
  46. package/dist/types/plugins/placeholder-text/index.d.ts +8 -3
  47. package/dist/types/plugins/type-ahead/api.d.ts +7 -9
  48. package/dist/types/plugins/type-ahead/utils.d.ts +1 -2
  49. package/dist/types/plugins/undo-redo/index.d.ts +2 -2
  50. package/dist/types/plugins/undo-redo/types.d.ts +5 -0
  51. package/dist/types/plugins/undo-redo/ui/ToolbarUndoRedo/index.d.ts +3 -0
  52. package/dist/types/test-utils.d.ts +0 -1
  53. package/dist/types-ts4.5/labs/next/presets/default.d.ts +256 -18
  54. package/dist/types-ts4.5/plugins/index.d.ts +0 -1
  55. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +3 -1
  56. package/dist/types-ts4.5/plugins/mentions/index.d.ts +11 -4
  57. package/dist/types-ts4.5/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -0
  58. package/dist/types-ts4.5/plugins/placeholder-text/index.d.ts +12 -3
  59. package/dist/types-ts4.5/plugins/type-ahead/api.d.ts +7 -9
  60. package/dist/types-ts4.5/plugins/type-ahead/utils.d.ts +1 -2
  61. package/dist/types-ts4.5/plugins/undo-redo/index.d.ts +2 -2
  62. package/dist/types-ts4.5/plugins/undo-redo/types.d.ts +7 -0
  63. package/dist/types-ts4.5/plugins/undo-redo/ui/ToolbarUndoRedo/index.d.ts +3 -0
  64. package/dist/types-ts4.5/test-utils.d.ts +0 -1
  65. package/package.json +6 -5
  66. package/dist/cjs/plugins/border/index.js +0 -19
  67. package/dist/es2019/plugins/border/index.js +0 -11
  68. package/dist/esm/plugins/border/index.js +0 -13
  69. package/dist/types/plugins/border/index.d.ts +0 -3
  70. package/dist/types-ts4.5/plugins/border/index.d.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 188.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#41203](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41203) [`4aa3dc2fa1a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4aa3dc2fa1a) - [ED-20291] New package for Editor border plugin
8
+
9
+ ### Patch Changes
10
+
11
+ - [#41143](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41143) [`7d6dfe2befa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7d6dfe2befa) - [ED-20003] Replace TyepAhead API for Editor Plugin Injection API
12
+ - Updated dependencies
13
+
3
14
  ## 188.3.1
4
15
 
5
16
  ### Patch Changes
@@ -10,6 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
10
10
  var _api = require("../../../selection-api/api");
11
11
  var _plugins = require("../../../plugins");
12
12
  var _editorPluginCaption = require("@atlaskit/editor-plugin-caption");
13
+ var _editorPluginBorder = require("@atlaskit/editor-plugin-border");
13
14
  var _editorPluginHelpDialog = require("@atlaskit/editor-plugin-help-dialog");
14
15
  var _editorPluginMedia = require("@atlaskit/editor-plugin-media");
15
16
  var _editorPluginRule = require("@atlaskit/editor-plugin-rule");
@@ -382,7 +383,7 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
382
383
  }]);
383
384
  }
384
385
  return builder;
385
- }).maybeAdd(_plugins.borderPlugin, function (plugin, builder) {
386
+ }).maybeAdd(_editorPluginBorder.borderPlugin, function (plugin, builder) {
386
387
  if (props.allowBorderMark || props.UNSAFE_allowBorderMark) {
387
388
  return builder.add(plugin);
388
389
  }
@@ -41,12 +41,6 @@ Object.defineProperty(exports, "betterTypeHistoryPlugin", {
41
41
  return _betterTypeHistory.default;
42
42
  }
43
43
  });
44
- Object.defineProperty(exports, "borderPlugin", {
45
- enumerable: true,
46
- get: function get() {
47
- return _border.default;
48
- }
49
- });
50
44
  Object.defineProperty(exports, "breakoutPlugin", {
51
45
  enumerable: true,
52
46
  get: function get() {
@@ -325,6 +319,5 @@ var _avatarGroup = _interopRequireDefault(require("./avatar-group"));
325
319
  var _viewUpdateSubscription = _interopRequireDefault(require("./view-update-subscription"));
326
320
  var _beforePrimaryToolbar = _interopRequireDefault(require("./before-primaryToolbar"));
327
321
  var _codeBidiWarning = _interopRequireDefault(require("./code-bidi-warning"));
328
- var _border = _interopRequireDefault(require("./border"));
329
322
  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); }
330
323
  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; }
@@ -27,7 +27,6 @@ var _actions2 = require("../../../placeholder-text/actions");
27
27
  var _actions3 = require("../../../layout/actions");
28
28
  var _commands = require("../../../tasks-and-decisions/commands");
29
29
  var _commands2 = require("../../../expand/commands");
30
- var _api = require("../../../type-ahead/api");
31
30
  var _actions4 = require("../../../status/actions");
32
31
  var _analytics = require("@atlaskit/editor-common/analytics");
33
32
  var _messages = require("./messages");
@@ -174,7 +173,7 @@ var ToolbarInsertBlock = exports.ToolbarInsertBlock = /*#__PURE__*/function (_Re
174
173
  return (_pluginInjectionApi$c = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.core.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$h = pluginInjectionApi.hyperlink) === null || _pluginInjectionApi$h === void 0 ? void 0 : _pluginInjectionApi$h.commands.showLinkToolbar(inputMethod))) !== null && _pluginInjectionApi$c !== void 0 ? _pluginInjectionApi$c : false;
175
174
  });
176
175
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertMention", function (inputMethod) {
177
- var _pluginInjectionApi$m;
176
+ var _pluginInjectionApi$m, _pluginInjectionApi$m2;
178
177
  var _this$props = _this.props,
179
178
  editorView = _this$props.editorView,
180
179
  pluginInjectionApi = _this$props.pluginInjectionApi;
@@ -185,8 +184,7 @@ var ToolbarInsertBlock = exports.ToolbarInsertBlock = /*#__PURE__*/function (_Re
185
184
  if (pluginState && pluginState.canInsertMention === false) {
186
185
  return false;
187
186
  }
188
- (0, _api.createTypeAheadTools)(editorView).openMention(inputMethod);
189
- return true;
187
+ return Boolean(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m2 = pluginInjectionApi.mention) === null || _pluginInjectionApi$m2 === void 0 || (_pluginInjectionApi$m2 = _pluginInjectionApi$m2.actions) === null || _pluginInjectionApi$m2 === void 0 ? void 0 : _pluginInjectionApi$m2.openTypeAhead(inputMethod));
190
188
  });
191
189
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertTable", function (inputMethod) {
192
190
  var _pluginInjectionApi$t, _pluginInjectionApi$t2, _pluginInjectionApi$t3, _pluginInjectionApi$t4;
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "mentionPluginKey", {
11
11
  return _key.mentionPluginKey;
12
12
  }
13
13
  });
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
15
  var _react = _interopRequireDefault(require("react"));
15
16
  var _uuid = _interopRequireDefault(require("uuid"));
16
17
  var _resource = require("@atlaskit/mention/resource");
@@ -23,12 +24,8 @@ var _messages = require("@atlaskit/editor-common/messages");
23
24
  var _typeAhead = require("./type-ahead");
24
25
  var _key = require("./pm-plugins/key");
25
26
  var _main = require("./pm-plugins/main");
26
- var getSharedState = function getSharedState(editorState) {
27
- if (!editorState) {
28
- return undefined;
29
- }
30
- return _key.mentionPluginKey.getState(editorState);
31
- };
27
+ 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; }
28
+ 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; }
32
29
  var mentionsPlugin = function mentionsPlugin(_ref) {
33
30
  var options = _ref.config,
34
31
  api = _ref.api;
@@ -70,6 +67,13 @@ var mentionsPlugin = function mentionsPlugin(_ref) {
70
67
  secondaryToolbarComponent: function secondaryToolbarComponent(_ref3) {
71
68
  var editorView = _ref3.editorView,
72
69
  disabled = _ref3.disabled;
70
+ var openMentionTypeAhead = function openMentionTypeAhead() {
71
+ var _api$typeAhead;
72
+ api === null || api === void 0 || (_api$typeAhead = api.typeAhead) === null || _api$typeAhead === void 0 || (_api$typeAhead = _api$typeAhead.actions) === null || _api$typeAhead === void 0 || _api$typeAhead.open({
73
+ triggerHandler: typeAhead,
74
+ inputMethod: _analytics.INPUT_METHOD.INSERT_MENU
75
+ });
76
+ };
73
77
  return /*#__PURE__*/_react.default.createElement(_withPluginState.WithPluginState, {
74
78
  editorView: editorView,
75
79
  plugins: {
@@ -80,12 +84,30 @@ var mentionsPlugin = function mentionsPlugin(_ref) {
80
84
  mentionState = _ref4$mentionState === void 0 ? {} : _ref4$mentionState;
81
85
  return !mentionState.mentionProvider ? null : /*#__PURE__*/_react.default.createElement(_ToolbarMention.default, {
82
86
  editorView: editorView,
87
+ onInsertMention: openMentionTypeAhead,
83
88
  isDisabled: disabled || (api === null || api === void 0 ? void 0 : api.typeAhead.actions.isAllowed(editorView.state))
84
89
  });
85
90
  }
86
91
  });
87
92
  },
88
- getSharedState: getSharedState,
93
+ actions: {
94
+ openTypeAhead: function openTypeAhead(inputMethod) {
95
+ var _api$typeAhead2;
96
+ return Boolean(api === null || api === void 0 || (_api$typeAhead2 = api.typeAhead) === null || _api$typeAhead2 === void 0 || (_api$typeAhead2 = _api$typeAhead2.actions) === null || _api$typeAhead2 === void 0 ? void 0 : _api$typeAhead2.open({
97
+ triggerHandler: typeAhead,
98
+ inputMethod: inputMethod
99
+ }));
100
+ }
101
+ },
102
+ getSharedState: function getSharedState(editorState) {
103
+ if (!editorState) {
104
+ return undefined;
105
+ }
106
+ var mentionPluginState = _key.mentionPluginKey.getState(editorState);
107
+ return _objectSpread(_objectSpread({}, mentionPluginState), {}, {
108
+ typeAheadHandler: typeAhead
109
+ });
110
+ },
89
111
  pluginsOptions: {
90
112
  quickInsert: function quickInsert(_ref5) {
91
113
  var formatMessage = _ref5.formatMessage;
@@ -100,26 +122,14 @@ var mentionsPlugin = function mentionsPlugin(_ref) {
100
122
  return /*#__PURE__*/_react.default.createElement(_quickInsert.IconMention, null);
101
123
  },
102
124
  action: function action(insert, state) {
103
- var _api$analytics2;
104
125
  var tr = insert(undefined);
105
- var pluginState = getSharedState(state);
126
+ var pluginState = _key.mentionPluginKey.getState(state);
106
127
  if (pluginState && pluginState.canInsertMention === false) {
107
128
  return false;
108
129
  }
109
- api === null || api === void 0 || api.typeAhead.commands.openTypeAheadAtCursor({
130
+ api === null || api === void 0 || api.typeAhead.actions.openAtTransaction({
110
131
  triggerHandler: typeAhead,
111
132
  inputMethod: _analytics.INPUT_METHOD.QUICK_INSERT
112
- })({
113
- tr: tr
114
- });
115
- api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || _api$analytics2.actions.attachAnalyticsEvent({
116
- action: _analytics.ACTION.INVOKED,
117
- actionSubject: _analytics.ACTION_SUBJECT.TYPEAHEAD,
118
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.TYPEAHEAD_MENTION,
119
- attributes: {
120
- inputMethod: _analytics.INPUT_METHOD.QUICK_INSERT
121
- },
122
- eventType: _analytics.EVENT_TYPE.UI
123
133
  })(tr);
124
134
  return tr;
125
135
  }
@@ -16,8 +16,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
  var _mention = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/mention"));
18
18
  var _uiMenu = require("@atlaskit/editor-common/ui-menu");
19
- var _analytics = require("@atlaskit/editor-common/analytics");
20
- var _api = require("../../../type-ahead/api");
21
19
  var _reactIntlNext = require("react-intl-next");
22
20
  var _messages = require("../../messages");
23
21
  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); }
@@ -38,7 +36,7 @@ var ToolbarMention = /*#__PURE__*/function (_PureComponent) {
38
36
  if (!_this.props.editorView) {
39
37
  return false;
40
38
  }
41
- (0, _api.createTypeAheadTools)(_this.props.editorView).openMention(_analytics.INPUT_METHOD.INSERT_MENU);
39
+ _this.props.onInsertMention();
42
40
  return true;
43
41
  });
44
42
  return _this;
@@ -21,19 +21,18 @@ var _pluginKey = require("./plugin-key");
21
21
  var _analytics = require("@atlaskit/editor-common/analytics");
22
22
  var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
23
23
  var _selectionUtils = require("./selection-utils");
24
- var _api = require("../type-ahead/api");
25
- var getOpenTypeAhead = function getOpenTypeAhead(view, content) {
26
- var typeAheadAPI = (0, _api.createInternalTypeAheadTools)(view);
27
- var typeAheadHandler = typeAheadAPI.findTypeAheadHandler(content);
24
+ var getOpenTypeAhead = function getOpenTypeAhead(trigger, api) {
25
+ var _api$typeAhead, _api$typeAhead2;
26
+ var typeAheadHandler = api === null || api === void 0 || (_api$typeAhead = api.typeAhead) === null || _api$typeAhead === void 0 || (_api$typeAhead = _api$typeAhead.actions) === null || _api$typeAhead === void 0 ? void 0 : _api$typeAhead.findHandlerByTrigger(trigger);
28
27
  if (!typeAheadHandler || !typeAheadHandler.id) {
29
28
  return null;
30
29
  }
31
- return typeAheadAPI.openTypeAheadHandler({
30
+ return api === null || api === void 0 || (_api$typeAhead2 = api.typeAhead) === null || _api$typeAhead2 === void 0 || (_api$typeAhead2 = _api$typeAhead2.actions) === null || _api$typeAhead2 === void 0 ? void 0 : _api$typeAhead2.openAtTransaction({
32
31
  triggerHandler: typeAheadHandler,
33
32
  inputMethod: _analytics.INPUT_METHOD.KEYBOARD
34
33
  });
35
34
  };
36
- function createPlugin(dispatch, options) {
35
+ function createPlugin(dispatch, options, api) {
37
36
  var allowInserting = !!options.allowInserting;
38
37
  return new _safePlugin.SafePlugin({
39
38
  key: _pluginKey.pluginKey,
@@ -111,7 +110,7 @@ function createPlugin(dispatch, options) {
111
110
  var content = event.data || '';
112
111
  var tr = view.state.tr;
113
112
  tr.delete(startNodePosition, startNodePosition + 1);
114
- var openTypeAhead = getOpenTypeAhead(view, content);
113
+ var openTypeAhead = getOpenTypeAhead(content, api);
115
114
  if (openTypeAhead) {
116
115
  openTypeAhead(tr);
117
116
  } else {
@@ -132,7 +131,8 @@ function createPlugin(dispatch, options) {
132
131
  });
133
132
  }
134
133
  var basePlaceholderTextPlugin = function basePlaceholderTextPlugin(_ref) {
135
- var options = _ref.config;
134
+ var api = _ref.api,
135
+ options = _ref.config;
136
136
  return {
137
137
  name: 'placeholderText',
138
138
  nodes: function nodes() {
@@ -146,7 +146,7 @@ var basePlaceholderTextPlugin = function basePlaceholderTextPlugin(_ref) {
146
146
  name: 'placeholderText',
147
147
  plugin: function plugin(_ref2) {
148
148
  var dispatch = _ref2.dispatch;
149
- return createPlugin(dispatch, options);
149
+ return createPlugin(dispatch, options, api);
150
150
  }
151
151
  }];
152
152
  },
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createTypeAheadTools = exports.createInternalTypeAheadTools = void 0;
6
+ exports.createTypeAheadTools = void 0;
7
7
  var _typeAhead = require("@atlaskit/editor-common/type-ahead");
8
8
  var _utils = require("./utils");
9
9
  var _analytics = require("@atlaskit/editor-common/analytics");
@@ -186,32 +186,14 @@ var currentQuery = function currentQuery(_ref8) {
186
186
  return (0, _utils.getTypeAheadQuery)(editorView.state);
187
187
  };
188
188
  };
189
- var find = function find(_ref9) {
190
- var editorView = _ref9.editorView;
191
- return function (trigger) {
192
- var editorState = editorView.state;
193
- var handler = (0, _utils.findHandlerByTrigger)({
194
- trigger: trigger,
195
- editorState: editorState
196
- });
197
- if (!handler) {
198
- return null;
199
- }
200
- return handler;
201
- };
202
- };
203
189
 
204
- // This is an internal tool to be used inside of others Editor Plugins
205
- // We shouldn't public export this method.
206
- var createInternalTypeAheadTools = exports.createInternalTypeAheadTools = function createInternalTypeAheadTools(editorView) {
207
- var props = {
208
- editorView: editorView
209
- };
210
- return {
211
- findTypeAheadHandler: find(props),
212
- openTypeAheadHandler: _openTypeaheadAtCursor.openTypeAhead
213
- };
214
- };
190
+ /**
191
+ * Please do not use it. Ping #help-editor and talk to the Lego team before use it.
192
+ *
193
+ * @private
194
+ * @deprecated
195
+ *
196
+ */
215
197
  var createTypeAheadTools = exports.createTypeAheadTools = function createTypeAheadTools(editorView) {
216
198
  var props = {
217
199
  editorView: editorView
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "typeAheadPluginKey", {
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _typeAhead = require("@atlaskit/editor-common/type-ahead");
17
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
17
18
  var _main = require("./pm-plugins/main");
18
19
  var _insertItemPlugin = require("./pm-plugins/insert-item-plugin");
19
20
  var _withPluginState = require("@atlaskit/editor-common/with-plugin-state");
@@ -27,6 +28,8 @@ var _updateSelectedIndex = require("./commands/update-selected-index");
27
28
  var _statsModifier = require("./stats-modifier");
28
29
  var _analytics = require("@atlaskit/editor-common/analytics");
29
30
  var _openTypeaheadAtCursor = require("./transforms/open-typeahead-at-cursor");
31
+ var _closeTypeAhead = require("./transforms/close-type-ahead");
32
+ var _insertTypeAheadItem = require("./commands/insert-type-ahead-item");
30
33
  /**
31
34
  *
32
35
  * Revamped typeahead using decorations instead of the `typeAheadQuery` mark
@@ -118,6 +121,103 @@ var TypeAheadMenu = /*#__PURE__*/_react.default.memo(function (_ref) {
118
121
  cancel: cancel
119
122
  });
120
123
  });
124
+ var createOpenAtTransaction = function createOpenAtTransaction(editorAnalyticsAPI) {
125
+ return function (props) {
126
+ return function (tr) {
127
+ var triggerHandler = props.triggerHandler,
128
+ inputMethod = props.inputMethod;
129
+ (0, _openTypeaheadAtCursor.openTypeAheadAtCursor)({
130
+ triggerHandler: triggerHandler,
131
+ inputMethod: inputMethod
132
+ })({
133
+ tr: tr
134
+ });
135
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
136
+ action: _analytics.ACTION.INVOKED,
137
+ actionSubject: _analytics.ACTION_SUBJECT.TYPEAHEAD,
138
+ actionSubjectId: triggerHandler.id,
139
+ attributes: {
140
+ inputMethod: inputMethod
141
+ },
142
+ eventType: _analytics.EVENT_TYPE.UI
143
+ })(tr);
144
+ return true;
145
+ };
146
+ };
147
+ };
148
+ var createOpenTypeAhead = function createOpenTypeAhead(editorViewRef, editorAnalyticsAPI) {
149
+ return function (props) {
150
+ if (!editorViewRef.current) {
151
+ return false;
152
+ }
153
+ var view = editorViewRef.current;
154
+ var tr = view.state.tr;
155
+ createOpenAtTransaction(editorAnalyticsAPI)(props)(tr);
156
+ view.dispatch(tr);
157
+ return true;
158
+ };
159
+ };
160
+ var createInsertTypeAheadItem = function createInsertTypeAheadItem(editorViewRef) {
161
+ return function (props) {
162
+ if (!editorViewRef.current) {
163
+ return false;
164
+ }
165
+ var view = editorViewRef.current;
166
+ var triggerHandler = props.triggerHandler,
167
+ contentItem = props.contentItem,
168
+ query = props.query,
169
+ sourceListItem = props.sourceListItem,
170
+ mode = props.mode;
171
+ (0, _insertTypeAheadItem.insertTypeAheadItem)(view)({
172
+ handler: triggerHandler,
173
+ item: contentItem,
174
+ mode: mode || _typeAhead.SelectItemMode.SELECTED,
175
+ query: query,
176
+ sourceListItem: sourceListItem
177
+ });
178
+ return true;
179
+ };
180
+ };
181
+ var createFindHandlerByTrigger = function createFindHandlerByTrigger(editorViewRef) {
182
+ return function (trigger) {
183
+ if (!editorViewRef.current) {
184
+ return null;
185
+ }
186
+ var view = editorViewRef.current;
187
+ return (0, _utils.findHandler)(trigger, view.state);
188
+ };
189
+ };
190
+ var createCloseTypeAhead = function createCloseTypeAhead(editorViewRef) {
191
+ return function (options) {
192
+ if (!editorViewRef.current) {
193
+ return false;
194
+ }
195
+ var view = editorViewRef.current;
196
+ var currentQuery = (0, _utils.getTypeAheadQuery)(view.state) || '';
197
+ var state = view.state;
198
+ var tr = state.tr;
199
+ if (options.attachCommand) {
200
+ var fakeDispatch = function fakeDispatch(customTr) {
201
+ tr = customTr;
202
+ };
203
+ options.attachCommand(state, fakeDispatch);
204
+ }
205
+ (0, _closeTypeAhead.closeTypeAhead)(tr);
206
+ if (options.insertCurrentQueryAsRawText && currentQuery && currentQuery.length > 0) {
207
+ var handler = (0, _utils.getTypeAheadHandler)(state);
208
+ if (!handler) {
209
+ return false;
210
+ }
211
+ var text = handler.trigger.concat(currentQuery);
212
+ tr.replaceSelectionWith(state.schema.text(text));
213
+ }
214
+ view.dispatch(tr);
215
+ if (!view.hasFocus()) {
216
+ view.focus();
217
+ }
218
+ return true;
219
+ };
220
+ };
121
221
 
122
222
  /**
123
223
  *
@@ -128,11 +228,16 @@ var TypeAheadMenu = /*#__PURE__*/_react.default.memo(function (_ref) {
128
228
  *
129
229
  */
130
230
  var typeAheadPlugin = function typeAheadPlugin(_ref4) {
131
- var options = _ref4.config;
231
+ var _api$analytics, _api$analytics2;
232
+ var options = _ref4.config,
233
+ api = _ref4.api;
132
234
  var fireAnalyticsCallback = (0, _analytics.fireAnalyticsEvent)(options === null || options === void 0 ? void 0 : options.createAnalyticsEvent);
133
235
  var popupMountRef = {
134
236
  current: null
135
237
  };
238
+ var editorViewRef = {
239
+ current: null
240
+ };
136
241
  return {
137
242
  name: 'typeAhead',
138
243
  marks: function marks() {
@@ -158,6 +263,20 @@ var typeAheadPlugin = function typeAheadPlugin(_ref4) {
158
263
  createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent
159
264
  });
160
265
  }
266
+ }, {
267
+ name: 'typeAheadEditorViewRef',
268
+ plugin: function plugin() {
269
+ return new _safePlugin.SafePlugin({
270
+ view: function view(_view) {
271
+ editorViewRef.current = _view;
272
+ return {
273
+ destroy: function destroy() {
274
+ editorViewRef.current = null;
275
+ }
276
+ };
277
+ }
278
+ });
279
+ }
161
280
  }, {
162
281
  name: 'typeAheadInsertItem',
163
282
  plugin: _insertItemPlugin.createPlugin
@@ -170,12 +289,24 @@ var typeAheadPlugin = function typeAheadPlugin(_ref4) {
170
289
  }
171
290
  }];
172
291
  },
173
- commands: {
174
- openTypeAheadAtCursor: _openTypeaheadAtCursor.openTypeAheadAtCursor
292
+ getSharedState: function getSharedState(editorState) {
293
+ if (!editorState) {
294
+ return {
295
+ query: ''
296
+ };
297
+ }
298
+ return {
299
+ query: (0, _utils.getTypeAheadQuery)(editorState) || ''
300
+ };
175
301
  },
176
302
  actions: {
177
303
  isOpen: _utils.isTypeAheadOpen,
178
- isAllowed: _utils.isTypeAheadAllowed
304
+ isAllowed: _utils.isTypeAheadAllowed,
305
+ open: createOpenTypeAhead(editorViewRef, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions),
306
+ openAtTransaction: createOpenAtTransaction(api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions),
307
+ findHandlerByTrigger: createFindHandlerByTrigger(editorViewRef),
308
+ insert: createInsertTypeAheadItem(editorViewRef),
309
+ close: createCloseTypeAhead(editorViewRef)
179
310
  },
180
311
  contentComponent: function contentComponent(_ref7) {
181
312
  var editorView = _ref7.editorView,
@@ -11,7 +11,8 @@ var _main = require("./pm-plugins/main");
11
11
  var _history = require("../history");
12
12
  var _ToolbarUndoRedo = _interopRequireDefault(require("./ui/ToolbarUndoRedo"));
13
13
  var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
14
- var undoRedoPlugin = function undoRedoPlugin() {
14
+ var undoRedoPlugin = function undoRedoPlugin(_ref) {
15
+ var api = _ref.api;
15
16
  return {
16
17
  name: 'undoRedoPlugin',
17
18
  pmPlugins: function pmPlugins() {
@@ -27,21 +28,22 @@ var undoRedoPlugin = function undoRedoPlugin() {
27
28
  }
28
29
  }];
29
30
  },
30
- primaryToolbarComponent: function primaryToolbarComponent(_ref) {
31
- var editorView = _ref.editorView,
32
- disabled = _ref.disabled,
33
- isToolbarReducedSpacing = _ref.isToolbarReducedSpacing;
31
+ primaryToolbarComponent: function primaryToolbarComponent(_ref2) {
32
+ var editorView = _ref2.editorView,
33
+ disabled = _ref2.disabled,
34
+ isToolbarReducedSpacing = _ref2.isToolbarReducedSpacing;
34
35
  return /*#__PURE__*/_react.default.createElement(_WithPluginState.default, {
35
36
  plugins: {
36
37
  historyState: _history.historyPluginKey
37
38
  },
38
- render: function render(_ref2) {
39
- var historyState = _ref2.historyState;
39
+ render: function render(_ref3) {
40
+ var historyState = _ref3.historyState;
40
41
  return /*#__PURE__*/_react.default.createElement(_ToolbarUndoRedo.default, {
41
42
  isReducedSpacing: isToolbarReducedSpacing,
42
43
  disabled: disabled,
43
44
  historyState: historyState,
44
- editorView: editorView
45
+ editorView: editorView,
46
+ api: api
45
47
  });
46
48
  }
47
49
  });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -20,21 +20,21 @@ var _keymaps = require("../../../../keymaps");
20
20
  var _styles = require("@atlaskit/editor-common/styles");
21
21
  var _ToolbarButton = _interopRequireWildcard(require("../../../../ui/ToolbarButton"));
22
22
  var _messages = require("@atlaskit/editor-common/messages");
23
- var _api = require("../../../type-ahead/api");
24
23
  var _commands = require("../../commands");
25
24
  var _keymaps2 = require("@atlaskit/editor-common/keymaps");
26
25
  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
26
  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
27
  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); }; }
29
28
  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; } } /** @jsx jsx */
30
- var closeTypeAheadAndRunCommand = function closeTypeAheadAndRunCommand(editorView) {
29
+ var closeTypeAheadAndRunCommand = function closeTypeAheadAndRunCommand(editorView, api) {
31
30
  return function (command) {
31
+ var _api$typeAhead;
32
32
  if (!editorView) {
33
33
  return;
34
34
  }
35
- var tool = (0, _api.createTypeAheadTools)(editorView);
36
- if (tool.isOpen()) {
37
- tool.close({
35
+ if (api !== null && api !== void 0 && (_api$typeAhead = api.typeAhead) !== null && _api$typeAhead !== void 0 && (_api$typeAhead = _api$typeAhead.actions) !== null && _api$typeAhead !== void 0 && _api$typeAhead.isOpen(editorView.state)) {
36
+ var _api$typeAhead2;
37
+ api === null || api === void 0 || (_api$typeAhead2 = api.typeAhead) === null || _api$typeAhead2 === void 0 || (_api$typeAhead2 = _api$typeAhead2.actions) === null || _api$typeAhead2 === void 0 || _api$typeAhead2.close({
38
38
  attachCommand: command,
39
39
  insertCurrentQueryAsRawText: false
40
40
  });
@@ -43,9 +43,9 @@ var closeTypeAheadAndRunCommand = function closeTypeAheadAndRunCommand(editorVie
43
43
  }
44
44
  };
45
45
  };
46
- var forceFocus = function forceFocus(editorView) {
46
+ var forceFocus = function forceFocus(editorView, api) {
47
47
  return function (command) {
48
- closeTypeAheadAndRunCommand(editorView)(command);
48
+ closeTypeAheadAndRunCommand(editorView, api)(command);
49
49
  if (!editorView.hasFocus()) {
50
50
  editorView.focus();
51
51
  }
@@ -66,12 +66,13 @@ var ToolbarUndoRedo = exports.ToolbarUndoRedo = /*#__PURE__*/function (_PureComp
66
66
  isReducedSpacing = _this$props.isReducedSpacing,
67
67
  historyState = _this$props.historyState,
68
68
  editorView = _this$props.editorView,
69
+ api = _this$props.api,
69
70
  formatMessage = _this$props.intl.formatMessage;
70
71
  var handleUndo = function handleUndo() {
71
- forceFocus(editorView)(_commands.undoFromToolbar);
72
+ forceFocus(editorView, api)(_commands.undoFromToolbar);
72
73
  };
73
74
  var handleRedo = function handleRedo() {
74
- forceFocus(editorView)(_commands.redoFromToolbar);
75
+ forceFocus(editorView, api)(_commands.redoFromToolbar);
75
76
  };
76
77
  var labelUndo = formatMessage(_messages.undoRedoMessages.undo);
77
78
  var labelRedo = formatMessage(_messages.undoRedoMessages.redo);
@@ -23,12 +23,6 @@ Object.defineProperty(exports, "GapCursorSide", {
23
23
  }
24
24
  });
25
25
  exports.createPMSchemaAndPlugins = void 0;
26
- Object.defineProperty(exports, "createTypeAheadTools", {
27
- enumerable: true,
28
- get: function get() {
29
- return _api.createTypeAheadTools;
30
- }
31
- });
32
26
  exports.getFireAnalytics = getFireAnalytics;
33
27
  exports.isElementBySelectorInDocument = void 0;
34
28
  exports.setTextSelection = setTextSelection;
@@ -40,7 +34,6 @@ var _createSchema = require("./create-editor/create-schema");
40
34
  var _sortByOrder = require("./create-editor/sort-by-order");
41
35
  var _pluginKey = require("./plugins/analytics/plugin-key");
42
36
  var _editorPluginBase = require("@atlaskit/editor-plugin-base");
43
- var _api = require("./plugins/type-ahead/api");
44
37
  var _eventDispatcher = require("./event-dispatcher");
45
38
  var _selection = require("@atlaskit/editor-common/selection");
46
39
  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; }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.nextMajorVersion = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
- var version = exports.version = "188.3.1";
8
+ var version = exports.version = "188.4.0";
9
9
  var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
10
10
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
11
11
  };
@@ -1,6 +1,7 @@
1
1
  import { createEditorSelectionAPI } from '../../../selection-api/api';
2
- import { breakoutPlugin, collabEditPlugin, dataConsumerMarkPlugin, datePlugin, extensionPlugin, fragmentMarkPlugin, insertBlockPlugin, jiraIssuePlugin, layoutPlugin, toolbarListsIndentationPlugin, macroPlugin, maxContentSizePlugin, mentionsPlugin, panelPlugin, placeholderTextPlugin, saveOnEnterPlugin, tasksAndDecisionsPlugin, textColorPlugin, statusPlugin, alignmentPlugin, indentationPlugin, customAutoformatPlugin, feedbackDialogPlugin, historyPlugin, expandPlugin, isExpandInsertionEnabled, scrollIntoViewPlugin, mobileDimensionsPlugin, findReplacePlugin, mobileSelectionPlugin, annotationPlugin, avatarGroupPlugin, viewUpdateSubscriptionPlugin, beforePrimaryToolbarPlugin, codeBidiWarningPlugin, borderPlugin } from '../../../plugins';
2
+ import { breakoutPlugin, collabEditPlugin, dataConsumerMarkPlugin, datePlugin, extensionPlugin, fragmentMarkPlugin, insertBlockPlugin, jiraIssuePlugin, layoutPlugin, toolbarListsIndentationPlugin, macroPlugin, maxContentSizePlugin, mentionsPlugin, panelPlugin, placeholderTextPlugin, saveOnEnterPlugin, tasksAndDecisionsPlugin, textColorPlugin, statusPlugin, alignmentPlugin, indentationPlugin, customAutoformatPlugin, feedbackDialogPlugin, historyPlugin, expandPlugin, isExpandInsertionEnabled, scrollIntoViewPlugin, mobileDimensionsPlugin, findReplacePlugin, mobileSelectionPlugin, annotationPlugin, avatarGroupPlugin, viewUpdateSubscriptionPlugin, beforePrimaryToolbarPlugin, codeBidiWarningPlugin } from '../../../plugins';
3
3
  import { captionPlugin } from '@atlaskit/editor-plugin-caption';
4
+ import { borderPlugin } from '@atlaskit/editor-plugin-border';
4
5
  import { helpDialogPlugin } from '@atlaskit/editor-plugin-help-dialog';
5
6
  import { mediaPlugin } from '@atlaskit/editor-plugin-media';
6
7
  import { rulePlugin } from '@atlaskit/editor-plugin-rule';
@@ -41,5 +41,4 @@ export { default as undoRedoPlugin } from './undo-redo';
41
41
  export { default as avatarGroupPlugin } from './avatar-group';
42
42
  export { default as viewUpdateSubscriptionPlugin } from './view-update-subscription';
43
43
  export { default as beforePrimaryToolbarPlugin } from './before-primaryToolbar';
44
- export { default as codeBidiWarningPlugin } from './code-bidi-warning';
45
- export { default as borderPlugin } from './border';
44
+ export { default as codeBidiWarningPlugin } from './code-bidi-warning';