@atlaskit/editor-common 100.0.0 → 100.1.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.
Files changed (29) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/extensibility/ExtensionComponent.js +72 -374
  3. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/index.js +5 -2
  4. package/dist/cjs/monitoring/error.js +1 -1
  5. package/dist/cjs/ui/DropList/index.js +1 -1
  6. package/dist/cjs/ui/Mention/index.js +1 -13
  7. package/dist/cjs/ui/Mention/mention-with-providers.js +2 -105
  8. package/dist/cjs/utils/editor-core-utils.js +6 -1
  9. package/dist/es2019/extensibility/ExtensionComponent.js +7 -287
  10. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/index.js +5 -2
  11. package/dist/es2019/monitoring/error.js +1 -1
  12. package/dist/es2019/ui/DropList/index.js +1 -1
  13. package/dist/es2019/ui/Mention/index.js +2 -14
  14. package/dist/es2019/ui/Mention/mention-with-providers.js +2 -83
  15. package/dist/es2019/utils/editor-core-utils.js +6 -1
  16. package/dist/esm/extensibility/ExtensionComponent.js +69 -372
  17. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/index.js +5 -2
  18. package/dist/esm/monitoring/error.js +1 -1
  19. package/dist/esm/ui/DropList/index.js +1 -1
  20. package/dist/esm/ui/Mention/index.js +2 -14
  21. package/dist/esm/ui/Mention/mention-with-providers.js +2 -105
  22. package/dist/esm/utils/editor-core-utils.js +6 -1
  23. package/dist/types/extensibility/ExtensionComponent.d.ts +1 -29
  24. package/dist/types/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +2 -1
  25. package/dist/types/ui/Mention/mention-with-providers.d.ts +1 -8
  26. package/dist/types-ts4.5/extensibility/ExtensionComponent.d.ts +1 -29
  27. package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +2 -1
  28. package/dist/types-ts4.5/ui/Mention/mention-with-providers.d.ts +1 -8
  29. package/package.json +10 -13
@@ -1,18 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _inherits from "@babel/runtime/helpers/inherits";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
- import React, { PureComponent, useLayoutEffect, useRef, useState } from 'react';
2
+ import React, { useLayoutEffect, useRef, useState } from 'react';
12
3
  import { ResourcedMention } from '@atlaskit/mention/element';
13
4
  import ResourcedMentionWithProfilecard from './mention-with-profilecard';
14
5
  var GENERIC_USER_IDS = ['HipChat', 'all', 'here'];
15
- var noop = function noop() {};
16
6
  export var MentionWithProviders = function MentionWithProviders(_ref) {
17
7
  var accessLevel = _ref.accessLevel,
18
8
  eventHandlers = _ref.eventHandlers,
@@ -62,97 +52,4 @@ export var MentionWithProviders = function MentionWithProviders(_ref) {
62
52
  onMouseEnter: eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.onMouseEnter,
63
53
  onMouseLeave: eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.onMouseLeave
64
54
  });
