@atlaskit/editor-core 187.8.10 → 187.8.13

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 (31) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/plugins/text-formatting/index.js +23 -21
  3. package/dist/cjs/plugins/text-formatting/pm-plugins/input-rule.js +48 -54
  4. package/dist/cjs/plugins/text-formatting/pm-plugins/smart-input-rule.js +28 -33
  5. package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +5 -3
  6. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +8 -6
  7. package/dist/cjs/version-wrapper.js +1 -1
  8. package/dist/cjs/version.json +1 -1
  9. package/dist/es2019/plugins/text-formatting/index.js +15 -10
  10. package/dist/es2019/plugins/text-formatting/pm-plugins/input-rule.js +20 -18
  11. package/dist/es2019/plugins/text-formatting/pm-plugins/smart-input-rule.js +11 -12
  12. package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +5 -3
  13. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +9 -6
  14. package/dist/es2019/version-wrapper.js +1 -1
  15. package/dist/es2019/version.json +1 -1
  16. package/dist/esm/plugins/text-formatting/index.js +23 -21
  17. package/dist/esm/plugins/text-formatting/pm-plugins/input-rule.js +48 -54
  18. package/dist/esm/plugins/text-formatting/pm-plugins/smart-input-rule.js +26 -31
  19. package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +5 -3
  20. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +8 -6
  21. package/dist/esm/version-wrapper.js +1 -1
  22. package/dist/esm/version.json +1 -1
  23. package/dist/types/plugins/text-formatting/pm-plugins/input-rule.d.ts +2 -1
  24. package/dist/types/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +2 -2
  25. package/dist/types/ui/ElementBrowser/components/ElementSearch.d.ts +2 -1
  26. package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +4 -4
  27. package/dist/types-ts4.5/plugins/text-formatting/pm-plugins/input-rule.d.ts +2 -1
  28. package/dist/types-ts4.5/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +2 -2
  29. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementSearch.d.ts +2 -1
  30. package/dist/types-ts4.5/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +4 -4
  31. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 187.8.13
4
+
5
+ ### Patch Changes
6
+
7
+ - [`0756bf2b120`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0756bf2b120) - [ux] ED-18780 Add first element to page when pressing enter on Insert Menu
8
+
9
+ ## 187.8.11
10
+
11
+ ### Patch Changes
12
+
13
+ - [`2b54c3b0d24`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2b54c3b0d24) - [ED-19203] Decouple text-formatting plugin and editor-core
14
+ - Updated dependencies
15
+
3
16
  ## 187.8.10
4
17
 
5
18
  ### Patch Changes
@@ -57,52 +57,54 @@ var textFormatting = function textFormatting() {
57
57
  }
