@atlaskit/editor-core 187.48.0 → 187.48.4

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 (93) hide show
  1. package/CHANGELOG.md +521 -507
  2. package/dist/cjs/{editor-next → composable-editor}/editor-internal.js +2 -22
  3. package/dist/cjs/{editor-next/index.js → composable-editor/editor.js} +14 -8
  4. package/dist/cjs/composable-editor.js +2 -3
  5. package/dist/cjs/editor.js +4 -4
  6. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +3 -70
  7. package/dist/cjs/plugins/floating-toolbar/utils.js +0 -41
  8. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -1
  9. package/dist/cjs/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +28 -11
  10. package/dist/cjs/ui/CollapsedEditor/index.js +3 -3
  11. package/dist/cjs/version-wrapper.js +1 -1
  12. package/dist/es2019/{editor-next → composable-editor}/editor-internal.js +1 -23
  13. package/dist/es2019/{editor-next/index.js → composable-editor/editor.js} +14 -6
  14. package/dist/es2019/composable-editor.js +1 -1
  15. package/dist/es2019/editor.js +4 -4
  16. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +1 -52
  17. package/dist/es2019/plugins/floating-toolbar/utils.js +0 -36
  18. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -1
  19. package/dist/es2019/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +21 -4
  20. package/dist/es2019/ui/CollapsedEditor/index.js +3 -3
  21. package/dist/es2019/version-wrapper.js +1 -1
  22. package/dist/esm/{editor-next → composable-editor}/editor-internal.js +1 -20
  23. package/dist/esm/{editor-next/index.js → composable-editor/editor.js} +14 -6
  24. package/dist/esm/composable-editor.js +1 -1
  25. package/dist/esm/editor.js +4 -4
  26. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +1 -66
  27. package/dist/esm/plugins/floating-toolbar/utils.js +0 -37
  28. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -1
  29. package/dist/esm/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +21 -4
  30. package/dist/esm/ui/CollapsedEditor/index.js +3 -3
  31. package/dist/esm/version-wrapper.js +1 -1
  32. package/dist/{types-ts4.5/editor-next → types/composable-editor}/editor-internal.d.ts +4 -13
  33. package/dist/types/{editor-next/index.d.ts → composable-editor/editor.d.ts} +2 -4
  34. package/dist/types/{editor-next → composable-editor}/hooks/useMeasureEditorMountTime.d.ts +3 -3
  35. package/dist/types/{editor-next → composable-editor}/utils/getBaseFontSize.d.ts +1 -1
  36. package/dist/{types-ts4.5/editor-next → types/composable-editor}/utils/getProvidersFromEditorProps.d.ts +2 -2
  37. package/dist/types/{editor-next → composable-editor}/utils/sendDurationAnalytics.d.ts +4 -4
  38. package/dist/{types-ts4.5/editor-next → types/composable-editor}/utils/trackEditorActions.d.ts +3 -3
  39. package/dist/types/composable-editor.d.ts +1 -1
  40. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/commands.d.ts +1 -1
  41. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.d.ts +1 -1
  42. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +1 -1
  43. package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -4
  44. package/dist/types/plugins/floating-toolbar/utils.d.ts +0 -2
  45. package/dist/{types/editor-next → types-ts4.5/composable-editor}/editor-internal.d.ts +4 -13
  46. package/dist/types-ts4.5/{editor-next/index.d.ts → composable-editor/editor.d.ts} +2 -4
  47. package/dist/types-ts4.5/{editor-next → composable-editor}/hooks/useMeasureEditorMountTime.d.ts +3 -3
  48. package/dist/types-ts4.5/{editor-next → composable-editor}/utils/getBaseFontSize.d.ts +1 -1
  49. package/dist/{types/editor-next → types-ts4.5/composable-editor}/utils/getProvidersFromEditorProps.d.ts +2 -2
  50. package/dist/types-ts4.5/{editor-next → composable-editor}/utils/sendDurationAnalytics.d.ts +4 -4
  51. package/dist/{types/editor-next → types-ts4.5/composable-editor}/utils/trackEditorActions.d.ts +3 -3
  52. package/dist/types-ts4.5/composable-editor.d.ts +1 -1
  53. package/dist/types-ts4.5/plugins/floating-toolbar/pm-plugins/toolbar-data/commands.d.ts +1 -1
  54. package/dist/types-ts4.5/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.d.ts +1 -1
  55. package/dist/types-ts4.5/plugins/floating-toolbar/ui/Select.d.ts +1 -1
  56. package/dist/types-ts4.5/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -4
  57. package/dist/types-ts4.5/plugins/floating-toolbar/utils.d.ts +0 -2
  58. package/package.json +2 -2
  59. /package/dist/cjs/{editor-next → composable-editor}/hooks/useEditorMeasuresConstructor.js +0 -0
  60. /package/dist/cjs/{editor-next → composable-editor}/hooks/useMeasureEditorMountTime.js +0 -0
  61. /package/dist/cjs/{editor-next → composable-editor}/hooks/useProviderFactory.js +0 -0
  62. /package/dist/cjs/{editor-next → composable-editor}/utils/editorMeasureTTICallback.js +0 -0
  63. /package/dist/cjs/{editor-next → composable-editor}/utils/getBaseFontSize.js +0 -0
  64. /package/dist/cjs/{editor-next → composable-editor}/utils/getProvidersFromEditorProps.js +0 -0
  65. /package/dist/cjs/{editor-next → composable-editor}/utils/handleProviders.js +0 -0
  66. /package/dist/cjs/{editor-next → composable-editor}/utils/sendDurationAnalytics.js +0 -0
  67. /package/dist/cjs/{editor-next → composable-editor}/utils/trackEditorActions.js +0 -0
  68. /package/dist/es2019/{editor-next → composable-editor}/hooks/useEditorMeasuresConstructor.js +0 -0
  69. /package/dist/es2019/{editor-next → composable-editor}/hooks/useMeasureEditorMountTime.js +0 -0
  70. /package/dist/es2019/{editor-next → composable-editor}/hooks/useProviderFactory.js +0 -0
  71. /package/dist/es2019/{editor-next → composable-editor}/utils/editorMeasureTTICallback.js +0 -0
  72. /package/dist/es2019/{editor-next → composable-editor}/utils/getBaseFontSize.js +0 -0
  73. /package/dist/es2019/{editor-next → composable-editor}/utils/getProvidersFromEditorProps.js +0 -0
  74. /package/dist/es2019/{editor-next → composable-editor}/utils/handleProviders.js +0 -0
  75. /package/dist/es2019/{editor-next → composable-editor}/utils/sendDurationAnalytics.js +0 -0
  76. /package/dist/es2019/{editor-next → composable-editor}/utils/trackEditorActions.js +0 -0
  77. /package/dist/esm/{editor-next → composable-editor}/hooks/useEditorMeasuresConstructor.js +0 -0
  78. /package/dist/esm/{editor-next → composable-editor}/hooks/useMeasureEditorMountTime.js +0 -0
  79. /package/dist/esm/{editor-next → composable-editor}/hooks/useProviderFactory.js +0 -0
  80. /package/dist/esm/{editor-next → composable-editor}/utils/editorMeasureTTICallback.js +0 -0
  81. /package/dist/esm/{editor-next → composable-editor}/utils/getBaseFontSize.js +0 -0
  82. /package/dist/esm/{editor-next → composable-editor}/utils/getProvidersFromEditorProps.js +0 -0
  83. /package/dist/esm/{editor-next → composable-editor}/utils/handleProviders.js +0 -0
  84. /package/dist/esm/{editor-next → composable-editor}/utils/sendDurationAnalytics.js +0 -0
  85. /package/dist/esm/{editor-next → composable-editor}/utils/trackEditorActions.js +0 -0
  86. /package/dist/types/{editor-next → composable-editor}/hooks/useEditorMeasuresConstructor.d.ts +0 -0
  87. /package/dist/types/{editor-next → composable-editor}/hooks/useProviderFactory.d.ts +0 -0
  88. /package/dist/types/{editor-next → composable-editor}/utils/editorMeasureTTICallback.d.ts +0 -0
  89. /package/dist/types/{editor-next → composable-editor}/utils/handleProviders.d.ts +0 -0
  90. /package/dist/types-ts4.5/{editor-next → composable-editor}/hooks/useEditorMeasuresConstructor.d.ts +0 -0
  91. /package/dist/types-ts4.5/{editor-next → composable-editor}/hooks/useProviderFactory.d.ts +0 -0
  92. /package/dist/types-ts4.5/{editor-next → composable-editor}/utils/editorMeasureTTICallback.d.ts +0 -0
  93. /package/dist/types-ts4.5/{editor-next → composable-editor}/utils/handleProviders.d.ts +0 -0
