@atlaskit/editor-plugin-primary-toolbar 4.0.1 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-plugin-primary-toolbar
2
2
 
3
+ ## 4.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#193685](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/193685)
8
+ [`ee3ba46cb3d0a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ee3ba46cb3d0a) -
9
+ [EDITOR-1073] Add undo/ redo & show diff to comment toolbar
10
+ - Updated dependencies
11
+
12
+ ## 4.1.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [#185617](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/185617)
17
+ [`c766e636b2d44`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c766e636b2d44) -
18
+ ED-28220 clean up exp platform_editor_controls_toolbar_pinning_exp
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies
23
+
3
24
  ## 4.0.1
4
25
 
5
26
  ### Patch Changes
@@ -20,7 +20,11 @@ var getToolbarComponents = exports.getToolbarComponents = function getToolbarCom
20
20
  configuration = toolbarConfigurationV2(true, shouldShowUndoRedoGroup);
21
21
  } else {
22
22
  var shouldShowFindGroup = !!contextualFormattingEnabled;
23
- configuration = toolbarConfiguration(shouldShowFindGroup);
23
+ if ((0, _platformFeatureFlags.fg)('platform_editor_ai_in_document_streaming')) {
24
+ configuration = toolbarConfigurationV3(shouldShowFindGroup);
25
+ } else {
26
+ configuration = toolbarConfiguration(shouldShowFindGroup);
27
+ }
24
28
  }
25
29
  return configuration.filter(function (toolbarElement) {
26
30
  return typeof toolbarElement.enabled === 'undefined' || toolbarElement.enabled(componentRegistry, editorState);
@@ -34,6 +38,22 @@ var getToolbarComponents = exports.getToolbarComponents = function getToolbarCom
34
38
  return acc;
35
39
  }, []);
36
40
  };
41
+ var trackChangesGroup = [{
42
+ name: 'separator',
43
+ enabled: function enabled(componentRegistry) {
44
+ return componentRegistry.has('undoRedo') || componentRegistry.has('trackChanges');
45
+ }
46
+ }, {
47
+ name: 'undoRedoPlugin',
48
+ enabled: function enabled(componentRegistry) {
49
+ return componentRegistry.has('undoRedoPlugin');
50
+ }
51
+ }, {
52
+ name: 'trackChanges',
53
+ enabled: function enabled(componentRegistry) {
54
+ return componentRegistry.has('trackChanges');
55
+ }
56
+ }];
37
57
  var undoRedoGroup = [{
38
58
  name: 'undoRedoPlugin'
39
59
  }, {
@@ -130,20 +150,18 @@ var othersGroupNoFind = [{
130
150
  var findGroup = [{
131
151
  name: 'findReplace'
132
152
  }];
153
+ var toolbarConfigurationV3 = function toolbarConfigurationV3(shouldShowFindGroup) {
154
+ return [].concat(spellCheckGroup, blockTypeGroup, textFormattingGroup, alignmentGroup, textColorGroup, listFormattingGroup, insertBlockGroup, (0, _toConsumableArray2.default)(shouldShowFindGroup ? others : othersGroupNoFind), trackChangesGroup);
155
+ };
133
156
  var toolbarConfiguration = function toolbarConfiguration(shouldShowFindGroup) {
134
157
  return [].concat(undoRedoGroup, spellCheckGroup, blockTypeGroup, textFormattingGroup, alignmentGroup, textColorGroup, listFormattingGroup, insertBlockGroup, (0, _toConsumableArray2.default)(shouldShowFindGroup ? others : othersGroupNoFind));
135
158
  };
136
- var overflowMenu = [{
137
- name: 'overflowMenu'
138
- }];
139
159
  var pinToolbar = [{
140
160
  name: 'pinToolbar'
141
161
  }];
142
162
  var toolbarConfigurationV2 = function toolbarConfigurationV2(shouldShowInsertBlock, shouldShowUndoRedoGroup) {
143
163
  var shouldShowFindGroup = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
144
- return [].concat((0, _toConsumableArray2.default)(shouldShowUndoRedoGroup ? undoRedoGroup : []), blockTypeGroup, textFormattingGroup, textColorGroup, alignmentGroup, listFormattingGroup, hyperlinkGroup, (0, _toConsumableArray2.default)(shouldShowInsertBlock ? insertBlockGroup : []), (0, _toConsumableArray2.default)((0, _experiments.editorExperiment)('platform_editor_controls_toolbar_pinning_exp', true, {
145
- exposure: true
146
- }) ? pinToolbar : overflowMenu), [{
164
+ return [].concat((0, _toConsumableArray2.default)(shouldShowUndoRedoGroup ? undoRedoGroup : []), blockTypeGroup, textFormattingGroup, textColorGroup, alignmentGroup, listFormattingGroup, hyperlinkGroup, (0, _toConsumableArray2.default)(shouldShowInsertBlock ? insertBlockGroup : []), pinToolbar, [{
147
165
  name: 'beforePrimaryToolbar'
148
166
  }], (0, _toConsumableArray2.default)(shouldShowFindGroup ? findGroup : []));
149
167
  };
@@ -13,7 +13,11 @@ export const getToolbarComponents = ({
13
13
  configuration = toolbarConfigurationV2(true, shouldShowUndoRedoGroup);
14
14
  } else {
15
15
  const shouldShowFindGroup = !!contextualFormattingEnabled;
16
- configuration = toolbarConfiguration(shouldShowFindGroup);
16
+ if (fg('platform_editor_ai_in_document_streaming')) {
17
+ configuration = toolbarConfigurationV3(shouldShowFindGroup);
18
+ } else {
19
+ configuration = toolbarConfiguration(shouldShowFindGroup);
20
+ }
17
21
  }
18
22
  return configuration.filter(toolbarElement => typeof toolbarElement.enabled === 'undefined' || toolbarElement.enabled(componentRegistry, editorState)).reduce((acc, toolbarElement) => {
19
23
  if (componentRegistry.has(toolbarElement.name)) {
@@ -25,6 +29,16 @@ export const getToolbarComponents = ({
25
29
  return acc;
26
30
  }, []);
27
31
  };
32
+ const trackChangesGroup = [{
33
+ name: 'separator',
34
+ enabled: componentRegistry => componentRegistry.has('undoRedo') || componentRegistry.has('trackChanges')
35
+ }, {
36
+ name: 'undoRedoPlugin',
37
+ enabled: componentRegistry => componentRegistry.has('undoRedoPlugin')
38
+ }, {
39
+ name: 'trackChanges',
40
+ enabled: componentRegistry => componentRegistry.has('trackChanges')
41
+ }];
28
42
  const undoRedoGroup = [{
29
43
  name: 'undoRedoPlugin'
30
44
  }, {
@@ -105,15 +119,11 @@ const othersGroupNoFind = [{
105
119
  const findGroup = [{
106
120
  name: 'findReplace'
107
121
  }];
122
+ const toolbarConfigurationV3 = shouldShowFindGroup => [...spellCheckGroup, ...blockTypeGroup, ...textFormattingGroup, ...alignmentGroup, ...textColorGroup, ...listFormattingGroup, ...insertBlockGroup, ...(shouldShowFindGroup ? others : othersGroupNoFind), ...trackChangesGroup];
108
123
  const toolbarConfiguration = shouldShowFindGroup => [...undoRedoGroup, ...spellCheckGroup, ...blockTypeGroup, ...textFormattingGroup, ...alignmentGroup, ...textColorGroup, ...listFormattingGroup, ...insertBlockGroup, ...(shouldShowFindGroup ? others : othersGroupNoFind)];
109
- const overflowMenu = [{
110
- name: 'overflowMenu'
111
- }];
112
124
  const pinToolbar = [{
113
125
  name: 'pinToolbar'
114
126
  }];
115
- const toolbarConfigurationV2 = (shouldShowInsertBlock, shouldShowUndoRedoGroup, shouldShowFindGroup = false) => [...(shouldShowUndoRedoGroup ? undoRedoGroup : []), ...blockTypeGroup, ...textFormattingGroup, ...textColorGroup, ...alignmentGroup, ...listFormattingGroup, ...hyperlinkGroup, ...(shouldShowInsertBlock ? insertBlockGroup : []), ...(editorExperiment('platform_editor_controls_toolbar_pinning_exp', true, {
116
- exposure: true
117
- }) ? pinToolbar : overflowMenu), {
127
+ const toolbarConfigurationV2 = (shouldShowInsertBlock, shouldShowUndoRedoGroup, shouldShowFindGroup = false) => [...(shouldShowUndoRedoGroup ? undoRedoGroup : []), ...blockTypeGroup, ...textFormattingGroup, ...textColorGroup, ...alignmentGroup, ...listFormattingGroup, ...hyperlinkGroup, ...(shouldShowInsertBlock ? insertBlockGroup : []), ...pinToolbar, {
118
128
  name: 'beforePrimaryToolbar'
119
129
  }, ...(shouldShowFindGroup ? findGroup : [])];
@@ -13,7 +13,11 @@ export var getToolbarComponents = function getToolbarComponents(_ref) {
13
13
  configuration = toolbarConfigurationV2(true, shouldShowUndoRedoGroup);
14
14
  } else {
15
15
  var shouldShowFindGroup = !!contextualFormattingEnabled;
16
- configuration = toolbarConfiguration(shouldShowFindGroup);
16
+ if (fg('platform_editor_ai_in_document_streaming')) {
17
+ configuration = toolbarConfigurationV3(shouldShowFindGroup);
18
+ } else {
19
+ configuration = toolbarConfiguration(shouldShowFindGroup);
20
+ }
17
21
  }
18
22
  return configuration.filter(function (toolbarElement) {
19
23
  return typeof toolbarElement.enabled === 'undefined' || toolbarElement.enabled(componentRegistry, editorState);
@@ -27,6 +31,22 @@ export var getToolbarComponents = function getToolbarComponents(_ref) {
27
31
  return acc;
28
32
  }, []);
29
33
  };
34
+ var trackChangesGroup = [{
35
+ name: 'separator',
36
+ enabled: function enabled(componentRegistry) {
37
+ return componentRegistry.has('undoRedo') || componentRegistry.has('trackChanges');
38
+ }
39
+ }, {
40
+ name: 'undoRedoPlugin',
41
+ enabled: function enabled(componentRegistry) {
42
+ return componentRegistry.has('undoRedoPlugin');
43
+ }
44
+ }, {
45
+ name: 'trackChanges',
46
+ enabled: function enabled(componentRegistry) {
47
+ return componentRegistry.has('trackChanges');
48
+ }
49
+ }];
30
50
  var undoRedoGroup = [{
31
51
  name: 'undoRedoPlugin'
32
52
  }, {
@@ -123,20 +143,18 @@ var othersGroupNoFind = [{
123
143
  var findGroup = [{
124
144
  name: 'findReplace'
125
145
  }];
146
+ var toolbarConfigurationV3 = function toolbarConfigurationV3(shouldShowFindGroup) {
147
+ return [].concat(spellCheckGroup, blockTypeGroup, textFormattingGroup, alignmentGroup, textColorGroup, listFormattingGroup, insertBlockGroup, _toConsumableArray(shouldShowFindGroup ? others : othersGroupNoFind), trackChangesGroup);
148
+ };
126
149
  var toolbarConfiguration = function toolbarConfiguration(shouldShowFindGroup) {
127
150
  return [].concat(undoRedoGroup, spellCheckGroup, blockTypeGroup, textFormattingGroup, alignmentGroup, textColorGroup, listFormattingGroup, insertBlockGroup, _toConsumableArray(shouldShowFindGroup ? others : othersGroupNoFind));
128
151
  };
129
- var overflowMenu = [{
130
- name: 'overflowMenu'
131
- }];
132
152
  var pinToolbar = [{
133
153
  name: 'pinToolbar'
134
154
  }];
135
155
  var toolbarConfigurationV2 = function toolbarConfigurationV2(shouldShowInsertBlock, shouldShowUndoRedoGroup) {
136
156
  var shouldShowFindGroup = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
137
- return [].concat(_toConsumableArray(shouldShowUndoRedoGroup ? undoRedoGroup : []), blockTypeGroup, textFormattingGroup, textColorGroup, alignmentGroup, listFormattingGroup, hyperlinkGroup, _toConsumableArray(shouldShowInsertBlock ? insertBlockGroup : []), _toConsumableArray(editorExperiment('platform_editor_controls_toolbar_pinning_exp', true, {
138
- exposure: true
139
- }) ? pinToolbar : overflowMenu), [{
157
+ return [].concat(_toConsumableArray(shouldShowUndoRedoGroup ? undoRedoGroup : []), blockTypeGroup, textFormattingGroup, textColorGroup, alignmentGroup, listFormattingGroup, hyperlinkGroup, _toConsumableArray(shouldShowInsertBlock ? insertBlockGroup : []), pinToolbar, [{
140
158
  name: 'beforePrimaryToolbar'
141
159
  }], _toConsumableArray(shouldShowFindGroup ? findGroup : []));
142
160
  };
@@ -14,7 +14,7 @@ export type PrimaryToolbarPlugin = NextEditorPlugin<'primaryToolbar', {
14
14
  pluginConfiguration?: PrimaryToolbarPluginOptions;
15
15
  }>;
16
16
  export type ComponentRegistry = Map<string, ToolbarUIComponentFactory>;
17
- export type ToolbarElementNames = 'separator' | 'undoRedoPlugin' | 'blockType' | 'textFormatting' | 'alignment' | 'textColor' | 'highlight' | 'hyperlink' | 'toolbarListsIndentation' | 'insertBlock' | 'beforePrimaryToolbar' | 'avatarGroup' | 'findReplace' | 'aiExperience' | 'aiSimplified' | 'loom' | 'spellCheck' | 'overflowMenu' | 'pinToolbar';
17
+ export type ToolbarElementNames = 'aiExperience' | 'aiSimplified' | 'alignment' | 'avatarGroup' | 'beforePrimaryToolbar' | 'blockType' | 'findReplace' | 'highlight' | 'hyperlink' | 'insertBlock' | 'loom' | 'overflowMenu' | 'pinToolbar' | 'separator' | 'spellCheck' | 'textColor' | 'textFormatting' | 'toolbarListsIndentation' | 'trackChanges' | 'undoRedoPlugin';
18
18
  export type ToolbarElementConfig = {
19
19
  name: ToolbarElementNames;
20
20
  enabled?: (componentRegistry: ComponentRegistry, editorState: EditorState) => boolean;
@@ -14,7 +14,7 @@ export type PrimaryToolbarPlugin = NextEditorPlugin<'primaryToolbar', {
14
14
  pluginConfiguration?: PrimaryToolbarPluginOptions;
15
15
  }>;
16
16
  export type ComponentRegistry = Map<string, ToolbarUIComponentFactory>;
17
- export type ToolbarElementNames = 'separator' | 'undoRedoPlugin' | 'blockType' | 'textFormatting' | 'alignment' | 'textColor' | 'highlight' | 'hyperlink' | 'toolbarListsIndentation' | 'insertBlock' | 'beforePrimaryToolbar' | 'avatarGroup' | 'findReplace' | 'aiExperience' | 'aiSimplified' | 'loom' | 'spellCheck' | 'overflowMenu' | 'pinToolbar';
17
+ export type ToolbarElementNames = 'aiExperience' | 'aiSimplified' | 'alignment' | 'avatarGroup' | 'beforePrimaryToolbar' | 'blockType' | 'findReplace' | 'highlight' | 'hyperlink' | 'insertBlock' | 'loom' | 'overflowMenu' | 'pinToolbar' | 'separator' | 'spellCheck' | 'textColor' | 'textFormatting' | 'toolbarListsIndentation' | 'trackChanges' | 'undoRedoPlugin';
18
18
  export type ToolbarElementConfig = {
19
19
  name: ToolbarElementNames;
20
20
  enabled?: (componentRegistry: ComponentRegistry, editorState: EditorState) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-primary-toolbar",
3
- "version": "4.0.1",
3
+ "version": "4.1.1",
4
4
  "description": "Primary toolbar plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -37,12 +37,12 @@
37
37
  "dependencies": {
38
38
  "@atlaskit/editor-prosemirror": "7.0.0",
39
39
  "@atlaskit/platform-feature-flags": "^1.1.0",
40
- "@atlaskit/tmp-editor-statsig": "^9.0.0",
40
+ "@atlaskit/tmp-editor-statsig": "^9.17.0",
41
41
  "@babel/runtime": "^7.0.0",
42
42
  "@emotion/react": "^11.7.1"
43
43
  },
44
44
  "peerDependencies": {
45
- "@atlaskit/editor-common": "^107.7.0",
45
+ "@atlaskit/editor-common": "^107.13.0",
46
46
  "react": "^18.2.0"
47
47
  },
48
48
  "devDependencies": {
@@ -84,6 +84,10 @@
84
84
  }
85
85
  },
86
86
  "platform-feature-flags": {
87
+ "platform_editor_ai_in_document_streaming": {
88
+ "type": "boolean",
89
+ "referenceOnly": true
90
+ },
87
91
  "platform_editor_undo_redo_find_on_primary_toolbar": {
88
92
  "type": "boolean"
89
93
  }