@atlaskit/editor-plugin-track-changes 2.6.4 → 2.7.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-plugin-track-changes
2
2
 
3
+ ## 2.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`f78a34afab8d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f78a34afab8d4) -
8
+ [ux] ED-28961 register undo redo and track changes buttons to new toolbar behind
9
+ platform_editor_toolbar_aifc. adds ai buttons into comment toolbar.
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 2.6.4
4
16
 
5
17
  ### Patch Changes
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-cc/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-cc/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-cc/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-cc/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-cc/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-cc/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-cc/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-dev-agents/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-dev-agents/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-dev-agents/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-dev-agents/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-dev-agents/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-dev-agents/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-dev-agents/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-jira/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-jira/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-jira/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-jira/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-jira/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-jira/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-jira/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-passionfruit/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-passionfruit/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-passionfruit/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-passionfruit/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-passionfruit/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-passionfruit/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-passionfruit/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-post-office/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-post-office/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-post-office/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-post-office/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-post-office/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-post-office/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-post-office/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-rovo-extension/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-rovo-extension/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-rovo-extension/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-rovo-extension/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-rovo-extension/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-rovo-extension/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-rovo-extension/tsconfig.json"
42
54
  }
@@ -34,9 +34,21 @@
34
34
  {
35
35
  "path": "../../editor-plugin-show-diff/afm-townsquare/tsconfig.json"
36
36
  },
37
+ {
38
+ "path": "../../editor-plugin-toolbar/afm-townsquare/tsconfig.json"
39
+ },
40
+ {
41
+ "path": "../../editor-toolbar/afm-townsquare/tsconfig.json"
42
+ },
43
+ {
44
+ "path": "../../editor-toolbar-model/afm-townsquare/tsconfig.json"
45
+ },
37
46
  {
38
47
  "path": "../../../design-system/icon-lab/afm-townsquare/tsconfig.json"
39
48
  },
49
+ {
50
+ "path": "../../tmp-editor-statsig/afm-townsquare/tsconfig.json"
51
+ },
40
52
  {
41
53
  "path": "../../editor-common/afm-townsquare/tsconfig.json"
42
54
  }
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.trackChangesPlugin = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
9
10
  var _main = require("./pm-plugins/main");
10
11
  var _types = require("./pm-plugins/types");
12
+ var _toolbarComponents = require("./ui/toolbar-components");
11
13
  var _TrackChangesToolbarButton = require("./ui/TrackChangesToolbarButton");
12
14
  var trackChangesPlugin = exports.trackChangesPlugin = function trackChangesPlugin(_ref) {
13
15
  var api = _ref.api,
@@ -18,11 +20,16 @@ var trackChangesPlugin = exports.trackChangesPlugin = function trackChangesPlugi
18
20
  });
19
21
  };
20
22
  if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
21
- var _api$primaryToolbar;
22
- api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
23
- name: 'trackChanges',
24
- component: primaryToolbarComponent
25
- });
23
+ if ((0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true)) {
24
+ var _api$toolbar;
25
+ api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents((0, _toolbarComponents.getToolbarComponents)(api));
26
+ } else {
27
+ var _api$primaryToolbar;
28
+ api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
29
+ name: 'trackChanges',
30
+ component: primaryToolbarComponent
31
+ });
32
+ }
26
33
  }
