@atlaskit/editor-core 209.7.0 → 209.8.0

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 (98) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/afm-cc/tsconfig.json +6 -0
  3. package/afm-dev-agents/tsconfig.json +6 -0
  4. package/afm-jira/tsconfig.json +6 -0
  5. package/afm-post-office/tsconfig.json +6 -0
  6. package/afm-rovo-extension/tsconfig.json +6 -0
  7. package/afm-townsquare/tsconfig.json +6 -0
  8. package/dist/cjs/index.js +15 -1
  9. package/dist/cjs/ui/Appearance/Comment/Comment.js +5 -1
  10. package/dist/cjs/ui/Appearance/Comment/CommentToolbar.js +31 -0
  11. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +9 -2
  12. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbarNext.compiled.css +4 -0
  13. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbarNext.js +68 -0
  14. package/dist/cjs/ui/ContentStyles/status.js +2 -1
  15. package/dist/cjs/ui/EditorContentContainer/styles/findReplaceStyles.js +2 -1
  16. package/dist/cjs/ui/EditorContentContainer/styles/statusStyles.js +2 -1
  17. package/dist/cjs/ui/Toolbar/Toolbar.js +31 -1
  18. package/dist/cjs/utils/toolbar.js +9 -0
  19. package/dist/cjs/version-wrapper.js +1 -1
  20. package/dist/es2019/index.js +3 -1
  21. package/dist/es2019/ui/Appearance/Comment/Comment.js +5 -1
  22. package/dist/es2019/ui/Appearance/Comment/CommentToolbar.js +23 -0
  23. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +9 -2
  24. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbarNext.compiled.css +4 -0
  25. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbarNext.js +62 -0
  26. package/dist/es2019/ui/ContentStyles/status.js +2 -1
  27. package/dist/es2019/ui/EditorContentContainer/styles/findReplaceStyles.js +2 -1
  28. package/dist/es2019/ui/EditorContentContainer/styles/statusStyles.js +2 -1
  29. package/dist/es2019/ui/Toolbar/Toolbar.js +32 -0
  30. package/dist/es2019/utils/toolbar.js +3 -0
  31. package/dist/es2019/version-wrapper.js +1 -1
  32. package/dist/esm/index.js +3 -1
  33. package/dist/esm/ui/Appearance/Comment/Comment.js +5 -1
  34. package/dist/esm/ui/Appearance/Comment/CommentToolbar.js +24 -0
  35. package/dist/esm/ui/Appearance/FullPage/FullPage.js +9 -2
  36. package/dist/esm/ui/Appearance/FullPage/FullPageToolbarNext.compiled.css +4 -0
  37. package/dist/esm/ui/Appearance/FullPage/FullPageToolbarNext.js +61 -0
  38. package/dist/esm/ui/ContentStyles/status.js +2 -1
  39. package/dist/esm/ui/EditorContentContainer/styles/findReplaceStyles.js +2 -1
  40. package/dist/esm/ui/EditorContentContainer/styles/statusStyles.js +2 -1
  41. package/dist/esm/ui/Toolbar/Toolbar.js +31 -0
  42. package/dist/esm/utils/toolbar.js +3 -0
  43. package/dist/esm/version-wrapper.js +1 -1
  44. package/dist/types/composable-editor/editor-internal.d.ts +0 -1
  45. package/dist/types/create-editor/ReactEditorView/useDispatchTransaction.d.ts +1 -1
  46. package/dist/types/create-editor/create-universal-preset.d.ts +78 -1081
  47. package/dist/types/create-editor/editorStateNotificationPlugin.d.ts +2 -2
  48. package/dist/types/create-editor/get-ui-component.d.ts +0 -1
  49. package/dist/types/index.d.ts +2 -0
  50. package/dist/types/presets/universal.d.ts +78 -1081
  51. package/dist/types/presets/useUniversalPreset.d.ts +78 -1081
  52. package/dist/types/test-utils.d.ts +1 -1
  53. package/dist/types/types/with-appearance-component.d.ts +0 -1
  54. package/dist/types/ui/Addon/types.d.ts +0 -1
  55. package/dist/types/ui/Appearance/Chromeless.d.ts +7 -7
  56. package/dist/types/ui/Appearance/Comment/Comment.d.ts +3 -1
  57. package/dist/types/ui/Appearance/Comment/CommentToolbar.d.ts +14 -0
  58. package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +2 -0
  59. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +7 -7
  60. package/dist/types/ui/Appearance/FullPage/FullPageToolbarNext.d.ts +30 -0
  61. package/dist/types/ui/Appearance/FullPage/getEditorViewModeSync.d.ts +1 -1
  62. package/dist/types/ui/CollapsedEditor/index.d.ts +1 -1
  63. package/dist/types/ui/ContentStyles/ai-panels.d.ts +1 -1
  64. package/dist/types/ui/ContentStyles/layout.d.ts +1 -1
  65. package/dist/types/ui/IntlProviderIfMissingWrapper/IntlProviderIfMissingWrapper.d.ts +0 -1
  66. package/dist/types/ui/Toolbar/Toolbar.d.ts +21 -1
  67. package/dist/types/utils/is-full-page.d.ts +1 -1
  68. package/dist/types/utils/prepare-extension-provider.d.ts +1 -1
  69. package/dist/types/utils/prepare-quick-insert-provider.d.ts +0 -1
  70. package/dist/types/utils/toolbar.d.ts +2 -0
  71. package/dist/types-ts4.5/composable-editor/editor-internal.d.ts +0 -1
  72. package/dist/types-ts4.5/create-editor/ReactEditorView/useDispatchTransaction.d.ts +1 -1
  73. package/dist/types-ts4.5/create-editor/create-universal-preset.d.ts +110 -1267
  74. package/dist/types-ts4.5/create-editor/editorStateNotificationPlugin.d.ts +2 -2
  75. package/dist/types-ts4.5/create-editor/get-ui-component.d.ts +0 -1
  76. package/dist/types-ts4.5/index.d.ts +2 -0
  77. package/dist/types-ts4.5/presets/universal.d.ts +110 -1267
  78. package/dist/types-ts4.5/presets/useUniversalPreset.d.ts +110 -1267
  79. package/dist/types-ts4.5/test-utils.d.ts +1 -1
  80. package/dist/types-ts4.5/types/with-appearance-component.d.ts +0 -1
  81. package/dist/types-ts4.5/ui/Addon/types.d.ts +0 -1
  82. package/dist/types-ts4.5/ui/Appearance/Chromeless.d.ts +7 -7
  83. package/dist/types-ts4.5/ui/Appearance/Comment/Comment.d.ts +3 -1
  84. package/dist/types-ts4.5/ui/Appearance/Comment/CommentToolbar.d.ts +16 -0
  85. package/dist/types-ts4.5/ui/Appearance/FullPage/FullPage.d.ts +2 -0
  86. package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageContentArea.d.ts +7 -7
  87. package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageToolbarNext.d.ts +32 -0
  88. package/dist/types-ts4.5/ui/Appearance/FullPage/getEditorViewModeSync.d.ts +1 -1
  89. package/dist/types-ts4.5/ui/CollapsedEditor/index.d.ts +1 -1
  90. package/dist/types-ts4.5/ui/ContentStyles/ai-panels.d.ts +1 -1
  91. package/dist/types-ts4.5/ui/ContentStyles/layout.d.ts +1 -1
  92. package/dist/types-ts4.5/ui/IntlProviderIfMissingWrapper/IntlProviderIfMissingWrapper.d.ts +0 -1
  93. package/dist/types-ts4.5/ui/Toolbar/Toolbar.d.ts +21 -1
  94. package/dist/types-ts4.5/utils/is-full-page.d.ts +1 -1
  95. package/dist/types-ts4.5/utils/prepare-extension-provider.d.ts +1 -1
  96. package/dist/types-ts4.5/utils/prepare-quick-insert-provider.d.ts +0 -1
  97. package/dist/types-ts4.5/utils/toolbar.d.ts +2 -0
  98. package/package.json +8 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 209.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#199487](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199487)
