@atlaskit/editor-plugin-show-diff 9.1.2 → 10.0.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 +31 -0
- package/dist/cjs/pm-plugins/calculateDiff/calculateDiffDecorations.js +24 -19
- package/dist/cjs/pm-plugins/decorations/createBlockChangedDecoration.js +14 -14
- package/dist/cjs/pm-plugins/decorations/createChangedRowDecorationWidgets.js +10 -1
- package/dist/cjs/pm-plugins/decorations/createInlineChangedDecoration.js +13 -12
- package/dist/cjs/pm-plugins/decorations/createNodeChangedDecorationWidget.js +8 -8
- package/dist/cjs/pm-plugins/decorations/decorationKeys.js +49 -8
- package/dist/cjs/pm-plugins/main.js +41 -29
- package/dist/cjs/showDiffPlugin.js +8 -4
- package/dist/es2019/pm-plugins/calculateDiff/calculateDiffDecorations.js +21 -16
- package/dist/es2019/pm-plugins/decorations/createBlockChangedDecoration.js +15 -15
- package/dist/es2019/pm-plugins/decorations/createChangedRowDecorationWidgets.js +9 -1
- package/dist/es2019/pm-plugins/decorations/createInlineChangedDecoration.js +14 -13
- package/dist/es2019/pm-plugins/decorations/createNodeChangedDecorationWidget.js +9 -9
- package/dist/es2019/pm-plugins/decorations/decorationKeys.js +44 -7
- package/dist/es2019/pm-plugins/main.js +19 -5
- package/dist/es2019/showDiffPlugin.js +8 -2
- package/dist/esm/pm-plugins/calculateDiff/calculateDiffDecorations.js +24 -19
- package/dist/esm/pm-plugins/decorations/createBlockChangedDecoration.js +15 -15
- package/dist/esm/pm-plugins/decorations/createChangedRowDecorationWidgets.js +10 -1
- package/dist/esm/pm-plugins/decorations/createInlineChangedDecoration.js +14 -13
- package/dist/esm/pm-plugins/decorations/createNodeChangedDecorationWidget.js +9 -9
- package/dist/esm/pm-plugins/decorations/decorationKeys.js +47 -7
- package/dist/esm/pm-plugins/main.js +41 -29
- package/dist/esm/showDiffPlugin.js +8 -4
- package/dist/types/pm-plugins/calculateDiff/calculateDiffDecorations.d.ts +7 -2
- package/dist/types/pm-plugins/decorations/createInlineChangedDecoration.d.ts +1 -1
- package/dist/types/pm-plugins/decorations/createNodeChangedDecorationWidget.d.ts +1 -1
- package/dist/types/pm-plugins/decorations/decorationKeys.d.ts +27 -6
- package/dist/types/pm-plugins/main.d.ts +6 -1
- package/dist/types/showDiffPluginType.d.ts +9 -0
- package/package.json +21 -29
|
@@ -8,7 +8,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
8
8
|
import { editingStyle, editingStyleExtended, editingStyleActive, editingStyleActiveExtended, deletedContentStyle, deletedContentStyleActive, deletedContentStyleNew, deletedContentStyleUnbounded, deletedInlineContentStyleExtended } from './colorSchemes/standard';
|
|
9
9
|
import { traditionalInsertStyle, traditionalInsertStyleActive, getDeletedTraditionalInlineStyle, deletedTraditionalContentStyleUnbounded, deletedTraditionalContentStyleUnboundedActive } from './colorSchemes/traditional';
|
|
10
10
|
import { createChangedRowDecorationWidgets } from './createChangedRowDecorationWidgets';
|
|
11
|
-
import {
|
|
11
|
+
import { buildDiffDecorationSpec } from './decorationKeys';
|
|
12
12
|
import { findSafeInsertPos } from './utils/findSafeInsertPos';
|
|
13
13
|
import { wrapBlockNodeView } from './utils/wrapBlockNodeView';
|
|
14
14
|
var getDeletedContentStyleUnbounded = function getDeletedContentStyleUnbounded(colorScheme) {
|
|
@@ -115,7 +115,7 @@ export var createNodeChangedDecorationWidget = function createNodeChangedDecorat
|
|
|
115
115
|
var safeInsertPos = findSafeInsertPos(newDoc, change.fromB, slice);
|
|
116
116
|
var isActive = activeIndexPos && safeInsertPos === activeIndexPos.from && safeInsertPos === activeIndexPos.to;
|
|
117
117
|
if (slice.content.content.length === 0 || shouldSkipDeletedEmptyParagraphDecoration) {
|
|
118
|
-
return;
|
|
118
|
+
return [];
|
|
119
119
|
}
|
|
120
120
|
var isTableCellContent = slice.content.content.some(function () {
|
|
121
121
|
return slice.content.content.some(function (siblingNode) {
|
|
@@ -128,7 +128,7 @@ export var createNodeChangedDecorationWidget = function createNodeChangedDecorat
|
|
|
128
128
|
});
|
|
129
129
|
});
|
|
130
130
|
if (isTableCellContent) {
|
|
131
|
-
return;
|
|
131
|
+
return [];
|
|
132
132
|
}
|
|
133
133
|
if (isTableRowContent) {
|
|
134
134
|
return createChangedRowDecorationWidgets({
|
|
@@ -249,14 +249,14 @@ export var createNodeChangedDecorationWidget = function createNodeChangedDecorat
|
|
|
249
249
|
}
|
|
250
250
|
});
|
|
251
251
|
dom.setAttribute('data-testid', 'show-diff-deleted-decoration');
|
|
252
|
+
var diffId = crypto.randomUUID();
|
|
252
253
|
var decorations = [];
|
|
253
|
-
decorations.push(Decoration.widget(safeInsertPos, dom, _objectSpread({
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
})
|
|
254
|
+
decorations.push(Decoration.widget(safeInsertPos, dom, buildDiffDecorationSpec(_objectSpread({
|
|
255
|
+
decorationType: 'widget',
|
|
256
|
+
diffId: diffId,
|
|
257
|
+
isActive: isActive
|
|
258
258
|
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) && {
|
|
259
259
|
side: -1
|
|
260
|
-
})));
|
|
260
|
+
}))));
|
|
261
261
|
return decorations;
|
|
262
262
|
};
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
1
5
|
/**
|
|
2
6
|
* Shared prefix for every decoration key produced by the show-diff plugin.
|
|
3
7
|
* All keys derive from this, so the full set of plugin decorations can be
|
|
4
8
|
* identified by this single prefix.
|
|
5
9
|
*/
|
|
6
|
-
|
|
10
|
+
var DIFF_DECORATION_FAMILY = 'diff';
|
|
7
11
|
/**
|
|
8
12
|
* The kinds of decoration the show-diff plugin produces. Each value is the
|
|
9
13
|
* leading segment of the generated key, so a decoration's kind can be matched
|
|
10
14
|
* with `key?.startsWith(DiffDecorationKey.inline)` etc.
|
|
11
15
|
*/
|
|
12
16
|
export var DiffDecorationKey = {
|
|
13
|
-
inline: "".concat(
|
|
14
|
-
block: "".concat(
|
|
15
|
-
widget: "".concat(
|
|
17
|
+
inline: "".concat(DIFF_DECORATION_FAMILY, "-inline"),
|
|
18
|
+
block: "".concat(DIFF_DECORATION_FAMILY, "-block"),
|
|
19
|
+
widget: "".concat(DIFF_DECORATION_FAMILY, "-widget")
|
|
16
20
|
};
|
|
17
21
|
|
|
18
22
|
/**
|
|
@@ -20,7 +24,43 @@ export var DiffDecorationKey = {
|
|
|
20
24
|
* (e.g. `diff-inline-active`).
|
|
21
25
|
*/
|
|
22
26
|
export var buildDiffDecorationKey = function buildDiffDecorationKey(_ref) {
|
|
23
|
-
var
|
|
24
|
-
isActive = _ref.isActive
|
|
25
|
-
|
|
27
|
+
var decorationKeyPrefix = _ref.decorationKeyPrefix,
|
|
28
|
+
isActive = _ref.isActive,
|
|
29
|
+
diffId = _ref.diffId;
|
|
30
|
+
if (expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true)) {
|
|
31
|
+
return "".concat(decorationKeyPrefix, "-").concat(diffId, "-").concat(isActive ? 'active' : 'inactive');
|
|
32
|
+
}
|
|
33
|
+
return isActive !== undefined ? "".concat(decorationKeyPrefix, "-").concat(isActive ? 'active' : 'inactive') : decorationKeyPrefix;
|
|
34
|
+
};
|
|
35
|
+
export var buildDiffDecorationSpec = function buildDiffDecorationSpec(_ref2) {
|
|
36
|
+
var decorationType = _ref2.decorationType,
|
|
37
|
+
diffId = _ref2.diffId,
|
|
38
|
+
isActive = _ref2.isActive,
|
|
39
|
+
nodeName = _ref2.nodeName,
|
|
40
|
+
side = _ref2.side;
|
|
41
|
+
return _objectSpread(_objectSpread({
|
|
42
|
+
decorationFamily: DIFF_DECORATION_FAMILY,
|
|
43
|
+
decorationType: decorationType,
|
|
44
|
+
diffId: diffId,
|
|
45
|
+
key: buildDiffDecorationKey({
|
|
46
|
+
decorationKeyPrefix: DiffDecorationKey[decorationType],
|
|
47
|
+
diffId: diffId,
|
|
48
|
+
isActive: isActive
|
|
49
|
+
})
|
|
50
|
+
}, nodeName ? {
|
|
51
|
+
nodeName: nodeName
|
|
52
|
+
} : {}), side !== undefined ? {
|
|
53
|
+
side: side
|
|
54
|
+
} : {});
|
|
55
|
+
};
|
|
56
|
+
export var extractDiffDescriptors = function extractDiffDescriptors(decorations) {
|
|
57
|
+
return decorations.find(undefined, undefined, function (spec) {
|
|
58
|
+
return spec.decorationFamily === 'diff';
|
|
59
|
+
}).map(function (_ref3) {
|
|
60
|
+
var spec = _ref3.spec;
|
|
61
|
+
return {
|
|
62
|
+
id: spec.diffId,
|
|
63
|
+
type: spec.decorationType
|
|
64
|
+
};
|
|
65
|
+
});
|
|
26
66
|
};
|
|
@@ -34,7 +34,8 @@ export var createPlugin = function createPlugin(config, getIntl, api) {
|
|
|
34
34
|
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
35
35
|
isInverted: false,
|
|
36
36
|
diffType: 'inline',
|
|
37
|
-
hideDeletedDiffs: false
|
|
37
|
+
hideDeletedDiffs: false,
|
|
38
|
+
diffDescriptors: []
|
|
38
39
|
} : {});
|
|
39
40
|
},
|
|
40
41
|
apply: function apply(tr, currentPluginState, oldState, newState) {
|
|
@@ -49,21 +50,26 @@ export var createPlugin = function createPlugin(config, getIntl, api) {
|
|
|
49
50
|
activeIndex: undefined
|
|
50
51
|
});
|
|
51
52
|
// Calculate and store decorations in state
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
var _calculateDiffDecorat = calculateDiffDecorations(_objectSpread({
|
|
54
|
+
state: newState,
|
|
55
|
+
pluginState: newPluginState,
|
|
56
|
+
nodeViewSerializer: nodeViewSerializer,
|
|
57
|
+
colorScheme: config === null || config === void 0 ? void 0 : config.colorScheme,
|
|
58
|
+
intl: getIntl(),
|
|
59
|
+
activeIndexPos: newPluginState.activeIndexPos,
|
|
60
|
+
api: api
|
|
61
|
+
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
62
|
+
isInverted: (_newPluginState = newPluginState) === null || _newPluginState === void 0 ? void 0 : _newPluginState.isInverted,
|
|
63
|
+
diffType: (_newPluginState2 = newPluginState) === null || _newPluginState2 === void 0 ? void 0 : _newPluginState2.diffType,
|
|
64
|
+
hideDeletedDiffs: (_newPluginState3 = newPluginState) === null || _newPluginState3 === void 0 ? void 0 : _newPluginState3.hideDeletedDiffs
|
|
65
|
+
} : {})),
|
|
66
|
+
decorations = _calculateDiffDecorat.decorations,
|
|
67
|
+
diffDescriptors = _calculateDiffDecorat.diffDescriptors;
|
|
68
|
+
// Update the decorations and their ids
|
|
66
69
|
newPluginState.decorations = decorations;
|
|
70
|
+
if (expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true)) {
|
|
71
|
+
newPluginState.diffDescriptors = diffDescriptors;
|
|
72
|
+
}
|
|
67
73
|
} else if ((meta === null || meta === void 0 ? void 0 : meta.action) === 'HIDE_DIFF') {
|
|
68
74
|
newPluginState = _objectSpread(_objectSpread(_objectSpread({}, currentPluginState), meta), {}, {
|
|
69
75
|
decorations: DecorationSet.empty,
|
|
@@ -72,7 +78,8 @@ export var createPlugin = function createPlugin(config, getIntl, api) {
|
|
|
72
78
|
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
73
79
|
isInverted: false,
|
|
74
80
|
diffType: 'inline',
|
|
75
|
-
hideDeletedDiffs: false
|
|
81
|
+
hideDeletedDiffs: false,
|
|
82
|
+
diffDescriptors: []
|
|
76
83
|
} : {});
|
|
77
84
|
} else if ((meta === null || meta === void 0 ? void 0 : meta.action) === 'SCROLL_TO_NEXT' || (meta === null || meta === void 0 ? void 0 : meta.action) === 'SCROLL_TO_PREVIOUS') {
|
|
78
85
|
// Update the active index in plugin state and recalculate decorations
|
|
@@ -102,20 +109,25 @@ export var createPlugin = function createPlugin(config, getIntl, api) {
|
|
|
102
109
|
} : undefined
|
|
103
110
|
});
|
|
104
111
|
// Recalculate decorations with the new active index
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
var _calculateDiffDecorat2 = calculateDiffDecorations(_objectSpread({
|
|
113
|
+
state: newState,
|
|
114
|
+
pluginState: newPluginState,
|
|
115
|
+
nodeViewSerializer: nodeViewSerializer,
|
|
116
|
+
colorScheme: config === null || config === void 0 ? void 0 : config.colorScheme,
|
|
117
|
+
intl: getIntl(),
|
|
118
|
+
activeIndexPos: newPluginState.activeIndexPos,
|
|
119
|
+
api: api
|
|
120
|
+
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
121
|
+
isInverted: newPluginState.isInverted,
|
|
122
|
+
diffType: newPluginState.diffType,
|
|
123
|
+
hideDeletedDiffs: newPluginState.hideDeletedDiffs
|
|
124
|
+
} : {})),
|
|
125
|
+
updatedDecorations = _calculateDiffDecorat2.decorations,
|
|
126
|
+
updatedDiffDescriptors = _calculateDiffDecorat2.diffDescriptors;
|
|
118
127
|
newPluginState.decorations = updatedDecorations;
|
|
128
|
+
if (expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true)) {
|
|
129
|
+
newPluginState.diffDescriptors = updatedDiffDescriptors;
|
|
130
|
+
}
|
|
119
131
|
}
|
|
120
132
|
} else {
|
|
121
133
|
newPluginState = _objectSpread(_objectSpread({}, currentPluginState), meta);
|
|
@@ -61,18 +61,22 @@ export var showDiffPlugin = function showDiffPlugin(_ref) {
|
|
|
61
61
|
},
|
|
62
62
|
getSharedState: function getSharedState(editorState) {
|
|
63
63
|
if (!editorState) {
|
|
64
|
-
return {
|
|
64
|
+
return _objectSpread({
|
|
65
65
|
isDisplayingChanges: false,
|
|
66
66
|
activeIndex: undefined
|
|
67
|
-
}
|
|
67
|
+
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
68
|
+
diffDescriptors: []
|
|
69
|
+
} : {});
|
|
68
70
|
}
|
|
69
71
|
var pluginState = showDiffPluginKey.getState(editorState);
|
|
70
72
|
var decorationCount = getScrollableDecorations(pluginState === null || pluginState === void 0 ? void 0 : pluginState.decorations, editorState.doc);
|
|
71
|
-
return {
|
|
73
|
+
return _objectSpread({
|
|
72
74
|
isDisplayingChanges: decorationCount.length > 0,
|
|
73
75
|
activeIndex: pluginState === null || pluginState === void 0 ? void 0 : pluginState.activeIndex,
|
|
74
76
|
numberOfChanges: decorationCount.length
|
|
75
|
-
}
|
|
77
|
+
}, expValEquals('platform_editor_diff_plugin_extended', 'isEnabled', true) ? {
|
|
78
|
+
diffDescriptors: pluginState === null || pluginState === void 0 ? void 0 : pluginState.diffDescriptors
|
|
79
|
+
} : {});
|
|
76
80
|
}
|
|
77
81
|
};
|
|
78
82
|
};
|
|
@@ -3,9 +3,13 @@ import type { IntlShape } from 'react-intl';
|
|
|
3
3
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
4
4
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
5
5
|
import { DecorationSet } from '@atlaskit/editor-prosemirror/view';
|
|
6
|
-
import type { ColorScheme, ShowDiffPlugin } from '../../showDiffPluginType';
|
|
6
|
+
import type { ColorScheme, DiffDescriptor, ShowDiffPlugin } from '../../showDiffPluginType';
|
|
7
7
|
import type { ShowDiffPluginState } from '../main';
|
|
8
8
|
import type { NodeViewSerializer } from '../NodeViewSerializer';
|
|
9
|
+
type CalculatedDiffs = {
|
|
10
|
+
decorations: DecorationSet;
|
|
11
|
+
diffDescriptors: DiffDescriptor[];
|
|
12
|
+
};
|
|
9
13
|
export declare const calculateDiffDecorations: MemoizedFn<({ state, pluginState, nodeViewSerializer, colorScheme, intl, activeIndexPos, api, hideDeletedDiffs, }: {
|
|
10
14
|
activeIndexPos?: {
|
|
11
15
|
from: number;
|
|
@@ -18,4 +22,5 @@ export declare const calculateDiffDecorations: MemoizedFn<({ state, pluginState,
|
|
|
18
22
|
nodeViewSerializer: NodeViewSerializer;
|
|
19
23
|
pluginState: Omit<ShowDiffPluginState, 'decorations'>;
|
|
20
24
|
state: EditorState;
|
|
21
|
-
}) =>
|
|
25
|
+
}) => CalculatedDiffs>;
|
|
26
|
+
export {};
|
|
@@ -1,23 +1,44 @@
|
|
|
1
|
+
import type { DecorationSet } from '@atlaskit/editor-prosemirror/view';
|
|
2
|
+
import type { DiffDescriptor } from '../../showDiffPluginType';
|
|
1
3
|
/**
|
|
2
4
|
* Shared prefix for every decoration key produced by the show-diff plugin.
|
|
3
5
|
* All keys derive from this, so the full set of plugin decorations can be
|
|
4
6
|
* identified by this single prefix.
|
|
5
7
|
*/
|
|
6
|
-
|
|
7
|
-
type
|
|
8
|
-
|
|
8
|
+
declare const DIFF_DECORATION_FAMILY: "diff";
|
|
9
|
+
export type DiffDecorationSpec = {
|
|
10
|
+
decorationFamily: typeof DIFF_DECORATION_FAMILY;
|
|
11
|
+
decorationType: DiffDescriptor['type'];
|
|
12
|
+
diffId: string;
|
|
13
|
+
key: string;
|
|
14
|
+
nodeName?: string;
|
|
15
|
+
side?: number;
|
|
16
|
+
};
|
|
9
17
|
/**
|
|
10
18
|
* The kinds of decoration the show-diff plugin produces. Each value is the
|
|
11
19
|
* leading segment of the generated key, so a decoration's kind can be matched
|
|
12
20
|
* with `key?.startsWith(DiffDecorationKey.inline)` etc.
|
|
13
21
|
*/
|
|
14
|
-
export declare const DiffDecorationKey: Readonly<
|
|
22
|
+
export declare const DiffDecorationKey: Readonly<{
|
|
23
|
+
block: `${typeof DIFF_DECORATION_FAMILY}-block`;
|
|
24
|
+
inline: `${typeof DIFF_DECORATION_FAMILY}-inline`;
|
|
25
|
+
widget: `${typeof DIFF_DECORATION_FAMILY}-widget`;
|
|
26
|
+
}>;
|
|
15
27
|
/**
|
|
16
28
|
* Builds a decoration key in the form `{type}-{active|inactive}`
|
|
17
29
|
* (e.g. `diff-inline-active`).
|
|
18
30
|
*/
|
|
19
|
-
export declare const buildDiffDecorationKey: ({
|
|
31
|
+
export declare const buildDiffDecorationKey: ({ decorationKeyPrefix, isActive, diffId, }: {
|
|
32
|
+
decorationKeyPrefix: (typeof DiffDecorationKey)[DiffDescriptor["type"]];
|
|
33
|
+
diffId?: string;
|
|
20
34
|
isActive?: boolean;
|
|
21
|
-
type: DiffDecorationKeyType;
|
|
22
35
|
}) => string;
|
|
36
|
+
export declare const buildDiffDecorationSpec: ({ decorationType, diffId, isActive, nodeName, side, }: {
|
|
37
|
+
decorationType: DiffDescriptor["type"];
|
|
38
|
+
diffId: string;
|
|
39
|
+
isActive?: boolean;
|
|
40
|
+
nodeName?: string;
|
|
41
|
+
side?: number;
|
|
42
|
+
}) => DiffDecorationSpec;
|
|
43
|
+
export declare const extractDiffDescriptors: (decorations: DecorationSet) => DiffDescriptor[];
|
|
23
44
|
export {};
|
|
@@ -5,7 +5,7 @@ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
|
5
5
|
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
6
6
|
import { Step as ProseMirrorStep } from '@atlaskit/editor-prosemirror/transform';
|
|
7
7
|
import { DecorationSet } from '@atlaskit/editor-prosemirror/view';
|
|
8
|
-
import type { DiffParams, DiffType, ShowDiffPlugin } from '../showDiffPluginType';
|
|
8
|
+
import type { DiffDescriptor, DiffParams, DiffType, ShowDiffPlugin } from '../showDiffPluginType';
|
|
9
9
|
export declare const showDiffPluginKey: PluginKey<ShowDiffPluginState>;
|
|
10
10
|
export type ShowDiffPluginState = {
|
|
11
11
|
activeIndex?: number;
|
|
@@ -14,6 +14,11 @@ export type ShowDiffPluginState = {
|
|
|
14
14
|
to: number;
|
|
15
15
|
};
|
|
16
16
|
decorations: DecorationSet;
|
|
17
|
+
/**
|
|
18
|
+
* The diff descriptors of the diff decorations currently being displayed.
|
|
19
|
+
* Only set when `platform_editor_diff_plugin_extended` is on.
|
|
20
|
+
*/
|
|
21
|
+
diffDescriptors?: DiffDescriptor[];
|
|
17
22
|
diffType?: DiffType;
|
|
18
23
|
hideDeletedDiffs?: boolean;
|
|
19
24
|
isDisplayingChanges: boolean;
|
|
@@ -8,6 +8,10 @@ import type { Node } from '@atlaskit/editor-prosemirror/model';
|
|
|
8
8
|
import type { Step } from '@atlaskit/editor-prosemirror/transform';
|
|
9
9
|
export type ColorScheme = 'standard' | 'traditional';
|
|
10
10
|
export type DiffType = 'inline' | 'block' | 'step';
|
|
11
|
+
export type DiffDescriptor = {
|
|
12
|
+
id: string;
|
|
13
|
+
type: 'inline' | 'block' | 'widget';
|
|
14
|
+
};
|
|
11
15
|
export type DiffParams = {
|
|
12
16
|
/**
|
|
13
17
|
* Color scheme to use for displaying diffs.
|
|
@@ -55,6 +59,11 @@ export type ShowDiffPlugin = NextEditorPlugin<'showDiff', {
|
|
|
55
59
|
* The index of the current diff being viewed.
|
|
56
60
|
*/
|
|
57
61
|
activeIndex?: number;
|
|
62
|
+
/**
|
|
63
|
+
* The diff descriptors of the diff decorations currently being displayed.
|
|
64
|
+
* Only set when `platform_editor_diff_plugin_extended` is on.
|
|
65
|
+
*/
|
|
66
|
+
diffDescriptors?: DiffDescriptor[];
|
|
58
67
|
/**
|
|
59
68
|
* Whether the show diff feature is currently displaying changes.
|
|
60
69
|
* Defaults to false.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-show-diff",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "ShowDiff plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,42 +17,34 @@
|
|
|
17
17
|
"module": "dist/esm/index.js",
|
|
18
18
|
"module:es2019": "dist/es2019/index.js",
|
|
19
19
|
"types": "dist/types/index.d.ts",
|
|
20
|
-
"typesVersions": {
|
|
21
|
-
">=4.5 <4.9": {
|
|
22
|
-
"*": [
|
|
23
|
-
"dist/types-ts4.5/*",
|
|
24
|
-
"dist/types-ts4.5/index.d.ts"
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
20
|
"sideEffects": false,
|
|
29
21
|
"atlaskit:src": "src/index.ts",
|
|
30
22
|
"dependencies": {
|
|
31
|
-
"@atlaskit/adf-schema": "^
|
|
32
|
-
"@atlaskit/custom-steps": "^0.
|
|
33
|
-
"@atlaskit/editor-plugin-analytics": "^
|
|
34
|
-
"@atlaskit/editor-plugin-expand": "^
|
|
35
|
-
"@atlaskit/editor-plugin-user-intent": "^
|
|
36
|
-
"@atlaskit/editor-prosemirror": "^
|
|
37
|
-
"@atlaskit/editor-tables": "^
|
|
38
|
-
"@atlaskit/platform-feature-flags": "^
|
|
39
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
40
|
-
"@atlaskit/tokens": "^
|
|
23
|
+
"@atlaskit/adf-schema": "^55.0.0",
|
|
24
|
+
"@atlaskit/custom-steps": "^1.0.0",
|
|
25
|
+
"@atlaskit/editor-plugin-analytics": "^12.0.0",
|
|
26
|
+
"@atlaskit/editor-plugin-expand": "^13.0.0",
|
|
27
|
+
"@atlaskit/editor-plugin-user-intent": "^10.0.0",
|
|
28
|
+
"@atlaskit/editor-prosemirror": "^8.0.0",
|
|
29
|
+
"@atlaskit/editor-tables": "^3.0.0",
|
|
30
|
+
"@atlaskit/platform-feature-flags": "^2.0.0",
|
|
31
|
+
"@atlaskit/tmp-editor-statsig": "^104.0.0",
|
|
32
|
+
"@atlaskit/tokens": "^14.0.0",
|
|
41
33
|
"@babel/runtime": "^7.0.0",
|
|
42
34
|
"lodash": "^4.17.21",
|
|
43
35
|
"memoize-one": "^6.0.0",
|
|
44
36
|
"prosemirror-changeset": "^2.3.1"
|
|
45
37
|
},
|
|
46
38
|
"devDependencies": {
|
|
47
|
-
"@atlaskit/adf-utils": "^
|
|
48
|
-
"@atlaskit/button": "^
|
|
49
|
-
"@atlaskit/css": "^0.
|
|
50
|
-
"@atlaskit/editor-core": "^
|
|
51
|
-
"@atlaskit/editor-json-transformer": "^
|
|
52
|
-
"@atlaskit/form": "^
|
|
53
|
-
"@atlaskit/primitives": "^
|
|
54
|
-
"@atlaskit/section-message": "^
|
|
55
|
-
"@atlaskit/textarea": "^
|
|
39
|
+
"@atlaskit/adf-utils": "^20.0.0",
|
|
40
|
+
"@atlaskit/button": "^24.0.0",
|
|
41
|
+
"@atlaskit/css": "^1.0.0",
|
|
42
|
+
"@atlaskit/editor-core": "^221.0.0",
|
|
43
|
+
"@atlaskit/editor-json-transformer": "^9.0.0",
|
|
44
|
+
"@atlaskit/form": "^16.0.0",
|
|
45
|
+
"@atlaskit/primitives": "^20.0.0",
|
|
46
|
+
"@atlaskit/section-message": "^9.0.0",
|
|
47
|
+
"@atlaskit/textarea": "^9.0.0",
|
|
56
48
|
"@atlassian/confluence-presets": "workspace:^",
|
|
57
49
|
"@atlassian/content-reconciliation": "^0.1.3506",
|
|
58
50
|
"@atlassian/structured-docs-types": "workspace:^",
|
|
@@ -60,7 +52,7 @@
|
|
|
60
52
|
"react-intl": "^6.6.2"
|
|
61
53
|
},
|
|
62
54
|
"peerDependencies": {
|
|
63
|
-
"@atlaskit/editor-common": "^
|
|
55
|
+
"@atlaskit/editor-common": "^116.0.0",
|
|
64
56
|
"react": "^18.2.0"
|
|
65
57
|
},
|
|
66
58
|
"techstack": {
|