27
34
  return {
28
35
  name: 'trackChanges',
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TrackChangesButtonNew = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _hooks = require("@atlaskit/editor-common/hooks");
11
+ var _messages = require("@atlaskit/editor-common/messages");
12
+ var _editorToolbar = require("@atlaskit/editor-toolbar");
13
+ var TrackChangesButtonNew = exports.TrackChangesButtonNew = function TrackChangesButtonNew(_ref) {
14
+ var api = _ref.api;
15
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['trackChanges'], function (states) {
16
+ var _states$trackChangesS, _states$trackChangesS2;
17
+ return {
18
+ isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
19
+ isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
20
+ };
21
+ }),
22
+ isDisplayingChanges = _useSharedPluginState.isDisplayingChanges,
23
+ isShowDiffAvailable = _useSharedPluginState.isShowDiffAvailable;
24
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
25
+ formatMessage = _useIntl.formatMessage;
26
+ var handleClick = _react.default.useCallback(function () {
27
+ var _api$trackChanges;
28
+ var wasShowingDiffSelected = isDisplayingChanges;
29
+ var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
30
+ // On de-selection - focus back on the editor
31
+ if (result && wasShowingDiffSelected) {
32
+ api === null || api === void 0 || api.core.actions.focus();
33
+ }
34
+ }, [api, isDisplayingChanges]);
35
+ return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarTooltip, {
36
+ content: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
37
+ }, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarButton, {
38
+ iconBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.HistoryIcon, {
39
+ label: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
40
+ }),
41
+ onClick: handleClick,
42
+ isDisabled: !isShowDiffAvailable,
43
+ isSelected: isDisplayingChanges
44
+ }));
45
+ };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getToolbarComponents = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
10
+ var _TrackChangesButtonNew = require("./TrackChangesButtonNew");
11
+ var getToolbarComponents = exports.getToolbarComponents = function getToolbarComponents(api) {
12
+ return [{
13
+ type: _toolbar.TRACK_CHANGES_SECTION.type,
14
+ key: _toolbar.TRACK_CHANGES_SECTION.key,
15
+ parents: [{
16
+ type: 'toolbar',
17
+ key: _toolbar.TOOLBARS.PRIMARY_TOOLBAR,
18
+ rank: _toolbar.TOOLBAR_RANK[_toolbar.TRACK_CHANGES_SECTION.key]
19
+ }]
20
+ }, {
21
+ type: _toolbar.TRACK_CHANGES_GROUP.type,
22
+ key: _toolbar.TRACK_CHANGES_GROUP.key,
23
+ parents: [{
24
+ type: _toolbar.TRACK_CHANGES_SECTION.type,
25
+ key: _toolbar.TRACK_CHANGES_SECTION.key,
26
+ rank: _toolbar.TRACK_CHANGES_SECTION_RANK[_toolbar.TRACK_CHANGES_GROUP.key]
27
+ }]
28
+ }, {
29
+ type: _toolbar.TRACK_CHANGES_BUTTON.type,
30
+ key: _toolbar.TRACK_CHANGES_BUTTON.key,
31
+ parents: [{
32
+ type: _toolbar.TRACK_CHANGES_GROUP.type,
33
+ key: _toolbar.TRACK_CHANGES_GROUP.key,
34
+ rank: _toolbar.TRACK_CHANGES_GROUP_RANK[_toolbar.TRACK_CHANGES_BUTTON.key]
35
+ }],
36
+ component: function component() {
37
+ return /*#__PURE__*/_react.default.createElement(_TrackChangesButtonNew.TrackChangesButtonNew, {
38
+ api: api
39
+ });
40
+ }
41
+ }];
42
+ };
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
2
3
  import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
3
4
  import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
5
+ import { getToolbarComponents } from './ui/toolbar-components';
4
6
  import { TrackChangesToolbarButton } from './ui/TrackChangesToolbarButton';