65
- };
66
-
67
- // eslint-disable-next-line @repo/internal/react/no-class-components
68
- export var MentionWithProvidersOld = /*#__PURE__*/function (_PureComponent) {
69
- function MentionWithProvidersOld() {
70
- var _this;
71
- _classCallCheck(this, MentionWithProvidersOld);
72
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
73
- args[_key] = arguments[_key];
74
- }
75
- _this = _callSuper(this, MentionWithProvidersOld, [].concat(args));
76
- _defineProperty(_this, "state", {
77
- profilecardProvider: null
78
- });
79
- return _this;
80
- }
81
- _inherits(MentionWithProvidersOld, _PureComponent);
82
- return _createClass(MentionWithProvidersOld, [{
83
- key: "UNSAFE_componentWillMount",
84
- value:
85
- // Ignored via go/ees005
86
- // eslint-disable-next-line react/no-unsafe
87
- function UNSAFE_componentWillMount() {
88
- this.updateProfilecardProvider(this.props);
89
- }
90
-
91
- // Ignored via go/ees005
92
- // eslint-disable-next-line react/no-unsafe
93
- }, {
94
- key: "UNSAFE_componentWillReceiveProps",
95
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
96
- if (nextProps.profilecardProvider !== this.props.profilecardProvider) {
97
- this.updateProfilecardProvider(nextProps);
98
- }
99
- }
100
- }, {
101
- key: "updateProfilecardProvider",
102
- value: function updateProfilecardProvider(props) {
103
- var _this2 = this;
104
- // We are not using async/await here to avoid having an intermediate Promise
105
- // introduced by the transpiler.
106
- // This will allow consumer to use a SynchronousPromise.resolve and avoid useless
107
- // rerendering
108
- if (props.profilecardProvider) {
109
- props.profilecardProvider.then(function (profilecardProvider) {
110
- _this2.setState({
111
- profilecardProvider: profilecardProvider
112
- });
113
- }).catch(function () {
114
- _this2.setState({
115
- profilecardProvider: null
116
- });
117
- });
118
- } else {
119
- this.setState({
120
- profilecardProvider: null
121
- });
122
- }
123
- }
124
- }, {
125
- key: "render",
126
- value: function render() {
127
- var _this$props = this.props,
128
- accessLevel = _this$props.accessLevel,
129
- eventHandlers = _this$props.eventHandlers,
130
- id = _this$props.id,
131
- mentionProvider = _this$props.mentionProvider,
132
- text = _this$props.text,
133
- localId = _this$props.localId;
134
- var profilecardProvider = this.state.profilecardProvider;
135
-
136
- // Ignored via go/ees005
137
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
138
- var actionHandlers = {};
139
- ['onClick', 'onMouseEnter', 'onMouseLeave'].forEach(function (handler) {
140
- actionHandlers[handler] = eventHandlers && eventHandlers[handler] || noop;
141
- });
142
- var MentionComponent = profilecardProvider && GENERIC_USER_IDS.indexOf(id) === -1 ? ResourcedMentionWithProfilecard : ResourcedMention;
143
- return /*#__PURE__*/React.createElement(MentionComponent, _extends({
144
- id: id,
145
- text: text,
146
- accessLevel: accessLevel,
147
- localId: localId,
148
- mentionProvider: mentionProvider
149
- // Ignored via go/ees005
150
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
151
- ,
152
- profilecardProvider: profilecardProvider
153
- // Ignored via go/ees005
154
- // eslint-disable-next-line react/jsx-props-no-spreading
155
- }, actionHandlers));
156
- }
157
- }]);
158
- }(PureComponent);
55
+ };
@@ -2,6 +2,7 @@ import { AllSelection, NodeSelection, TextSelection } from '@atlaskit/editor-pro
2
2
  import { ReplaceAroundStep, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
3
3
  import { hasParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
4
4
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { closest } from './dom';
6
7
 
7
8
  /**
@@ -47,7 +48,11 @@ export var isTextSelection = function isTextSelection(selection) {
47
48
  return selection instanceof TextSelection;
48
49
  };
49
50
  export var isElementInTableCell = function isElementInTableCell(element) {
50
- return closest(element, 'td') || closest(element, 'th');
51
+ if (fg('platform_editor_nested_tables_column_drag_fix')) {
52
+ return closest(element, 'td, th');
53
+ } else {
54
+ return closest(element, 'td') || closest(element, 'th');
55
+ }
51
56
  };
52
57
  export var isLastItemMediaGroup = function isLastItemMediaGroup(node) {
53
58
  var content = node.content;
@@ -1,9 +1,8 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
2
  import type { ADFEntity } from '@atlaskit/adf-utils/types';
3
3
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { EventDispatcher } from '../event-dispatcher';
6
- import { getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
7
6
  import type { ExtensionHandlers, ExtensionProvider, ReferenceEntity } from '../extensions';
8
7
  import type { ProsemirrorGetPosHandler } from '../react-node-view';
9
8
  import type { EditorAppearance } from '../types';
@@ -41,31 +40,4 @@ export type PropsNew = Omit<Props, 'extensionProvider'> & {
41
40
  setShowBodiedExtensionRendererView?: (showBodiedExtensionRendererView: boolean) => void;
42
41
  };
43
42
  export type StateNew = Omit<State, 'extensionProvider' | 'showBodiedExtensionRendererView'>;
44
- export declare class ExtensionComponentOld extends Component<Props, State> {
45
- private privatePropsParsed;
46
- state: State;
47
- mounted: boolean;
48
- UNSAFE_componentWillMount(): void;
49
- componentDidMount(): void;
50
- componentDidUpdate(): void;
51
- componentWillUnmount(): void;
52
- UNSAFE_componentWillReceiveProps(nextProps: Props): void;
53
- getNodeRenderer: import("memoize-one").MemoizedFn<typeof getNodeRenderer>;
54
- getExtensionModuleNodePrivateProps: import("memoize-one").MemoizedFn<typeof getExtensionModuleNodePrivateProps>;
55
- setIsNodeHovered: (isHovered: boolean) => void;
56
- setShowBodiedExtensionRendererView: (showRendererView: boolean) => void;
57
- render(): React.JSX.Element | null;
58
- private setStateFromPromise;
59
- /**
60
- * Parses any private nodes once an extension provider is available.
61
- *
62
- * We do this separately from resolving a node renderer component since the
63
- * private props come from extension provider, rather than an extension
64
- * handler which only handles `render`/component concerns.
65
- */
66
- private parsePrivateNodePropsIfNeeded;
67
- private tryExtensionHandler;
68
- private handleExtension;
69
- }
70
- export declare const ExtensionComponentNew: (props: Props) => React.JSX.Element;
71
43
  export declare const ExtensionComponent: (props: Props) => React.JSX.Element;
@@ -18,5 +18,6 @@ export interface HyperlinkAddToolbarProps extends Pick<EditorLinkPickerProps, 'o
18
18
  inputMethod?: string;
19
19
  searchSessionId?: string;
20
20
  timesViewed?: number;
21
+ isOffline?: boolean;
21
22
  }
