@atlaskit/editor-plugin-show-diff 5.0.4 → 5.0.6

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 (70) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/pm-plugins/calculateDiffDecorations.js +66 -39
  3. package/dist/cjs/pm-plugins/{colorSchemes → decorations/colorSchemes}/standard.js +32 -30
  4. package/dist/cjs/pm-plugins/decorations/colorSchemes/traditional.js +75 -0
  5. package/dist/cjs/pm-plugins/decorations/createBlockChangedDecoration.js +75 -0
  6. package/dist/cjs/pm-plugins/{deletedRowsHandler.js → decorations/createChangedRowDecorationWidgets.js} +34 -61
  7. package/dist/cjs/pm-plugins/decorations/createInlineChangedDecoration.js +33 -0
  8. package/dist/cjs/pm-plugins/{decorations.js → decorations/createNodeChangedDecorationWidget.js} +27 -71
  9. package/dist/cjs/pm-plugins/{attributeDecorations.js → decorations/utils/getAttrChangeRanges.js} +1 -1
  10. package/dist/cjs/pm-plugins/{deletedBlocksHandler.js → decorations/utils/wrapBlockNodeView.js} +90 -70
  11. package/dist/es2019/pm-plugins/calculateDiffDecorations.js +41 -13
  12. package/dist/es2019/pm-plugins/{colorSchemes → decorations/colorSchemes}/standard.js +31 -29
  13. package/dist/es2019/pm-plugins/{colorSchemes → decorations/colorSchemes}/traditional.js +28 -29
  14. package/dist/es2019/pm-plugins/decorations/createBlockChangedDecoration.js +70 -0
  15. package/dist/es2019/pm-plugins/{deletedRowsHandler.js → decorations/createChangedRowDecorationWidgets.js} +30 -57
  16. package/dist/es2019/pm-plugins/decorations/createInlineChangedDecoration.js +28 -0
  17. package/dist/es2019/pm-plugins/{decorations.js → decorations/createNodeChangedDecorationWidget.js} +27 -71
  18. package/dist/es2019/pm-plugins/{attributeDecorations.js → decorations/utils/getAttrChangeRanges.js} +1 -1
  19. package/dist/es2019/pm-plugins/{deletedBlocksHandler.js → decorations/utils/wrapBlockNodeView.js} +89 -64
  20. package/dist/esm/pm-plugins/calculateDiffDecorations.js +62 -35
  21. package/dist/esm/pm-plugins/{colorSchemes → decorations/colorSchemes}/standard.js +31 -29
  22. package/dist/esm/pm-plugins/{colorSchemes → decorations/colorSchemes}/traditional.js +28 -29
  23. package/dist/esm/pm-plugins/decorations/createBlockChangedDecoration.js +69 -0
  24. package/dist/esm/pm-plugins/{deletedRowsHandler.js → decorations/createChangedRowDecorationWidgets.js} +32 -59
  25. package/dist/esm/pm-plugins/decorations/createInlineChangedDecoration.js +28 -0
  26. package/dist/esm/pm-plugins/{decorations.js → decorations/createNodeChangedDecorationWidget.js} +27 -71
  27. package/dist/esm/pm-plugins/{attributeDecorations.js → decorations/utils/getAttrChangeRanges.js} +1 -1
  28. package/dist/esm/pm-plugins/{deletedBlocksHandler.js → decorations/utils/wrapBlockNodeView.js} +84 -64
  29. package/dist/types/pm-plugins/NodeViewSerializer.d.ts +1 -1
  30. package/dist/types/pm-plugins/calculateDiffDecorations.d.ts +2 -1
  31. package/dist/types/pm-plugins/decorations/colorSchemes/standard.d.ts +17 -0
  32. package/dist/types/pm-plugins/decorations/colorSchemes/traditional.d.ts +13 -0
  33. package/dist/types/pm-plugins/decorations/createBlockChangedDecoration.d.ts +16 -0
  34. package/dist/types/pm-plugins/decorations/createChangedRowDecorationWidgets.d.ts +17 -0
  35. package/dist/types/pm-plugins/decorations/createInlineChangedDecoration.d.ts +16 -0
  36. package/dist/types/pm-plugins/decorations/createNodeChangedDecorationWidget.d.ts +15 -0
  37. package/dist/types/pm-plugins/decorations/utils/wrapBlockNodeView.d.ts +15 -0
  38. package/dist/types-ts4.5/pm-plugins/NodeViewSerializer.d.ts +1 -1
  39. package/dist/types-ts4.5/pm-plugins/calculateDiffDecorations.d.ts +2 -1
  40. package/dist/types-ts4.5/pm-plugins/decorations/colorSchemes/standard.d.ts +17 -0
  41. package/dist/types-ts4.5/pm-plugins/decorations/colorSchemes/traditional.d.ts +13 -0
  42. package/dist/types-ts4.5/pm-plugins/decorations/createBlockChangedDecoration.d.ts +16 -0
  43. package/dist/types-ts4.5/pm-plugins/decorations/createChangedRowDecorationWidgets.d.ts +17 -0
  44. package/dist/types-ts4.5/pm-plugins/decorations/createInlineChangedDecoration.d.ts +16 -0
  45. package/dist/types-ts4.5/pm-plugins/decorations/createNodeChangedDecorationWidget.d.ts +15 -0
  46. package/dist/types-ts4.5/pm-plugins/decorations/utils/wrapBlockNodeView.d.ts +15 -0
  47. package/package.json +3 -3
  48. package/dist/cjs/pm-plugins/colorSchemes/traditional.js +0 -76
  49. package/dist/types/pm-plugins/colorSchemes/standard.d.ts +0 -8
  50. package/dist/types/pm-plugins/colorSchemes/traditional.d.ts +0 -5
  51. package/dist/types/pm-plugins/decorations.d.ts +0 -39
  52. package/dist/types/pm-plugins/deletedBlocksHandler.d.ts +0 -59
  53. package/dist/types/pm-plugins/deletedRowsHandler.d.ts +0 -30
  54. package/dist/types-ts4.5/pm-plugins/colorSchemes/standard.d.ts +0 -8
  55. package/dist/types-ts4.5/pm-plugins/colorSchemes/traditional.d.ts +0 -5
  56. package/dist/types-ts4.5/pm-plugins/decorations.d.ts +0 -39
  57. package/dist/types-ts4.5/pm-plugins/deletedBlocksHandler.d.ts +0 -59
  58. package/dist/types-ts4.5/pm-plugins/deletedRowsHandler.d.ts +0 -30
  59. /package/dist/cjs/pm-plugins/{findSafeInsertPos.js → decorations/utils/findSafeInsertPos.js} +0 -0
  60. /package/dist/cjs/pm-plugins/{markDecorations.js → decorations/utils/getMarkChangeRanges.js} +0 -0
  61. /package/dist/es2019/pm-plugins/{findSafeInsertPos.js → decorations/utils/findSafeInsertPos.js} +0 -0
  62. /package/dist/es2019/pm-plugins/{markDecorations.js → decorations/utils/getMarkChangeRanges.js} +0 -0
  63. /package/dist/esm/pm-plugins/{findSafeInsertPos.js → decorations/utils/findSafeInsertPos.js} +0 -0
  64. /package/dist/esm/pm-plugins/{markDecorations.js → decorations/utils/getMarkChangeRanges.js} +0 -0
  65. /package/dist/types/pm-plugins/{findSafeInsertPos.d.ts → decorations/utils/findSafeInsertPos.d.ts} +0 -0
  66. /package/dist/types/pm-plugins/{attributeDecorations.d.ts → decorations/utils/getAttrChangeRanges.d.ts} +0 -0
  67. /package/dist/types/pm-plugins/{markDecorations.d.ts → decorations/utils/getMarkChangeRanges.d.ts} +0 -0
  68. /package/dist/types-ts4.5/pm-plugins/{findSafeInsertPos.d.ts → decorations/utils/findSafeInsertPos.d.ts} +0 -0
  69. /package/dist/types-ts4.5/pm-plugins/{attributeDecorations.d.ts → decorations/utils/getAttrChangeRanges.d.ts} +0 -0
  70. /package/dist/types-ts4.5/pm-plugins/{markDecorations.d.ts → decorations/utils/getMarkChangeRanges.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-plugin-show-diff
2
2
 
3
+ ## 5.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`2e27b70a136ed`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/2e27b70a136ed) -
8
+ EDITOR-5632: Further refactors to block / row handling - mainly renaming + param change to object
9
+ param to make it more extensible for future work.
10
+ - Updated dependencies
11
+
12
+ ## 5.0.5
13
+
14
+ ### Patch Changes
15
+
16
+ - [`8865b5e8a708a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8865b5e8a708a) -
17
+ EDITOR-5632: Refactor diff plugin to make functions more generic.
18
+ - Updated dependencies
19
+
3
20
  ## 5.0.4
4
21
 
5
22
  ### Patch Changes
@@ -13,25 +13,34 @@ var _memoizeOne = _interopRequireDefault(require("memoize-one"));
13
13
  var _prosemirrorChangeset = require("prosemirror-changeset");
14
14
  var _document = require("@atlaskit/editor-common/utils/document");
15
15
  var _view = require("@atlaskit/editor-prosemirror/view");
16
- var _attributeDecorations = require("./attributeDecorations");
17
- var _decorations = require("./decorations");
18
- var _markDecorations = require("./markDecorations");
16
+ var _createBlockChangedDecoration = require("./decorations/createBlockChangedDecoration");
17
+ var _createInlineChangedDecoration = require("./decorations/createInlineChangedDecoration");
18
+ var _createNodeChangedDecorationWidget = require("./decorations/createNodeChangedDecorationWidget");
19
+ var _getAttrChangeRanges = require("./decorations/utils/getAttrChangeRanges");
20
+ var _getMarkChangeRanges = require("./decorations/utils/getMarkChangeRanges");
19
21
  var _simplifyChanges = require("./simplifyChanges");
20
22
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
21
23
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
24
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
25
  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; }
24
26
  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) { (0, _defineProperty2.default)(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; } // eslint-disable-next-line @atlassian/tangerine/import/entry-points
25
- var calculateNodesForBlockDecoration = function calculateNodesForBlockDecoration(doc, from, to, colorScheme) {
27
+ var calculateNodesForBlockDecoration = function calculateNodesForBlockDecoration(_ref) {
28
+ var doc = _ref.doc,
29
+ from = _ref.from,
30
+ to = _ref.to,
31
+ colorScheme = _ref.colorScheme;
26
32
  var decorations = [];
27
33
  // Iterate over the document nodes within the range
28
34
  doc.nodesBetween(from, to, function (node, pos) {
29
35
  if (node.isBlock) {
30
- var decoration = (0, _decorations.createBlockChangedDecoration)({
31
- from: pos,
32
- to: pos + node.nodeSize,
33
- name: node.type.name
34
- }, colorScheme);
36
+ var decoration = (0, _createBlockChangedDecoration.createBlockChangedDecoration)({
37
+ change: {
38
+ from: pos,
39
+ to: pos + node.nodeSize,
40
+ name: node.type.name
41
+ },
42
+ colorScheme: colorScheme
43
+ });
35
44
  if (decoration) {
36
45
  decorations.push(decoration);
37
46
  }
@@ -72,13 +81,13 @@ function optimizeChanges(changes) {
72
81
  optimized.push(current);
73
82
  return optimized;
74
83
  }
75
- var calculateDiffDecorationsInner = function calculateDiffDecorationsInner(_ref) {
76
- var state = _ref.state,
77
- pluginState = _ref.pluginState,
78
- nodeViewSerializer = _ref.nodeViewSerializer,
79
- colorScheme = _ref.colorScheme,
80
- intl = _ref.intl,
81
- activeIndexPos = _ref.activeIndexPos;
84
+ var calculateDiffDecorationsInner = function calculateDiffDecorationsInner(_ref2) {
85
+ var state = _ref2.state,
86
+ pluginState = _ref2.pluginState,
87
+ nodeViewSerializer = _ref2.nodeViewSerializer,
88
+ colorScheme = _ref2.colorScheme,
89
+ intl = _ref2.intl,
90
+ activeIndexPos = _ref2.activeIndexPos;
82
91
  var originalDoc = pluginState.originalDoc,
83
92
  steps = pluginState.steps;
84
93
  if (!originalDoc || !pluginState.isDisplayingChanges) {
@@ -96,7 +105,7 @@ var calculateDiffDecorationsInner = function calculateDiffDecorationsInner(_ref)
96
105
  var step = _step.value;
97
106
  var result = step.apply(steppedDoc);
98
107
  if (result.failed === null && result.doc) {
99
- if ((0, _attributeDecorations.stepIsValidAttrChange)(step, steppedDoc, result.doc)) {
108
+ if ((0, _getAttrChangeRanges.stepIsValidAttrChange)(step, steppedDoc, result.doc)) {
100
109
  attrSteps.push(step);
101
110
  }
102
111
  stepMaps.push(step.getMap());
@@ -121,12 +130,21 @@ var calculateDiffDecorationsInner = function calculateDiffDecorationsInner(_ref)
121
130
  optimizedChanges.forEach(function (change) {
122
131
  var isActive = activeIndexPos && change.fromB >= activeIndexPos.from && change.toB <= activeIndexPos.to;
123
132
  if (change.inserted.length > 0) {
124
- decorations.push((0, _decorations.createInlineChangedDecoration)(change, colorScheme, isActive));
125
- decorations.push.apply(decorations, (0, _toConsumableArray2.default)(calculateNodesForBlockDecoration(tr.doc, change.fromB, change.toB, colorScheme)));
133
+ decorations.push((0, _createInlineChangedDecoration.createInlineChangedDecoration)({
134
+ change: change,
135
+ colorScheme: colorScheme,
136
+ isActive: isActive
137
+ }));
138
+ decorations.push.apply(decorations, (0, _toConsumableArray2.default)(calculateNodesForBlockDecoration({
139
+ doc: tr.doc,
140
+ from: change.fromB,
141
+ to: change.toB,
142
+ colorScheme: colorScheme
143
+ })));
126
144
  }
127
145
  if (change.deleted.length > 0) {
128
146
  var _isActive = activeIndexPos && change.fromB >= activeIndexPos.from && change.toB <= activeIndexPos.to;
129
- var decoration = (0, _decorations.createDeletedContentDecoration)({
147
+ var decoration = (0, _createNodeChangedDecorationWidget.createNodeChangedDecorationWidget)({
130
148
  change: change,
131
149
  doc: originalDoc,
132
150
  nodeViewSerializer: nodeViewSerializer,
@@ -140,33 +158,42 @@ var calculateDiffDecorationsInner = function calculateDiffDecorationsInner(_ref)
140
158
  }
141
159
  }
142
160
  });
143
- (0, _markDecorations.getMarkChangeRanges)(steps).forEach(function (change) {
161
+ (0, _getMarkChangeRanges.getMarkChangeRanges)(steps).forEach(function (change) {
144
162
  var isActive = activeIndexPos && change.fromB >= activeIndexPos.from && change.toB <= activeIndexPos.to;
145
- decorations.push((0, _decorations.createInlineChangedDecoration)(change, colorScheme, isActive));
163
+ decorations.push((0, _createInlineChangedDecoration.createInlineChangedDecoration)({
164
+ change: change,
165
+ colorScheme: colorScheme,
166
+ isActive: isActive
167
+ }));
146
168
  });
147
- (0, _attributeDecorations.getAttrChangeRanges)(tr.doc, attrSteps).forEach(function (change) {
148
- decorations.push.apply(decorations, (0, _toConsumableArray2.default)(calculateNodesForBlockDecoration(tr.doc, change.fromB, change.toB, colorScheme)));
169
+ (0, _getAttrChangeRanges.getAttrChangeRanges)(tr.doc, attrSteps).forEach(function (change) {
170
+ decorations.push.apply(decorations, (0, _toConsumableArray2.default)(calculateNodesForBlockDecoration({
171
+ doc: tr.doc,
172
+ from: change.fromB,
173
+ to: change.toB,
174
+ colorScheme: colorScheme
175
+ })));
149
176
  });
150
177
  return _view.DecorationSet.empty.add(tr.doc, decorations);
151
178
  };
152
179
  var calculateDiffDecorations = exports.calculateDiffDecorations = (0, _memoizeOne.default)(calculateDiffDecorationsInner,
153
180
  // Cache results unless relevant inputs change
154
- function (_ref2, _ref3) {
155
- var _ref6;
156
- var _ref4 = (0, _slicedToArray2.default)(_ref2, 1),
157
- _ref4$ = _ref4[0],
158
- pluginState = _ref4$.pluginState,
159
- state = _ref4$.state,
160
- colorScheme = _ref4$.colorScheme,
161
- intl = _ref4$.intl,
162
- activeIndexPos = _ref4$.activeIndexPos;
181
+ function (_ref3, _ref4) {
182
+ var _ref7;
163
183
  var _ref5 = (0, _slicedToArray2.default)(_ref3, 1),
164
184
  _ref5$ = _ref5[0],
165
- lastPluginState = _ref5$.pluginState,
166
- lastState = _ref5$.state,
167
- lastColorScheme = _ref5$.colorScheme,
168
- lastIntl = _ref5$.intl,
169
- lastActiveIndexPos = _ref5$.activeIndexPos;
185
+ pluginState = _ref5$.pluginState,
186
+ state = _ref5$.state,
187
+ colorScheme = _ref5$.colorScheme,
188
+ intl = _ref5$.intl,
189
+ activeIndexPos = _ref5$.activeIndexPos;
190
+ var _ref6 = (0, _slicedToArray2.default)(_ref4, 1),
191
+ _ref6$ = _ref6[0],
192
+ lastPluginState = _ref6$.pluginState,
193
+ lastState = _ref6$.state,
194
+ lastColorScheme = _ref6$.colorScheme,
195
+ lastIntl = _ref6$.intl,
196
+ lastActiveIndexPos = _ref6$.activeIndexPos;
170
197
  var originalDocIsSame = lastPluginState.originalDoc && pluginState.originalDoc && pluginState.originalDoc.eq(lastPluginState.originalDoc);
171
- return (_ref6 = originalDocIsSame && (0, _isEqual.default)(pluginState.steps, lastPluginState.steps) && state.doc.eq(lastState.doc) && colorScheme === lastColorScheme && intl.locale === lastIntl.locale && (0, _isEqual.default)(activeIndexPos, lastActiveIndexPos)) !== null && _ref6 !== void 0 ? _ref6 : false;
198
+ return (_ref7 = originalDocIsSame && (0, _isEqual.default)(pluginState.steps, lastPluginState.steps) && state.doc.eq(lastState.doc) && colorScheme === lastColorScheme && intl.locale === lastIntl.locale && (0, _isEqual.default)(activeIndexPos, lastActiveIndexPos)) !== null && _ref7 !== void 0 ? _ref7 : false;
172
199
  });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getStandardNodeStyle = exports.editingStyleActive = exports.editingStyle = exports.deletedContentStyleUnbounded = exports.deletedContentStyleNewActive = exports.deletedContentStyleNew = exports.deletedContentStyleActive = exports.deletedContentStyle = void 0;
6
+ exports.standardDecorationMarkerVariable = exports.editingStyleRuleNode = exports.editingStyleQuoteNode = exports.editingStyleNode = exports.editingStyleCardBlockNode = exports.editingStyleActive = exports.editingStyle = exports.deletedStyleQuoteNodeWithLozenge = exports.deletedStyleQuoteNode = exports.deletedRowStyle = exports.deletedContentStyleUnbounded = exports.deletedContentStyleNewActive = exports.deletedContentStyleNew = exports.deletedContentStyleActive = exports.deletedContentStyle = exports.deletedBlockOutlineRounded = exports.deletedBlockOutline = void 0;
7
7
  var _lazyNodeView = require("@atlaskit/editor-common/lazy-node-view");
8
8
  var editingStyle = exports.editingStyle = (0, _lazyNodeView.convertToInlineCss)({
9
9
  background: "var(--ds-background-accent-purple-subtlest, #F8EEFE)",
@@ -54,43 +54,45 @@ var deletedContentStyleUnbounded = exports.deletedContentStyleUnbounded = (0, _l
54
54
  pointerEvents: 'none',
55
55
  zIndex: 1
56
56
  });
57
- var editingStyleQuoteNode = (0, _lazyNodeView.convertToInlineCss)({
57
+ var deletedStyleQuoteNode = exports.deletedStyleQuoteNode = (0, _lazyNodeView.convertToInlineCss)({
58
+ borderLeft: "2px solid ".concat("var(--ds-border-accent-gray, #7D818A)")
59
+ });
60
+ var deletedStyleQuoteNodeWithLozenge = exports.deletedStyleQuoteNodeWithLozenge = (0, _lazyNodeView.convertToInlineCss)({
61
+ marginTop: "var(--ds-space-150, 12px)",
62
+ paddingTop: "var(--ds-space-025, 2px)",
63
+ paddingBottom: "var(--ds-space-025, 2px)",
64
+ paddingLeft: "var(--ds-space-025, 2px)",
65
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-gray, #7D818A)"),
66
+ borderRadius: "var(--ds-radius-small, 4px)"
67
+ });
68
+ var deletedBlockOutline = exports.deletedBlockOutline = (0, _lazyNodeView.convertToInlineCss)({
69
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-gray, #7D818A)"),
70
+ borderRadius: "var(--ds-radius-small, 4px)"
71
+ });
72
+ var deletedBlockOutlineRounded = exports.deletedBlockOutlineRounded = (0, _lazyNodeView.convertToInlineCss)({
73
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-gray, #7D818A)"),
74
+ borderRadius: "calc(".concat("var(--ds-radius-xsmall, 2px)", " + 1px)")
75
+ });
76
+ var deletedRowStyle = exports.deletedRowStyle = (0, _lazyNodeView.convertToInlineCss)({
77
+ color: "var(--ds-text-accent-gray, #505258)",
78
+ textDecoration: 'line-through',
79
+ opacity: 0.6,
80
+ display: 'table-row'
81
+ });
82
+ var editingStyleQuoteNode = exports.editingStyleQuoteNode = (0, _lazyNodeView.convertToInlineCss)({
58
83
  borderLeft: "2px solid ".concat("var(--ds-border-accent-purple, #AF59E1)")
59
84
  });
60
- var editingStyleRuleNode = (0, _lazyNodeView.convertToInlineCss)({
85
+ var editingStyleRuleNode = exports.editingStyleRuleNode = (0, _lazyNodeView.convertToInlineCss)({
61
86
  backgroundColor: "var(--ds-border-accent-purple, #AF59E1)"
62
87
  });
63
- var editingStyleNode = (0, _lazyNodeView.convertToInlineCss)({
88
+ var editingStyleNode = exports.editingStyleNode = (0, _lazyNodeView.convertToInlineCss)({
64
89
  boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-purple, #AF59E1)"),
65
90
  borderRadius: "var(--ds-radius-small, 4px)"
66
91
  });
67
- var editingStyleCardBlockNode = (0, _lazyNodeView.convertToInlineCss)({
92
+ var editingStyleCardBlockNode = exports.editingStyleCardBlockNode = (0, _lazyNodeView.convertToInlineCss)({
68
93
  boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-purple, #AF59E1)"),
69
94
  borderRadius: "var(--ds-radius-medium, 6px)"
70
95
  });
71
- var standardDecorationMarkerVariableName = (0, _lazyNodeView.convertToInlineCss)({
96
+ var standardDecorationMarkerVariable = exports.standardDecorationMarkerVariable = (0, _lazyNodeView.convertToInlineCss)({
72
97
  '--diff-decoration-marker-color': "var(--ds-border-accent-purple, #AF59E1)"
73
- });
74
- var getStandardNodeStyle = exports.getStandardNodeStyle = function getStandardNodeStyle(nodeName) {
75
- if (['mediaSingle', 'mediaGroup', 'table',
76
- // Handle table separately to avoid border issues
77
- 'tableRow', 'tableCell', 'tableHeader', 'paragraph',
78
- // Paragraph and heading nodes do not need special styling
79
- 'heading', 'hardBreak', 'decisionList', 'taskList', 'taskItem', 'bulletList', 'orderedList', 'layoutSection'].includes(nodeName)) {
80
- // Layout nodes do not need special styling
81
- return undefined;
82
- }
83
- if (['extension', 'embedCard', 'listItem'].includes(nodeName)) {
84
- return standardDecorationMarkerVariableName;
85
- }
86
- if (nodeName === 'blockquote') {
87
- return editingStyleQuoteNode;
88
- }
89
- if (nodeName === 'rule') {
90
- return editingStyleRuleNode;
91
- }
92
- if (nodeName === 'blockCard') {
93
- return editingStyleCardBlockNode;
94
- }
95
- return editingStyleNode;
96
- };
98
+ });
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.traditionalStyleRuleNode = exports.traditionalStyleQuoteNode = exports.traditionalStyleNode = exports.traditionalStyleCardBlockNode = exports.traditionalInsertStyleActive = exports.traditionalInsertStyle = exports.traditionalDecorationMarkerVariable = exports.deletedTraditionalStyleQuoteNode = exports.deletedTraditionalRowStyle = exports.deletedTraditionalContentStyleUnbounded = exports.deletedTraditionalContentStyle = exports.deletedTraditionalBlockOutlineRounded = exports.deletedTraditionalBlockOutline = void 0;
7
+ var _lazyNodeView = require("@atlaskit/editor-common/lazy-node-view");
8
+ var traditionalInsertStyle = exports.traditionalInsertStyle = (0, _lazyNodeView.convertToInlineCss)({
9
+ background: "var(--ds-background-accent-green-subtlest, #DCFFF1)",
10
+ textDecoration: 'underline',
11
+ textDecorationStyle: 'solid',
12
+ textDecorationThickness: "var(--ds-space-025, 2px)",
13
+ textDecorationColor: "var(--ds-border-accent-green, #22A06B)"
14
+ });
15
+ var traditionalInsertStyleActive = exports.traditionalInsertStyleActive = (0, _lazyNodeView.convertToInlineCss)({
16
+ background: "var(--ds-background-accent-green-subtler, #BAF3DB)",
17
+ textDecoration: 'underline',
18
+ textDecorationStyle: 'solid',
19
+ textDecorationThickness: "var(--ds-space-025, 2px)",
20
+ textDecorationColor: "var(--ds-text-accent-green, #216E4E)"
21
+ });
22
+ var deletedTraditionalContentStyle = exports.deletedTraditionalContentStyle = (0, _lazyNodeView.convertToInlineCss)({
23
+ textDecorationColor: "var(--ds-border-accent-red, #E2483D)",
24
+ textDecoration: 'line-through',
25
+ position: 'relative',
26
+ opacity: 1
27
+ });
28
+ var deletedTraditionalContentStyleUnbounded = exports.deletedTraditionalContentStyleUnbounded = (0, _lazyNodeView.convertToInlineCss)({
29
+ position: 'absolute',
30
+ top: '50%',
31
+ width: '100%',
32
+ display: 'inline-block',
33
+ borderTop: "1px solid ".concat("var(--ds-border-accent-red, #E2483D)"),
34
+ pointerEvents: 'none',
35
+ zIndex: 1
36
+ });
37
+ var deletedTraditionalStyleQuoteNode = exports.deletedTraditionalStyleQuoteNode = (0, _lazyNodeView.convertToInlineCss)({
38
+ marginTop: "var(--ds-space-150, 12px)",
39
+ paddingTop: "var(--ds-space-025, 2px)",
40
+ paddingBottom: "var(--ds-space-025, 2px)",
41
+ paddingLeft: "var(--ds-space-025, 2px)",
42
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-red, #E2483D)"),
43
+ borderRadius: "var(--ds-radius-small, 4px)"
44
+ });
45
+ var deletedTraditionalBlockOutline = exports.deletedTraditionalBlockOutline = (0, _lazyNodeView.convertToInlineCss)({
46
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-red, #E2483D)"),
47
+ borderRadius: "var(--ds-radius-small, 4px)"
48
+ });
49
+ var deletedTraditionalBlockOutlineRounded = exports.deletedTraditionalBlockOutlineRounded = (0, _lazyNodeView.convertToInlineCss)({
50
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-red, #E2483D)"),
51
+ borderRadius: "calc(".concat("var(--ds-radius-xsmall, 2px)", " + 1px)")
52
+ });
53
+ var deletedTraditionalRowStyle = exports.deletedTraditionalRowStyle = (0, _lazyNodeView.convertToInlineCss)({
54
+ textDecorationColor: "var(--ds-border-accent-red, #E2483D)",
55
+ textDecoration: 'line-through',
56
+ opacity: 0.6,
57
+ display: 'table-row'
58
+ });
59
+ var traditionalStyleQuoteNode = exports.traditionalStyleQuoteNode = (0, _lazyNodeView.convertToInlineCss)({
60
+ borderLeft: "2px solid ".concat("var(--ds-border-accent-green, #22A06B)")
61
+ });
62
+ var traditionalStyleRuleNode = exports.traditionalStyleRuleNode = (0, _lazyNodeView.convertToInlineCss)({
63
+ backgroundColor: "var(--ds-border-accent-green, #22A06B)"
64
+ });
65
+ var traditionalStyleNode = exports.traditionalStyleNode = (0, _lazyNodeView.convertToInlineCss)({
66
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-green, #22A06B)"),
67
+ borderRadius: "var(--ds-radius-small, 4px)"
68
+ });
69
+ var traditionalStyleCardBlockNode = exports.traditionalStyleCardBlockNode = (0, _lazyNodeView.convertToInlineCss)({
70
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-accent-green, #22A06B)"),
71
+ borderRadius: "var(--ds-radius-medium, 6px)"
72
+ });
73
+ var traditionalDecorationMarkerVariable = exports.traditionalDecorationMarkerVariable = (0, _lazyNodeView.convertToInlineCss)({
74
+ '--diff-decoration-marker-color': "var(--ds-border-accent-green, #22A06B)"
75
+ });
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createBlockChangedDecoration = void 0;
7
+ var _view = require("@atlaskit/editor-prosemirror/view");
8
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
+ var _standard = require("./colorSchemes/standard");
10
+ var _traditional = require("./colorSchemes/traditional");
11
+ var getNodeClass = function getNodeClass(name) {
12
+ switch (name) {
13
+ case 'extension':
14
+ return 'show-diff-changed-decoration-node';
15
+ default:
16
+ return undefined;
17
+ }
18
+ };
19
+ var getBlockNodeStyle = function getBlockNodeStyle(nodeName, colorScheme) {
20
+ var isTraditional = colorScheme === 'traditional';
21
+ if (['mediaSingle', 'mediaGroup', 'table',
22
+ // Handle table separately to avoid border issues
23
+ 'tableRow', 'tableCell', 'tableHeader', 'paragraph',
24
+ // Paragraph and heading nodes do not need special styling
25
+ 'heading', 'hardBreak', 'decisionList', 'taskList', 'taskItem', 'bulletList', 'orderedList', 'layoutSection'].includes(nodeName)) {
26
+ // Layout nodes do not need special styling
27
+ return undefined;
28
+ }
29
+ if (['extension', 'embedCard', 'listItem'].includes(nodeName)) {
30
+ return isTraditional ? _traditional.traditionalDecorationMarkerVariable : _standard.standardDecorationMarkerVariable;
31
+ }
32
+ if (nodeName === 'blockquote') {
33
+ return isTraditional ? _traditional.traditionalStyleQuoteNode : _standard.editingStyleQuoteNode;
34
+ }
35
+ if (nodeName === 'rule') {
36
+ return isTraditional ? _traditional.traditionalStyleRuleNode : _standard.editingStyleRuleNode;
37
+ }
38
+ if (nodeName === 'blockCard') {
39
+ return isTraditional ? _traditional.traditionalStyleCardBlockNode : _standard.editingStyleCardBlockNode;
40
+ }
41
+ return isTraditional ? _traditional.traditionalStyleNode : _standard.editingStyleNode;
42
+ };
43
+
44
+ /**
45
+ * Inline decoration used for insertions as the content already exists in the document
46
+ *
47
+ * @param change Changeset "change" containing information about the change content + range
48
+ * @returns Prosemirror inline decoration
49
+ */
50
+ var createBlockChangedDecoration = exports.createBlockChangedDecoration = function createBlockChangedDecoration(_ref) {
51
+ var change = _ref.change,
52
+ colorScheme = _ref.colorScheme;
53
+ if ((0, _platformFeatureFlags.fg)('platform_editor_show_diff_scroll_navigation')) {
54
+ var style = getBlockNodeStyle(change.name, colorScheme);
55
+ var className = getNodeClass(change.name);
56
+ if (style || className) {
57
+ return _view.Decoration.node(change.from, change.to, {
58
+ style: style,
59
+ 'data-testid': 'show-diff-changed-decoration-node',
60
+ class: className
61
+ }, {
62
+ key: 'diff-block'
63
+ });
64
+ }
65
+ return undefined;
66
+ } else {
67
+ return _view.Decoration.node(change.from, change.to, {
68
+ style: getBlockNodeStyle(change.name, colorScheme),
69
+ 'data-testid': 'show-diff-changed-decoration-node',
70
+ class: getNodeClass(change.name)
71
+ }, {
72
+ key: 'diff-block'
73
+ });
74
+ }
75
+ };
@@ -4,34 +4,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.handleDeletedRows = exports.createDeletedRowsDecorations = void 0;
7
+ exports.createChangedRowDecorationWidgets = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _lazyNodeView = require("@atlaskit/editor-common/lazy-node-view");
10
9
  var _document = require("@atlaskit/editor-common/utils/document");
11
10
  var _utils = require("@atlaskit/editor-prosemirror/utils");
12
11
  var _view = require("@atlaskit/editor-prosemirror/view");
13
12
  var _tableMap = require("@atlaskit/editor-tables/table-map");
14
- var _findSafeInsertPos = require("./findSafeInsertPos");
13
+ var _standard = require("./colorSchemes/standard");
14
+ var _traditional = require("./colorSchemes/traditional");
15
+ var _findSafeInsertPos = require("./utils/findSafeInsertPos");
15
16
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
16
17
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
18
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
- var deletedRowStyle = (0, _lazyNodeView.convertToInlineCss)({
19
- color: "var(--ds-text-accent-gray, #505258)",
20
- textDecoration: 'line-through',
21
- opacity: 0.6,
22
- display: 'table-row'
23
- });
24
- var deletedTraditionalRowStyle = (0, _lazyNodeView.convertToInlineCss)({
25
- textDecorationColor: "var(--ds-border-accent-red, #E2483D)",
26
- textDecoration: 'line-through',
27
- opacity: 0.6,
28
- display: 'table-row'
29
- });
30
19
  /**
31
20
  * Extracts information about deleted table rows from a change
32
21
  */
33
- var extractDeletedRows = function extractDeletedRows(change, originalDoc, newDoc) {
34
- var deletedRows = [];
22
+ var extractChangedRows = function extractChangedRows(change, originalDoc, newDoc) {
23
+ var changedRows = [];
35
24
 
36
25
  // Find the table in the original document
37
26
  var $fromPos = originalDoc.resolve(change.fromA);
@@ -39,7 +28,7 @@ var extractDeletedRows = function extractDeletedRows(change, originalDoc, newDoc
39
28
  return node.type.name === 'table';
40
29
  });
41
30
  if (!tableOld) {
42
- return deletedRows;
31
+ return changedRows;
43
32
  }
44
33
  var oldTableMap = _tableMap.TableMap.get(tableOld.node);
45
34
 
@@ -49,18 +38,18 @@ var extractDeletedRows = function extractDeletedRows(change, originalDoc, newDoc
49
38
  return node.type.name === 'table';
50
39
  });
51
40
  if (!tableNew) {
52
- return deletedRows;
41
+ return changedRows;
53
42
  }
54
43
  var newTableMap = _tableMap.TableMap.get(tableNew.node);
55
44
 
56
- // If no rows were deleted, return empty
45
+ // If no rows were changed, return empty
57
46
  if (oldTableMap.height <= newTableMap.height ||
58
47
  // For now ignore if there are column deletions as well
59
48
  oldTableMap.width !== newTableMap.width) {
60
- return deletedRows;
49
+ return changedRows;
61
50
  }
62
51
 
63
- // Find which rows were deleted by analyzing the change range
52
+ // Find which rows were changed by analyzing the change range
64
53
  var changeStartInTable = change.fromA - tableOld.pos - 1;
65
54
  var changeEndInTable = change.toA - tableOld.pos - 1;
66
55
  var currentOffset = 0;
@@ -75,7 +64,7 @@ var extractDeletedRows = function extractDeletedRows(change, originalDoc, newDoc
75
64
  var startOfRow = newTableMap.mapByRow.slice().reverse().find(function (row) {
76
65
  return row[0] + tableNew.pos < change.fromB && change.fromB < row[row.length - 1] + tableNew.pos;
77
66
  });
78
- deletedRows.push({
67
+ changedRows.push({
79
68
  rowIndex: rowIndex,
80
69
  rowNode: rowNode,
81
70
  fromA: tableOld.pos + 1 + rowStart,
@@ -90,9 +79,9 @@ var extractDeletedRows = function extractDeletedRows(change, originalDoc, newDoc
90
79
  });
91
80
 
92
81
  // Filter changes that never truly got deleted
93
- return deletedRows.filter(function (deletedRow) {
82
+ return changedRows.filter(function (changedRow) {
94
83
  return !tableNew.node.children.some(function (newRow) {
95
- return (0, _document.areNodesEqualIgnoreAttrs)(newRow, deletedRow.rowNode);
84
+ return (0, _document.areNodesEqualIgnoreAttrs)(newRow, changedRow.rowNode);
96
85
  });
97
86
  });
98
87
  };
@@ -126,9 +115,9 @@ var isEmptyRow = function isEmptyRow(rowNode) {
126
115
  /**
127
116
  * Creates a DOM representation of a deleted table row
128
117
  */
129
- var createDeletedRowDOM = function createDeletedRowDOM(rowNode, nodeViewSerializer, colorScheme) {
118
+ var createChangedRowDOM = function createChangedRowDOM(rowNode, nodeViewSerializer, colorScheme) {
130
119
  var tr = document.createElement('tr');
131
- tr.setAttribute('style', colorScheme === 'traditional' ? deletedTraditionalRowStyle : deletedRowStyle);
120
+ tr.setAttribute('style', colorScheme === 'traditional' ? _traditional.deletedTraditionalRowStyle : _standard.deletedRowStyle);
132
121
  tr.setAttribute('data-testid', 'show-diff-deleted-row');
133
122
 
134
123
  // Serialize each cell in the row
@@ -150,19 +139,19 @@ var createDeletedRowDOM = function createDeletedRowDOM(rowNode, nodeViewSerializ
150
139
  };
151
140
 
152
141
  /**
153
- * Expands a diff to include whole deleted rows when table rows are affected
142
+ * Expands a diff to include whole changed rows when table rows are affected
154
143
  */
155
- var expandDiffForDeletedRows = function expandDiffForDeletedRows(changes, originalDoc, newDoc) {
156
- var deletedRowInfo = [];
144
+ var expandDiffForChangedRows = function expandDiffForChangedRows(changes, originalDoc, newDoc) {
145
+ var rowInfo = [];
157
146
  var _iterator = _createForOfIteratorHelper(changes),
158
147
  _step;
159
148
  try {
160
149
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
161
150
  var change = _step.value;
162
151
  // Check if this change affects table content
163
- var deletedRows = extractDeletedRows(change, originalDoc, newDoc);
164
- if (deletedRows.length > 0) {
165
- deletedRowInfo.push.apply(deletedRowInfo, (0, _toConsumableArray2.default)(deletedRows));
152
+ var changedRows = extractChangedRows(change, originalDoc, newDoc);
153
+ if (changedRows.length > 0) {
154
+ rowInfo.push.apply(rowInfo, (0, _toConsumableArray2.default)(changedRows));
166
155
  }
167
156
  }
168
157
  } catch (err) {
@@ -170,45 +159,29 @@ var expandDiffForDeletedRows = function expandDiffForDeletedRows(changes, origin
170
159
  } finally {
171
160
  _iterator.f();
172
161
  }
173
- return deletedRowInfo;
162
+ return rowInfo;
174
163
  };
175
164
 
176
165
  /**
177
- * Creates decorations for deleted table rows
166
+ * Main function to handle deleted rows - computes diff and creates decorations
178
167
  */
179
- var createDeletedRowsDecorations = exports.createDeletedRowsDecorations = function createDeletedRowsDecorations(_ref) {
180
- var deletedRows = _ref.deletedRows,
168
+ var createChangedRowDecorationWidgets = exports.createChangedRowDecorationWidgets = function createChangedRowDecorationWidgets(_ref) {
169
+ var changes = _ref.changes,
181
170
  originalDoc = _ref.originalDoc,
182
171
  newDoc = _ref.newDoc,
183
172
  nodeViewSerializer = _ref.nodeViewSerializer,
184
173
  colorScheme = _ref.colorScheme;
185
- return deletedRows.map(function (deletedRow) {
186
- var rowDOM = createDeletedRowDOM(deletedRow.rowNode, nodeViewSerializer, colorScheme);
174
+ // First, expand the changes to include complete deleted rows
175
+ var changedRows = expandDiffForChangedRows(changes.filter(function (change) {
176
+ return change.deleted.length > 0;
177
+ }), originalDoc, newDoc);
178
+ return changedRows.map(function (changedRow) {
179
+ var rowDOM = createChangedRowDOM(changedRow.rowNode, nodeViewSerializer, colorScheme);
187
180
 
188
181
  // Find safe insertion position for the deleted row
189
- var safeInsertPos = (0, _findSafeInsertPos.findSafeInsertPos)(newDoc, deletedRow.fromB - 1,
182
+ var safeInsertPos = (0, _findSafeInsertPos.findSafeInsertPos)(newDoc, changedRow.fromB - 1,
190
183
  // -1 to find the first safe position from the table
191
- originalDoc.slice(deletedRow.fromA, deletedRow.toA));
184
+ originalDoc.slice(changedRow.fromA, changedRow.toA));
192
185
  return _view.Decoration.widget(safeInsertPos, rowDOM, {});
193
186
  });
194
- };
195
-
196
- /**
197
- * Main function to handle deleted rows - computes diff and creates decorations
198
- */
199
- var handleDeletedRows = exports.handleDeletedRows = function handleDeletedRows(changes, originalDoc, newDoc, nodeViewSerializer, colorScheme) {
200
- // First, expand the changes to include complete deleted rows
201
- var deletedRows = expandDiffForDeletedRows(changes.filter(function (change) {
202
- return change.deleted.length > 0;
203
- }), originalDoc, newDoc);
204
- var allDecorations = createDeletedRowsDecorations({
205
- deletedRows: deletedRows,
206
- originalDoc: originalDoc,
207
- newDoc: newDoc,
208
- nodeViewSerializer: nodeViewSerializer,
209
- colorScheme: colorScheme
210
- });
211
- return {
212
- decorations: allDecorations
213
- };
214
187
  };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createInlineChangedDecoration = void 0;
7
+ var _view = require("@atlaskit/editor-prosemirror/view");
8
+ var _standard = require("./colorSchemes/standard");
9
+ var _traditional = require("./colorSchemes/traditional");
10
+ /**
11
+ * Inline decoration used for insertions as the content already exists in the document
12
+ *
13
+ * @param change Changeset "change" containing information about the change content + range
14
+ * @returns Prosemirror inline decoration
15
+ */
16
+ var createInlineChangedDecoration = exports.createInlineChangedDecoration = function createInlineChangedDecoration(_ref) {
17
+ var change = _ref.change,
18
+ colorScheme = _ref.colorScheme,
19
+ _ref$isActive = _ref.isActive,
20
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive;
21
+ var style;
22
+ if (colorScheme === 'traditional') {
23
+ style = isActive ? _traditional.traditionalInsertStyleActive : _traditional.traditionalInsertStyle;
24
+ } else {
25
+ style = isActive ? _standard.editingStyleActive : _standard.editingStyle;
26
+ }
27
+ return _view.Decoration.inline(change.fromB, change.toB, {
28
+ style: style,
29
+ 'data-testid': 'show-diff-changed-decoration'
30
+ }, {
31
+ key: 'diff-inline'
32
+ });
33
+ };