5
7
  export const trackChangesPlugin = ({
6
8
  api,
@@ -12,11 +14,16 @@ export const trackChangesPlugin = ({
12
14
  });
13
15
  };
14
16
  if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
15
- var _api$primaryToolbar, _api$primaryToolbar$a;
16
- api === null || api === void 0 ? void 0 : (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 ? void 0 : (_api$primaryToolbar$a = _api$primaryToolbar.actions) === null || _api$primaryToolbar$a === void 0 ? void 0 : _api$primaryToolbar$a.registerComponent({
17
- name: 'trackChanges',
18
- component: primaryToolbarComponent
19
- });
17
+ if (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true)) {
18
+ var _api$toolbar;
19
+ api === null || api === void 0 ? void 0 : (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 ? void 0 : _api$toolbar.actions.registerComponents(getToolbarComponents(api));
20
+ } else {
21
+ var _api$primaryToolbar, _api$primaryToolbar$a;
22
+ api === null || api === void 0 ? void 0 : (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 ? void 0 : (_api$primaryToolbar$a = _api$primaryToolbar.actions) === null || _api$primaryToolbar$a === void 0 ? void 0 : _api$primaryToolbar$a.registerComponent({
23
+ name: 'trackChanges',
24
+ component: primaryToolbarComponent
25
+ });
26
+ }
20
27
  }
21
28
  return {
22
29
  name: 'trackChanges',
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl-next';
3
+ import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
4
+ import { trackChangesMessages } from '@atlaskit/editor-common/messages';
5
+ import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
6
+ export const TrackChangesButtonNew = ({
7
+ api
8
+ }) => {
9
+ const {
10
+ isDisplayingChanges,
11
+ isShowDiffAvailable
12
+ } = useSharedPluginStateWithSelector(api, ['trackChanges'], states => {
13
+ var _states$trackChangesS, _states$trackChangesS2;
14
+ return {
15
+ isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
16
+ isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
17
+ };
18
+ });
19
+ const {
20
+ formatMessage
21
+ } = useIntl();
22
+ const handleClick = React.useCallback(() => {
23
+ var _api$trackChanges;
24
+ const wasShowingDiffSelected = isDisplayingChanges;
25
+ const result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 ? void 0 : (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
26
+ // On de-selection - focus back on the editor
27
+ if (result && wasShowingDiffSelected) {
28
+ api === null || api === void 0 ? void 0 : api.core.actions.focus();
29
+ }
30
+ }, [api, isDisplayingChanges]);
31
+ return /*#__PURE__*/React.createElement(ToolbarTooltip, {
32
+ content: formatMessage(trackChangesMessages.toolbarIconLabel)
33
+ }, /*#__PURE__*/React.createElement(ToolbarButton, {
34
+ iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
35
+ label: formatMessage(trackChangesMessages.toolbarIconLabel)
36
+ }),
37
+ onClick: handleClick,
38
+ isDisabled: !isShowDiffAvailable,
39
+ isSelected: isDisplayingChanges
40
+ }));
41
+ };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { TOOLBAR_RANK, TOOLBARS, TRACK_CHANGES_BUTTON, TRACK_CHANGES_GROUP, TRACK_CHANGES_GROUP_RANK, TRACK_CHANGES_SECTION, TRACK_CHANGES_SECTION_RANK } from "@atlaskit/editor-common/toolbar";
3
+ import { TrackChangesButtonNew } from "./TrackChangesButtonNew";
4
+ export const getToolbarComponents = api => {
5
+ return [{
6
+ type: TRACK_CHANGES_SECTION.type,
7
+ key: TRACK_CHANGES_SECTION.key,
8
+ parents: [{
9
+ type: 'toolbar',
10
+ key: TOOLBARS.PRIMARY_TOOLBAR,
11
+ rank: TOOLBAR_RANK[TRACK_CHANGES_SECTION.key]
12
+ }]
13
+ }, {
14
+ type: TRACK_CHANGES_GROUP.type,
15
+ key: TRACK_CHANGES_GROUP.key,
16
+ parents: [{
17
+ type: TRACK_CHANGES_SECTION.type,
18
+ key: TRACK_CHANGES_SECTION.key,
19
+ rank: TRACK_CHANGES_SECTION_RANK[TRACK_CHANGES_GROUP.key]
20
+ }]
21
+ }, {
22
+ type: TRACK_CHANGES_BUTTON.type,
23
+ key: TRACK_CHANGES_BUTTON.key,
24
+ parents: [{
25
+ type: TRACK_CHANGES_GROUP.type,
26
+ key: TRACK_CHANGES_GROUP.key,
27
+ rank: TRACK_CHANGES_GROUP_RANK[TRACK_CHANGES_BUTTON.key]
28
+ }],
29
+ component: () => /*#__PURE__*/React.createElement(TrackChangesButtonNew, {
30
+ api: api
31
+ })
32
+ }];
33
+ };
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
2
3
  import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
3
4
  import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
5
+ import { getToolbarComponents } from './ui/toolbar-components';
4
6
  import { TrackChangesToolbarButton } from './ui/TrackChangesToolbarButton';
5
7
  export var trackChangesPlugin = function trackChangesPlugin(_ref) {
6
8
  var api = _ref.api,
@@ -11,11 +13,16 @@ export var trackChangesPlugin = function trackChangesPlugin(_ref) {
11
13
  });
12
14
  };
13
15
  if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
14
- var _api$primaryToolbar;
15
- api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
16
- name: 'trackChanges',
17
- component: primaryToolbarComponent
18
- });
16
+ if (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true)) {
17
+ var _api$toolbar;
18
+ api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents(getToolbarComponents(api));
19
+ } else {
20
+ var _api$primaryToolbar;
21
+ api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
22
+ name: 'trackChanges',
23
+ component: primaryToolbarComponent
24
+ });
25
+ }
19
26
  }