8
+ [`54098ba4cc83c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/54098ba4cc83c) -
9
+ Add support to render primary toolbar for both full page editor and comment editor using new
10
+ toolbar components. Includes rewrites of full page toolbar which removes JS width calculation
11
+
12
+ ### Patch Changes
13
+
14
+ - [#199353](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199353)
15
+ [`f2d4ca35574b8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f2d4ca35574b8) -
16
+ Internal changes to how border radius values are applied. No visual change.
17
+ - Updated dependencies
18
+
3
19
  ## 209.7.0
4
20
 
5
21
  ### Minor Changes
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-cc/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-cc/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-cc/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-cc/tsconfig.json"
62
68
  },
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-dev-agents/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-dev-agents/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-dev-agents/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-dev-agents/tsconfig.json"
62
68
  },
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-jira/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-jira/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-jira/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-jira/tsconfig.json"
62
68
  },
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-post-office/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-post-office/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-post-office/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-post-office/tsconfig.json"
62
68
  },
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-rovo-extension/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-rovo-extension/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-rovo-extension/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-rovo-extension/tsconfig.json"
62
68
  },
@@ -57,6 +57,12 @@
57
57
  {
58
58
  "path": "../../editor-shared-styles/afm-townsquare/tsconfig.json"
59
59
  },
