@atlaskit/editor-plugin-show-diff 14.0.3 → 14.1.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 +21 -0
- package/dist/cjs/pm-plugins/calculateDiff/calculateDiffDecorations.js +204 -101
- package/dist/cjs/pm-plugins/calculateDiff/diffBySteps.js +20 -9
- package/dist/cjs/pm-plugins/calculateDiff/simplifyChangesWithAttribution.js +89 -0
- package/dist/cjs/pm-plugins/calculateDiff/simplifySteps.js +81 -4
- package/dist/cjs/pm-plugins/decorations/colorSchemes/attributions.js +68 -0
- package/dist/cjs/pm-plugins/decorations/colorSchemes/schemes.js +26 -2
- package/dist/cjs/pm-plugins/decorations/colorSchemes/types.js +5 -1
- package/dist/cjs/pm-plugins/decorations/createBlockChangedDecoration.js +7 -2
- package/dist/cjs/pm-plugins/decorations/createChangedRowDecorationWidgets.js +2 -2
- package/dist/cjs/pm-plugins/decorations/createInlineChangedDecoration.js +4 -2
- package/dist/cjs/pm-plugins/decorations/utils/wrapBlockNodeViewStyles.js +14 -10
- package/dist/cjs/pm-plugins/main.js +1 -0
- package/dist/cjs/showDiffPlugin.js +36 -14
- package/dist/es2019/pm-plugins/calculateDiff/calculateDiffDecorations.js +118 -26
- package/dist/es2019/pm-plugins/calculateDiff/diffBySteps.js +17 -9
- package/dist/es2019/pm-plugins/calculateDiff/simplifyChangesWithAttribution.js +64 -0
- package/dist/es2019/pm-plugins/calculateDiff/simplifySteps.js +64 -1
- package/dist/es2019/pm-plugins/decorations/colorSchemes/attributions.js +37 -0
- package/dist/es2019/pm-plugins/decorations/colorSchemes/schemes.js +19 -2
- package/dist/es2019/pm-plugins/decorations/colorSchemes/types.js +1 -0
- package/dist/es2019/pm-plugins/decorations/createBlockChangedDecoration.js +6 -3
- package/dist/es2019/pm-plugins/decorations/createChangedRowDecorationWidgets.js +3 -3
- package/dist/es2019/pm-plugins/decorations/createInlineChangedDecoration.js +6 -3
- package/dist/es2019/pm-plugins/decorations/utils/wrapBlockNodeViewStyles.js +12 -9
- package/dist/es2019/pm-plugins/main.js +1 -0
- package/dist/es2019/showDiffPlugin.js +23 -1
- package/dist/esm/pm-plugins/calculateDiff/calculateDiffDecorations.js +205 -102
- package/dist/esm/pm-plugins/calculateDiff/diffBySteps.js +20 -9
- package/dist/esm/pm-plugins/calculateDiff/simplifyChangesWithAttribution.js +82 -0
- package/dist/esm/pm-plugins/calculateDiff/simplifySteps.js +79 -5
- package/dist/esm/pm-plugins/decorations/colorSchemes/attributions.js +61 -0
- package/dist/esm/pm-plugins/decorations/colorSchemes/schemes.js +24 -1
- package/dist/esm/pm-plugins/decorations/colorSchemes/types.js +1 -0
- package/dist/esm/pm-plugins/decorations/createBlockChangedDecoration.js +8 -3
- package/dist/esm/pm-plugins/decorations/createChangedRowDecorationWidgets.js +3 -3
- package/dist/esm/pm-plugins/decorations/createInlineChangedDecoration.js +5 -3
- package/dist/esm/pm-plugins/decorations/utils/wrapBlockNodeViewStyles.js +14 -9
- package/dist/esm/pm-plugins/main.js +1 -0
- package/dist/esm/showDiffPlugin.js +36 -14
- package/dist/types/entry-points/show-diff-plugin-type.d.ts +1 -1
- package/dist/types/pm-plugins/calculateDiff/diffBySteps.d.ts +2 -1
- package/dist/types/pm-plugins/calculateDiff/simplifyChangesWithAttribution.d.ts +7 -0
- package/dist/types/pm-plugins/calculateDiff/simplifySteps.d.ts +10 -0
- package/dist/types/pm-plugins/decorations/colorSchemes/attributions.d.ts +12 -0
- package/dist/types/pm-plugins/decorations/colorSchemes/schemes.d.ts +5 -3
- package/dist/types/pm-plugins/decorations/colorSchemes/types.d.ts +6 -1
- package/dist/types/pm-plugins/decorations/createBlockChangedDecoration.d.ts +2 -1
- package/dist/types/pm-plugins/decorations/createChangedRowDecorationWidgets.d.ts +2 -1
- package/dist/types/pm-plugins/decorations/createInlineChangedDecoration.d.ts +2 -1
- package/dist/types/pm-plugins/decorations/createNodeChangedDecorationWidget.d.ts +2 -1
- package/dist/types/pm-plugins/decorations/utils/wrapBlockNodeView.d.ts +2 -1
- package/dist/types/pm-plugins/decorations/utils/wrapBlockNodeViewStyles.d.ts +2 -1
- package/dist/types/pm-plugins/main.d.ts +3 -1
- package/dist/types/showDiffPluginType.d.ts +29 -1
- package/package.json +3 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
1
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
4
|
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; }
|
|
@@ -8,6 +9,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
8
9
|
import { simplifyChanges, ChangeSet } from 'prosemirror-changeset';
|
|
9
10
|
import { Mark } from '@atlaskit/editor-prosemirror/model';
|
|
10
11
|
import { Mapping, ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
|
|
12
|
+
import { getAttributionKey } from '../decorations/colorSchemes/attributions';
|
|
11
13
|
import { attrAwareTokenEncoder } from './attrAwareTokenEncoder';
|
|
12
14
|
import { optimizeChanges } from './optimizeChanges';
|
|
13
15
|
var WORD_CHAR_REGEX = /(?:[0-9A-Z_a-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDD40-\uDD65\uDD6F-\uDD85\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDDB0-\uDDDB\uDDE0-\uDDE9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D\uDD30-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE96\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD833[\uDCF0-\uDCF9]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDDD0-\uDDED\uDDF0-\uDDFA\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])/;
|
|
@@ -198,9 +200,10 @@ var createMapping = function createMapping(maps) {
|
|
|
198
200
|
return mapping;
|
|
199
201
|
};
|
|
200
202
|
var createSpans = function createSpans(length) {
|
|
203
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
201
204
|
return length > 0 ? [{
|
|
202
205
|
length: length,
|
|
203
|
-
data:
|
|
206
|
+
data: data
|
|
204
207
|
}] : [];
|
|
205
208
|
};
|
|
206
209
|
var mergeOverlappingByNewDocRange = function mergeOverlappingByNewDocRange(changes) {
|
|
@@ -213,8 +216,11 @@ var mergeOverlappingByNewDocRange = function mergeOverlappingByNewDocRange(chang
|
|
|
213
216
|
var merged = [];
|
|
214
217
|
var current = _objectSpread({}, sortedChanges[0]);
|
|
215
218
|
for (var i = 1; i < sortedChanges.length; i++) {
|
|
219
|
+
var _, _2;
|
|
216
220
|
var next = sortedChanges[i];
|
|
217
|
-
var
|
|
221
|
+
var currentIdentity = getAttributionKey((_ = [].concat(_toConsumableArray(current.deleted), _toConsumableArray(current.inserted))[0]) === null || _ === void 0 ? void 0 : _.data);
|
|
222
|
+
var nextIdentity = getAttributionKey((_2 = [].concat(_toConsumableArray(next.deleted), _toConsumableArray(next.inserted))[0]) === null || _2 === void 0 ? void 0 : _2.data);
|
|
223
|
+
var isOverlapping = next.fromB <= current.toB && currentIdentity === nextIdentity;
|
|
218
224
|
if (isOverlapping) {
|
|
219
225
|
current = {
|
|
220
226
|
fromA: Math.min(current.fromA, next.fromA),
|
|
@@ -268,16 +274,18 @@ var shouldCheckGranularDiff = function shouldCheckGranularDiff(step, before, fro
|
|
|
268
274
|
var isTextContentEqual = (replacedNode === null || replacedNode === void 0 ? void 0 : replacedNode.textContent) === (replacingNode === null || replacingNode === void 0 ? void 0 : replacingNode.textContent);
|
|
269
275
|
return !isTextContentEqual || isTextContentEqual && hasSameChildMarks(replacedNode, replacingNode);
|
|
270
276
|
};
|
|
271
|
-
export var diffBySteps = function diffBySteps(originalDoc, steps) {
|
|
277
|
+
export var diffBySteps = function diffBySteps(originalDoc, steps, stepAttributions) {
|
|
272
278
|
var changes = [];
|
|
273
279
|
var currentDoc = originalDoc;
|
|
274
280
|
var successfulStepMaps = [];
|
|
275
281
|
var rangedSteps = [];
|
|
276
|
-
var _iterator2 = _createForOfIteratorHelper(steps),
|
|
282
|
+
var _iterator2 = _createForOfIteratorHelper(steps.entries()),
|
|
277
283
|
_step2;
|
|
278
284
|
try {
|
|
279
285
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
280
|
-
var
|
|
286
|
+
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
287
|
+
stepIndex = _step2$value[0],
|
|
288
|
+
step = _step2$value[1];
|
|
281
289
|
var before = currentDoc;
|
|
282
290
|
var result = step.apply(currentDoc);
|
|
283
291
|
if (result.failed !== null || !result.doc) {
|
|
@@ -292,6 +300,9 @@ export var diffBySteps = function diffBySteps(originalDoc, steps) {
|
|
|
292
300
|
from: rangeStep.from,
|
|
293
301
|
to: rangeStep.to,
|
|
294
302
|
mapIndex: successfulStepMaps.length,
|
|
303
|
+
stepAttribution: stepAttributions !== null && stepAttributions !== void 0 && stepAttributions[stepIndex] ? _objectSpread(_objectSpread({}, stepAttributions[stepIndex]), {}, {
|
|
304
|
+
stepIndex: stepIndex
|
|
305
|
+
}) : null,
|
|
295
306
|
step: step,
|
|
296
307
|
stepMap: stepMap
|
|
297
308
|
});
|
|
@@ -377,8 +388,8 @@ export var diffBySteps = function diffBySteps(originalDoc, steps) {
|
|
|
377
388
|
toA: granularToA,
|
|
378
389
|
fromB: granularFromB,
|
|
379
390
|
toB: granularToB,
|
|
380
|
-
deleted: createSpans(Math.max(0, granularToA - granularFromA)),
|
|
381
|
-
inserted: createSpans(Math.max(0, granularToB - granularFromB))
|
|
391
|
+
deleted: createSpans(Math.max(0, granularToA - granularFromA), rangedStep.stepAttribution),
|
|
392
|
+
inserted: createSpans(Math.max(0, granularToB - granularFromB), rangedStep.stepAttribution)
|
|
382
393
|
});
|
|
383
394
|
}
|
|
384
395
|
} catch (err) {
|
|
@@ -393,8 +404,8 @@ export var diffBySteps = function diffBySteps(originalDoc, steps) {
|
|
|
393
404
|
toA: toA,
|
|
394
405
|
fromB: fromB,
|
|
395
406
|
toB: toB,
|
|
396
|
-
deleted: createSpans(Math.max(0, toA - fromA)),
|
|
397
|
-
inserted: createSpans(Math.max(0, toB - fromB))
|
|
407
|
+
deleted: createSpans(Math.max(0, toA - fromA), rangedStep.stepAttribution),
|
|
408
|
+
inserted: createSpans(Math.max(0, toB - fromB), rangedStep.stepAttribution)
|
|
398
409
|
});
|
|
399
410
|
}
|
|
400
411
|
return mergeOverlappingByNewDocRange(changes);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
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; } } }; }
|
|
4
|
+
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; } }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
import { simplifyChanges } from 'prosemirror-changeset';
|
|
9
|
+
import { getAttributionKey } from '../decorations/colorSchemes/attributions';
|
|
10
|
+
import { optimizeChanges } from './optimizeChanges';
|
|
11
|
+
var getAttributionIdentity = function getAttributionIdentity(change) {
|
|
12
|
+
var identities = new Set();
|
|
13
|
+
for (var _i = 0, _arr = [].concat(_toConsumableArray(change.deleted), _toConsumableArray(change.inserted)); _i < _arr.length; _i++) {
|
|
14
|
+
var span = _arr[_i];
|
|
15
|
+
identities.add(getAttributionKey(span.data));
|
|
16
|
+
}
|
|
17
|
+
if (identities.size > 1) {
|
|
18
|
+
return {
|
|
19
|
+
key: undefined,
|
|
20
|
+
mergeable: false
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
key: identities.values().next().value,
|
|
25
|
+
mergeable: true
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Simplifies and optimizes consecutive changes without crossing an attribution boundary.
|
|
31
|
+
* A change which already contains more than one identity is deliberately kept isolated.
|
|
32
|
+
*/
|
|
33
|
+
export var simplifyChangesWithAttribution = function simplifyChangesWithAttribution(changes, doc) {
|
|
34
|
+
var result = [];
|
|
35
|
+
var run = [];
|
|
36
|
+
var runIdentity;
|
|
37
|
+
var flush = function flush() {
|
|
38
|
+
if (run.length > 0) {
|
|
39
|
+
// Some show-diff producers use structurally compatible Change objects rather than the
|
|
40
|
+
// library class. `simplifyChanges` reads runtime `lenA`/`lenB` getters even though they
|
|
41
|
+
// are intentionally omitted from its public declarations, so add equivalent getters
|
|
42
|
+
// without calling the library's internal constructor.
|
|
43
|
+
var normalizedRun = run.map(function (change) {
|
|
44
|
+
return _objectSpread(_objectSpread({}, change), {}, {
|
|
45
|
+
get lenA() {
|
|
46
|
+
return change.toA - change.fromA;
|
|
47
|
+
},
|
|
48
|
+
get lenB() {
|
|
49
|
+
return change.toB - change.fromB;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
result.push.apply(result, _toConsumableArray(optimizeChanges(simplifyChanges(normalizedRun, doc))));
|
|
54
|
+
}
|
|
55
|
+
run = [];
|
|
56
|
+
runIdentity = undefined;
|
|
57
|
+
};
|
|
58
|
+
var _iterator = _createForOfIteratorHelper(changes),
|
|
59
|
+
_step;
|
|
60
|
+
try {
|
|
61
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
62
|
+
var _runIdentity;
|
|
63
|
+
var change = _step.value;
|
|
64
|
+
var identity = getAttributionIdentity(change);
|
|
65
|
+
var canJoinRun = ((_runIdentity = runIdentity) === null || _runIdentity === void 0 ? void 0 : _runIdentity.mergeable) === true && identity.mergeable && runIdentity.key === identity.key;
|
|
66
|
+
if (run.length > 0 && !canJoinRun) {
|
|
67
|
+
flush();
|
|
68
|
+
}
|
|
69
|
+
run.push(change);
|
|
70
|
+
runIdentity = identity;
|
|
71
|
+
if (!identity.mergeable) {
|
|
72
|
+
flush();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
} catch (err) {
|
|
76
|
+
_iterator.e(err);
|
|
77
|
+
} finally {
|
|
78
|
+
_iterator.f();
|
|
79
|
+
}
|
|
80
|
+
flush();
|
|
81
|
+
return result;
|
|
82
|
+
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
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; } } }; }
|
|
2
3
|
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; } }
|
|
3
4
|
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; }
|
|
5
|
+
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; }
|
|
6
|
+
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
7
|
import { AnalyticsStep } from '@atlaskit/adf-schema/steps';
|
|
5
8
|
import { areNodesEqualIgnoreAttrs } from '@atlaskit/editor-common/utils/document';
|
|
6
9
|
import { ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
|
|
7
|
-
|
|
10
|
+
import { getAttributionKey } from '../decorations/colorSchemes/attributions';
|
|
8
11
|
/**
|
|
9
12
|
* Attempts to merge two consecutive ReplaceStep operations.
|
|
10
13
|
* This merges steps where:
|
|
@@ -46,21 +49,67 @@ export function simplifySteps(steps, originalDoc) {
|
|
|
46
49
|
return acc;
|
|
47
50
|
}, []);
|
|
48
51
|
}
|
|
52
|
+
var mergeAttributions = function mergeAttributions(first, second) {
|
|
53
|
+
var _second$wasOffline;
|
|
54
|
+
if (!first) {
|
|
55
|
+
return second;
|
|
56
|
+
}
|
|
57
|
+
if (!second) {
|
|
58
|
+
return first;
|
|
59
|
+
}
|
|
60
|
+
return _objectSpread(_objectSpread(_objectSpread({}, first), second), {}, {
|
|
61
|
+
wasOffline: first.wasOffline === true || second.wasOffline === true ? true : (_second$wasOffline = second.wasOffline) !== null && _second$wasOffline !== void 0 ? _second$wasOffline : first.wasOffline
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Attribution-preserving variant of `simplifySteps`.
|
|
67
|
+
*
|
|
68
|
+
* Steps may only merge when they have the same effective actor identity. Keeping the attribution
|
|
69
|
+
* coupled to the step also ensures filtering a no-op/analytics step cannot shift array indexes.
|
|
70
|
+
*/
|
|
71
|
+
export function simplifyStepsWithAttribution(steps, stepAttributions, originalDoc) {
|
|
72
|
+
var stepsToFilter = removeUnusedAttributedSteps(steps.map(function (step, index) {
|
|
73
|
+
return {
|
|
74
|
+
step: step,
|
|
75
|
+
stepAttribution: stepAttributions[index]
|
|
76
|
+
};
|
|
77
|
+
}), originalDoc);
|
|
78
|
+
return stepsToFilter.filter(function (_ref) {
|
|
79
|
+
var step = _ref.step;
|
|
80
|
+
return !(step instanceof AnalyticsStep);
|
|
81
|
+
}).reduce(function (acc, current) {
|
|
82
|
+
var _previous$step$merge, _previous$step$merge2, _previous$step;
|
|
83
|
+
var previous = acc[acc.length - 1];
|
|
84
|
+
var isSameIdentity = previous && getAttributionKey(previous.stepAttribution) === getAttributionKey(current.stepAttribution);
|
|
85
|
+
var merged = isSameIdentity ? (_previous$step$merge = (_previous$step$merge2 = (_previous$step = previous.step).merge) === null || _previous$step$merge2 === void 0 ? void 0 : _previous$step$merge2.call(_previous$step, current.step)) !== null && _previous$step$merge !== void 0 ? _previous$step$merge : mergeReplaceSteps(previous.step, current.step) : null;
|
|
86
|
+
if (merged) {
|
|
87
|
+
acc[acc.length - 1] = {
|
|
88
|
+
step: merged,
|
|
89
|
+
stepAttribution: mergeAttributions(previous.stepAttribution, current.stepAttribution)
|
|
90
|
+
};
|
|
91
|
+
} else {
|
|
92
|
+
acc.push(current);
|
|
93
|
+
}
|
|
94
|
+
return acc;
|
|
95
|
+
}, []);
|
|
96
|
+
}
|
|
49
97
|
|
|
50
98
|
/**
|
|
51
99
|
* Does a first pass to remove steps that don't impact the document
|
|
52
100
|
*/
|
|
53
|
-
function
|
|
101
|
+
function removeUnusedAttributedSteps(stepsWithAttribution, originalDoc) {
|
|
54
102
|
var finalSteps = [];
|
|
55
103
|
var firstPassDoc = originalDoc;
|
|
56
|
-
var _iterator = _createForOfIteratorHelper(
|
|
104
|
+
var _iterator = _createForOfIteratorHelper(stepsWithAttribution),
|
|
57
105
|
_step;
|
|
58
106
|
try {
|
|
59
107
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
60
|
-
var
|
|
108
|
+
var stepWithAttribution = _step.value;
|
|
109
|
+
var step = stepWithAttribution.step;
|
|
61
110
|
var result = step.apply(firstPassDoc);
|
|
62
111
|
if (result.failed === null && result.doc && !areNodesEqualIgnoreAttrs(firstPassDoc, result.doc, ['localId'])) {
|
|
63
|
-
finalSteps.push(
|
|
112
|
+
finalSteps.push(stepWithAttribution);
|
|
64
113
|
firstPassDoc = result.doc;
|
|
65
114
|
}
|
|
66
115
|
}
|
|
@@ -70,4 +119,29 @@ function removeUnusedSteps(steps, originalDoc) {
|
|
|
70
119
|
_iterator.f();
|
|
71
120
|
}
|
|
72
121
|
return finalSteps;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Does a first pass to remove steps that don't impact the document
|
|
126
|
+
*/
|
|
127
|
+
function removeUnusedSteps(steps, originalDoc) {
|
|
128
|
+
var finalSteps = [];
|
|
129
|
+
var firstPassDoc = originalDoc;
|
|
130
|
+
var _iterator2 = _createForOfIteratorHelper(steps),
|
|
131
|
+
_step2;
|
|
132
|
+
try {
|
|
133
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
134
|
+
var step = _step2.value;
|
|
135
|
+
var result = step.apply(firstPassDoc);
|
|
136
|
+
if (result.failed === null && result.doc && !areNodesEqualIgnoreAttrs(firstPassDoc, result.doc, ['localId'])) {
|
|
137
|
+
finalSteps.push(step);
|
|
138
|
+
firstPassDoc = result.doc;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} catch (err) {
|
|
142
|
+
_iterator2.e(err);
|
|
143
|
+
} finally {
|
|
144
|
+
_iterator2.f();
|
|
145
|
+
}
|
|
146
|
+
return finalSteps;
|
|
73
147
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
4
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
5
|
+
var ATTRIBUTION_COLOR_PALETTE = ['purple', 'blue', 'teal', 'magenta', 'orange', 'green'];
|
|
6
|
+
|
|
7
|
+
/** `userId` is primary; `agentId`, or `agentType` as its fallback, separates shared users. */
|
|
8
|
+
export var getAttributionKey = function getAttributionKey(attribution) {
|
|
9
|
+
var _attribution$userId, _attribution$agentId, _attribution$agentTyp;
|
|
10
|
+
var userId = attribution === null || attribution === void 0 || (_attribution$userId = attribution.userId) === null || _attribution$userId === void 0 ? void 0 : _attribution$userId.trim();
|
|
11
|
+
var agentId = attribution === null || attribution === void 0 || (_attribution$agentId = attribution.agentId) === null || _attribution$agentId === void 0 ? void 0 : _attribution$agentId.trim();
|
|
12
|
+
var agentType = attribution === null || attribution === void 0 || (_attribution$agentTyp = attribution.agentType) === null || _attribution$agentTyp === void 0 ? void 0 : _attribution$agentTyp.trim();
|
|
13
|
+
if (!userId && !agentId && !agentType) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
var agentIdentity = agentId || (agentType ? "type:".concat(agentType) : '');
|
|
17
|
+
return "user:".concat(userId !== null && userId !== void 0 ? userId : '', "|agent:").concat(agentIdentity);
|
|
18
|
+
};
|
|
19
|
+
export var areAttributionColorGatesEnabled = function areAttributionColorGatesEnabled() {
|
|
20
|
+
return fg('confluence_ncs_step_diffing_version_history') && isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor');
|
|
21
|
+
};
|
|
22
|
+
export var isAttributionColoringEnabled = function isAttributionColoringEnabled(stepAttributions) {
|
|
23
|
+
return areAttributionColorGatesEnabled() && (stepAttributions === null || stepAttributions === void 0 ? void 0 : stepAttributions.some(function (attribution) {
|
|
24
|
+
return getAttributionKey(attribution) !== undefined;
|
|
25
|
+
})) === true;
|
|
26
|
+
};
|
|
27
|
+
export var createAttributionColorMap = function createAttributionColorMap(stepAttributions) {
|
|
28
|
+
var keys = Array.from(new Set(stepAttributions.map(getAttributionKey).filter(function (key) {
|
|
29
|
+
return key !== undefined;
|
|
30
|
+
}))).sort();
|
|
31
|
+
return new Map(keys.map(function (key, index) {
|
|
32
|
+
return [key, ATTRIBUTION_COLOR_PALETTE[index % ATTRIBUTION_COLOR_PALETTE.length]];
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
var getLatestAttribution = function getLatestAttribution(changes) {
|
|
36
|
+
var data = changes.flatMap(function (change) {
|
|
37
|
+
return [].concat(_toConsumableArray(change.deleted), _toConsumableArray(change.inserted));
|
|
38
|
+
}).map(function (span) {
|
|
39
|
+
return span.data;
|
|
40
|
+
}).filter(function (value) {
|
|
41
|
+
return _typeof(value) === 'object' && value !== null && 'stepIndex' in value && typeof value.stepIndex === 'number';
|
|
42
|
+
});
|
|
43
|
+
return data.reduce(function (latest, attribution) {
|
|
44
|
+
return !latest || attribution.stepIndex > latest.stepIndex ? attribution : latest;
|
|
45
|
+
}, undefined);
|
|
46
|
+
};
|
|
47
|
+
var rangesOverlap = function rangesOverlap(fromA, toA, fromB, toB) {
|
|
48
|
+
return fromA < toB && fromB < toA;
|
|
49
|
+
};
|
|
50
|
+
var changesOverlap = function changesOverlap(change, attributedChange) {
|
|
51
|
+
var insertedOverlap = change.inserted.length > 0 && attributedChange.inserted.length > 0 && rangesOverlap(change.fromB, change.toB, attributedChange.fromB, attributedChange.toB);
|
|
52
|
+
var deletedOverlap = change.deleted.length > 0 && attributedChange.deleted.length > 0 && rangesOverlap(change.fromA, change.toA, attributedChange.fromA, attributedChange.toA);
|
|
53
|
+
return insertedOverlap || deletedOverlap;
|
|
54
|
+
};
|
|
55
|
+
export var getColorSchemeForChange = function getColorSchemeForChange(change, attributedChanges, attributionColors, fallback) {
|
|
56
|
+
var _attributionColors$ge;
|
|
57
|
+
var key = getAttributionKey(getLatestAttribution(attributedChanges.filter(function (attributedChange) {
|
|
58
|
+
return changesOverlap(change, attributedChange);
|
|
59
|
+
})));
|
|
60
|
+
return key ? (_attributionColors$ge = attributionColors.get(key)) !== null && _attributionColors$ge !== void 0 ? _attributionColors$ge : fallback : fallback;
|
|
61
|
+
};
|
|
@@ -1,3 +1,6 @@
|
|
|
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; }
|
|
1
4
|
/** Green insertions, red deletions. */
|
|
2
5
|
export var traditionalScheme = {
|
|
3
6
|
insertColor: 'green',
|
|
@@ -52,9 +55,29 @@ export var standardScheme = {
|
|
|
52
55
|
deletedQuoteNodeActiveTone: 'borderAccent',
|
|
53
56
|
strikesDeletedEmbedCard: false
|
|
54
57
|
};
|
|
58
|
+
var createAttributionScheme = function createAttributionScheme(color) {
|
|
59
|
+
return _objectSpread(_objectSpread({}, standardScheme), {}, {
|
|
60
|
+
insertColor: color,
|
|
61
|
+
insertActiveColor: color,
|
|
62
|
+
deleteColor: color,
|
|
63
|
+
deleteActiveColor: color,
|
|
64
|
+
deletedCellColor: color
|
|
65
|
+
});
|
|
66
|
+
};
|
|
55
67
|
|
|
56
|
-
/** Maps
|
|
68
|
+
/** Maps public schemes and attribution-only accents to their data objects. */
|
|
57
69
|
export var colorSchemeRegistry = {
|
|
70
|
+
blue: createAttributionScheme('blue'),
|
|
71
|
+
green: createAttributionScheme('green'),
|
|
72
|
+
magenta: createAttributionScheme('magenta'),
|
|
73
|
+
orange: createAttributionScheme('orange'),
|
|
74
|
+
purple: createAttributionScheme('purple'),
|
|
75
|
+
teal: createAttributionScheme('teal'),
|
|
58
76
|
traditional: traditionalScheme,
|
|
59
77
|
standard: standardScheme
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/** Attribution accents are impossible in the refactor-off cohort; fall back defensively. */
|
|
81
|
+
export var getLegacyColorScheme = function getLegacyColorScheme(colorScheme) {
|
|
82
|
+
return colorScheme === 'standard' || colorScheme === 'traditional' ? colorScheme : undefined;
|
|
60
83
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
2
5
|
import { convertToInlineCss } from '@atlaskit/editor-common/lazy-node-view';
|
|
3
6
|
import { Decoration } from '@atlaskit/editor-prosemirror/view';
|
|
4
7
|
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
5
8
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
6
9
|
import { isExtendedEnabled } from '../isExtendedEnabled';
|
|
7
10
|
import { buildAddedCellOverlayRoundedStyle, buildAddedCellOverlayStyle, buildDeletedBlockNodeStyle, buildDeletedCellOverlayRoundedStyle, buildDeletedCellOverlayStyle, buildInsertedBlockNodeStyle } from './colorSchemes/factory';
|
|
8
|
-
import { colorSchemeRegistry } from './colorSchemes/schemes';
|
|
11
|
+
import { colorSchemeRegistry, getLegacyColorScheme } from './colorSchemes/schemes';
|
|
9
12
|
import { createBlockIndicatorAnchorWidgets } from './createAnchorDecorationWidgets';
|
|
10
13
|
import { buildDiffDecorationSpec } from './decorationKeys';
|
|
11
14
|
import { getBlockNodeStyleLegacy, resolveCellOverlayStyleLegacy } from './createBlockChangedDecoration.styles.legacy';
|
|
@@ -98,7 +101,9 @@ var getBlockNodeStyleNext = function getBlockNodeStyleNext(_ref) {
|
|
|
98
101
|
* same style strings for both shipped schemes; see EDITOR-8281.
|
|
99
102
|
*/
|
|
100
103
|
var getBlockNodeStyle = function getBlockNodeStyle(props) {
|
|
101
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getBlockNodeStyleNext(props) : getBlockNodeStyleLegacy(props)
|
|
104
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getBlockNodeStyleNext(props) : getBlockNodeStyleLegacy(_objectSpread(_objectSpread({}, props), {}, {
|
|
105
|
+
colorScheme: getLegacyColorScheme(props.colorScheme)
|
|
106
|
+
}));
|
|
102
107
|
};
|
|
103
108
|
|
|
104
109
|
/**
|
|
@@ -172,7 +177,7 @@ export var createBlockChangedDecoration = function createBlockChangedDecoration(
|
|
|
172
177
|
var isEmptyCellBeingFilled = !isInserted && !!cellNode && isCellEmpty(cellNode);
|
|
173
178
|
var useAddedStyle = isInserted || isEmptyCellBeingFilled;
|
|
174
179
|
var cellOverlayStyle = isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? useAddedStyle ? isRoundedTable ? buildAddedCellOverlayRoundedStyle(colors) : buildAddedCellOverlayStyle(colors) : isRoundedTable ? buildDeletedCellOverlayRoundedStyle(colors) : buildDeletedCellOverlayStyle(colors) : resolveCellOverlayStyleLegacy({
|
|
175
|
-
colorScheme: colorScheme,
|
|
180
|
+
colorScheme: getLegacyColorScheme(colorScheme),
|
|
176
181
|
isRoundedTable: isRoundedTable,
|
|
177
182
|
useAddedStyle: useAddedStyle
|
|
178
183
|
});
|
|
@@ -13,7 +13,7 @@ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-e
|
|
|
13
13
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
14
14
|
import { isExtendedEnabled } from '../isExtendedEnabled';
|
|
15
15
|
import { buildAddedCellOverlayRoundedStyle, buildAddedCellOverlayStyle, buildDeletedCellOverlayRoundedStyle, buildDeletedCellOverlayStyle, buildDeletedRowStyle } from './colorSchemes/factory';
|
|
16
|
-
import { colorSchemeRegistry } from './colorSchemes/schemes';
|
|
16
|
+
import { colorSchemeRegistry, getLegacyColorScheme } from './colorSchemes/schemes';
|
|
17
17
|
import { resolveCellOverlayStyleLegacy, resolveDeletedRowStyleLegacy } from './createChangedRowDecorationWidgets.styles.legacy';
|
|
18
18
|
import { buildDiffDecorationSpec } from './decorationKeys';
|
|
19
19
|
import { findSafeInsertPos } from './utils/findSafeInsertPos';
|
|
@@ -134,7 +134,7 @@ var createChangedRowDOM = function createChangedRowDOM(rowNode, cellEdgeAttrs, n
|
|
|
134
134
|
|
|
135
135
|
// Inserted rows keep their natural styling; the row strikethrough is deletions only.
|
|
136
136
|
if (!isExtendedEnabled(diffType) || !isInserted) {
|
|
137
|
-
tr.setAttribute('style', isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? buildDeletedRowStyle(colors) : resolveDeletedRowStyleLegacy(colorScheme));
|
|
137
|
+
tr.setAttribute('style', isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? buildDeletedRowStyle(colors) : resolveDeletedRowStyleLegacy(getLegacyColorScheme(colorScheme)));
|
|
138
138
|
}
|
|
139
139
|
tr.setAttribute('data-testid', 'show-diff-deleted-row');
|
|
140
140
|
|
|
@@ -150,7 +150,7 @@ var createChangedRowDOM = function createChangedRowDOM(rowNode, cellEdgeAttrs, n
|
|
|
150
150
|
var overlay = document.createElement('span');
|
|
151
151
|
var isRoundedTable = expValEquals('platform_editor_table_diff_rounded_corners', 'isEnabled', true);
|
|
152
152
|
var overlayStyle = isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? isInserted ? isRoundedTable ? buildAddedCellOverlayRoundedStyle(colors) : buildAddedCellOverlayStyle(colors) : isRoundedTable ? buildDeletedCellOverlayRoundedStyle(colors) : buildDeletedCellOverlayStyle(colors) : resolveCellOverlayStyleLegacy({
|
|
153
|
-
colorScheme: colorScheme,
|
|
153
|
+
colorScheme: getLegacyColorScheme(colorScheme),
|
|
154
154
|
isInserted: isInserted,
|
|
155
155
|
isRoundedTable: isRoundedTable
|
|
156
156
|
});
|
|
@@ -7,7 +7,7 @@ import { Decoration } from '@atlaskit/editor-prosemirror/view';
|
|
|
7
7
|
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
8
8
|
import { isExtendedEnabled } from '../isExtendedEnabled';
|
|
9
9
|
import { buildAtomicInlineChangedCSSVariables, buildDeletedInlineContentStyleExtended, buildDeletedInlineStyle, buildDeletedInlineStyleStandard, buildInsertStyle, buildInsertStyleActive, buildInsertStyleExtended, buildInsertStyleExtendedActive, buildInsertStyleExtendedNoUnderline, buildInsertStyleExtendedNoUnderlineActive } from './colorSchemes/factory';
|
|
10
|
-
import { colorSchemeRegistry } from './colorSchemes/schemes';
|
|
10
|
+
import { colorSchemeRegistry, getLegacyColorScheme } from './colorSchemes/schemes';
|
|
11
11
|
import { createInlineIndicatorAnchorWidgets } from './createAnchorDecorationWidgets';
|
|
12
12
|
import { getAtomicInlineNodeClassNameLegacy, resolveInlineChangedStyleLegacy } from './createInlineChangedDecoration.styles.legacy';
|
|
13
13
|
import { buildDiffDecorationSpec } from './decorationKeys';
|
|
@@ -70,7 +70,9 @@ var resolveInlineChangedStyleRefactored = function resolveInlineChangedStyleRefa
|
|
|
70
70
|
* verbatim pre-refactor per-scheme constants when it is off.
|
|
71
71
|
*/
|
|
72
72
|
var resolveInlineChangedStyle = function resolveInlineChangedStyle(args) {
|
|
73
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveInlineChangedStyleRefactored(args) : resolveInlineChangedStyleLegacy(args)
|
|
73
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveInlineChangedStyleRefactored(args) : resolveInlineChangedStyleLegacy(_objectSpread(_objectSpread({}, args), {}, {
|
|
74
|
+
colorScheme: getLegacyColorScheme(args.colorScheme)
|
|
75
|
+
}));
|
|
74
76
|
};
|
|
75
77
|
|
|
76
78
|
/**
|
|
@@ -84,7 +86,7 @@ var resolveAtomicInlineAttrs = function resolveAtomicInlineAttrs(inlineNodeName,
|
|
|
84
86
|
className: getAtomicInlineNodeClassName(inlineNodeName),
|
|
85
87
|
styleSuffix: buildAtomicInlineChangedCSSVariables(colors)
|
|
86
88
|
} : {
|
|
87
|
-
className: getAtomicInlineNodeClassNameLegacy(inlineNodeName, colorScheme),
|
|
89
|
+
className: getAtomicInlineNodeClassNameLegacy(inlineNodeName, getLegacyColorScheme(colorScheme)),
|
|
88
90
|
styleSuffix: ''
|
|
89
91
|
};
|
|
90
92
|
};
|
|
@@ -1,3 +1,6 @@
|
|
|
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; }
|
|
1
4
|
/**
|
|
2
5
|
* Style resolution for the `wrapBlockNodeView` nodeview decorations.
|
|
3
6
|
*
|
|
@@ -14,7 +17,7 @@ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-e
|
|
|
14
17
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
15
18
|
import { isExtendedEnabled } from '../../isExtendedEnabled';
|
|
16
19
|
import { buildAddedCellOverlayRoundedStyle, buildAddedCellOverlayStyle, buildAddedCellOverlayStyleNew, buildDeletedCellOverlayRoundedStyle, buildDeletedCellOverlayStyle, buildDeletedInlineContentStyle, buildDeletedInlineContentStyleExtended, buildDeletedLozengeActiveStyle, buildDeletedLozengeStyle, buildDeletedNodeCSSVariables, buildDeletedQuoteNodeWithLozengeStyle, buildDeletedStrikethroughLine, buildDeletedWrappedBlockOutline, buildInsertedBlockNodeStyle, buildInsertedInlineStyle, buildInsertStyleInBlockExtended, buildInsertStyleInBlockExtendedNoUnderline, buildInsertStyleNode } from '../colorSchemes/factory';
|
|
17
|
-
import { colorSchemeRegistry, standardScheme } from '../colorSchemes/schemes';
|
|
20
|
+
import { colorSchemeRegistry, getLegacyColorScheme, standardScheme } from '../colorSchemes/schemes';
|
|
18
21
|
import { getChangedContentStyleLegacy, getChangedNodeStyleLegacy, getDeletedContentStyleLegacy, getDeletedContentStyleUnboundedLegacy, getInsertedContentStyleLegacy, hasRestingDeletedRingLegacy, resolveCellOverlayStyleLegacy, resolveNestedInsertedNodeStyleLegacy, resolveRemovedLozengeStyleLegacy } from './wrapBlockNodeViewStyles.legacy';
|
|
19
22
|
var DEFAULT_COLOR_SCHEME = 'standard';
|
|
20
23
|
var getColorScheme = function getColorScheme(colorScheme) {
|
|
@@ -135,7 +138,7 @@ export var getChangedContentStyle = function getChangedContentStyle(colorScheme)
|
|
|
135
138
|
var isInserted = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
136
139
|
var diffType = arguments.length > 3 ? arguments[3] : undefined;
|
|
137
140
|
var hideAddedDiffsUnderline = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
138
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getChangedContentStyleNext(colorScheme, isActive, isInserted, diffType, hideAddedDiffsUnderline) : getChangedContentStyleLegacy(colorScheme, isActive, isInserted, diffType, hideAddedDiffsUnderline);
|
|
141
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getChangedContentStyleNext(colorScheme, isActive, isInserted, diffType, hideAddedDiffsUnderline) : getChangedContentStyleLegacy(getLegacyColorScheme(colorScheme), isActive, isInserted, diffType, hideAddedDiffsUnderline);
|
|
139
142
|
};
|
|
140
143
|
|
|
141
144
|
/** Node-specific style for a changed block node, or `undefined` when the node type has none. */
|
|
@@ -144,27 +147,27 @@ export var getChangedNodeStyle = function getChangedNodeStyle(nodeName, colorSch
|
|
|
144
147
|
var isActive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
145
148
|
var diffType = arguments.length > 4 ? arguments[4] : undefined;
|
|
146
149
|
var hideAddedDiffsUnderline = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
147
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getChangedNodeStyleNext(nodeName, colorScheme, isInserted, isActive, diffType, hideAddedDiffsUnderline) : getChangedNodeStyleLegacy(nodeName, colorScheme, isInserted, isActive, diffType, hideAddedDiffsUnderline);
|
|
150
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getChangedNodeStyleNext(nodeName, colorScheme, isInserted, isActive, diffType, hideAddedDiffsUnderline) : getChangedNodeStyleLegacy(nodeName, getLegacyColorScheme(colorScheme), isInserted, isActive, diffType, hideAddedDiffsUnderline);
|
|
148
151
|
};
|
|
149
152
|
|
|
150
153
|
/** The positioned line drawn across deleted content spanning an unbounded range. */
|
|
151
154
|
export var getDeletedContentStyleUnbounded = function getDeletedContentStyleUnbounded(colorScheme) {
|
|
152
155
|
var isActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
153
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getDeletedContentStyleUnboundedNext(colorScheme, isActive) : getDeletedContentStyleUnboundedLegacy(colorScheme, isActive);
|
|
156
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getDeletedContentStyleUnboundedNext(colorScheme, isActive) : getDeletedContentStyleUnboundedLegacy(getLegacyColorScheme(colorScheme), isActive);
|
|
154
157
|
};
|
|
155
158
|
|
|
156
159
|
/** Inline style for inserted content. */
|
|
157
160
|
export var getInsertedContentStyle = function getInsertedContentStyle(colorScheme) {
|
|
158
161
|
var isActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
159
162
|
var hideAddedDiffsUnderline = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
160
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getInsertedContentStyleNext(colorScheme, isActive, hideAddedDiffsUnderline) : getInsertedContentStyleLegacy(colorScheme, isActive, hideAddedDiffsUnderline);
|
|
163
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getInsertedContentStyleNext(colorScheme, isActive, hideAddedDiffsUnderline) : getInsertedContentStyleLegacy(getLegacyColorScheme(colorScheme), isActive, hideAddedDiffsUnderline);
|
|
161
164
|
};
|
|
162
165
|
|
|
163
166
|
/** Inline style for deleted content. */
|
|
164
167
|
export var getDeletedContentStyle = function getDeletedContentStyle(colorScheme) {
|
|
165
168
|
var isActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
166
169
|
var diffType = arguments.length > 2 ? arguments[2] : undefined;
|
|
167
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getDeletedContentStyleNext(colorScheme, isActive, diffType) : getDeletedContentStyleLegacy(colorScheme, isActive, diffType);
|
|
170
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? getDeletedContentStyleNext(colorScheme, isActive, diffType) : getDeletedContentStyleLegacy(getLegacyColorScheme(colorScheme), isActive, diffType);
|
|
168
171
|
};
|
|
169
172
|
|
|
170
173
|
/**
|
|
@@ -172,12 +175,14 @@ export var getDeletedContentStyle = function getDeletedContentStyle(colorScheme)
|
|
|
172
175
|
* `querySelectorAll('td, th')` loop in `wrapBlockNodeView.ts` resolves it once.
|
|
173
176
|
*/
|
|
174
177
|
export var resolveCellOverlayStyle = function resolveCellOverlayStyle(args) {
|
|
175
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveCellOverlayStyleNext(args) : resolveCellOverlayStyleLegacy(args)
|
|
178
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveCellOverlayStyleNext(args) : resolveCellOverlayStyleLegacy(_objectSpread(_objectSpread({}, args), {}, {
|
|
179
|
+
colorScheme: getLegacyColorScheme(args.colorScheme)
|
|
180
|
+
}));
|
|
176
181
|
};
|
|
177
182
|
|
|
178
183
|
/** Inner style for the "Removed" lozenge on a deleted block node. */
|
|
179
184
|
export var resolveRemovedLozengeStyle = function resolveRemovedLozengeStyle(colorScheme, isActive) {
|
|
180
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveRemovedLozengeStyleNext(colorScheme, isActive) : resolveRemovedLozengeStyleLegacy(colorScheme, isActive);
|
|
185
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? resolveRemovedLozengeStyleNext(colorScheme, isActive) : resolveRemovedLozengeStyleLegacy(getLegacyColorScheme(colorScheme), isActive);
|
|
181
186
|
};
|
|
182
187
|
|
|
183
188
|
/**
|
|
@@ -194,7 +199,7 @@ export var resolveNestedInsertedNodeStyle = function resolveNestedInsertedNodeSt
|
|
|
194
199
|
* is what the `show-diff-deleted-outline-new` class styles in editor-core's smartCardStyles.
|
|
195
200
|
*/
|
|
196
201
|
export var hasRestingDeletedRing = function hasRestingDeletedRing(colorScheme) {
|
|
197
|
-
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? hasRestingDeletedRingNext(colorScheme) : hasRestingDeletedRingLegacy(colorScheme);
|
|
202
|
+
return isExperimentEnabled('platform_editor_show_diff_color_scheme_refactor') ? hasRestingDeletedRingNext(colorScheme) : hasRestingDeletedRingLegacy(getLegacyColorScheme(colorScheme));
|
|
198
203
|
};
|
|
199
204
|
|
|
200
205
|
/**
|
|
@@ -30,6 +30,7 @@ export var createPlugin = function createPlugin(config, getIntl, api, onEditorVi
|
|
|
30
30
|
var defaultDiffType = getDefaultDiffType();
|
|
31
31
|
return _objectSpread({
|
|
32
32
|
steps: [],
|
|
33
|
+
stepAttributions: [],
|
|
33
34
|
originalDoc: undefined,
|
|
34
35
|
decorations: DecorationSet.empty,
|
|
35
36
|
isDisplayingChanges: false
|