58
58
  }, {
59
59
  name: 'textFormattingInputRule',
60
+ // Don't remove the unused featureFlags, this gets used to test if we're properly passing them to the PM plugin
60
61
  plugin: function plugin(_ref2) {
62
+ var _api$dependencies$ana2;
61
63
  var schema = _ref2.schema,
62
64
  featureFlags = _ref2.featureFlags;
63
- return (0, _inputRule.default)(schema, featureFlags);
65
+ return (0, _inputRule.default)(schema, featureFlags, api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions);
64
66
  }
65
67
  }, {
66
68
  name: 'textFormattingSmartRule',
67
- plugin: function plugin(_ref3) {
68
- var featureFlags = _ref3.featureFlags;
69
- return !options.disableSmartTextCompletion ? (0, _smartInputRule.default)(featureFlags) : undefined;
69
+ plugin: function plugin() {
70
+ var _api$dependencies$ana3;
71
+ return !options.disableSmartTextCompletion ? (0, _smartInputRule.default)(api === null || api === void 0 ? void 0 : (_api$dependencies$ana3 = api.dependencies.analytics) === null || _api$dependencies$ana3 === void 0 ? void 0 : _api$dependencies$ana3.actions) : undefined;
70
72
  }
71
73
  }, {
72
74
  name: 'textFormattingClear',
73
- plugin: function plugin(_ref4) {
74
- var dispatch = _ref4.dispatch;
75
+ plugin: function plugin(_ref3) {
76
+ var dispatch = _ref3.dispatch;
75
77
  return (0, _clearFormatting.plugin)(dispatch);
76
78
  }
77
79
  }, {
78
80
  name: 'textFormattingClearKeymap',
79
81
  plugin: function plugin() {
80
- var _api$dependencies$ana2;
81
- return (0, _clearFormattingKeymap.default)(api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions);
82
+ var _api$dependencies$ana4;
83
+ return (0, _clearFormattingKeymap.default)(api === null || api === void 0 ? void 0 : (_api$dependencies$ana4 = api.dependencies.analytics) === null || _api$dependencies$ana4 === void 0 ? void 0 : _api$dependencies$ana4.actions);
82
84
  }
83
85
  }, {
84
86
  name: 'textFormattingKeymap',
85
- plugin: function plugin(_ref5) {
86
- var _api$dependencies$ana3;
87
- var schema = _ref5.schema;
88
- return (0, _keymap.default)(schema, api === null || api === void 0 ? void 0 : (_api$dependencies$ana3 = api.dependencies.analytics) === null || _api$dependencies$ana3 === void 0 ? void 0 : _api$dependencies$ana3.actions);
87
+ plugin: function plugin(_ref4) {
88
+ var _api$dependencies$ana5;
89
+ var schema = _ref4.schema;
90
+ return (0, _keymap.default)(schema, api === null || api === void 0 ? void 0 : (_api$dependencies$ana5 = api.dependencies.analytics) === null || _api$dependencies$ana5 === void 0 ? void 0 : _api$dependencies$ana5.actions);
89
91
  }
90
92
  }];
91
93
  },
92
- primaryToolbarComponent: function primaryToolbarComponent(_ref6) {
93
- var editorView = _ref6.editorView,
94
- popupsMountPoint = _ref6.popupsMountPoint,
95
- popupsScrollableElement = _ref6.popupsScrollableElement,
96
- isToolbarReducedSpacing = _ref6.isToolbarReducedSpacing,
97
- toolbarSize = _ref6.toolbarSize,
98
- disabled = _ref6.disabled;
94
+ primaryToolbarComponent: function primaryToolbarComponent(_ref5) {
95
+ var editorView = _ref5.editorView,
96
+ popupsMountPoint = _ref5.popupsMountPoint,
97
+ popupsScrollableElement = _ref5.popupsScrollableElement,
98
+ isToolbarReducedSpacing = _ref5.isToolbarReducedSpacing,
99
+ toolbarSize = _ref5.toolbarSize,
100
+ disabled = _ref5.disabled;
99
101
  return /*#__PURE__*/_react.default.createElement(_withPluginState.WithPluginState, {
100
102
  plugins: {
101
103
  textFormattingState: _main.pluginKey,
102
104
  clearFormattingPluginState: _clearFormatting.pluginKey
103
105
  },
104
106
  render: function render() {
105
- var _api$dependencies$ana4;
107
+ var _api$dependencies$ana6;
106
108
  return /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
107
109
  editorState: editorView.state,
108
110
  popupsMountPoint: popupsMountPoint,
@@ -112,7 +114,7 @@ var textFormatting = function textFormatting() {
112
114
  editorView: editorView,
113
115
  isToolbarDisabled: disabled,
114
116
  shouldUseResponsiveToolbar: Boolean(options.responsiveToolbarMenu),
115
- editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$dependencies$ana4 = api.dependencies.analytics) === null || _api$dependencies$ana4 === void 0 ? void 0 : _api$dependencies$ana4.actions
117
+ editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$dependencies$ana6 = api.dependencies.analytics) === null || _api$dependencies$ana6 === void 0 ? void 0 : _api$dependencies$ana6.actions
116
118
  });
117
119
  }
118
120
  });
@@ -16,10 +16,10 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
  var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
- var _inputRules = require("../../../utils/input-rules");
20
19
  var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
21
20
  var _analytics = require("@atlaskit/editor-common/analytics");
22
21
  var _mark = require("@atlaskit/editor-common/mark");
22
+ var _utils = require("@atlaskit/editor-common/utils");
23
23
  var _ValidCombinations;
24
24
  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); }; }
25
25
  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; } }
@@ -175,18 +175,16 @@ var codeRegex = buildRegex(ValidAutoformatChars.CODE);
175
175
  * @returns {InputRuleWrapper[]}
176
176
  */
177
177
  exports.codeRegex = codeRegex;
