@atlaskit/editor-core 187.1.4 → 187.2.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 187.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`f4f06674b2f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f4f06674b2f) - Fix additional typeahead character being added to editor when using composition.
8
+
9
+ ## 187.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`e7ed90bad7c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e7ed90bad7c) - Remove platform feature flag calls to editor-core and pass through a new option instead for custom table widths project, allowing for simpler clean up and reference
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies
18
+
3
19
  ## 187.1.4
4
20
 
5
21
  ### Patch Changes
@@ -15,6 +15,7 @@ var _editorPluginGrid = require("@atlaskit/editor-plugin-grid");
15
15
  var _editorPluginCard = require("@atlaskit/editor-plugin-card");
16
16
  var _editorPluginTable = require("@atlaskit/editor-plugin-table");
17
17
  var _editorPluginContentInsertion = require("@atlaskit/editor-plugin-content-insertion");
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  var _isFullPage = require("../../../utils/is-full-page");
19
20
  var _mediaCommon = require("@atlaskit/media-common");
20
21
  var _default = require("./default");
@@ -148,6 +149,9 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
148
149
  var tableOptions = !props.allowTables || typeof props.allowTables === 'boolean' ? {} : props.allowTables;
149
150
  return builder.add([plugin, {
150
151
  tableOptions: tableOptions,
152
+ // tableResizingEnabled will replace breakoutEnabled once FF is 100% rolled out,
153
+ // logic below is to help codemod during cleanup
154
+ tableResizingEnabled: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') && ['full-page', 'full-width'].includes(appearance || ''),
151
155
  breakoutEnabled: appearance === 'full-page',
152
156
  allowContextualMenu: !isMobile,
153
157
  fullWidthEnabled: appearance === 'full-width',
@@ -8,7 +8,6 @@ var _prosemirrorState = require("prosemirror-state");
8
8
  var _selection = require("@atlaskit/editor-common/selection");
9
9
  var _key = require("../pm-plugins/key");
10
10
  var _actions = require("../pm-plugins/actions");
11
- var _utils = require("@atlaskit/editor-common/utils");
12
11
  var openTypeAhead = function openTypeAhead(props) {
13
12
  return function (tr) {
14
13
  var triggerHandler = props.triggerHandler,
@@ -61,7 +60,13 @@ var openTypeAheadAtCursor = function openTypeAheadAtCursor(_ref) {
61
60
 
62
61
  // ME-2375 remove the superfluous '@' inserted before decoration
63
62
  // by composition (https://github.com/ProseMirror/prosemirror/issues/903)
64
- if (_utils.browser.chrome && _utils.browser.android && cursorPos > 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, '@')) {
63
+ //
64
+ // Update:
65
+ // Now also handles any use case with superfluous typeahead triggers (ie. '@', ':', '/')
66
+ // being inserted due to composition by checking if we have the trigger
67
+ // directly before the typeahead. This should not happen unless it has
68
+ // been eroneously added because we require whitespace/newline for typeahead.
69
+ if (cursorPos >= 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, triggerHandler.trigger)) {
65
70
  tr.delete(cursorPos - 1, cursorPos);
66
71
  }
67
72
  }
@@ -148,7 +148,7 @@ var InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
148
148
  // ED-14758 - Under the W3C specification, any keycode sent under IME would return a keycode 229
149
149
  // event.isComposing can't be used alone as this also included a virtual keyboard under a keyboardless device, therefore, it seems the best practice would be intercepting the event as below.
150
150
  // Some suggested the other workaround maybe listen on`keypress` instead of `keydown`
151
- if (!event.isComposing || event.which !== 229 && event.keyCode !== 229) {
151
+ if (!event.isComposing && event.which !== 229 && event.keyCode !== 229) {
152
152
  if (selectedIndex === -1) {
153
153
  if (useBetterTypeaheadNavigation) {
154
154
  /**
@@ -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.1.4";
9
+ var version = "187.2.1";
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.1.4",
3
+ "version": "187.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -6,6 +6,7 @@ import { gridPlugin } from '@atlaskit/editor-plugin-grid';
6
6
  import { cardPlugin } from '@atlaskit/editor-plugin-card';
7
7
  import { tablesPlugin } from '@atlaskit/editor-plugin-table';
8
8
  import { contentInsertionPlugin } from '@atlaskit/editor-plugin-content-insertion';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  import { isFullPage as fullPageCheck } from '../../../utils/is-full-page';
10
11
  import { getMediaFeatureFlag } from '@atlaskit/media-common';
11
12
  import { createDefaultPreset } from './default';
@@ -137,6 +138,9 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
137
138
  const tableOptions = !props.allowTables || typeof props.allowTables === 'boolean' ? {} : props.allowTables;
138
139
  return builder.add([plugin, {
139
140
  tableOptions,
141
+ // tableResizingEnabled will replace breakoutEnabled once FF is 100% rolled out,
142
+ // logic below is to help codemod during cleanup
143
+ tableResizingEnabled: getBooleanFF('platform.editor.custom-table-width') && ['full-page', 'full-width'].includes(appearance || ''),
140
144
  breakoutEnabled: appearance === 'full-page',
141
145
  allowContextualMenu: !isMobile,
142
146
  fullWidthEnabled: appearance === 'full-width',
@@ -2,7 +2,6 @@ import { TextSelection } from 'prosemirror-state';
2
2
  import { GapCursorSelection } from '@atlaskit/editor-common/selection';
3
3
  import { pluginKey } from '../pm-plugins/key';
4
4
  import { ACTIONS } from '../pm-plugins/actions';
5
- import { browser } from '@atlaskit/editor-common/utils';
6
5
  export const openTypeAhead = props => tr => {
7
6
  const {
8
7
  triggerHandler,
@@ -56,7 +55,13 @@ export const openTypeAheadAtCursor = ({
56
55
 
57
56
  // ME-2375 remove the superfluous '@' inserted before decoration
58
57
  // by composition (https://github.com/ProseMirror/prosemirror/issues/903)
59
- if (browser.chrome && browser.android && cursorPos > 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, '@')) {
58
+ //
59
+ // Update:
60
+ // Now also handles any use case with superfluous typeahead triggers (ie. '@', ':', '/')
61
+ // being inserted due to composition by checking if we have the trigger
62
+ // directly before the typeahead. This should not happen unless it has
63
+ // been eroneously added because we require whitespace/newline for typeahead.
64
+ if (cursorPos >= 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, triggerHandler.trigger)) {
60
65
  tr.delete(cursorPos - 1, cursorPos);
61
66
  }
62
67
  }
@@ -133,7 +133,7 @@ export const InputQuery = /*#__PURE__*/React.memo(({
133
133
  // ED-14758 - Under the W3C specification, any keycode sent under IME would return a keycode 229
134
134
  // event.isComposing can't be used alone as this also included a virtual keyboard under a keyboardless device, therefore, it seems the best practice would be intercepting the event as below.
135
135
  // Some suggested the other workaround maybe listen on`keypress` instead of `keydown`
136
- if (!event.isComposing || event.which !== 229 && event.keyCode !== 229) {
136
+ if (!event.isComposing && event.which !== 229 && event.keyCode !== 229) {
137
137
  if (selectedIndex === -1) {
138
138
  if (useBetterTypeaheadNavigation) {
139
139
  /**
@@ -1,5 +1,5 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "187.1.4";
2
+ export const version = "187.2.1";
3
3
  export const nextMajorVersion = () => {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.1.4",
3
+ "version": "187.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -10,6 +10,7 @@ import { gridPlugin } from '@atlaskit/editor-plugin-grid';
10
10
  import { cardPlugin } from '@atlaskit/editor-plugin-card';
11
11
  import { tablesPlugin } from '@atlaskit/editor-plugin-table';
12
12
  import { contentInsertionPlugin } from '@atlaskit/editor-plugin-content-insertion';
13
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
13
14
  import { isFullPage as fullPageCheck } from '../../../utils/is-full-page';
14
15
  import { getMediaFeatureFlag } from '@atlaskit/media-common';
15
16
  import { createDefaultPreset } from './default';
@@ -141,6 +142,9 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
141
142
  var tableOptions = !props.allowTables || typeof props.allowTables === 'boolean' ? {} : props.allowTables;
142
143
  return builder.add([plugin, {
143
144
  tableOptions: tableOptions,
145
+ // tableResizingEnabled will replace breakoutEnabled once FF is 100% rolled out,
146
+ // logic below is to help codemod during cleanup
147
+ tableResizingEnabled: getBooleanFF('platform.editor.custom-table-width') && ['full-page', 'full-width'].includes(appearance || ''),
144
148
  breakoutEnabled: appearance === 'full-page',
145
149
  allowContextualMenu: !isMobile,
146
150
  fullWidthEnabled: appearance === 'full-width',
@@ -2,7 +2,6 @@ import { TextSelection } from 'prosemirror-state';
2
2
  import { GapCursorSelection } from '@atlaskit/editor-common/selection';
3
3
  import { pluginKey } from '../pm-plugins/key';
4
4
  import { ACTIONS } from '../pm-plugins/actions';
5
- import { browser } from '@atlaskit/editor-common/utils';
6
5
  export var openTypeAhead = function openTypeAhead(props) {
7
6
  return function (tr) {
8
7
  var triggerHandler = props.triggerHandler,
@@ -54,7 +53,13 @@ export var openTypeAheadAtCursor = function openTypeAheadAtCursor(_ref) {
54
53
 
55
54
  // ME-2375 remove the superfluous '@' inserted before decoration
56
55
  // by composition (https://github.com/ProseMirror/prosemirror/issues/903)
57
- if (browser.chrome && browser.android && cursorPos > 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, '@')) {
56
+ //
57
+ // Update:
58
+ // Now also handles any use case with superfluous typeahead triggers (ie. '@', ':', '/')
59
+ // being inserted due to composition by checking if we have the trigger
60
+ // directly before the typeahead. This should not happen unless it has
61
+ // been eroneously added because we require whitespace/newline for typeahead.
62
+ if (cursorPos >= 2 && !!(selection !== null && selection !== void 0 && (_selection$$head = selection.$head) !== null && _selection$$head !== void 0 && (_selection$$head$pare = _selection$$head.parent) !== null && _selection$$head$pare !== void 0 && _selection$$head$pare.textContent) && (_selection$$head$pare2 = (_selection$$head$pare3 = selection.$head.parent.textContent).endsWith) !== null && _selection$$head$pare2 !== void 0 && _selection$$head$pare2.call(_selection$$head$pare3, triggerHandler.trigger)) {
58
63
  tr.delete(cursorPos - 1, cursorPos);
59
64
  }
60
65
  }
@@ -138,7 +138,7 @@ export var InputQuery = /*#__PURE__*/React.memo(function (_ref) {
138
138
  // ED-14758 - Under the W3C specification, any keycode sent under IME would return a keycode 229
139
139
  // event.isComposing can't be used alone as this also included a virtual keyboard under a keyboardless device, therefore, it seems the best practice would be intercepting the event as below.
140
140
  // Some suggested the other workaround maybe listen on`keypress` instead of `keydown`
141
- if (!event.isComposing || event.which !== 229 && event.keyCode !== 229) {
141
+ if (!event.isComposing && event.which !== 229 && event.keyCode !== 229) {
142
142
  if (selectedIndex === -1) {
143
143
  if (useBetterTypeaheadNavigation) {
144
144
  /**
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "187.1.4";
2
+ export var version = "187.2.1";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.1.4",
3
+ "version": "187.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,11 +1,11 @@
1
1
  import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
2
2
  import type { EditorAppearance } from '@atlaskit/editor-common/types';
3
- import { DefaultPresetPluginOptions } from './default';
4
- import { EditorPresetProps } from './types';
5
- import { EditorSharedPropsWithPlugins } from '../../../types/editor-props';
6
- import { FeatureFlags } from '../../../types/feature-flags';
7
- import { EditorPluginFeatureProps, EditorProviderProps } from '../../../types/editor-props';
8
- import { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
3
+ import type { DefaultPresetPluginOptions } from './default';
4
+ import type { EditorPresetProps } from './types';
5
+ import type { EditorSharedPropsWithPlugins } from '../../../types/editor-props';
6
+ import type { FeatureFlags } from '../../../types/feature-flags';
7
+ import type { EditorPluginFeatureProps, EditorProviderProps } from '../../../types/editor-props';
8
+ import type { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
9
9
  type UniversalPresetProps = EditorPresetProps & DefaultPresetPluginOptions & EditorSharedPropsWithPlugins & EditorPluginFeatureProps & EditorProviderProps;
10
10
  /**
11
11
  * Creates a preset with all of the available plugins.
@@ -1,4 +1,4 @@
1
- import { Transaction } from 'prosemirror-state';
1
+ import type { Transaction } from 'prosemirror-state';
2
2
  import type { TypeAheadHandler, TypeAheadInputMethod } from '../types';
3
3
  type Props = {
4
4
  triggerHandler: TypeAheadHandler;
@@ -1,11 +1,11 @@
1
1
  import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
2
2
  import type { EditorAppearance } from '@atlaskit/editor-common/types';
3
- import { DefaultPresetPluginOptions } from './default';
4
- import { EditorPresetProps } from './types';
5
- import { EditorSharedPropsWithPlugins } from '../../../types/editor-props';
6
- import { FeatureFlags } from '../../../types/feature-flags';
7
- import { EditorPluginFeatureProps, EditorProviderProps } from '../../../types/editor-props';
8
- import { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
3
+ import type { DefaultPresetPluginOptions } from './default';
4
+ import type { EditorPresetProps } from './types';
5
+ import type { EditorSharedPropsWithPlugins } from '../../../types/editor-props';
6
+ import type { FeatureFlags } from '../../../types/feature-flags';
7
+ import type { EditorPluginFeatureProps, EditorProviderProps } from '../../../types/editor-props';
8
+ import type { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
9
9
  type UniversalPresetProps = EditorPresetProps & DefaultPresetPluginOptions & EditorSharedPropsWithPlugins & EditorPluginFeatureProps & EditorProviderProps;
10
10
  /**
11
11
  * Creates a preset with all of the available plugins.
@@ -1,4 +1,4 @@
1
- import { Transaction } from 'prosemirror-state';
1
+ import type { Transaction } from 'prosemirror-state';
2
2
  import type { TypeAheadHandler, TypeAheadInputMethod } from '../types';
3
3
  type Props = {
4
4
  triggerHandler: TypeAheadHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.1.4",
3
+ "version": "187.2.1",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -69,7 +69,7 @@
69
69
  "@atlaskit/editor-plugin-grid": "^0.1.0",
70
70
  "@atlaskit/editor-plugin-guideline": "^0.3.4",
71
71
  "@atlaskit/editor-plugin-hyperlink": "^0.2.0",
72
- "@atlaskit/editor-plugin-table": "^2.3.0",
72
+ "@atlaskit/editor-plugin-table": "^2.4.0",
73
73
  "@atlaskit/editor-plugin-width": "^0.1.0",
74
74
  "@atlaskit/editor-shared-styles": "^2.4.0",
75
75
  "@atlaskit/editor-tables": "^2.3.0",
@@ -150,7 +150,7 @@
150
150
  "@atlaskit/collab-provider": "9.7.2",
151
151
  "@atlaskit/dropdown-menu": "^11.10.0",
152
152
  "@atlaskit/editor-extension-dropbox": "^0.4.0",
153
- "@atlaskit/editor-plugin-table": "^2.3.0",
153
+ "@atlaskit/editor-plugin-table": "^2.4.0",
154
154
  "@atlaskit/editor-test-helpers": "^18.10.0",
155
155
  "@atlaskit/flag": "^15.2.0",
156
156
  "@atlaskit/icon-object": "^6.3.0",
@@ -235,8 +235,7 @@
235
235
  "type": "boolean"
236
236
  },
237
237
  "platform.editor.custom-table-width": {
238
- "type": "boolean",
239
- "referenceOnly": "true"
238
+ "type": "boolean"
240
239
  },
241
240
  "platform.linking-platform.editor.fix-link-insert-analytics": {
242
241
  "type": "boolean"