@@ -4,8 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.EditorInternalWithoutHooks = EditorInternalWithoutHooks;
8
- exports.default = EditorInternal;
7
+ exports.EditorInternal = EditorInternal;
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _react = require("react");
11
10
  var _react2 = require("@emotion/react");
@@ -20,33 +19,14 @@ var _contextAdapter = require("../nodeviews/context-adapter");
20
19
  var _EditorContext = _interopRequireDefault(require("../ui/EditorContext"));
21
20
  var _context = require("../presets/context");
22
21
  var _RenderTracking = require("../utils/performance/components/RenderTracking");
23
- var _useMeasureEditorMountTime = _interopRequireDefault(require("./hooks/useMeasureEditorMountTime"));
24
- var _useProviderFactory = _interopRequireDefault(require("./hooks/useProviderFactory"));
25
22
  var _getBaseFontSize = require("./utils/getBaseFontSize");
26
23
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
24
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
28
- /**
29
- * EditorInternal is used for the internal editor react component
30
- * with the lifecycle methods extracted into hooks.
31
- */
32
- function EditorInternal(props) {
33
- var editorProps = props.props,
34
- getExperienceStore = props.getExperienceStore,
35
- editorActions = props.editorActions,
36
- createAnalyticsEvent = props.createAnalyticsEvent;
37
- (0, _useMeasureEditorMountTime.default)(editorProps, getExperienceStore, createAnalyticsEvent);
38
- var providerFactory = (0, _useProviderFactory.default)(editorProps, editorActions, createAnalyticsEvent);
39
- var updatedProps = _objectSpread(_objectSpread({}, props), {}, {
40
- providerFactory: providerFactory
41
- });
42
- return (0, _react2.jsx)(EditorInternalWithoutHooks, updatedProps);
43
- }
44
-
45
25
  /**
46
26
  * EditorInternalComponent is used to capture the common component
47
27
  * from the `render` method of `Editor` and share it with `EditorNext`.
48
28
  */
