@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
@@ -1,2 +1,2 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "209.6.5";
2
+ export const version = "209.7.0";
package/dist/esm/index.js CHANGED
@@ -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';
@@ -35,6 +35,7 @@ import PluginSlot from '../../PluginSlot';
35
35
  import { getPrimaryToolbarComponents } from '../../Toolbar/getPrimaryToolbarComponents';
36
36
  import { ToolbarWithSizeDetector as Toolbar } from '../../Toolbar/ToolbarWithSizeDetector';
37
37
  import WithFlash from '../../WithFlash';
38
+ import { CommentToolbar } from './CommentToolbar';
38
39
  import { MainToolbar } from './Toolbar';
39
40
  var CommentEditorMargin = 14;
40
41
  var MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT = 490;
@@ -242,7 +243,10 @@ export var CommentEditorWithIntl = function CommentEditorWithIntl(props) {
242
243
  editorAppearance: appearance,
243
244
  useStickyToolbar: useStickyToolbar,
244
245
  intl: intl
245
- }, jsx(Toolbar
246
+ }, expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true) ? jsx(CommentToolbar, {
247
+ editorAPI: editorAPI,
248
+ editorView: editorView
249
+ }) : jsx(Toolbar
246
250
  // Ignored via go/ees005
247
251
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
248
252
  , {
@@ -0,0 +1,24 @@
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 var CommentToolbar = function CommentToolbar(_ref) {
9
+ var _editorAPI$toolbar;
10
+ var editorAPI = _ref.editorAPI,
11
+ editorView = _ref.editorView;
12
+ var components = editorAPI === null || editorAPI === void 0 || (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
13
+ var toolbar = components === null || components === void 0 ? void 0 : components.find(function (component) {
14
+ return component.key === TOOLBARS.PRIMARY_TOOLBAR;
15
+ });
16
+ if (!components || !isToolbar(toolbar)) {
17
+ return null;
18
+ }
19
+ return /*#__PURE__*/React.createElement(ToolbarNext, {
20
+ toolbar: toolbar,
21
+ components: components,
22
+ editorView: editorView
23
+ });
24
+ };
@@ -13,10 +13,12 @@ import { ContextPanelWidthProvider } from '@atlaskit/editor-common/ui';
13
13
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
14
14
  import { FULL_PAGE_EDITOR_TOOLBAR_HEIGHT } from '@atlaskit/editor-shared-styles';
15
15
  import { fg } from '@atlaskit/platform-feature-flags';
16
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
16
17
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
17
18
  import { getPrimaryToolbarComponents } from '../../Toolbar/getPrimaryToolbarComponents';
18
19
  import { FullPageContentArea } from './FullPageContentArea';
19
20
  import { FullPageToolbar } from './FullPageToolbar';
21
+ import { FullPageToolbarNext } from './FullPageToolbarNext';
20
22
  import { getEditorViewMode } from './getEditorViewModeSync';
21
23
  import { fullPageEditorWrapper } from './StyledComponents';
22
24
  var useShowKeyline = function useShowKeyline(contentAreaRef) {
@@ -159,7 +161,12 @@ export var FullPageEditor = function FullPageEditor(props) {
159
161
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values
160
162
  '--ak-editor-fullpage-toolbar-height': FULL_PAGE_EDITOR_TOOLBAR_HEIGHT()
161
163
  }
162
- }, !isEditorToolbarHidden && jsx(FullPageToolbar, {
164
+ }, !isEditorToolbarHidden && (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true) ? jsx(FullPageToolbarNext, {
165
+ toolbarDockingPosition: toolbarDockingPosition !== null && toolbarDockingPosition !== void 0 ? toolbarDockingPosition : toolbarDocking,
166
+ beforeIcon: props.primaryToolbarIconBefore,
167
+ editorAPI: editorAPI,
168
+ editorView: props.editorView
169
+ }) : jsx(FullPageToolbar, {
163
170
  appearance: props.appearance,
164
171
  editorAPI: editorAPI,
165
172
  beforeIcon: props.primaryToolbarIconBefore,
@@ -186,7 +193,7 @@ export var FullPageEditor = function FullPageEditor(props) {
186
193
  providerFactory: props.providerFactory,
187
194
  showKeyline: showKeyline,
188
195
  featureFlags: props.featureFlags
189
- }), jsx(FullPageContentArea, {
196
+ })), jsx(FullPageContentArea, {
190
197
  editorAPI: editorAPI,
191
198
  ref: scrollContentContainerRef,
192
199
  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,61 @@
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
+ var styles = {
10
+ mainToolbarIconBefore: "_19pkpxbi _2hwxpxbi _otyrpxbi",
11
+ mainToolbarWrapper: "_n7zl7r9e"
12
+ };
13
+ var MainToolbarWrapper = function MainToolbarWrapper(_ref) {
14
+ var children = _ref.children,
15
+ testId = _ref.testId;
16
+ return /*#__PURE__*/React.createElement("div", {
17
+ "data-testid": testId,
18
+ className: ax([styles.mainToolbarWrapper])
19
+ }, children);
20
+ };
21
+
22
+ /**
23
+ * TODO: ED-28732 - This component is a work in progress, re-writing `FullPageToolbar` and is not yet complete.
24
+ *
25
+ * [ ] Add support for custom toolbar + splitting into two lines
26
+ *
27
+ * [ ] Add support for toolbar keyboard shortcuts
28
+ *
29
+ * [ ] Add support for toolbar analytics
30
+ *
31
+ * [ ] Add support for toolbar accessibility
32
+ *
33
+ * [ ] Add support for toolbar localization
34
+ */
35
+ export var FullPageToolbarNext = function FullPageToolbarNext(_ref2) {
36
+ var _editorAPI$toolbar, _useToolbarPortal;
37
+ var editorAPI = _ref2.editorAPI,
38
+ beforeIcon = _ref2.beforeIcon,
39
+ toolbarDockingPosition = _ref2.toolbarDockingPosition,
40
+ editorView = _ref2.editorView;
41
+ var components = editorAPI === null || editorAPI === void 0 || (_editorAPI$toolbar = editorAPI.toolbar) === null || _editorAPI$toolbar === void 0 ? void 0 : _editorAPI$toolbar.actions.getComponents();
42
+ var toolbar = components === null || components === void 0 ? void 0 : components.find(function (component) {
43
+ return component.key === TOOLBARS.PRIMARY_TOOLBAR;
44
+ });
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
+ var _ref3 = (_useToolbarPortal = useToolbarPortal()) !== null && _useToolbarPortal !== void 0 ? _useToolbarPortal : {
49
+ Portal: React.Fragment
50
+ },
51
+ ToolbarPortal = _ref3.Portal;
52
+ return /*#__PURE__*/React.createElement(ToolbarPortal, null, /*#__PURE__*/React.createElement(MainToolbarWrapper, {
53
+ testId: "full-page-primary-toolbar"
54
+ }, beforeIcon && /*#__PURE__*/React.createElement("div", {
55
+ className: ax([styles.mainToolbarIconBefore])
56
+ }, beforeIcon), toolbarDockingPosition !== 'none' && components && isToolbar(toolbar) && /*#__PURE__*/React.createElement(ToolbarNext, {
57
+ toolbar: toolbar,
58
+ components: components,
59
+ editorView: editorView
60
+ })));
61
+ };
@@ -114,7 +114,8 @@ var baseStatusStyles = css({
114
114
  maxWidth: '100%',
115
115
  paddingInline: "var(--ds-space-050, 4px)",
116
116
  display: 'inline-flex',
117
- borderRadius: '3px',
117
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-design-token-usage
118
+ borderRadius: "var(--ds-border-radius-100, 3px)",
118
119
  blockSize: 'min-content',
119
120
  position: 'static',
120
121
  overflow: 'hidden',
@@ -4,7 +4,8 @@ import { css } from '@emotion/react';
4
4
  export var 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))".concat(", inset 0 0 0 1px ", "var(--ds-border-input, #8590A2)")
10
11
  },
@@ -45,7 +45,8 @@ export var 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 var Toolbar = function Toolbar(props) {
5
14
  return /*#__PURE__*/React.createElement(ToolbarInner, {
6
15
  items: props.items,
@@ -18,4 +27,26 @@ export var Toolbar = function 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 var ToolbarNext = function ToolbarNext(_ref) {
38
+ var toolbar = _ref.toolbar,
39
+ components = _ref.components,
40
+ editorView = _ref.editorView;
41
+ return /*#__PURE__*/React.createElement(EditorToolbarProvider, {
42
+ editorView: editorView !== null && editorView !== void 0 ? editorView : null
43
+ }, /*#__PURE__*/React.createElement(ToolbarModelRenderer, {
44
+ toolbar: toolbar,
45
+ components: components,
46
+ fallbacks: {
47
+ group: ToolbarButtonGroup,
48
+ section: ToolbarSection,
49
+ menuSection: ToolbarDropdownItemSection
50
+ }
51
+ }));
21
52
  };
@@ -0,0 +1,3 @@
1
+ export var isToolbar = function isToolbar(component) {
2
+ return (component === null || component === void 0 ? void 0 : component.type) === 'toolbar';
3
+ };
@@ -1,2 +1,2 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "209.6.5";
2
+ export var version = "209.7.0";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { jsx } from '@emotion/react';
3
2
  import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';
4
3
  import type { FireAnalyticsCallback } from '@atlaskit/editor-common/analytics';
@@ -8,6 +8,6 @@ export declare const useDispatchTransaction: ({ onChange, dispatchAnalyticsEvent
8
8
  onChange: EditorOnChangeHandler | undefined;
9
9
  dispatchAnalyticsEvent: (payload: AnalyticsEventPayload) => void;
10
10
  onEditorViewUpdated: (params: EditorViewStateUpdatedCallbackProps) => void;
11
- isRemoteReplaceDocumentTransaction?: ((tr: Transaction) => boolean) | undefined;
11
+ isRemoteReplaceDocumentTransaction?: (tr: Transaction) => boolean;
12
12
  }) => DispatchTransaction;
13
13
  export {};