60
+ {
61
+ "path": "../../editor-toolbar/afm-townsquare/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../editor-toolbar-model/afm-townsquare/tsconfig.json"
65
+ },
60
66
  {
61
67
  "path": "../../../elements/emoji/afm-townsquare/tsconfig.json"
62
68
  },
package/dist/cjs/index.js CHANGED
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "EditorContext", {
34
34
  return _EditorContext.default;
35
35
  }
36
36
  });
37
+ Object.defineProperty(exports, "ReactEditorView", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _ReactEditorView.ReactEditorView;
41
+ }
42
+ });
37
43
  Object.defineProperty(exports, "ToolbarHelp", {
38
44
  enumerable: true,
39
45
  get: function get() {
@@ -70,6 +76,12 @@ Object.defineProperty(exports, "createFeatureFlagsFromProps", {
70
76
  return _featureFlagsFromProps.createFeatureFlagsFromProps;
71
77
  }
72
78
  });
79
+ Object.defineProperty(exports, "getDefaultPresetOptionsFromEditorProps", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _createPluginsList.getDefaultPresetOptionsFromEditorProps;
83
+ }
84
+ });
73
85
  Object.defineProperty(exports, "getNodesCount", {
74
86
  enumerable: true,
75
87
  get: function get() {
@@ -113,4 +125,6 @@ var _getNodesCount = require("./utils/getNodesCount");
113
125
  var _measureEnum = _interopRequireDefault(require("./utils/performance/measure-enum"));
114
126
  var _featureFlagsFromProps = require("./utils/feature-flags-from-props");
115
127
  var _actions = _interopRequireDefault(require("./actions"));
116
- var _ContentStyles = require("./ui/ContentStyles");
128
+ var _ContentStyles = require("./ui/ContentStyles");
129
+ var _createPluginsList = require("./create-editor/create-plugins-list");
130
+ var _ReactEditorView = require("./create-editor/ReactEditorView");
@@ -34,6 +34,7 @@ var _PluginSlot = _interopRequireDefault(require("../../PluginSlot"));
34
34
  var _getPrimaryToolbarComponents = require("../../Toolbar/getPrimaryToolbarComponents");
35
35
  var _ToolbarWithSizeDetector = require("../../Toolbar/ToolbarWithSizeDetector");
36
36
  var _WithFlash = _interopRequireDefault(require("../../WithFlash"));
37
+ var _CommentToolbar = require("./CommentToolbar");
37
38
  var _Toolbar = require("./Toolbar");
38
39
  var _templateObject;
39
40
  /**
@@ -250,7 +251,10 @@ var CommentEditorWithIntl = exports.CommentEditorWithIntl = function CommentEdit
250
251
  editorAppearance: appearance,
251
252
  useStickyToolbar: useStickyToolbar,
252
253
  intl: intl
253
- }, (0, _react2.jsx)(_ToolbarWithSizeDetector.ToolbarWithSizeDetector
254
+ }, (0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true) ? (0, _react2.jsx)(_CommentToolbar.CommentToolbar, {
255
+ editorAPI: editorAPI,
256
+ editorView: editorView
257
+ }) : (0, _react2.jsx)(_ToolbarWithSizeDetector.ToolbarWithSizeDetector
254
258
  // Ignored via go/ees005
255
259
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
256
260
  , {
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CommentToolbar = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
10
+ var _toolbar2 = require("../../../utils/toolbar");
11
+ var _Toolbar = require("../../Toolbar/Toolbar");
12
+ /**
13
+ * Primary toolbar driven by components registered by `editor-plugin-toolbar`, introduced in `platform_editor_toolbar_aifc`.
14
+ */
15
+ var CommentToolbar = exports.CommentToolbar = function CommentToolbar(_ref) {
16
+ var _editorAPI$toolbar;
17
+ var editorAPI = _ref.editorAPI,
18
+ editorView = _ref.editorView;
19
+ var components = editorAPI === null || editorAPI === void 0 || (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
20
+ var toolbar = components === null || components === void 0 ? void 0 : components.find(function (component) {
21
+ return component.key === _toolbar.TOOLBARS.PRIMARY_TOOLBAR;
22
+ });
23
+ if (!components || !(0, _toolbar2.isToolbar)(toolbar)) {
24
+ return null;
25
+ }
26
+ return /*#__PURE__*/_react.default.createElement(_Toolbar.ToolbarNext, {
27
+ toolbar: toolbar,
28
+ components: components,
29
+ editorView: editorView
30
+ });
31
+ };
@@ -15,10 +15,12 @@ var _ui = require("@atlaskit/editor-common/ui");
15
15
  var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
16
16
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
17
17
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
18
19
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
19
20
  var _getPrimaryToolbarComponents = require("../../Toolbar/getPrimaryToolbarComponents");
20
21
  var _FullPageContentArea = require("./FullPageContentArea");
21
22
  var _FullPageToolbar = require("./FullPageToolbar");
23
+ var _FullPageToolbarNext = require("./FullPageToolbarNext");
22
24
  var _getEditorViewModeSync = require("./getEditorViewModeSync");
23
25
  var _StyledComponents = require("./StyledComponents");
24
26
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -169,7 +171,12 @@ var FullPageEditor = exports.FullPageEditor = function FullPageEditor(props) {
169
171
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values
170
172
  '--ak-editor-fullpage-toolbar-height': (0, _editorSharedStyles.FULL_PAGE_EDITOR_TOOLBAR_HEIGHT)()
171
173
  }
172
- }, !isEditorToolbarHidden && (0, _react2.jsx)(_FullPageToolbar.FullPageToolbar, {
174
+ }, !isEditorToolbarHidden && ((0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true) ? (0, _react2.jsx)(_FullPageToolbarNext.FullPageToolbarNext, {
175
+ toolbarDockingPosition: toolbarDockingPosition !== null && toolbarDockingPosition !== void 0 ? toolbarDockingPosition : toolbarDocking,
176
+ beforeIcon: props.primaryToolbarIconBefore,
177
+ editorAPI: editorAPI,
178
+ editorView: props.editorView
179
+ }) : (0, _react2.jsx)(_FullPageToolbar.FullPageToolbar, {
173
180
  appearance: props.appearance,
174
181
  editorAPI: editorAPI,
175
182
  beforeIcon: props.primaryToolbarIconBefore,
@@ -196,7 +203,7 @@ var FullPageEditor = exports.FullPageEditor = function FullPageEditor(props) {
196
203
  providerFactory: props.providerFactory,
197
204
  showKeyline: showKeyline,
198
205
  featureFlags: props.featureFlags
199
- }), (0, _react2.jsx)(_FullPageContentArea.FullPageContentArea, {
206
+ })), (0, _react2.jsx)(_FullPageContentArea.FullPageContentArea, {
200
207
  editorAPI: editorAPI,
201
208
  ref: scrollContentContainerRef,
202
209
  appearance: props.appearance,
@@ -0,0 +1,4 @@
1
+
2
+ ._n7zl7r9e{border-bottom:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._19pkpxbi{margin-top:var(--ds-space-200,1pc)}
3
+ ._2hwxpxbi{margin-right:var(--ds-space-200,1pc)}
4
+ ._otyrpxbi{margin-bottom:var(--ds-space-200,1pc)}
@@ -0,0 +1,68 @@
1
+ /* FullPageToolbarNext.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FullPageToolbarNext = void 0;
9
+ require("./FullPageToolbarNext.compiled.css");
10
+ var _runtime = require("@compiled/react/runtime");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
13
+ var _toolbar2 = require("../../../utils/toolbar");
14
+ var _Toolbar = require("../../Toolbar/Toolbar");
15
+ var _ToolbarPortal = require("../../Toolbar/ToolbarPortal");
16
+ var styles = {
17
+ mainToolbarIconBefore: "_19pkpxbi _2hwxpxbi _otyrpxbi",
18
+ mainToolbarWrapper: "_n7zl7r9e"
19
+ };
20
+ var MainToolbarWrapper = function MainToolbarWrapper(_ref) {
21
+ var children = _ref.children,
22
+ testId = _ref.testId;
23
+ return /*#__PURE__*/_react.default.createElement("div", {
24
+ "data-testid": testId,
25
+ className: (0, _runtime.ax)([styles.mainToolbarWrapper])
26
+ }, children);
27
+ };
28
+
29
+ /**
30
+ * TODO: ED-28732 - This component is a work in progress, re-writing `FullPageToolbar` and is not yet complete.
31
+ *
32
+ * [ ] Add support for custom toolbar + splitting into two lines
33
+ *
34
+ * [ ] Add support for toolbar keyboard shortcuts
35
+ *
36
+ * [ ] Add support for toolbar analytics
37
+ *
38
+ * [ ] Add support for toolbar accessibility
39
+ *
40
+ * [ ] Add support for toolbar localization
41
+ */
42
+ var FullPageToolbarNext = exports.FullPageToolbarNext = function FullPageToolbarNext(_ref2) {
43
+ var _editorAPI$toolbar, _useToolbarPortal;
44
+ var editorAPI = _ref2.editorAPI,
45
+ beforeIcon = _ref2.beforeIcon,
46
+ toolbarDockingPosition = _ref2.toolbarDockingPosition,
47
+ editorView = _ref2.editorView;
48
+ var components = editorAPI === null || editorAPI === void 0 || (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
49
+ var toolbar = components === null || components === void 0 ? void 0 : components.find(function (component) {
50
+ return component.key === _toolbar.TOOLBARS.PRIMARY_TOOLBAR;
51
+ });
52
+
53
+ // When a toolbar portal context is provided, render the toolbar inside a portal.
54
+ // Otherwise fall back to a fragment just to avoid forking rendering logic.
55
+ var _ref3 = (_useToolbarPortal = (0, _ToolbarPortal.useToolbarPortal)()) !== null && _useToolbarPortal !== void 0 ? _useToolbarPortal : {
56
+ Portal: _react.default.Fragment
57
+ },
58
+ ToolbarPortal = _ref3.Portal;
59
+ return /*#__PURE__*/_react.default.createElement(ToolbarPortal, null, /*#__PURE__*/_react.default.createElement(MainToolbarWrapper, {
60
+ testId: "full-page-primary-toolbar"
61
+ }, beforeIcon && /*#__PURE__*/_react.default.createElement("div", {
62
+ className: (0, _runtime.ax)([styles.mainToolbarIconBefore])
63
+ }, beforeIcon), toolbarDockingPosition !== 'none' && components && (0, _toolbar2.isToolbar)(toolbar) && /*#__PURE__*/_react.default.createElement(_Toolbar.ToolbarNext, {
64
+ toolbar: toolbar,
65
+ components: components,
66
+ editorView: editorView
67
+ })));
68
+ };
@@ -120,7 +120,8 @@ var baseStatusStyles = (0, _react.css)({
120
120
  maxWidth: '100%',
121
121
  paddingInline: "var(--ds-space-050, 4px)",
122
122
  display: 'inline-flex',
123
- borderRadius: '3px',
123
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
124
+ borderRadius: "var(--ds-border-radius-100, 3px)",
124
125
  blockSize: 'min-content',
125
126
  position: 'static',
126
127
  overflow: 'hidden',
@@ -11,7 +11,8 @@ var _react = require("@emotion/react");
11
11
  var findReplaceStyles = exports.findReplaceStyles = (0, _react.css)({
12
12
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
13
13
  '.search-match': {
14
- borderRadius: '3px',
14
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
15
+ borderRadius: "var(--ds-border-radius-100, 3px)",
15
16
  backgroundColor: "var(--ds-background-accent-teal-subtlest, #E7F9FF)",
16
17
  boxShadow: "var(--ds-shadow-raised, 0 1px 1px 0 rgba(9, 30, 66, 0.25), 0 0 1px 0 rgba(9, 30, 66, 0.31))".concat(", inset 0 0 0 1px ", "var(--ds-border-input, #8590A2)")
17
18
  },
@@ -52,7 +52,8 @@ var statusStyles = exports.statusStyles = (0, _react.css)({
52
52
  maxWidth: '100%',
53
53
  paddingInline: "var(--ds-space-050, 4px)",
54
54
  display: 'inline-flex',
55
- borderRadius: '3px',
55
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
56
+ borderRadius: "var(--ds-border-radius-100, 3px)",
56
57
  blockSize: 'min-content',
57
58
  position: 'static',
58
59
  overflow: 'hidden',
@@ -4,10 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Toolbar = void 0;
7
+ exports.ToolbarNext = exports.Toolbar = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
9
10
  var _types = require("@atlaskit/editor-common/types");
11
+ var _editorToolbar = require("@atlaskit/editor-toolbar");
12
+ var _editorToolbarModel = require("@atlaskit/editor-toolbar-model");
10
13
  var _ToolbarInner = require("./ToolbarInner");
14
+ /**
15
+ * *Warning:* With `platform_editor_toolbar_aifc` enabled this component is no longer used and is replaced with `<ToolbarNext />`.
16
+ *
17
+ * If making changes to this component please ensure to also update `<ToolbarNext />`.
18
+ */
11
19
  var Toolbar = exports.Toolbar = function Toolbar(props) {
12
20
  return /*#__PURE__*/_react.default.createElement(_ToolbarInner.ToolbarInner, {
13
21
  items: props.items,
@@ -25,4 +33,26 @@ var Toolbar = exports.Toolbar = function Toolbar(props) {
25
33
  isToolbarReducedSpacing: props.toolbarSize < _types.ToolbarSize.XXL,
26
34
  containerElement: props.containerElement
27
35
  });
36
+ };
37
+ /**
38
+ * Renders a primary toolbar, driven by components registed by `editor-plugin-toolbar`. `ToolbarModelRenderer` will just
39
+ * render the toolbar structure, the design is driven per component registered including the toolbar itself.
40
+ *
41
+ * The majority of components UI should use `@atlaskit/editor-toolbar` components.
42
+ */
43
+ var ToolbarNext = exports.ToolbarNext = function ToolbarNext(_ref) {
44
+ var toolbar = _ref.toolbar,
45
+ components = _ref.components,
46
+ editorView = _ref.editorView;
47
+ return /*#__PURE__*/_react.default.createElement(_toolbar.EditorToolbarProvider, {
48
+ editorView: editorView !== null && editorView !== void 0 ? editorView : null
49
+ }, /*#__PURE__*/_react.default.createElement(_editorToolbarModel.ToolbarModelRenderer, {
50
+ toolbar: toolbar,
51
+ components: components,
52
+ fallbacks: {
53
+ group: _editorToolbar.ToolbarButtonGroup,
54
+ section: _editorToolbar.ToolbarSection,
55
+ menuSection: _editorToolbar.ToolbarDropdownItemSection
56
+ }
57
+ }));
28
58
  };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isToolbar = void 0;
7
+ var isToolbar = exports.isToolbar = function isToolbar(component) {
8
+ return (component === null || component === void 0 ? void 0 : component.type) === 'toolbar';
9
+ };
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
- var version = exports.version = "209.6.5";
8
+ var version = exports.version = "209.7.0";
@@ -36,4 +36,6 @@ export { getNodesCount } from './utils/getNodesCount';
36
36
  export { default as measurements } from './utils/performance/measure-enum';
37
37
  export { createFeatureFlagsFromProps } from './utils/feature-flags-from-props';
38
38
  export { default as EditorActions } from './actions';
39
- export { createEditorContentStyle } from './ui/ContentStyles';
39
+ export { createEditorContentStyle } from './ui/ContentStyles';
40
+ export { getDefaultPresetOptionsFromEditorProps } from './create-editor/create-plugins-list';
41
+ export { ReactEditorView } from './create-editor/ReactEditorView';
@@ -31,6 +31,7 @@ import PluginSlot from '../../PluginSlot';
31
31
  import { getPrimaryToolbarComponents } from '../../Toolbar/getPrimaryToolbarComponents';
32
32
  import { ToolbarWithSizeDetector as Toolbar } from '../../Toolbar/ToolbarWithSizeDetector';
33
33
  import WithFlash from '../../WithFlash';
34
+ import { CommentToolbar } from './CommentToolbar';
34
35
  import { MainToolbar } from './Toolbar';
35
36
  const CommentEditorMargin = 14;
36
37
  const MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT = 490;
@@ -252,7 +253,10 @@ export const CommentEditorWithIntl = props => {
252
253
  editorAppearance: appearance,
253
254
  useStickyToolbar: useStickyToolbar,
254
255
  intl: intl
255
- }, jsx(Toolbar
256
+ }, expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true) ? jsx(CommentToolbar, {
257
+ editorAPI: editorAPI,
258
+ editorView: editorView
259
+ }) : jsx(Toolbar
256
260
  // Ignored via go/ees005
257
261
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
258
262
  , {
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { TOOLBARS } from '@atlaskit/editor-common/toolbar';
3
+ import { isToolbar } from '../../../utils/toolbar';
4
+ import { ToolbarNext } from '../../Toolbar/Toolbar';
5
+ /**
6
+ * Primary toolbar driven by components registered by `editor-plugin-toolbar`, introduced in `platform_editor_toolbar_aifc`.
7
+ */
8
+ export const CommentToolbar = ({
9
+ editorAPI,
10
+ editorView
11
+ }) => {
12
+ var _editorAPI$toolbar;
13
+ const components = editorAPI === null || editorAPI === void 0 ? void 0 : (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
14
+ const toolbar = components === null || components === void 0 ? void 0 : components.find(component => component.key === TOOLBARS.PRIMARY_TOOLBAR);
15
+ if (!components || !isToolbar(toolbar)) {
16
+ return null;
17
+ }
18
+ return /*#__PURE__*/React.createElement(ToolbarNext, {
19
+ toolbar: toolbar,
20
+ components: components,
21
+ editorView: editorView
22
+ });
23
+ };
@@ -12,10 +12,12 @@ import { ContextPanelWidthProvider } from '@atlaskit/editor-common/ui';
12
12
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
13
13
  import { FULL_PAGE_EDITOR_TOOLBAR_HEIGHT } from '@atlaskit/editor-shared-styles';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
15
16
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
16
17
  import { getPrimaryToolbarComponents } from '../../Toolbar/getPrimaryToolbarComponents';
17
18
  import { FullPageContentArea } from './FullPageContentArea';
18
19
  import { FullPageToolbar } from './FullPageToolbar';
20
+ import { FullPageToolbarNext } from './FullPageToolbarNext';
19
21
  import { getEditorViewMode } from './getEditorViewModeSync';
20
22
  import { fullPageEditorWrapper } from './StyledComponents';
21
23
  const useShowKeyline = contentAreaRef => {
@@ -156,7 +158,12 @@ export const FullPageEditor = props => {
156
158
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values
157
159
  '--ak-editor-fullpage-toolbar-height': FULL_PAGE_EDITOR_TOOLBAR_HEIGHT()
158
160
  }
159
- }, !isEditorToolbarHidden && jsx(FullPageToolbar, {
161
+ }, !isEditorToolbarHidden && (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true) ? jsx(FullPageToolbarNext, {
162
+ toolbarDockingPosition: toolbarDockingPosition !== null && toolbarDockingPosition !== void 0 ? toolbarDockingPosition : toolbarDocking,
163
+ beforeIcon: props.primaryToolbarIconBefore,
164
+ editorAPI: editorAPI,
165
+ editorView: props.editorView
166
+ }) : jsx(FullPageToolbar, {
160
167
  appearance: props.appearance,
161
168
  editorAPI: editorAPI,
162
169
  beforeIcon: props.primaryToolbarIconBefore,
@@ -183,7 +190,7 @@ export const FullPageEditor = props => {
183
190
  providerFactory: props.providerFactory,
184
191
  showKeyline: showKeyline,
185
192
  featureFlags: props.featureFlags
186
- }), jsx(FullPageContentArea, {
193
+ })), jsx(FullPageContentArea, {
187
194
  editorAPI: editorAPI,
188
195
  ref: scrollContentContainerRef,
189
196
  appearance: props.appearance,
@@ -0,0 +1,4 @@
1
+
2
+ ._n7zl7r9e{border-bottom:var(--ds-border-width,1px) solid var(--ds-border,#091e4224)}._19pkpxbi{margin-top:var(--ds-space-200,1pc)}
3
+ ._2hwxpxbi{margin-right:var(--ds-space-200,1pc)}
4
+ ._otyrpxbi{margin-bottom:var(--ds-space-200,1pc)}
@@ -0,0 +1,62 @@
1
+ /* FullPageToolbarNext.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./FullPageToolbarNext.compiled.css";
3
+ import { ax, ix } from "@compiled/react/runtime";
4
+ import React from 'react';
5
+ import { TOOLBARS } from '@atlaskit/editor-common/toolbar';
6
+ import { isToolbar } from '../../../utils/toolbar';
7
+ import { ToolbarNext } from '../../Toolbar/Toolbar';
8
+ import { useToolbarPortal } from '../../Toolbar/ToolbarPortal';
9
+ const styles = {
10
+ mainToolbarIconBefore: "_19pkpxbi _2hwxpxbi _otyrpxbi",
11
+ mainToolbarWrapper: "_n7zl7r9e"
12
+ };
13
+ const MainToolbarWrapper = ({
14
+ children,
15
+ testId
16
+ }) => {
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ "data-testid": testId,
19
+ className: ax([styles.mainToolbarWrapper])
20
+ }, children);
21
+ };
22
+
23
+ /**
24
+ * TODO: ED-28732 - This component is a work in progress, re-writing `FullPageToolbar` and is not yet complete.
25
+ *
26
+ * [ ] Add support for custom toolbar + splitting into two lines
27
+ *
28
+ * [ ] Add support for toolbar keyboard shortcuts
29
+ *
30
+ * [ ] Add support for toolbar analytics
31
+ *
32
+ * [ ] Add support for toolbar accessibility
33
+ *
34
+ * [ ] Add support for toolbar localization
35
+ */
36
+ export const FullPageToolbarNext = ({
37
+ editorAPI,
38
+ beforeIcon,
39
+ toolbarDockingPosition,
40
+ editorView
41
+ }) => {
42
+ var _editorAPI$toolbar, _useToolbarPortal;
43
+ const components = editorAPI === null || editorAPI === void 0 ? void 0 : (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
44
+ const toolbar = components === null || components === void 0 ? void 0 : components.find(component => component.key === TOOLBARS.PRIMARY_TOOLBAR);
45
+
46
+ // When a toolbar portal context is provided, render the toolbar inside a portal.
47
+ // Otherwise fall back to a fragment just to avoid forking rendering logic.
48
+ const {
49
+ Portal: ToolbarPortal
50
+ } = (_useToolbarPortal = useToolbarPortal()) !== null && _useToolbarPortal !== void 0 ? _useToolbarPortal : {
51
+ Portal: React.Fragment
52
+ };
53
+ return /*#__PURE__*/React.createElement(ToolbarPortal, null, /*#__PURE__*/React.createElement(MainToolbarWrapper, {
54
+ testId: "full-page-primary-toolbar"
55
+ }, beforeIcon && /*#__PURE__*/React.createElement("div", {
56
+ className: ax([styles.mainToolbarIconBefore])
57
+ }, beforeIcon), toolbarDockingPosition !== 'none' && components && isToolbar(toolbar) && /*#__PURE__*/React.createElement(ToolbarNext, {
58
+ toolbar: toolbar,
59
+ components: components,
60
+ editorView: editorView
61
+ })));
62
+ };
@@ -126,7 +126,8 @@ const baseStatusStyles = css({
126
126
  maxWidth: '100%',
127
127
  paddingInline: "var(--ds-space-050, 4px)",
128
128
  display: 'inline-flex',
129
- borderRadius: '3px',
129
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
130
+ borderRadius: "var(--ds-border-radius-100, 3px)",
130
131
  blockSize: 'min-content',
131
132
  position: 'static',
132
133
  overflow: 'hidden',
@@ -4,7 +4,8 @@ import { css } from '@emotion/react';
4
4
  export const findReplaceStyles = css({
5
5
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
6
6
  '.search-match': {
7
- borderRadius: '3px',
7
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
8
+ borderRadius: "var(--ds-border-radius-100, 3px)",
8
9
  backgroundColor: "var(--ds-background-accent-teal-subtlest, #E7F9FF)",
9
10
  boxShadow: `${"var(--ds-shadow-raised, 0 1px 1px 0 rgba(9, 30, 66, 0.25), 0 0 1px 0 rgba(9, 30, 66, 0.31))"}, inset 0 0 0 1px ${"var(--ds-border-input, #8590A2)"}`
10
11
  },
@@ -45,7 +45,8 @@ export const statusStyles = css({
45
45
  maxWidth: '100%',
46
46
  paddingInline: "var(--ds-space-050, 4px)",
47
47
  display: 'inline-flex',
48
- borderRadius: '3px',
48
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
49
+ borderRadius: "var(--ds-border-radius-100, 3px)",
49
50
  blockSize: 'min-content',
50
51
  position: 'static',
51
52
  overflow: 'hidden',
@@ -1,6 +1,15 @@
1
1
  import React from 'react';
2
+ import { EditorToolbarProvider } from '@atlaskit/editor-common/toolbar';
2
3
  import { ToolbarSize } from '@atlaskit/editor-common/types';
4
+ import { ToolbarButtonGroup, ToolbarDropdownItemSection, ToolbarSection } from '@atlaskit/editor-toolbar';
5
+ import { ToolbarModelRenderer } from '@atlaskit/editor-toolbar-model';
3
6
  import { ToolbarInner } from './ToolbarInner';
7
+
8
+ /**
9
+ * *Warning:* With `platform_editor_toolbar_aifc` enabled this component is no longer used and is replaced with `<ToolbarNext />`.
10
+ *
11
+ * If making changes to this component please ensure to also update `<ToolbarNext />`.
12
+ */
4
13
  export const Toolbar = props => {
5
14
  return /*#__PURE__*/React.createElement(ToolbarInner, {
6
15
  items: props.items,
@@ -18,4 +27,27 @@ export const Toolbar = props => {
18
27
  isToolbarReducedSpacing: props.toolbarSize < ToolbarSize.XXL,
19
28
  containerElement: props.containerElement
20
29
  });
30
+ };
31
+ /**
32
+ * Renders a primary toolbar, driven by components registed by `editor-plugin-toolbar`. `ToolbarModelRenderer` will just
33
+ * render the toolbar structure, the design is driven per component registered including the toolbar itself.
34
+ *
35
+ * The majority of components UI should use `@atlaskit/editor-toolbar` components.
36
+ */
37
+ export const ToolbarNext = ({
38
+ toolbar,
39
+ components,
40
+ editorView
41
+ }) => {
42
+ return /*#__PURE__*/React.createElement(EditorToolbarProvider, {
43
+ editorView: editorView !== null && editorView !== void 0 ? editorView : null
44
+ }, /*#__PURE__*/React.createElement(ToolbarModelRenderer, {
45
+ toolbar: toolbar,
46
+ components: components,
47
+ fallbacks: {
48
+ group: ToolbarButtonGroup,
49
+ section: ToolbarSection,
50
+ menuSection: ToolbarDropdownItemSection
51
+ }
52
+ }));
21
53
  };
@@ -0,0 +1,3 @@
1
+ export const isToolbar = component => {
2
+ return (component === null || component === void 0 ? void 0 : component.type) === 'toolbar';
3
+ };