178
- function getStrongInputRules(schema) {
179
- var ruleWithStrongAnalytics = (0, _inputRules.ruleWithAnalytics)(function () {
180
- return {
181
- action: _analytics.ACTION.FORMATTED,
182
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
183
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_STRONG,
184
- eventType: _analytics.EVENT_TYPE.TRACK,
185
- attributes: {
186
- inputMethod: _analytics.INPUT_METHOD.FORMATTING
187
- }
188
- };
189
- });
178
+ function getStrongInputRules(schema, editorAnalyticsAPI) {
179
+ var ruleWithStrongAnalytics = (0, _utils.inputRuleWithAnalytics)({
180
+ action: _analytics.ACTION.FORMATTED,
181
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
182
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_STRONG,
183
+ eventType: _analytics.EVENT_TYPE.TRACK,
184
+ attributes: {
185
+ inputMethod: _analytics.INPUT_METHOD.FORMATTING
186
+ }
187
+ }, editorAnalyticsAPI);
190
188
  // **string** or __strong__ should bold the text
191
189
  var doubleUnderscoreRule = (0, _prosemirrorInputRules.createRule)(strongRegex1, addMark(schema.marks.strong, schema, ValidAutoformatChars.STRONG));
192
190
  var doubleAsterixRule = (0, _prosemirrorInputRules.createRule)(strongRegex2, addMark(schema.marks.strong, schema, ValidAutoformatChars.STRONG_MARKDOWN));
@@ -199,18 +197,16 @@ function getStrongInputRules(schema) {
199
197
  * @param {Schema} schema
200
198
  * @returns {InputRuleWrapper[]}
201
199
  */
202
- function getItalicInputRules(schema) {
203
- var ruleWithItalicAnalytics = (0, _inputRules.ruleWithAnalytics)(function () {
204
- return {
205
- action: _analytics.ACTION.FORMATTED,
206
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
207
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_ITALIC,
208
- eventType: _analytics.EVENT_TYPE.TRACK,
209
- attributes: {
210
- inputMethod: _analytics.INPUT_METHOD.FORMATTING
211
- }
212
- };
213
- });
200
+ function getItalicInputRules(schema, editorAnalyticsAPI) {
201
+ var ruleWithItalicAnalytics = (0, _utils.inputRuleWithAnalytics)({
202
+ action: _analytics.ACTION.FORMATTED,
203
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
204
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_ITALIC,
205
+ eventType: _analytics.EVENT_TYPE.TRACK,
206
+ attributes: {
207
+ inputMethod: _analytics.INPUT_METHOD.FORMATTING
208
+ }
209
+ }, editorAnalyticsAPI);
214
210
  var underscoreRule = (0, _prosemirrorInputRules.createRule)(italicRegex1, addMark(schema.marks.em, schema, ValidAutoformatChars.ITALIC));
215
211
  var asterixRule = (0, _prosemirrorInputRules.createRule)(italicRegex2, addMark(schema.marks.em, schema, ValidAutoformatChars.ITALIC_MARKDOWN));
216
212
  return [ruleWithItalicAnalytics(underscoreRule), ruleWithItalicAnalytics(asterixRule)];
@@ -222,18 +218,16 @@ function getItalicInputRules(schema) {
222
218
  * @param {Schema} schema
223
219
  * @returns {InputRuleWrapper[]}
224
220
  */
225
- function getStrikeInputRules(schema) {
226
- var ruleWithStrikeAnalytics = (0, _inputRules.ruleWithAnalytics)(function () {
227
- return {
228
- action: _analytics.ACTION.FORMATTED,
229
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
230
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_STRIKE,
231
- eventType: _analytics.EVENT_TYPE.TRACK,
232
- attributes: {
233
- inputMethod: _analytics.INPUT_METHOD.FORMATTING
234
- }
235
- };
236
- });
221
+ function getStrikeInputRules(schema, editorAnalyticsAPI) {
222
+ var ruleWithStrikeAnalytics = (0, _utils.inputRuleWithAnalytics)({
223
+ action: _analytics.ACTION.FORMATTED,
224
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
225
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_STRIKE,
226
+ eventType: _analytics.EVENT_TYPE.TRACK,
227
+ attributes: {
228
+ inputMethod: _analytics.INPUT_METHOD.FORMATTING
229
+ }
230
+ }, editorAnalyticsAPI);
237
231
  var doubleTildeRule = (0, _prosemirrorInputRules.createRule)(strikeRegex, addMark(schema.marks.strike, schema, ValidAutoformatChars.STRIKE));
238
232
  return [ruleWithStrikeAnalytics(doubleTildeRule)];
239
233
  }
@@ -244,34 +238,34 @@ function getStrikeInputRules(schema) {
244
238
  * @param {Schema} schema
245
239
  * @returns {InputRuleWrapper[]}
246
240
  */
247
- function getCodeInputRules(schema) {
248
- var ruleWithCodeAnalytics = (0, _inputRules.ruleWithAnalytics)(function () {
249
- return {
250
- action: _analytics.ACTION.FORMATTED,
251
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
252
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_CODE,
253
- eventType: _analytics.EVENT_TYPE.TRACK,
254
- attributes: {
255
- inputMethod: _analytics.INPUT_METHOD.FORMATTING
256
- }
257
- };
258
- });
241
+ function getCodeInputRules(schema, editorAnalyticsAPI) {
242
+ var ruleWithCodeAnalytics = (0, _utils.inputRuleWithAnalytics)({
243
+ action: _analytics.ACTION.FORMATTED,
244
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
245
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_CODE,
246
+ eventType: _analytics.EVENT_TYPE.TRACK,
247
+ attributes: {
248
+ inputMethod: _analytics.INPUT_METHOD.FORMATTING
249
+ }
250
+ }, editorAnalyticsAPI);
259
251
  var backTickRule = (0, _prosemirrorInputRules.createRule)(codeRegex, addMark(schema.marks.code, schema, ValidAutoformatChars.CODE));
260
252
  return [ruleWithCodeAnalytics(backTickRule)];
261
253
  }
262
- function inputRulePlugin(schema, featureFlags) {
254
+ function inputRulePlugin(schema,
255
+ // Don't remove the unused featureFlags, this gets used to test if we're properly passing them to the PM plugin
256
+ _featureFlags, editorAnalyticsAPI) {
263
257
  var rules = [];
264
258
  if (schema.marks.strong) {
265
- rules.push.apply(rules, (0, _toConsumableArray2.default)(getStrongInputRules(schema)));
259
+ rules.push.apply(rules, (0, _toConsumableArray2.default)(getStrongInputRules(schema, editorAnalyticsAPI)));
266
260
  }
267
261
  if (schema.marks.em) {
268
- rules.push.apply(rules, (0, _toConsumableArray2.default)(getItalicInputRules(schema)));
262
+ rules.push.apply(rules, (0, _toConsumableArray2.default)(getItalicInputRules(schema, editorAnalyticsAPI)));
269
263
  }
270
264
  if (schema.marks.strike) {
271
- rules.push.apply(rules, (0, _toConsumableArray2.default)(getStrikeInputRules(schema)));
265
+ rules.push.apply(rules, (0, _toConsumableArray2.default)(getStrikeInputRules(schema, editorAnalyticsAPI)));
272
266
  }
273
267
  if (schema.marks.code) {
274
- rules.push.apply(rules, (0, _toConsumableArray2.default)(getCodeInputRules(schema)));
268
+ rules.push.apply(rules, (0, _toConsumableArray2.default)(getCodeInputRules(schema, editorAnalyticsAPI)));
275
269
  }
276
270
  if (rules.length !== 0) {
277
271
  return (0, _prosemirrorInputRules.createPlugin)('text-formatting', rules);
@@ -8,10 +8,10 @@ exports.default = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _state2 = require("@atlaskit/editor-prosemirror/state");
12
- var _inputRules = require("../../../utils/input-rules");
11
+ var _state = require("@atlaskit/editor-prosemirror/state");
13
12
  var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
14
13
  var _analytics = require("@atlaskit/editor-common/analytics");
14
+ var _utils = require("@atlaskit/editor-common/utils");
15
15
  /**
16
16
  * Creates an InputRuleHandler that will match on a regular expression of the
17
17
  * form `(prefix, content, suffix?)`, and replace it with some given text,
@@ -33,7 +33,7 @@ function replaceTextUsingCaptureGroup(text) {
33
33
  // But, this is JS #trustnoone
34
34
  Math.max(startPos, 0), end);
35
35
  tr.replaceWith(safePos, end, state.schema.text(replacement, $to.marks()));
36
- tr.setSelection(_state2.Selection.near(tr.doc.resolve(tr.selection.to)));
36
+ tr.setSelection(_state.Selection.near(tr.doc.resolve(tr.selection.to)));
37
37
  return tr;
38
38
  };
39
39
  }
@@ -86,9 +86,9 @@ function createSingleQuotesRules() {
86
86
  /**
87
87
  * Get replacement rules related to product
88
88
  */
89
- function getProductRules() {
89
+ function getProductRules(editorAnalyticsAPI) {
90
90
  var productRuleWithAnalytics = function productRuleWithAnalytics(product) {
91
- return (0, _inputRules.ruleWithAnalytics)(function (_state, match) {
91
+ return (0, _utils.inputRuleWithAnalytics)(function (_, match) {
92
92
  return {
93
93
  action: _analytics.ACTION.SUBSTITUTED,
94
94
  actionSubject: _analytics.ACTION_SUBJECT.TEXT,
@@ -99,7 +99,7 @@ function getProductRules() {
99
99
  originalSpelling: match[2]
100
100
  }
101
101
  };
102
- });
102
+ }, editorAnalyticsAPI);
103
103
  };
104
104
  return createReplacementRules({
105
105
  Atlassian: /(\s+|^)(atlassian)(\s)$/,
@@ -113,24 +113,22 @@ function getProductRules() {
113
113
  /**
114
114
  * Get replacement rules related to symbol
115
115
  */
116
- function getSymbolRules() {
116
+ function getSymbolRules(editorAnalyticsAPI) {
117
117
  var symbolToString = {
118
118
  '→': _analytics.SYMBOL.ARROW_RIGHT,
119
119
  '←': _analytics.SYMBOL.ARROW_LEFT,
120
120
  '↔︎': _analytics.SYMBOL.ARROW_DOUBLE
121
121
  };
122
122
  var symbolRuleWithAnalytics = function symbolRuleWithAnalytics(symbol) {
123
- return (0, _inputRules.ruleWithAnalytics)(function () {
124
- return {
125
- action: _analytics.ACTION.SUBSTITUTED,
126
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
127
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYMBOL,
128
- eventType: _analytics.EVENT_TYPE.TRACK,
129
- attributes: {
130
- symbol: symbolToString[symbol]
131
- }
132
- };
133
- });
123
+ return (0, _utils.inputRuleWithAnalytics)({
124
+ action: _analytics.ACTION.SUBSTITUTED,
125
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
126
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYMBOL,
127
+ eventType: _analytics.EVENT_TYPE.TRACK,
128
+ attributes: {
129
+ symbol: symbolToString[symbol]
130
+ }
131
+ }, editorAnalyticsAPI);
134
132
  };
135
133
  return createReplacementRules({
136
134
  '→': /(\s+|^)(--?>)(\s)$/,
@@ -142,25 +140,22 @@ function getSymbolRules() {
142
140
  /**
143
141
  * Get replacement rules related to punctuation
144
142
  */
145
- function getPunctuationRules() {
143
+ function getPunctuationRules(editorAnalyticsAPI) {
146
144
  var punctuationToString = (0, _defineProperty2.default)({
147
145
  '–': _analytics.PUNC.DASH,
148
146
  '…': _analytics.PUNC.ELLIPSIS,
149
- '“': _analytics.PUNC.QUOTE_DOUBLE,
150
147
  '”': _analytics.PUNC.QUOTE_DOUBLE
151
148
  }, _analytics.PUNC.QUOTE_SINGLE, _analytics.PUNC.QUOTE_SINGLE);
152
149
  var punctuationRuleWithAnalytics = function punctuationRuleWithAnalytics(punctuation) {
153
- return (0, _inputRules.ruleWithAnalytics)(function () {
154
- return {
155
- action: _analytics.ACTION.SUBSTITUTED,
156
- actionSubject: _analytics.ACTION_SUBJECT.TEXT,
157
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.PUNC,
158
- eventType: _analytics.EVENT_TYPE.TRACK,
159
- attributes: {
160
- punctuation: punctuationToString[punctuation]
161
- }
162
- };
163
- });
150
+ return (0, _utils.inputRuleWithAnalytics)({
151
+ action: _analytics.ACTION.SUBSTITUTED,
152
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
153
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.PUNC,
154
+ eventType: _analytics.EVENT_TYPE.TRACK,
155
+ attributes: {
156
+ punctuation: punctuationToString[punctuation]
157
+ }
158
+ }, editorAnalyticsAPI);
164
159
  };
165
160
  var dashEllipsisRules = createReplacementRules({
166
161
  '–': /(\s+|^)(--)(\s)$/,
@@ -175,7 +170,7 @@ function getPunctuationRules() {
175
170
  return punctuationRuleWithAnalytics(_analytics.PUNC.QUOTE_SINGLE)(rule);
176
171
  })));
177
172
  }
178
- var _default = function _default(featureFlags) {
179
- return (0, _prosemirrorInputRules.createPlugin)('text-formatting:smart-input', [].concat((0, _toConsumableArray2.default)(getProductRules()), (0, _toConsumableArray2.default)(getSymbolRules()), (0, _toConsumableArray2.default)(getPunctuationRules())));
173
+ var _default = function _default(editorAnalyticsAPI) {
174
+ return (0, _prosemirrorInputRules.createPlugin)('text-formatting:smart-input', [].concat((0, _toConsumableArray2.default)(getProductRules(editorAnalyticsAPI)), (0, _toConsumableArray2.default)(getSymbolRules(editorAnalyticsAPI)), (0, _toConsumableArray2.default)(getPunctuationRules(editorAnalyticsAPI))));
180
175
  };
181
176
  exports.default = _default;
@@ -29,6 +29,7 @@ function ElementSearch(_ref) {
29
29
  formatMessage = _ref.intl.formatMessage,
30
30
  focus = _ref.focus,
31
31
  onClick = _ref.onClick,
32
+ onKeyDown = _ref.onKeyDown,
32
33
  searchTerm = _ref.searchTerm;
33
34
  var ref = (0, _useFocus.default)(focus);
34
35
  var onChange = function onChange(_ref2) {
@@ -44,6 +45,7 @@ function ElementSearch(_ref) {
44
45
  onChange: onChange,
45
46
  onClick: onClick,
46
47
  onFocus: onFocus,
48
+ onKeyDown: onKeyDown,
47
49
  onBlur: onBlur,
48
50
  elemBeforeInput: (0, _react2.jsx)("div", {
49
51
  css: elementBeforeInput,
@@ -75,10 +77,10 @@ var placeHolderMessage = {
75
77
  description: 'Search field placeholder'
76
78
  };
77
79
  var styledShortcut = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: ", "px ", "px;\n width: ", "px;\n"])), _styles.shortcutStyle, _constants.GRID_SIZE / 2, _constants.GRID_SIZE, _constants.GRID_SIZE * 6);
78
- var wrapper = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n & > [data-ds--text-field--container] {\n height: ", "px;\n border-radius: ", "px;\n flex: 1 1 100%;\n overflow: visible;\n & > [data-ds--text-field--input] {\n margin-bottom: 3px;\n font-size: ", ";\n padding: ", "px 6px ", "px 0;\n }\n }\n"])), _constants.GRID_SIZE * 6, _constants.GRID_SIZE, (0, _editorSharedStyles.relativeFontSizeToBase16)(14), _constants.GRID_SIZE, _constants.GRID_SIZE);
80
+ var wrapper = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n & > [data-ds--text-field--container] {\n height: ", "px;\n border-radius: ", "px;\n flex: 1 1 100%;\n overflow: visible;\n & > [data-ds--text-field--input] {\n margin-bottom: 3px;\n font-size: ", ";\n padding: ", "px ", " ", "px 0;\n }\n }\n"])), _constants.GRID_SIZE * 6, _constants.GRID_SIZE, (0, _editorSharedStyles.relativeFontSizeToBase16)(14), _constants.GRID_SIZE, "var(--ds-space-075, 6px)", _constants.GRID_SIZE);
79
81
  var wrapperInline = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n & > [data-ds--text-field--container] {\n height: ", "px;\n flex: none;\n overflow: revert;\n }\n"])), _constants.GRID_SIZE * 5);
80
- var elementBeforeInput = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin: 1px 6px 0 8px;\n color: ", ";\n\n // Custom SearchIcon style\n span,\n svg {\n height: 20px;\n width: 20px;\n }\n"])), "var(--ds-icon, ".concat(_colors.N200, ")"));
81
- var elementAfterInput = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 8px;\n height: ", ";\n text-align: center;\n"])), _constants.SEARCH_ITEM_HEIGHT_WIDTH);
82
+ var elementBeforeInput = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin: 1px ", " 0 ", ";\n color: ", ";\n\n // Custom SearchIcon style\n span,\n svg {\n height: 20px;\n width: 20px;\n }\n"])), "var(--ds-space-075, 6px)", "var(--ds-space-100, 8px)", "var(--ds-icon, ".concat(_colors.N200, ")"));
83
+ var elementAfterInput = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 ", ";\n height: ", ";\n text-align: center;\n"])), "var(--ds-space-100, 8px)", _constants.SEARCH_ITEM_HEIGHT_WIDTH);
82
84
  var MemoizedElementSearchWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
83
85
  component: 'Searchbar'
84
86
  })((0, _reactIntlNext.injectIntl)(ElementSearch)));
@@ -30,7 +30,7 @@ var baseBrowserContainerStyles = (0, _react2.css)(_templateObject2 || (_template
30
30
  var mobileElementBrowserContainer = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex-direction: column;\n"])), baseBrowserContainerStyles);
31
31
  var elementBrowserContainer = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex-direction: row;\n"])), baseBrowserContainerStyles);
32
32
  var baseSidebarStyles = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n\n overflow-x: auto;\n overflow-y: hidden;\n"])));
33
- var mobileSideBar = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 ", ";\n padding: 12px 12px 0 12px;\n"])), baseSidebarStyles, _constants.INLINE_SIDEBAR_HEIGHT);
33
+ var mobileSideBar = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 ", ";\n padding: ", " ", " 0\n ", ";\n"])), baseSidebarStyles, _constants.INLINE_SIDEBAR_HEIGHT, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)");
34
34
  var mobileSideBarShowCategories = (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n flex: 0 0 auto;\n"])));
35
35
  var sideBar = (0, _react2.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 'auto';\n"])), baseSidebarStyles);
36
36
  var sideBarShowCategories = (0, _react2.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 ", ";\n"])), baseSidebarStyles, _constants.SIDEBAR_WIDTH);
@@ -43,6 +43,7 @@ var categoryListWrapper = (0, _react2.css)(_templateObject15 || (_templateObject
43
43
  function StatelessElementBrowser(props) {
44
44
  var items = props.items,
45
45
  onSelectItem = props.onSelectItem,
46
+ onInsertItem = props.onInsertItem,
46
47
  viewMoreItem = props.viewMoreItem;
47
48
  var _useContainerWidth = (0, _useContainerWidth2.default)(),
48
49
  containerWidth = _useContainerWidth.containerWidth,
@@ -92,10 +93,11 @@ function StatelessElementBrowser(props) {
92
93
  if (e.key !== 'Enter') {
93
94
  return;
94
95
  }
95
- if (onSelectItem && selectedItem != null) {
96
- onSelectItem(selectedItem);
96
+ if (onInsertItem && selectedItem != null) {
97
+ onInsertItem(selectedItem);
97
98
  }
98
- }, [onSelectItem, selectedItem]);
99
+ e.preventDefault();
100
+ }, [onInsertItem, selectedItem]);
99
101
 
100
102
  /**
101
103
  * On arrow key selection and clicks the selectedItemIndex will change.
@@ -156,13 +158,13 @@ function MobileBrowser(_ref) {
156
158
  viewMoreItem = _ref.viewMoreItem;
157
159
  return (0, _react2.jsx)("div", {
158
160
  css: mobileElementBrowserContainer,
159
- onKeyPress: onKeyPress,
160
161
  onKeyDown: onKeyDown,
161
162
  "data-testid": "mobile__element-browser"
162
163
  }, (0, _react2.jsx)("div", {
163
164
  css: showCategories ? [mobileSideBar, mobileSideBarShowCategories] : mobileSideBar
164
165
  }, showSearch && (0, _react2.jsx)(_ElementSearch.default, {
165
166
  onSearch: onSearch,
167
+ onKeyDown: onKeyPress,
166
168
  mode: mode,
167
169
  focus: focusOnSearch,
168
170
  onClick: setFocusOnSearch,
@@ -235,13 +237,13 @@ function DesktopBrowser(_ref2) {
235
237
  createAnalyticsEvent: createAnalyticsEvent
236
238
  }))), (0, _react2.jsx)("div", {
237
239
  css: mainContent,
238
- onKeyPress: onKeyPress,
239
240
  onKeyDown: onKeyDown,
240
241
  "data-testid": "main-content"
241
242
  }, showSearch && (0, _react2.jsx)("div", {
242
243
  css: searchContainer
243
244
  }, (0, _react2.jsx)(_ElementSearch.default, {
244
245
  onSearch: onSearch,
246
+ onKeyDown: onKeyPress,
245
247
  mode: mode,
246
248
  focus: focusOnSearch,
247
249
  onClick: setFocusOnSearch,
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.version = exports.nextMajorVersion = exports.name = void 0;
7
7
  var name = "@atlaskit/editor-core";
8
8
  exports.name = name;
9
- var version = "187.8.10";
9
+ var version = "187.8.13";
10
10
  exports.version = version;
11
11
  var nextMajorVersion = function nextMajorVersion() {
12
12
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.8.10",
3
+ "version": "187.8.13",
4
4
  "sideEffects": false
5
5
  }
@@ -46,15 +46,20 @@ const textFormatting = (options = {}, api) => ({
46
46
  plugin: () => textFormattingCursorPlugin
47
47
  }, {
48
48
  name: 'textFormattingInputRule',
49
+ // Don't remove the unused featureFlags, this gets used to test if we're properly passing them to the PM plugin
49
50
  plugin: ({
50
51
  schema,
51
52
  featureFlags
52
- }) => textFormattingInputRulePlugin(schema, featureFlags)
53
+ }) => {
54
+ var _api$dependencies$ana2;
55
+ return textFormattingInputRulePlugin(schema, featureFlags, api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions);
56
+ }
53
57
  }, {
54
58
  name: 'textFormattingSmartRule',
55
- plugin: ({
56
- featureFlags
57
- }) => !options.disableSmartTextCompletion ? textFormattingSmartInputRulePlugin(featureFlags) : undefined
59
+ plugin: () => {
60
+ var _api$dependencies$ana3;
61
+ return !options.disableSmartTextCompletion ? textFormattingSmartInputRulePlugin(api === null || api === void 0 ? void 0 : (_api$dependencies$ana3 = api.dependencies.analytics) === null || _api$dependencies$ana3 === void 0 ? void 0 : _api$dependencies$ana3.actions) : undefined;
62
+ }
58
63
  }, {
59
64
  name: 'textFormattingClear',
60
65
  plugin: ({
@@ -63,16 +68,16 @@ const textFormatting = (options = {}, api) => ({
63
68
  }, {
64
69
  name: 'textFormattingClearKeymap',
65
70
  plugin: () => {
66
- var _api$dependencies$ana2;
67
- return clearFormattingKeymapPlugin(api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions);
71
+ var _api$dependencies$ana4;
72
+ return clearFormattingKeymapPlugin(api === null || api === void 0 ? void 0 : (_api$dependencies$ana4 = api.dependencies.analytics) === null || _api$dependencies$ana4 === void 0 ? void 0 : _api$dependencies$ana4.actions);
68
73
  }
69
74
  }, {
70
75
  name: 'textFormattingKeymap',
71
76
  plugin: ({
72
77
  schema
73
78
  }) => {
74
- var _api$dependencies$ana3;
75
- return keymapPlugin(schema, api === null || api === void 0 ? void 0 : (_api$dependencies$ana3 = api.dependencies.analytics) === null || _api$dependencies$ana3 === void 0 ? void 0 : _api$dependencies$ana3.actions);
79
+ var _api$dependencies$ana5;
80
+ return keymapPlugin(schema, api === null || api === void 0 ? void 0 : (_api$dependencies$ana5 = api.dependencies.analytics) === null || _api$dependencies$ana5 === void 0 ? void 0 : _api$dependencies$ana5.actions);
76
81
  }
77
82
  }];
78
83
  },
@@ -90,7 +95,7 @@ const textFormatting = (options = {}, api) => ({
90
95
  clearFormattingPluginState: clearFormattingPluginKey
91
96
  },
92
97
  render: () => {
93
- var _api$dependencies$ana4;
98
+ var _api$dependencies$ana6;
94
99
  return /*#__PURE__*/React.createElement(Toolbar, {
95
100
  editorState: editorView.state,
96
101
  popupsMountPoint: popupsMountPoint,
@@ -100,7 +105,7 @@ const textFormatting = (options = {}, api) => ({
100
105
  editorView: editorView,
101
106
  isToolbarDisabled: disabled,
102
107
  shouldUseResponsiveToolbar: Boolean(options.responsiveToolbarMenu),
103
- editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$dependencies$ana4 = api.dependencies.analytics) === null || _api$dependencies$ana4 === void 0 ? void 0 : _api$dependencies$ana4.actions
108
+ editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$dependencies$ana6 = api.dependencies.analytics) === null || _api$dependencies$ana6 === void 0 ? void 0 : _api$dependencies$ana6.actions
104
109
  });
105
110
  }
106
111
  });