22
- export declare function HyperlinkAddToolbar({ linkPickerOptions, onSubmit, displayText, displayUrl, providerFactory, view, onCancel, invokeMethod, lpLinkPicker, onClose, onEscapeCallback, onClickAwayCallback, editorAppearance, inputMethod, searchSessionId, timesViewed, }: HyperlinkAddToolbarProps): React.JSX.Element;
23
+ export declare function HyperlinkAddToolbar({ linkPickerOptions, onSubmit, displayText, displayUrl, providerFactory, view, onCancel, invokeMethod, lpLinkPicker, onClose, onEscapeCallback, onClickAwayCallback, editorAppearance, inputMethod, searchSessionId, timesViewed, isOffline, }: HyperlinkAddToolbarProps): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import React, { PureComponent } from 'react';
1
+ import React from 'react';
2
2
  import type { MentionProvider } from '@atlaskit/mention/resource';
3
3
  import type { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
4
  import type { MentionEventHandlers } from '../EventHandlers';
@@ -15,10 +15,3 @@ export interface State {
15
15
  profilecardProvider: ProfilecardProvider | null;
16
16
  }
17
17
  export declare const MentionWithProviders: ({ accessLevel, eventHandlers, id, mentionProvider, profilecardProvider: profilecardProviderResolver, text, localId, }: Props) => React.JSX.Element;
18
- export declare class MentionWithProvidersOld extends PureComponent<Props, State> {
19
- state: State;
20
- UNSAFE_componentWillMount(): void;
21
- UNSAFE_componentWillReceiveProps(nextProps: Props): void;
22
- private updateProfilecardProvider;
23
- render(): React.JSX.Element;
24
- }
@@ -1,9 +1,8 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
2
  import type { ADFEntity } from '@atlaskit/adf-utils/types';
3
3
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { EventDispatcher } from '../event-dispatcher';
6
- import { getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
7
6
  import type { ExtensionHandlers, ExtensionProvider, ReferenceEntity } from '../extensions';
8
7
  import type { ProsemirrorGetPosHandler } from '../react-node-view';
9
8
  import type { EditorAppearance } from '../types';
@@ -41,31 +40,4 @@ export type PropsNew = Omit<Props, 'extensionProvider'> & {
41
40
  setShowBodiedExtensionRendererView?: (showBodiedExtensionRendererView: boolean) => void;
42
41
  };
43
42
  export type StateNew = Omit<State, 'extensionProvider' | 'showBodiedExtensionRendererView'>;
44
- export declare class ExtensionComponentOld extends Component<Props, State> {
45
- private privatePropsParsed;
46
- state: State;
47
- mounted: boolean;
48
- UNSAFE_componentWillMount(): void;
49
- componentDidMount(): void;
50
- componentDidUpdate(): void;
51
- componentWillUnmount(): void;
52
- UNSAFE_componentWillReceiveProps(nextProps: Props): void;
53
- getNodeRenderer: import("memoize-one").MemoizedFn<typeof getNodeRenderer>;
54
- getExtensionModuleNodePrivateProps: import("memoize-one").MemoizedFn<typeof getExtensionModuleNodePrivateProps>;
55
- setIsNodeHovered: (isHovered: boolean) => void;
56
- setShowBodiedExtensionRendererView: (showRendererView: boolean) => void;
57
- render(): React.JSX.Element | null;
58
- private setStateFromPromise;
59
- /**
60
- * Parses any private nodes once an extension provider is available.
61
- *
62
- * We do this separately from resolving a node renderer component since the
63
- * private props come from extension provider, rather than an extension
64
- * handler which only handles `render`/component concerns.
65
- */
66
- private parsePrivateNodePropsIfNeeded;
67
- private tryExtensionHandler;
68
- private handleExtension;
69
- }
70
- export declare const ExtensionComponentNew: (props: Props) => React.JSX.Element;
71
43
  export declare const ExtensionComponent: (props: Props) => React.JSX.Element;
@@ -18,5 +18,6 @@ export interface HyperlinkAddToolbarProps extends Pick<EditorLinkPickerProps, 'o
18
18
  inputMethod?: string;
19
19
  searchSessionId?: string;
20
20
  timesViewed?: number;
21
+ isOffline?: boolean;
21
22
  }
22
- export declare function HyperlinkAddToolbar({ linkPickerOptions, onSubmit, displayText, displayUrl, providerFactory, view, onCancel, invokeMethod, lpLinkPicker, onClose, onEscapeCallback, onClickAwayCallback, editorAppearance, inputMethod, searchSessionId, timesViewed, }: HyperlinkAddToolbarProps): React.JSX.Element;
23
+ export declare function HyperlinkAddToolbar({ linkPickerOptions, onSubmit, displayText, displayUrl, providerFactory, view, onCancel, invokeMethod, lpLinkPicker, onClose, onEscapeCallback, onClickAwayCallback, editorAppearance, inputMethod, searchSessionId, timesViewed, isOffline, }: HyperlinkAddToolbarProps): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import React, { PureComponent } from 'react';
1
+ import React from 'react';
2
2
  import type { MentionProvider } from '@atlaskit/mention/resource';
3
3
  import type { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
4
  import type { MentionEventHandlers } from '../EventHandlers';
@@ -15,10 +15,3 @@ export interface State {
15
15
  profilecardProvider: ProfilecardProvider | null;
16
16
  }
17
17
  export declare const MentionWithProviders: ({ accessLevel, eventHandlers, id, mentionProvider, profilecardProvider: profilecardProviderResolver, text, localId, }: Props) => React.JSX.Element;
18
- export declare class MentionWithProvidersOld extends PureComponent<Props, State> {
19
- state: State;
20
- UNSAFE_componentWillMount(): void;
21
- UNSAFE_componentWillReceiveProps(nextProps: Props): void;
22
- private updateProfilecardProvider;
23
- render(): React.JSX.Element;
24
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "100.0.0",
3
+ "version": "100.1.1",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -119,7 +119,7 @@
119
119
  "@atlaskit/analytics-namespaced-context": "^7.0.0",
120
120
  "@atlaskit/analytics-next": "^11.0.0",
121
121
  "@atlaskit/atlassian-context": "^0.2.0",
122
- "@atlaskit/button": "^21.0.0",
122
+ "@atlaskit/button": "^21.1.0",
123
123
  "@atlaskit/code": "^16.0.0",
124
124
  "@atlaskit/codemod-utils": "^4.2.0",
125
125
  "@atlaskit/custom-steps": "^0.10.0",
@@ -130,7 +130,7 @@
130
130
  "@atlaskit/editor-shared-styles": "^3.3.0",
131
131
  "@atlaskit/editor-tables": "^2.9.0",
132
132
  "@atlaskit/emoji": "^68.0.0",
133
- "@atlaskit/icon": "^24.0.0",
133
+ "@atlaskit/icon": "^24.1.0",
134
134
  "@atlaskit/icon-object": "^7.0.0",
135
135
  "@atlaskit/link-datasource": "^3.21.0",
136
136
  "@atlaskit/link-picker": "^2.0.0",
@@ -147,16 +147,16 @@
147
147
  "@atlaskit/onboarding": "^13.0.0",
148
148
  "@atlaskit/platform-feature-flags": "^1.1.0",
149
149
  "@atlaskit/popper": "^7.0.0",
150
- "@atlaskit/primitives": "^14.0.0",
151
- "@atlaskit/profilecard": "^23.0.0",
150
+ "@atlaskit/primitives": "^14.1.0",
151
+ "@atlaskit/profilecard": "^23.1.0",
152
152
  "@atlaskit/section-message": "^8.0.0",
153
153
  "@atlaskit/smart-card": "^35.0.0",
154
154
  "@atlaskit/smart-user-picker": "^8.0.0",
155
155
  "@atlaskit/spinner": "^18.0.0",
156
156
  "@atlaskit/task-decision": "^19.0.0",
157
157
  "@atlaskit/textfield": "^8.0.0",
158
- "@atlaskit/tmp-editor-statsig": "^3.0.0",
159
- "@atlaskit/tokens": "^4.0.0",
158
+ "@atlaskit/tmp-editor-statsig": "^3.2.0",
159
+ "@atlaskit/tokens": "^4.2.0",
160
160
  "@atlaskit/tooltip": "^20.0.0",
161
161
  "@atlaskit/width-detector": "^5.0.0",
162
162
  "@babel/runtime": "^7.0.0",
@@ -246,15 +246,9 @@
246
246
  "editor_inline_comments_paste_insert_nodes": {
247
247
  "type": "boolean"
248
248
  },
249
- "platform_editor_react18_mention_with_provider_fix": {
250
- "type": "boolean"
251
- },
252
249
  "platform_editor_react18_phase2_v2": {
253
250
  "type": "boolean"
254
251
  },
255
- "platform_editor_react18_extension_component_v2": {
256
- "type": "boolean"
257
- },
258
252
  "platform_editor_is_disabled_state_element_browser": {
259
253
  "type": "boolean"
260
254
  },
@@ -320,6 +314,9 @@
320
314
  },
321
315
  "platform_editor_renderer_table_header_styles": {
322
316
  "type": "boolean"
317
+ },
318
+ "platform_editor_nested_tables_column_drag_fix": {
319
+ "type": "boolean"
323
320
  }
324
321
  }
325
322
  }