20
27
  return {
21
28
  name: 'trackChanges',
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl-next';
3
+ import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
4
+ import { trackChangesMessages } from '@atlaskit/editor-common/messages';
5
+ import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
6
+ export var TrackChangesButtonNew = function TrackChangesButtonNew(_ref) {
7
+ var api = _ref.api;
8
+ var _useSharedPluginState = useSharedPluginStateWithSelector(api, ['trackChanges'], function (states) {
9
+ var _states$trackChangesS, _states$trackChangesS2;
10
+ return {
11
+ isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
12
+ isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
13
+ };
14
+ }),
15
+ isDisplayingChanges = _useSharedPluginState.isDisplayingChanges,
16
+ isShowDiffAvailable = _useSharedPluginState.isShowDiffAvailable;
17
+ var _useIntl = useIntl(),
18
+ formatMessage = _useIntl.formatMessage;
19
+ var handleClick = React.useCallback(function () {
20
+ var _api$trackChanges;
21
+ var wasShowingDiffSelected = isDisplayingChanges;
22
+ var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
23
+ // On de-selection - focus back on the editor
24
+ if (result && wasShowingDiffSelected) {
25
+ api === null || api === void 0 || api.core.actions.focus();
26
+ }
27
+ }, [api, isDisplayingChanges]);
28
+ return /*#__PURE__*/React.createElement(ToolbarTooltip, {
29
+ content: formatMessage(trackChangesMessages.toolbarIconLabel)
30
+ }, /*#__PURE__*/React.createElement(ToolbarButton, {
31
+ iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
32
+ label: formatMessage(trackChangesMessages.toolbarIconLabel)
33
+ }),
34
+ onClick: handleClick,
35
+ isDisabled: !isShowDiffAvailable,
36
+ isSelected: isDisplayingChanges
37
+ }));
38
+ };
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { TOOLBAR_RANK, TOOLBARS, TRACK_CHANGES_BUTTON, TRACK_CHANGES_GROUP, TRACK_CHANGES_GROUP_RANK, TRACK_CHANGES_SECTION, TRACK_CHANGES_SECTION_RANK } from "@atlaskit/editor-common/toolbar";
3
+ import { TrackChangesButtonNew } from "./TrackChangesButtonNew";
4
+ export var getToolbarComponents = function getToolbarComponents(api) {
5
+ return [{
6
+ type: TRACK_CHANGES_SECTION.type,
7
+ key: TRACK_CHANGES_SECTION.key,
8
+ parents: [{
9
+ type: 'toolbar',
10
+ key: TOOLBARS.PRIMARY_TOOLBAR,
11
+ rank: TOOLBAR_RANK[TRACK_CHANGES_SECTION.key]
12
+ }]
13
+ }, {
14
+ type: TRACK_CHANGES_GROUP.type,
15
+ key: TRACK_CHANGES_GROUP.key,
16
+ parents: [{
17
+ type: TRACK_CHANGES_SECTION.type,
18
+ key: TRACK_CHANGES_SECTION.key,
19
+ rank: TRACK_CHANGES_SECTION_RANK[TRACK_CHANGES_GROUP.key]
20
+ }]
21
+ }, {
22
+ type: TRACK_CHANGES_BUTTON.type,
23
+ key: TRACK_CHANGES_BUTTON.key,
24
+ parents: [{
25
+ type: TRACK_CHANGES_GROUP.type,
26
+ key: TRACK_CHANGES_GROUP.key,
27
+ rank: TRACK_CHANGES_GROUP_RANK[TRACK_CHANGES_BUTTON.key]
28
+ }],
29
+ component: function component() {
30
+ return /*#__PURE__*/React.createElement(TrackChangesButtonNew, {
31
+ api: api
32
+ });
33
+ }
34
+ }];
35
+ };
@@ -2,6 +2,7 @@ import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/
2
2
  import type { HistoryPlugin } from '@atlaskit/editor-plugin-history';
