@atlaskit/editor-common 100.1.0 → 100.1.2

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 +21 -0
  2. package/dist/cjs/extensibility/ExtensionComponent.js +72 -374
  3. package/dist/cjs/monitoring/error.js +1 -1
  4. package/dist/cjs/ui/DropList/index.js +1 -1
  5. package/dist/cjs/ui/Mention/index.js +1 -13
  6. package/dist/cjs/ui/Mention/mention-with-providers.js +2 -105
  7. package/dist/cjs/ui-menu/DropdownMenu/index.js +1 -1
  8. package/dist/cjs/utils/editor-core-utils.js +6 -1
  9. package/dist/es2019/extensibility/ExtensionComponent.js +7 -287
  10. package/dist/es2019/monitoring/error.js +1 -1
  11. package/dist/es2019/ui/DropList/index.js +1 -1
  12. package/dist/es2019/ui/Mention/index.js +2 -14
  13. package/dist/es2019/ui/Mention/mention-with-providers.js +2 -83
  14. package/dist/es2019/ui-menu/DropdownMenu/index.js +3 -1
  15. package/dist/es2019/utils/editor-core-utils.js +6 -1
  16. package/dist/esm/extensibility/ExtensionComponent.js +69 -372
  17. package/dist/esm/monitoring/error.js +1 -1
  18. package/dist/esm/ui/DropList/index.js +1 -1
  19. package/dist/esm/ui/Mention/index.js +2 -14
  20. package/dist/esm/ui/Mention/mention-with-providers.js +2 -105
  21. package/dist/esm/ui-menu/DropdownMenu/index.js +3 -1
  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/ui/Mention/mention-with-providers.d.ts +1 -8
  25. package/dist/types/ui-menu/DropdownMenu/index.d.ts +0 -4
  26. package/dist/types-ts4.5/extensibility/ExtensionComponent.d.ts +1 -29
  27. package/dist/types-ts4.5/ui/Mention/mention-with-providers.d.ts +1 -8
  28. package/dist/types-ts4.5/ui-menu/DropdownMenu/index.d.ts +0 -4
  29. package/package.json +9 -12
@@ -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
+ };
@@ -20,7 +20,9 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
20
20
  * @jsxRuntime classic
21
21
  * @jsx jsx
22
22
  */
23
+
23
24
  import React, { PureComponent, useContext } from 'react';
25
+
24
26
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
27
  import { css, jsx } from '@emotion/react';
26
28
  import { akEditorFloatingPanelZIndex } from '@atlaskit/editor-shared-styles';
@@ -50,7 +52,7 @@ var buttonStyles = function buttonStyles(isActive, submenuActive) {
50
52
  * Hack for item to imitate old dropdown-menu selected styles
51
53
  */
52
54
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
53
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t> span,\n\t\t\t> span:hover,\n\t\t\t> span:active {\n\t\t\t\tbackground: ", ";\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t\t:focus > span[aria-disabled='false'] {\n\t\t\t\t", ";\n\t\t\t}\n\t\t\t:focus-visible,\n\t\t\t:focus-visible > span[aria-disabled='false'] {\n\t\t\t\toutline: none;\n\t\t\t}\n\t\t"])), "var(--ds-background-selected, #6c798f)", "var(--ds-text, #fff)", focusedMenuItemStyle);
55
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t> span,\n\t\t\t> span:hover,\n\t\t\t> span:active {\n\t\t\t\tbackground: ", ";\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t\t:focus > span[aria-disabled='false'] {\n\t\t\t\t", ";\n\t\t\t}\n\t\t\t:focus-visible,\n\t\t\t:focus-visible > span[aria-disabled='false'] {\n\t\t\t\toutline: none;\n\t\t\t}\n\t\t"])), "var(--ds-background-selected, #6c798f)", "var(--ds-text-selected, #0C66E4)", focusedMenuItemStyle);
54
56
  } else {
55
57
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
56
58
  return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n\t\t\t> span:hover[aria-disabled='false'] {\n\t\t\t\tcolor: ", ";\n\t\t\t\tbackground-color: ", ";\n\t\t\t}\n\t\t\t", "\n\t\t\t> span[aria-disabled='true'] {\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t\t:focus > span[aria-disabled='false'] {\n\t\t\t\t", ";\n\t\t\t}\n\t\t\t:focus-visible,\n\t\t\t:focus-visible > span[aria-disabled='false'] {\n\t\t\t\toutline: none;\n\t\t\t}\n\t\t"])), "var(--ds-text, #172B4D)", "var(--ds-background-neutral-subtle-hovered, rgb(244, 245, 247))", !submenuActive && "\n\t\t\t\t\t> span:active[aria-disabled='false'] {\n\t\t\t\t\t\tbackground-color: ".concat("var(--ds-background-neutral-subtle-pressed, rgb(179, 212, 255))", ";\n\t\t\t\t\t}"), "var(--ds-text-disabled, #091E424F)", focusedMenuItemStyle); // The default focus-visible style is removed to ensure consistency across browsers
@@ -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;
@@ -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,7 +1,3 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
1
  import React, { PureComponent } from 'react';
6
2
  import { jsx } from '@emotion/react';
7
3
  import type { MenuItem, Props, State } from './types';
@@ -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;
@@ -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,7 +1,3 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
1
  import React, { PureComponent } from 'react';
6
2
  import { jsx } from '@emotion/react';
7
3
  import type { MenuItem, Props, State } from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "100.1.0",
3
+ "version": "100.1.2",
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/"
@@ -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",
@@ -143,11 +143,11 @@
143
143
  "@atlaskit/media-ui": "^28.0.0",
144
144
  "@atlaskit/media-viewer": "51.0.0",
145
145
  "@atlaskit/mention": "^24.0.0",
146
- "@atlaskit/menu": "^3.0.0",
146
+ "@atlaskit/menu": "^3.1.0",
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",
150
+ "@atlaskit/primitives": "^14.1.0",
151
151
  "@atlaskit/profilecard": "^23.1.0",
152
152
  "@atlaskit/section-message": "^8.0.0",
153
153
  "@atlaskit/smart-card": "^35.0.0",
@@ -155,8 +155,8 @@
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.1.0",
159
- "@atlaskit/tokens": "^4.1.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
  }