49
- function EditorInternalWithoutHooks(_ref) {
29
+ function EditorInternal(_ref) {
50
30
  var _props$performanceTra, _props$performanceTra2, _props$performanceTra3, _props$performanceTra4;
51
31
  var props = _ref.props,
52
32
  handleAnalyticsEvent = _ref.handleAnalyticsEvent,
@@ -4,8 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Editor = Editor;
8
- exports.default = EditorNext;
7
+ exports.ComposableEditor = ComposableEditor;
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _react = require("react");
11
10
  var _react2 = require("@emotion/react");
@@ -22,11 +21,16 @@ var _analyticsNext = require("@atlaskit/analytics-next");
22
21
  var _hooks = require("@atlaskit/editor-common/hooks");
23
22
  var _EditorContext = require("../ui/EditorContext");
24
23
  var _measureEnum = _interopRequireDefault(require("../utils/performance/measure-enum"));
25
- var _editorInternal = _interopRequireDefault(require("./editor-internal"));
24
+ var _editorInternal = require("./editor-internal");
26
25
  var _sendDurationAnalytics = _interopRequireDefault(require("./utils/sendDurationAnalytics"));
27
26
  var _trackEditorActions = _interopRequireDefault(require("./utils/trackEditorActions"));
27
+ var _useMeasureEditorMountTime = _interopRequireDefault(require("./hooks/useMeasureEditorMountTime"));
28
+ var _useProviderFactory = _interopRequireDefault(require("./hooks/useProviderFactory"));
28
29
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
31
+ /**
32
+ * Editor wrapper that deals with the lifecycle logic of the editor
33
+ */
30
34
  function Editor(passedProps) {
31
35
  var _editorContext$editor;
32
36
  var defaultProps = {
@@ -75,7 +79,9 @@ function Editor(passedProps) {
75
79
  editorActions.current._privateUnregisterEditor();
76
80
  (_props$onDestroy = props.onDestroy) === null || _props$onDestroy === void 0 ? void 0 : _props$onDestroy.call(props);
77
81
  };
78
- return (0, _react2.jsx)(_editorInternal.default, {
82
+ (0, _useMeasureEditorMountTime.default)(props, getExperienceStore, createAnalyticsEvent);
83
+ var providerFactory = (0, _useProviderFactory.default)(props, editorActions.current, createAnalyticsEvent);
84
+ return (0, _react2.jsx)(_editorInternal.EditorInternal, {
79
85
  props: props,
80
86
  handleAnalyticsEvent: handleAnalyticsEvent,
81
87
  createAnalyticsEvent: createAnalyticsEvent,
@@ -85,12 +91,12 @@ function Editor(passedProps) {
85
91
  return (_props$onSave = props.onSave) === null || _props$onSave === void 0 ? void 0 : _props$onSave.call(props, view);
86
92
  },
87
93
  editorActions: editorActions.current,
88
- getExperienceStore: getExperienceStore,
89
94
  onEditorCreated: onEditorCreated,
90
- onEditorDestroyed: onEditorDestroyed
95
+ onEditorDestroyed: onEditorDestroyed,
96
+ providerFactory: providerFactory
91
97
  });
92
98
  }
93
- function EditorNext(props) {
99
+ function ComposableEditor(props) {
94
100
  var editorSessionId = (0, _react.useRef)((0, _v.default)());
95
101
  return (0, _react2.jsx)(_analyticsNamespacedContext.FabricEditorAnalyticsContext, {
96
102
  data: {
@@ -102,7 +108,7 @@ function EditorNext(props) {
102
108
  }
103
109
  }, (0, _react2.jsx)(Editor, props));
104
110
  }
105
- EditorNext.propTypes = {
111
+ ComposableEditor.propTypes = {
106
112
  minHeight: function minHeight(_ref) {
107
113
  var appearance = _ref.appearance,
108
114
  _minHeight = _ref.minHeight;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  Object.defineProperty(exports, "ComposableEditor", {
8
7
  enumerable: true,
9
8
  get: function get() {
10
- return _editorNext.default;
9
+ return _editor.ComposableEditor;
11
10
  }
12
11
  });
13
- var _editorNext = _interopRequireDefault(require("./editor-next"));
12
+ var _editor = require("./composable-editor/editor");
@@ -15,16 +15,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _react2 = require("@emotion/react");
17
17
  var _editorDeprecationWarnings = _interopRequireDefault(require("./utils/editorDeprecationWarnings"));
18
- var _editorNext = _interopRequireDefault(require("./editor-next"));
18
+ var _composableEditor = require("./composable-editor");
19
19
  var _useUniversalPreset = _interopRequireDefault(require("./labs/next/presets/useUniversalPreset"));
20
20
  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); }; }
21
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
22
- var EditorNextWrapper = function EditorNextWrapper(_ref) {
22
+ var ComposableEditorWrapper = function ComposableEditorWrapper(_ref) {
23
23
  var props = _ref.props;
24
24
  var preset = (0, _useUniversalPreset.default)({
25
25
  props: props
26
26
  });
27
- return (0, _react2.jsx)(_editorNext.default, (0, _extends2.default)({
27
+ return (0, _react2.jsx)(_composableEditor.ComposableEditor, (0, _extends2.default)({
28
28
  preset: preset
29
29
  }, props));
30
30
  };
@@ -41,7 +41,7 @@ var Editor = /*#__PURE__*/function (_React$Component) {
41
41
  (0, _createClass2.default)(Editor, [{
42
42
  key: "render",
43
43
  value: function render() {
44
- return (0, _react2.jsx)(EditorNextWrapper, {
44
+ return (0, _react2.jsx)(ComposableEditorWrapper, {
45
45
  props: this.props
46
46
  });
47
47
  }
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.isSameItem = exports.default = exports.areSameItems = void 0;
8
+ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -22,7 +22,6 @@ var _editorPalette = require("@atlaskit/editor-palette");
22
22
  var _components = require("@atlaskit/theme/components");
23
23
  var _constants = require("@atlaskit/theme/constants");
24
24
  var _colors = require("@atlaskit/theme/colors");
25
- var _utils = require("../utils");
26
25
  var _commands = require("../pm-plugins/toolbar-data/commands");
27
26
  var _ui = require("@atlaskit/editor-common/ui");
28
27
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
@@ -30,6 +29,7 @@ var _Select = _interopRequireDefault(require("./Select"));
30
29
  var _Separator = _interopRequireDefault(require("./Separator"));
31
30
  var _Input = _interopRequireDefault(require("./Input"));
32
31
  var _ExtensionsPlaceholder = require("./ExtensionsPlaceholder");
32
+ var _floatingToolbar = require("@atlaskit/editor-common/floating-toolbar");
33
33
  var _uiMenu = require("@atlaskit/editor-common/ui-menu");
34
34
  var _uiColor = require("@atlaskit/editor-common/ui-color");
35
35
  var _EmojiPickerButton = require("./EmojiPickerButton");
@@ -244,7 +244,7 @@ var ToolbarItems = /*#__PURE__*/_react.default.memo(function (_ref) {
244
244
  }
245
245
  // only rerender toolbar items if the node is different
246
246
  // otherwise it causes an issue where multiple popups stays open
247
- return !(prevProps.node.type !== nextProps.node.type || prevProps.node.attrs.localId !== nextProps.node.attrs.localId || !areSameItems(prevProps.items, nextProps.items) || !prevProps.mounted !== !nextProps.mounted);
247
+ return !(prevProps.node.type !== nextProps.node.type || prevProps.node.attrs.localId !== nextProps.node.attrs.localId || !(0, _floatingToolbar.areSameItems)(prevProps.items, nextProps.items) || !prevProps.mounted !== !nextProps.mounted);
248
248
  });
249
249
  var toolbarContainer = function toolbarContainer(theme, scrollable, hasSelect, firstElementIsSelect) {
250
250
  return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n border-radius: ", "px;\n box-shadow: ", ";\n display: flex;\n line-height: 1;\n box-sizing: border-box;\n\n & > div > div {\n align-items: center;\n }\n ", "\n"])), (0, _components.themed)({
@@ -255,73 +255,6 @@ var toolbarContainer = function toolbarContainer(theme, scrollable, hasSelect, f
255
255
  var toolbarOverflow = function toolbarOverflow(scrollable, scrollDisabled, firstElementIsSelect) {
256
256
  return (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), scrollable ? (0, _react2.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n -webkit-overflow-scrolling: touch;\n padding: ", " 0 50px;\n > div {\n > div:first-child {\n ", "\n }\n > div:last-child {\n margin-right: ", ";\n }\n }\n "])), scrollDisabled ? (0, _react2.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n overflow: hidden;\n "]))) : (0, _react2.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n overflow-x: auto;\n overflow-y: hidden;\n "]))), "var(--ds-space-050, 4px)", firstElementIsSelect ? (0, _react2.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n "])), "var(--ds-space-050, 4px)") : (0, _react2.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n "])), "var(--ds-space-100, 8px)"), "var(--ds-space-100, 8px)") : (0, _react2.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n "]))));
257
257
  };
258
- function makeSameType(_a, _b) {
259
- return true;
260
- }
261
- var compareItemWithKeys = function compareItemWithKeys(leftItem, rightItem) {
262
- var excludedKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
263
- return Object.keys(leftItem).filter(function (key) {
264
- return excludedKeys.indexOf(key) === -1;
265
- }).every(function (key) {
266
- return leftItem[key] instanceof Object ? (0, _utils.shallowEqual)(leftItem[key], rightItem[key]) : leftItem[key] === rightItem[key];
267
- });
268
- };
269
- var isSameItem = function isSameItem(leftItem, rightItem) {
270
- if (leftItem.type !== rightItem.type) {
271
- return false;
272
- }
273
- switch (leftItem.type) {
274
- case 'button':
275
- // Need to typecast `rightItem as typeof leftItem` otherwise we will
276
- // have to put the `type !==` inside each case.
277
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onClick', 'onMouseEnter', 'onMouseLeave']);
278
- case 'copy-button':
279
- return compareItemWithKeys(leftItem, rightItem, ['type', 'items']);
280
- case 'input':
281
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onSubmit', 'onBlur']);
282
- case 'select':
283
- if (makeSameType(leftItem, rightItem) && Array.isArray(leftItem.options) && Array.isArray(rightItem.options) && !(0, _utils.compareArrays)(leftItem.options, rightItem.options, function (left, right) {
284
- return compareItemWithKeys(left, right);
285
- })) {
286
- return false;
287
- }
288
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onChange', 'options']);
289
- case 'dropdown':
290
- if (makeSameType(leftItem, rightItem) && Array.isArray(leftItem.options) && Array.isArray(rightItem.options) &&
291
- // @ts-expect-error TS2345: Argument of type 'DropdownOptionT<Function>[]' is not assignable to parameter of type 'any[][]'
292
- !(0, _utils.compareArrays)(leftItem.options, rightItem.options, function (left, right) {
293
- return (
294
- // @ts-expect-error TS2322: Type '"onClick"' is not assignable to type 'keyof any[]'
295
- compareItemWithKeys(left, right, ['onClick'])
296
- );
297
- })) {
298
- return false;
299
- }
300
- return compareItemWithKeys(leftItem, rightItem, ['type', 'options']);
301
- case 'custom':
302
- return false;
303
- case 'separator':
304
- return compareItemWithKeys(leftItem, rightItem);
305
- case 'extensions-placeholder':
306
- return compareItemWithKeys(leftItem, rightItem);
307
- }
308
- };
309
- exports.isSameItem = isSameItem;
310
- var areSameItems = function areSameItems(leftArr, rightArr) {
311
- if (leftArr === undefined && rightArr === undefined) {
312
- return true;
313
- }
314
- if (leftArr === undefined || rightArr === undefined) {
315
- return false;
316
- }
317
- if (leftArr.length !== rightArr.length) {
318
- return false;
319
- }
320
- return leftArr.every(function (item, index) {
321
- return isSameItem(rightArr[index], item);
322
- });
323
- };
324
- exports.areSameItems = areSameItems;
325
258
  var Toolbar = /*#__PURE__*/function (_Component) {
326
259
  (0, _inherits2.default)(Toolbar, _Component);
327
260
  var _super = _createSuper(Toolbar);
@@ -3,49 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.compareArrays = void 0;
7
6
  exports.findNode = findNode;
8
- exports.shallowEqual = void 0;
9
- var shallowEqual = function shallowEqual(objA, objB) {
10
- if (objA === objB) {
11
- return true;
12
- }
13
- if (objA == null || objB == null) {
14
- return false;
15
- }
16
- var keysA = Object.keys(objA);
17
- var keysB = Object.keys(objB);
18
- if (keysA.length !== keysB.length) {
19
- return false;
20
- }
21
- var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
22
- for (var idx = 0; idx < keysA.length; idx++) {
23
- var key = keysA[idx];
24
- if (!bHasOwnProperty(key)) {
25
- return false;
26
- }
27
- if (objA[key] !== objB[key]) {
28
- return false;
29
- }
30
- }
31
- return true;
32
- };
33
- exports.shallowEqual = shallowEqual;
34
- var compareArrays = function compareArrays(left, right) {
35
- var compareFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : shallowEqual;
36
- if (left.length !== right.length) {
37
- return false;
38
- }
39
- for (var idx = 0; idx < left.length; idx++) {
40
- if (!compareFn(left[idx], right[idx])) {
41
- return false;
42
- }
43
- }
44
- return true;
45
- };
46
-
47
7
  // find node in descendants by condition
48
- exports.compareArrays = compareArrays;
49
8
  function findNode(parent, predicate) {
50
9
  var matchedNode;
51
10
  parent.descendants(function (node) {
@@ -21,6 +21,7 @@ var _picker = require("@atlaskit/emoji/picker");
21
21
  var _ui = require("@atlaskit/editor-common/ui");
22
22
  var _ToolbarButton = _interopRequireDefault(require("../../../../ui/ToolbarButton"));
23
23
  var _styles = require("@atlaskit/editor-common/styles");
24
+ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
24
25
  var _actions = require("../../../date/actions");
25
26
  var _actions2 = require("../../../placeholder-text/actions");
26
27
  var _actions3 = require("../../../layout/actions");
@@ -438,7 +439,8 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
438
439
  mountTo: popupsMountPoint,
439
440
  boundariesElement: popupsBoundariesElement,
440
441
  scrollableElement: popupsScrollableElement,
441
- focusTrap: true
442
+ focusTrap: true,
443
+ zIndex: _editorSharedStyles.akEditorMenuZIndex
442
444
  }, (0, _react2.jsx)(EmojiPickerWithListeners, {
443
445
  emojiProvider: emojiProvider,
444
446
  onSelection: this.handleSelectedEmoji,
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.subscribeToToolbarAndPickerUpdates = void 0;
7
- var _pluginKey = require("../../date/pm-plugins/plugin-key");
8
- var _floatingToolbar = require("../../floating-toolbar");
9
- var _pluginKey2 = require("../../status/plugin-key");
10
- var _Toolbar = require("../../floating-toolbar/ui/Toolbar");
7
+ var _floatingToolbar = require("@atlaskit/editor-common/floating-toolbar");
11
8
  var _utils = require("../../type-ahead/utils");
12
9
  var _ = require("..");
13
10
  var areToolbarsSame = function areToolbarsSame(left, right) {
@@ -27,7 +24,7 @@ var areToolbarsSame = function areToolbarsSame(left, right) {
27
24
  }
28
25
  var leftItems = Array.isArray(leftConfig.items) ? leftConfig.items : leftConfig.items(left.node);
29
26
  var rightItems = Array.isArray(rightConfig.items) ? rightConfig.items : rightConfig.items(right.node);
30
- return (0, _Toolbar.areSameItems)(leftItems, rightItems);
27
+ return (0, _floatingToolbar.areSameItems)(leftItems, rightItems);
31
28
  };
32
29
  var subscribeToToolbarAndPickerUpdates = function subscribeToToolbarAndPickerUpdates(editorView, cb) {
33
30
  var lastUpdatedState = null;
@@ -39,16 +36,36 @@ var subscribeToToolbarAndPickerUpdates = function subscribeToToolbarAndPickerUpd
39
36
  if ((0, _utils.isTypeAheadOpen)(newEditorState)) {
40
37
  return;
41
38
  }
42
- var dateState = _pluginKey.pluginKey.getState(newEditorState);
43
- var statusState = _pluginKey2.pluginKey.getState(newEditorState);
44
- var _ref2 = _floatingToolbar.pluginKey.getState(newEditorState),
39
+
40
+ // Creating fake plugin keys for these plugins for the mean time until all these plugins are extracted.
41
+ var datePluginKey = {
42
+ key: 'datePlugin$',
43
+ getState: function getState(state) {
44
+ return state['datePlugin$'];
45
+ }
46
+ };
47
+ var statusPluginKey = {
48
+ key: 'statusPlugin$',
49
+ getState: function getState(state) {
50
+ return state['statusPlugin$'];
51
+ }
52
+ };
53
+ var floatingToolbarPluginKey = {
54
+ key: 'floatingToolbarPluginKey$',
55
+ getState: function getState(state) {
56
+ return state['floatingToolbarPluginKey$'];
57
+ }
58
+ };
59
+ var dateState = datePluginKey.getState(newEditorState);
60
+ var statusState = statusPluginKey.getState(newEditorState);
61
+ var _ref2 = floatingToolbarPluginKey.getState(newEditorState),
45
62
  getConfigWithNodeInfo = _ref2.getConfigWithNodeInfo;
46
63
  var toolbarConfig = getConfigWithNodeInfo(newEditorState);
47
64
  var shouldCallback = false;
48
65
  if (lastUpdatedState) {
49
- var oldDateState = _pluginKey.pluginKey.getState(lastUpdatedState);
50
- var oldStatusState = _pluginKey2.pluginKey.getState(lastUpdatedState);
51
- var _ref3 = _floatingToolbar.pluginKey.getState(lastUpdatedState),
66
+ var oldDateState = datePluginKey.getState(lastUpdatedState);
67
+ var oldStatusState = statusPluginKey.getState(lastUpdatedState);
68
+ var _ref3 = floatingToolbarPluginKey.getState(lastUpdatedState),
52
69
  getOldConfigWithNodeInfo = _ref3.getConfigWithNodeInfo;
53
70
  var oldToolbarConfig = getOldConfigWithNodeInfo(lastUpdatedState);
54
71
  var isToolbarEqual = areToolbarsSame(toolbarConfig, oldToolbarConfig);
@@ -15,7 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
15
15
  var _ui = require("@atlaskit/editor-common/ui");
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
  var _editor = _interopRequireDefault(require("../../editor"));
18
- var _editorNext = _interopRequireDefault(require("../../editor-next"));
18
+ var _composableEditor = require("../../composable-editor");
19
19
  var _EditorWithActions = _interopRequireDefault(require("../../labs/EditorWithActions"));
20
20
  var _ChromeCollapsed = _interopRequireDefault(require("../ChromeCollapsed"));
21
21
  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); }; }
@@ -52,10 +52,10 @@ var CollapsedEditor = /*#__PURE__*/function (_React$Component) {
52
52
  value: function render() {
53
53
  var _this2 = this;
54
54
  var child = _react.default.Children.only(this.props.children);
55
- if (child.type !== _editor.default && child.type !== _EditorWithActions.default && child.type !== _editorNext.default) {
55
+ if (child.type !== _editor.default && child.type !== _EditorWithActions.default && child.type !== _composableEditor.ComposableEditor) {
56
56
  throw new Error('Expected child to be of type `Editor`');
57
57
  }
58
- this.functionalEditor = child.type === _editorNext.default;
58
+ this.functionalEditor = child.type === _composableEditor.ComposableEditor;
59
59
  if (!this.props.isExpanded) {
60
60
  return /*#__PURE__*/_react.default.createElement(_ui.IntlProviderIfMissingWrapper, null, /*#__PURE__*/_react.default.createElement(_ChromeCollapsed.default, {
61
61
  onFocus: this.props.onFocus,
@@ -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.48.0";
9
+ var version = "187.48.4";
10
10
  exports.version = version;
11
11
  var nextMajorVersion = function nextMajorVersion() {
12
12
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
@@ -12,34 +12,12 @@ import { ContextAdapter } from '../nodeviews/context-adapter';
12
12
  import EditorContext from '../ui/EditorContext';
13
13
  import { useSetPresetContext } from '../presets/context';
14
14
  import { RenderTracking } from '../utils/performance/components/RenderTracking';
15
- import useMeasureEditorMountTime from './hooks/useMeasureEditorMountTime';
16
- import useProviderFactory from './hooks/useProviderFactory';
17
15
  import { getBaseFontSize } from './utils/getBaseFontSize';
18
- /**
19
- * EditorInternal is used for the internal editor react component
20
- * with the lifecycle methods extracted into hooks.
21
- */
22
- export default function EditorInternal(props) {
23
- const {
24
- props: editorProps,
25
- getExperienceStore,
26
- editorActions,
27
- createAnalyticsEvent
28
- } = props;
29
- useMeasureEditorMountTime(editorProps, getExperienceStore, createAnalyticsEvent);
30
- const providerFactory = useProviderFactory(editorProps, editorActions, createAnalyticsEvent);
31
- const updatedProps = {
32
- ...props,
33
- providerFactory
34
- };
35
- return jsx(EditorInternalWithoutHooks, updatedProps);
36
- }
37
-
38
16
  /**
39
17
  * EditorInternalComponent is used to capture the common component
40
18
  * from the `render` method of `Editor` and share it with `EditorNext`.
41
19
  */
42
- export function EditorInternalWithoutHooks({
20
+ export function EditorInternal({
43
21
  props,
44
22
  handleAnalyticsEvent,
45
23
  createAnalyticsEvent,
@@ -14,10 +14,16 @@ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
14
14
  import { useConstructor } from '@atlaskit/editor-common/hooks';
15
15
  import { useEditorContext } from '../ui/EditorContext';
16
16
  import measurements from '../utils/performance/measure-enum';
17
- import EditorInternal from './editor-internal';
17
+ import { EditorInternal } from './editor-internal';
18
18
  import sendDurationAnalytics from './utils/sendDurationAnalytics';
19
19
  import trackEditorActions from './utils/trackEditorActions';
20
- export function Editor(passedProps) {
20
+ import useMeasureEditorMountTime from './hooks/useMeasureEditorMountTime';
21
+ import useProviderFactory from './hooks/useProviderFactory';
22
+
23
+ /**
24
+ * Editor wrapper that deals with the lifecycle logic of the editor
25
+ */
26
+ function Editor(passedProps) {
21
27
  var _editorContext$editor;
22
28
  const defaultProps = {
23
29
  appearance: 'comment',
@@ -61,6 +67,8 @@ export function Editor(passedProps) {
61
67
  editorActions.current._privateUnregisterEditor();
62
68
  (_props$onDestroy = props.onDestroy) === null || _props$onDestroy === void 0 ? void 0 : _props$onDestroy.call(props);
63
69
  };
70
+ useMeasureEditorMountTime(props, getExperienceStore, createAnalyticsEvent);
71
+ const providerFactory = useProviderFactory(props, editorActions.current, createAnalyticsEvent);
64
72
  return jsx(EditorInternal, {
65
73
  props: props,
66
74
  handleAnalyticsEvent: handleAnalyticsEvent,
@@ -71,12 +79,12 @@ export function Editor(passedProps) {
71
79
  return (_props$onSave = props.onSave) === null || _props$onSave === void 0 ? void 0 : _props$onSave.call(props, view);
72
80
  },
73
81
  editorActions: editorActions.current,
74
- getExperienceStore: getExperienceStore,
75
82
  onEditorCreated: onEditorCreated,
76
- onEditorDestroyed: onEditorDestroyed
83
+ onEditorDestroyed: onEditorDestroyed,
84
+ providerFactory: providerFactory
77
85
  });
78
86
  }
79
- export default function EditorNext(props) {
87
+ export function ComposableEditor(props) {
80
88
  const editorSessionId = useRef(uuid());
81
89
  return jsx(FabricEditorAnalyticsContext, {
82
90
  data: {
@@ -88,7 +96,7 @@ export default function EditorNext(props) {
88
96
  }
89
97
  }, jsx(Editor, props));
90
98
  }
91
- EditorNext.propTypes = {
99
+ ComposableEditor.propTypes = {
92
100
  minHeight: ({
93
101
  appearance,
94
102
  minHeight
@@ -1 +1 @@
1
- export { default as ComposableEditor } from './editor-next';
1
+ export { ComposableEditor } from './composable-editor/editor';
@@ -4,15 +4,15 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  import React from 'react';
5
5
  import { jsx } from '@emotion/react';
6
6
  import editorDeprecationWarnings from './utils/editorDeprecationWarnings';
7
- import EditorNext from './editor-next';
7
+ import { ComposableEditor } from './composable-editor';
8
8
  import useUniversalPreset from './labs/next/presets/useUniversalPreset';
9
- const EditorNextWrapper = ({
9
+ const ComposableEditorWrapper = ({
10
10
  props
11
11
  }) => {
12
12
  const preset = useUniversalPreset({
13
13
  props
14
14
  });
15
- return jsx(EditorNext, _extends({
15
+ return jsx(ComposableEditor, _extends({
16
16
  preset: preset
17
17
  }, props));
18
18
  };
@@ -22,7 +22,7 @@ export default class Editor extends React.Component {
22
22
  editorDeprecationWarnings(props);
23
23
  }
24
24
  render() {
25
- return jsx(EditorNextWrapper, {
25
+ return jsx(ComposableEditorWrapper, {
26
26
  props: this.props
27
27
  });
28
28
  }
@@ -8,7 +8,6 @@ import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette';
8
8
  import { themed } from '@atlaskit/theme/components';
9
9
  import { borderRadius } from '@atlaskit/theme/constants';
10
10
  import { DN70 } from '@atlaskit/theme/colors';
11
- import { compareArrays, shallowEqual } from '../utils';
12
11
  import { showConfirmDialog } from '../pm-plugins/toolbar-data/commands';
13
12
  import { FloatingToolbarButton as Button, Announcer } from '@atlaskit/editor-common/ui';
14
13
  import Dropdown from './Dropdown';
@@ -16,6 +15,7 @@ import Select from './Select';
16
15
  import Separator from './Separator';
17
16
  import Input from './Input';
18
17
  import { ExtensionsPlaceholder } from './ExtensionsPlaceholder';
18
+ import { areSameItems } from '@atlaskit/editor-common/floating-toolbar';
19
19
  import { ColorPickerButton } from '@atlaskit/editor-common/ui-menu';
20
20
  import { backgroundPaletteTooltipMessages } from '@atlaskit/editor-common/ui-color';
21
21
  import { EmojiPickerButton } from './EmojiPickerButton';
@@ -265,57 +265,6 @@ const toolbarOverflow = (scrollable, scrollDisabled, firstElementIsSelect) => cs
265
265
  display: flex;
266
266
  `}
267
267
  `;
268
- function makeSameType(_a, _b) {
269
- return true;
270
- }
271
- const compareItemWithKeys = (leftItem, rightItem, excludedKeys = []) => Object.keys(leftItem).filter(key => excludedKeys.indexOf(key) === -1).every(key => leftItem[key] instanceof Object ? shallowEqual(leftItem[key], rightItem[key]) : leftItem[key] === rightItem[key]);
272
- export const isSameItem = (leftItem, rightItem) => {
273
- if (leftItem.type !== rightItem.type) {
274
- return false;
275
- }
276
- switch (leftItem.type) {
277
- case 'button':
278
- // Need to typecast `rightItem as typeof leftItem` otherwise we will
279
- // have to put the `type !==` inside each case.
280
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onClick', 'onMouseEnter', 'onMouseLeave']);
281
- case 'copy-button':
282
- return compareItemWithKeys(leftItem, rightItem, ['type', 'items']);
283
- case 'input':
284
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onSubmit', 'onBlur']);
285
- case 'select':
286
- if (makeSameType(leftItem, rightItem) && Array.isArray(leftItem.options) && Array.isArray(rightItem.options) && !compareArrays(leftItem.options, rightItem.options, (left, right) => compareItemWithKeys(left, right))) {
287
- return false;
288
- }
289
- return compareItemWithKeys(leftItem, rightItem, ['type', 'onChange', 'options']);
290
- case 'dropdown':
291
- if (makeSameType(leftItem, rightItem) && Array.isArray(leftItem.options) && Array.isArray(rightItem.options) &&
292
- // @ts-expect-error TS2345: Argument of type 'DropdownOptionT<Function>[]' is not assignable to parameter of type 'any[][]'
293
- !compareArrays(leftItem.options, rightItem.options, (left, right) =>
294
- // @ts-expect-error TS2322: Type '"onClick"' is not assignable to type 'keyof any[]'
295
- compareItemWithKeys(left, right, ['onClick']))) {
296
- return false;
297
- }
298
- return compareItemWithKeys(leftItem, rightItem, ['type', 'options']);
299
- case 'custom':
300
- return false;
301
- case 'separator':
302
- return compareItemWithKeys(leftItem, rightItem);
303
- case 'extensions-placeholder':
304
- return compareItemWithKeys(leftItem, rightItem);
305
- }
306
- };
307
- export const areSameItems = (leftArr, rightArr) => {
308
- if (leftArr === undefined && rightArr === undefined) {
309
- return true;
310
- }
311
- if (leftArr === undefined || rightArr === undefined) {
312
- return false;
313
- }
314
- if (leftArr.length !== rightArr.length) {
315
- return false;
316
- }
317
- return leftArr.every((item, index) => isSameItem(rightArr[index], item));
318
- };
319
268
  class Toolbar extends Component {
320
269
  constructor(props) {
321
270
  super(props);