3
3
  import { type PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
4
4
  import type { ShowDiffPlugin } from '@atlaskit/editor-plugin-show-diff';
5
+ import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
5
6
  export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
6
7
  commands: {
7
8
  /**
@@ -25,7 +26,8 @@ export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
25
26
  /**
26
27
  * Show diff plugin for showing the changes in a diff view.
27
28
  */
28
- ShowDiffPlugin
29
+ ShowDiffPlugin,
30
+ OptionalPlugin<ToolbarPlugin>
29
31
  ];
30
32
  pluginConfiguration?: {
31
33
  /**
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import { type TrackChangesPlugin } from '../trackChangesPluginType';
4
+ type TrackChangesButtonNewProps = {
5
+ api?: ExtractInjectionAPI<TrackChangesPlugin>;
6
+ };
7
+ export declare const TrackChangesButtonNew: ({ api }: TrackChangesButtonNewProps) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { ExtractInjectionAPI } from "@atlaskit/editor-common/types";
2
+ import type { RegisterComponent } from "@atlaskit/editor-toolbar-model";
3
+ import type { TrackChangesPlugin } from "../trackChangesPluginType";
4
+ export declare const getToolbarComponents: (api?: ExtractInjectionAPI<TrackChangesPlugin>) => RegisterComponent[];
@@ -2,6 +2,7 @@ import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/
2
2
  import type { HistoryPlugin } from '@atlaskit/editor-plugin-history';
3
3
  import { type PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
4
4
  import type { ShowDiffPlugin } from '@atlaskit/editor-plugin-show-diff';
5
+ import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
5
6
  export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
6
7
  commands: {
7
8
  /**
@@ -25,7 +26,8 @@ export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
25
26
  /**
26
27
  * Show diff plugin for showing the changes in a diff view.
27
28
  */
28
- ShowDiffPlugin
29
+ ShowDiffPlugin,
30
+ OptionalPlugin<ToolbarPlugin>
29
31
  ];
30
32
  pluginConfiguration?: {
31
33
  /**
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import { type TrackChangesPlugin } from '../trackChangesPluginType';
4
+ type TrackChangesButtonNewProps = {
5
+ api?: ExtractInjectionAPI<TrackChangesPlugin>;
6
+ };
7
+ export declare const TrackChangesButtonNew: ({ api }: TrackChangesButtonNewProps) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { ExtractInjectionAPI } from "@atlaskit/editor-common/types";
2
+ import type { RegisterComponent } from "@atlaskit/editor-toolbar-model";
3
+ import type { TrackChangesPlugin } from "../trackChangesPluginType";
4
+ export declare const getToolbarComponents: (api?: ExtractInjectionAPI<TrackChangesPlugin>) => RegisterComponent[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-track-changes",
3
- "version": "2.6.4",
3
+ "version": "2.7.0",
4
4
  "description": "ShowDiff plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -35,13 +35,17 @@
35
35
  "@atlaskit/editor-plugin-history": "3.1.0",
36
36
  "@atlaskit/editor-plugin-primary-toolbar": "^4.1.0",
37
37
  "@atlaskit/editor-plugin-show-diff": "0.1.3",
38
+ "@atlaskit/editor-plugin-toolbar": "^0.2.0",
38
39
  "@atlaskit/editor-prosemirror": "7.0.0",
40
+ "@atlaskit/editor-toolbar": "^0.3.0",
41
+ "@atlaskit/editor-toolbar-model": "^0.1.0",
39
42
  "@atlaskit/icon-lab": "^5.6.0",
43
+ "@atlaskit/tmp-editor-statsig": "^11.3.0",
40
44
  "@babel/runtime": "^7.0.0",
41
45
  "react-intl-next": "npm:react-intl@^5.18.1"
42
46
  },
43
47
  "peerDependencies": {
44
- "@atlaskit/editor-common": "^107.25.0",
48
+ "@atlaskit/editor-common": "^107.26.0",
45
49
  "react": "^18.2.0"
46
50
  },
47
51
  "techstack": {