@manuscripts/track-changes-plugin 2.1.1 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/cjs/ChangeSet.js +23 -9
  2. package/dist/cjs/actions.js +3 -1
  3. package/dist/cjs/{changes/applyChanges.js → applyChanges.js} +16 -16
  4. package/dist/cjs/{changes → changeHelpers}/revertChange.js +3 -4
  5. package/dist/cjs/{mutate/dropStructureChange.js → changeHelpers/structureChange.js} +23 -17
  6. package/dist/cjs/{changes → changeHelpers}/updateChangeAttrs.js +4 -5
  7. package/dist/cjs/{changes → changeHelpers}/updateChangesStatus.js +5 -5
  8. package/dist/cjs/{changes/findChanges.js → findChanges.js} +5 -5
  9. package/dist/cjs/helpers/attributes.js +157 -0
  10. package/dist/cjs/{compute/setFragmentAsInserted.js → helpers/fragment.js} +71 -79
  11. package/dist/cjs/helpers/mark.js +19 -0
  12. package/dist/cjs/plugin.js +13 -22
  13. package/dist/cjs/trackChanges.js +47 -0
  14. package/dist/cjs/{change-steps → tracking/change-step}/diffChangeSteps.js +23 -28
  15. package/dist/cjs/{utils/mapChangeStep.js → tracking/change-step/mapChangeSteps.js} +1 -1
  16. package/dist/cjs/{change-steps → tracking/change-step}/processChangeSteps.js +14 -48
  17. package/dist/cjs/tracking/fixAndHandleSelection.js +54 -0
  18. package/dist/cjs/{mutate → tracking/lib}/deleteAndMergeSplitNodes.js +7 -40
  19. package/dist/cjs/{mutate → tracking/lib}/deleteNode.js +8 -9
  20. package/dist/cjs/{mutate/deleteText.js → tracking/lib/deleteTextIfInserted.js} +4 -4
  21. package/dist/cjs/{change-steps → tracking/lib}/matchInserted.js +15 -23
  22. package/dist/cjs/{mutate → tracking/lib}/mergeTrackedMarks.js +3 -3
  23. package/dist/cjs/tracking/lib/processStepsBeforeTracking.js +17 -0
  24. package/dist/cjs/{steps/utils.js → tracking/steps-trackers/qualifiers.js} +37 -10
  25. package/dist/cjs/{steps/trackAttrsChange.js → tracking/steps-trackers/trackAttrsChangeStep.js} +3 -3
  26. package/dist/cjs/{steps → tracking/steps-trackers}/trackMarkSteps.js +14 -11
  27. package/dist/cjs/{steps → tracking/steps-trackers}/trackReplaceAroundStep.js +12 -46
  28. package/dist/cjs/tracking/steps-trackers/trackReplaceStep.js +85 -0
  29. package/dist/cjs/tracking/trackTransaction.js +93 -0
  30. package/dist/cjs/tracking/transactionProcessing.js +164 -0
  31. package/dist/cjs/tracking/types.js +17 -0
  32. package/dist/es/ChangeSet.js +23 -9
  33. package/dist/es/actions.js +1 -0
  34. package/dist/es/{changes/applyChanges.js → applyChanges.js} +10 -10
  35. package/dist/es/{changes → changeHelpers}/revertChange.js +1 -2
  36. package/dist/es/{mutate/dropStructureChange.js → changeHelpers/structureChange.js} +10 -5
  37. package/dist/es/{changes → changeHelpers}/updateChangeAttrs.js +2 -3
  38. package/dist/es/{changes → changeHelpers}/updateChangesStatus.js +4 -4
  39. package/dist/es/{changes/findChanges.js → findChanges.js} +3 -3
  40. package/dist/es/helpers/attributes.js +136 -0
  41. package/dist/es/{compute/setFragmentAsInserted.js → helpers/fragment.js} +66 -42
  42. package/dist/es/helpers/mark.js +15 -0
  43. package/dist/es/plugin.js +12 -21
  44. package/dist/es/trackChanges.js +44 -0
  45. package/dist/es/{change-steps → tracking/change-step}/diffChangeSteps.js +23 -28
  46. package/dist/es/{utils/mapChangeStep.js → tracking/change-step/mapChangeSteps.js} +1 -1
  47. package/dist/es/{change-steps → tracking/change-step}/processChangeSteps.js +10 -11
  48. package/dist/es/tracking/fixAndHandleSelection.js +49 -0
  49. package/dist/es/{mutate → tracking/lib}/deleteAndMergeSplitNodes.js +7 -7
  50. package/dist/es/{mutate → tracking/lib}/deleteNode.js +4 -5
  51. package/dist/es/{mutate/deleteText.js → tracking/lib/deleteTextIfInserted.js} +1 -1
  52. package/dist/es/{change-steps → tracking/lib}/matchInserted.js +15 -23
  53. package/dist/es/{mutate → tracking/lib}/mergeTrackedMarks.js +2 -2
  54. package/dist/es/tracking/lib/processStepsBeforeTracking.js +14 -0
  55. package/dist/es/{steps/utils.js → tracking/steps-trackers/qualifiers.js} +32 -7
  56. package/dist/es/{steps/trackAttrsChange.js → tracking/steps-trackers/trackAttrsChangeStep.js} +3 -3
  57. package/dist/es/{steps → tracking/steps-trackers}/trackMarkSteps.js +6 -3
  58. package/dist/es/{steps → tracking/steps-trackers}/trackReplaceAroundStep.js +9 -10
  59. package/dist/es/{steps → tracking/steps-trackers}/trackReplaceStep.js +34 -26
  60. package/dist/es/tracking/trackTransaction.js +87 -0
  61. package/dist/es/tracking/transactionProcessing.js +153 -0
  62. package/dist/es/tracking/types.js +16 -0
  63. package/dist/types/ChangeSet.d.ts +4 -1
  64. package/dist/types/actions.d.ts +1 -0
  65. package/dist/types/applyChanges.d.ts +6 -0
  66. package/dist/types/{mutate/dropStructureChange.d.ts → changeHelpers/structureChange.d.ts} +2 -1
  67. package/dist/types/{changes/findChanges.d.ts → findChanges.d.ts} +1 -1
  68. package/dist/types/helpers/attributes.d.ts +47 -0
  69. package/dist/types/{compute/setFragmentAsInserted.d.ts → helpers/fragment.d.ts} +3 -1
  70. package/dist/types/helpers/mark.d.ts +3 -0
  71. package/dist/types/trackChanges.d.ts +17 -0
  72. package/dist/types/tracking/change-step/diffChangeSteps.d.ts +17 -0
  73. package/dist/types/{utils/mapChangeStep.d.ts → tracking/change-step/mapChangeSteps.d.ts} +2 -2
  74. package/dist/types/tracking/change-step/processChangeSteps.d.ts +6 -0
  75. package/dist/types/tracking/fixAndHandleSelection.d.ts +20 -0
  76. package/dist/types/{mutate → tracking/lib}/deleteAndMergeSplitNodes.d.ts +4 -5
  77. package/dist/types/{mutate → tracking/lib}/deleteNode.d.ts +2 -2
  78. package/dist/types/{mutate/deleteText.d.ts → tracking/lib/deleteTextIfInserted.d.ts} +1 -1
  79. package/dist/types/tracking/lib/matchInserted.d.ts +18 -0
  80. package/dist/types/tracking/lib/processStepsBeforeTracking.d.ts +4 -0
  81. package/dist/types/{compute → tracking/lib}/splitSliceIntoMergedParts.d.ts +1 -1
  82. package/dist/types/{steps/utils.d.ts → tracking/steps-trackers/qualifiers.d.ts} +5 -3
  83. package/dist/types/{steps/trackAttrsChange.d.ts → tracking/steps-trackers/trackAttrsChangeStep.d.ts} +4 -4
  84. package/dist/types/{steps → tracking/steps-trackers}/trackMarkSteps.d.ts +1 -1
  85. package/dist/types/{steps → tracking/steps-trackers}/trackReplaceAroundStep.d.ts +2 -2
  86. package/dist/types/tracking/steps-trackers/trackReplaceStep.d.ts +5 -0
  87. package/dist/types/tracking/trackTransaction.d.ts +4 -0
  88. package/dist/types/tracking/transactionProcessing.d.ts +12 -0
  89. package/dist/types/tracking/types.d.ts +65 -0
  90. package/dist/types/types/change.d.ts +1 -1
  91. package/dist/types/types/track.d.ts +0 -30
  92. package/package.json +17 -14
  93. package/dist/cjs/compute/nodeHelpers.js +0 -83
  94. package/dist/cjs/steps/trackReplaceStep.js +0 -110
  95. package/dist/cjs/steps/trackTransaction.js +0 -162
  96. package/dist/cjs/types/step.js +0 -2
  97. package/dist/cjs/utils/track-utils.js +0 -239
  98. package/dist/es/compute/nodeHelpers.js +0 -73
  99. package/dist/es/steps/trackTransaction.js +0 -156
  100. package/dist/es/types/step.js +0 -1
  101. package/dist/es/utils/track-utils.js +0 -217
  102. package/dist/types/change-steps/diffChangeSteps.d.ts +0 -2
  103. package/dist/types/change-steps/matchInserted.d.ts +0 -3
  104. package/dist/types/change-steps/processChangeSteps.d.ts +0 -6
  105. package/dist/types/changes/applyChanges.d.ts +0 -6
  106. package/dist/types/compute/nodeHelpers.d.ts +0 -14
  107. package/dist/types/steps/trackReplaceStep.d.ts +0 -6
  108. package/dist/types/steps/trackTransaction.d.ts +0 -3
  109. package/dist/types/types/step.d.ts +0 -40
  110. package/dist/types/utils/track-utils.d.ts +0 -24
  111. /package/dist/cjs/{changes → changeHelpers}/fixInconsistentChanges.js +0 -0
  112. /package/dist/cjs/{mutate → tracking/lib}/mergeNode.js +0 -0
  113. /package/dist/cjs/{compute → tracking/lib}/splitSliceIntoMergedParts.js +0 -0
  114. /package/dist/es/{changes → changeHelpers}/fixInconsistentChanges.js +0 -0
  115. /package/dist/es/{mutate → tracking/lib}/mergeNode.js +0 -0
  116. /package/dist/es/{compute → tracking/lib}/splitSliceIntoMergedParts.js +0 -0
  117. /package/dist/types/{changes → changeHelpers}/fixInconsistentChanges.d.ts +0 -0
  118. /package/dist/types/{changes → changeHelpers}/revertChange.d.ts +0 -0
  119. /package/dist/types/{changes → changeHelpers}/updateChangeAttrs.d.ts +0 -0
  120. /package/dist/types/{changes → changeHelpers}/updateChangesStatus.d.ts +0 -0
  121. /package/dist/types/{mutate → tracking/lib}/mergeNode.d.ts +0 -0
  122. /package/dist/types/{mutate → tracking/lib}/mergeTrackedMarks.d.ts +0 -0
@@ -1,217 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { Fragment } from 'prosemirror-model';
13
- import { ReplaceStep } from 'prosemirror-transform';
14
- import { TrackChangesAction } from '../actions';
15
- import { CHANGE_OPERATION, CHANGE_STATUS } from '../types/change';
16
- import { uuidv4 } from './uuidv4';
17
- export function createNewInsertAttrs(attrs) {
18
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.insert });
19
- }
20
- export function createNewWrapAttrs(attrs) {
21
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.wrap_with_node });
22
- }
23
- export function createNewSplitAttrs(attrs) {
24
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.node_split });
25
- }
26
- export function createNewReferenceAttrs(attrs, id) {
27
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.reference, referenceId: id });
28
- }
29
- export function createNewDeleteAttrs(attrs) {
30
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.delete });
31
- }
32
- export function createNewMoveAttrs(attrs, indentationType) {
33
- return Object.assign(Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.move }), (indentationType && { indentationType }));
34
- }
35
- export function createNewUpdateAttrs(attrs, oldAttrs) {
36
- const { dataTracked } = oldAttrs, restAttrs = __rest(oldAttrs, ["dataTracked"]);
37
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.set_node_attributes, oldAttrs: JSON.parse(JSON.stringify(restAttrs)) });
38
- }
39
- export function createNewStructureAttrs(attrs) {
40
- return Object.assign(Object.assign({}, attrs), { operation: CHANGE_OPERATION.structure });
41
- }
42
- export const trFromHistory = (tr) => Object.keys(tr.meta).find((s) => s.startsWith('history$'));
43
- export const HasMoveOperations = (tr) => {
44
- const movingAssoc = new Map();
45
- if (tr.steps.length < 2) {
46
- return movingAssoc;
47
- }
48
- if (tr.getMeta(TrackChangesAction.structuralChangeAction)) {
49
- const commonID = uuidv4();
50
- movingAssoc.set(tr.steps[0], commonID);
51
- movingAssoc.set(tr.steps[1], commonID);
52
- return movingAssoc;
53
- }
54
- const matched = [];
55
- for (let i = 0; i < tr.steps.length; i++) {
56
- if (matched.includes(i)) {
57
- continue;
58
- }
59
- const step = tr.steps[i];
60
- const doc = tr.docs[i];
61
- if (!step.slice) {
62
- continue;
63
- }
64
- const stepDeletesContent = step.from !== step.to && step.slice.size === 0;
65
- const stepInsertsContent = step.slice.size && step.slice.content.firstChild ? true : false;
66
- for (let g = 0; g < tr.steps.length; g++) {
67
- if (g === i || matched.includes(g)) {
68
- continue;
69
- }
70
- const peerStep = tr.steps[g];
71
- if (!peerStep.slice) {
72
- continue;
73
- }
74
- const peerStepInsertsContent = peerStep.slice.size && peerStep.slice.content.firstChild;
75
- const peerStepDeletesContent = peerStep.from !== peerStep.to && peerStep.slice.size === 0;
76
- if (stepDeletesContent) {
77
- const deletedContent = doc.slice(step.from, step.to);
78
- if (peerStepInsertsContent &&
79
- deletedContent.content.firstChild &&
80
- peerStep.slice.content.firstChild.toString() === deletedContent.content.firstChild.toString()) {
81
- const commonID = uuidv4();
82
- movingAssoc.set(peerStep, commonID);
83
- movingAssoc.set(step, commonID);
84
- matched.push(i, g);
85
- }
86
- continue;
87
- }
88
- if (stepInsertsContent && peerStepDeletesContent) {
89
- const insertedContent = step.slice;
90
- const deletedPeerContent = tr.docs[g].slice(peerStep.from, peerStep.to);
91
- if (insertedContent.content.firstChild &&
92
- deletedPeerContent.content.firstChild &&
93
- insertedContent.content.firstChild.toString() === deletedPeerContent.content.firstChild.toString()) {
94
- const commonID = uuidv4();
95
- movingAssoc.set(peerStep, commonID);
96
- movingAssoc.set(step, commonID);
97
- }
98
- matched.push(i, g);
99
- }
100
- }
101
- }
102
- return movingAssoc;
103
- };
104
- export const isPendingChange = (trackedAttrs, operation) => {
105
- return !!(trackedAttrs === null || trackedAttrs === void 0 ? void 0 : trackedAttrs.some((t) => t.operation === operation));
106
- };
107
- export const isDeletingPendingMovedNode = (step, doc) => {
108
- if (!step.slice || step.from === step.to || step.slice.content.size > 0) {
109
- return undefined;
110
- }
111
- const node = doc.nodeAt(step.from);
112
- if (!node) {
113
- return undefined;
114
- }
115
- const trackedAttrs = node.attrs.dataTracked;
116
- const found = trackedAttrs === null || trackedAttrs === void 0 ? void 0 : trackedAttrs.find((tracked) => tracked.operation === CHANGE_OPERATION.move && tracked.status === CHANGE_STATUS.pending);
117
- if (found === null || found === void 0 ? void 0 : found.moveNodeId) {
118
- return found.moveNodeId;
119
- }
120
- return undefined;
121
- };
122
- export const isDirectPendingMoveDeletion = (step, doc, movingSteps) => {
123
- if (step.from === step.to || step.slice.content.size > 0) {
124
- return false;
125
- }
126
- if (movingSteps.has(step)) {
127
- return false;
128
- }
129
- const node = doc.nodeAt(step.from);
130
- if (!node) {
131
- return false;
132
- }
133
- return isPendingChange(node.attrs.dataTracked, CHANGE_OPERATION.move);
134
- };
135
- export const handleDirectPendingMoveDeletions = (tr, newTr, movingSteps) => {
136
- tr.steps.forEach((step) => {
137
- if (step instanceof ReplaceStep) {
138
- const doc = tr.docs[tr.steps.indexOf(step)];
139
- if (isDirectPendingMoveDeletion(step, doc, movingSteps)) {
140
- const node = doc.nodeAt(step.from);
141
- if (node === null || node === void 0 ? void 0 : node.attrs.dataTracked) {
142
- newTr.setNodeMarkup(step.from, undefined, Object.assign(Object.assign({}, node.attrs), { dataTracked: node.attrs.dataTracked.filter((t) => !(t.operation === CHANGE_OPERATION.move && t.status === CHANGE_STATUS.pending)) }));
143
- }
144
- }
145
- }
146
- });
147
- };
148
- export const filterMeaninglessMoveSteps = (tr, movingSteps) => {
149
- var _a;
150
- const cleanSteps = [];
151
- for (let i = 0; i < tr.steps.length; i++) {
152
- const step = tr.steps[i];
153
- const moveID = movingSteps.get(step);
154
- if (moveID) {
155
- const prevMoveID = isDeletingPendingMovedNode(step, tr.docs[i]);
156
- if (prevMoveID) {
157
- movingSteps.forEach((replaceStepMoveID, replaceStep) => {
158
- if (replaceStep !== step && moveID === replaceStepMoveID) {
159
- movingSteps.set(replaceStep, prevMoveID);
160
- }
161
- });
162
- continue;
163
- }
164
- if (step instanceof ReplaceStep && !tr.getMeta(TrackChangesAction.structuralChangeAction)) {
165
- const { slice } = step;
166
- if ((_a = slice === null || slice === void 0 ? void 0 : slice.content) === null || _a === void 0 ? void 0 : _a.firstChild) {
167
- const insertedNode = slice.content.firstChild;
168
- if (insertedNode.attrs.dataTracked) {
169
- const isPendingInsert = isPendingChange(insertedNode.attrs.dataTracked, CHANGE_OPERATION.insert);
170
- if (isPendingInsert) {
171
- continue;
172
- }
173
- }
174
- }
175
- }
176
- }
177
- cleanSteps.push(step);
178
- }
179
- return cleanSteps;
180
- };
181
- export const updateBlockNodesAttrs = (fragment, predicate) => {
182
- const updatedNodes = [];
183
- fragment.forEach((child) => {
184
- if (!child.isBlock) {
185
- updatedNodes.push(child);
186
- return;
187
- }
188
- const newContent = child.content.size ? updateBlockNodesAttrs(child.content, predicate) : child.content;
189
- const newAttrs = predicate(child.attrs, child);
190
- updatedNodes.push(child.type.create(newAttrs, newContent, child.marks));
191
- });
192
- return Fragment.fromArray(updatedNodes);
193
- };
194
- export function isValidTrackableMark(mark) {
195
- var _a, _b;
196
- const spec = mark.type.spec;
197
- const name = mark.type.name;
198
- if (!name.startsWith('tracked_') &&
199
- ((_a = spec.attrs) === null || _a === void 0 ? void 0 : _a.dataTracked) &&
200
- typeof ((_b = spec.attrs) === null || _b === void 0 ? void 0 : _b.dataTracked) === 'object') {
201
- return true;
202
- }
203
- return false;
204
- }
205
- export function excludeFromTracked(dataTracked, changeIdToExclude) {
206
- if (!dataTracked) {
207
- return null;
208
- }
209
- const newDataTracked = dataTracked.filter((c) => c.id !== changeIdToExclude);
210
- return newDataTracked.length ? newDataTracked : null;
211
- }
212
- export function isInlineMarkChange(change) {
213
- if (change.type == 'mark-change') {
214
- return change.nodeType.isInline || change.nodeType.isText;
215
- }
216
- return false;
217
- }
@@ -1,2 +0,0 @@
1
- import { ChangeStep, InsertSliceStep } from '../types/step';
2
- export declare function diffChangeSteps(deleted: ChangeStep[], inserted: InsertSliceStep[]): ChangeStep[];
@@ -1,3 +0,0 @@
1
- import { ExposedFragment } from '../types/pm';
2
- import { ChangeStep } from '../types/step';
3
- export declare function matchInserted(matchedDeleted: number, deleted: ChangeStep[], inserted: ExposedFragment): [number, ChangeStep[]];
@@ -1,6 +0,0 @@
1
- import { Schema } from 'prosemirror-model';
2
- import type { Transaction } from 'prosemirror-state';
3
- import { Mapping } from 'prosemirror-transform';
4
- import { ChangeStep } from '../types/step';
5
- import { NewEmptyAttrs } from '../types/track';
6
- export declare function processChangeSteps(changes: ChangeStep[], startPos: number, newTr: Transaction, emptyAttrs: NewEmptyAttrs, schema: Schema, deletedNodeMapping: Mapping): [Mapping, number];
@@ -1,6 +0,0 @@
1
- import { Schema } from 'prosemirror-model';
2
- import { Transaction } from 'prosemirror-state';
3
- import { Mapping } from 'prosemirror-transform';
4
- import { ChangeSet } from '../ChangeSet';
5
- import { TrackedChange } from '../types/change';
6
- export declare function applyAcceptedRejectedChanges(tr: Transaction, schema: Schema, changes: TrackedChange[], changeSet: ChangeSet, deleteMap?: Mapping): Mapping;
@@ -1,14 +0,0 @@
1
- import { Mark, Node as PMNode, Schema } from 'prosemirror-model';
2
- import { CHANGE_OPERATION, TrackedAttrs } from '../types/change';
3
- export declare function addTrackIdIfDoesntExist(attrs: Partial<TrackedAttrs>): Partial<TrackedAttrs>;
4
- export declare function getTextNodeTrackedMarkData(node: PMNode | undefined | null, schema: Schema): (Omit<Partial<TrackedAttrs>, "operation"> & {
5
- operation: CHANGE_OPERATION;
6
- }) | undefined;
7
- export declare function getBlockInlineTrackedData(node: PMNode): Partial<TrackedAttrs>[] | undefined;
8
- export declare function getMarkTrackedData(node: PMNode | undefined | null): Map<Mark, Partial<TrackedAttrs>[]>;
9
- export declare function getNodeTrackedData(node: PMNode | undefined | null, schema: Schema): Partial<TrackedAttrs>[] | undefined;
10
- export declare function equalMarks(n1: PMNode, n2: PMNode): boolean;
11
- export declare function shouldMergeTrackedAttributes(left?: Partial<TrackedAttrs>, right?: Partial<TrackedAttrs>): boolean;
12
- export declare function getMergeableMarkTrackedAttrs(node: PMNode | undefined | null, attrs: Partial<TrackedAttrs>, schema: Schema): (Omit<Partial<TrackedAttrs>, "operation"> & {
13
- operation: CHANGE_OPERATION;
14
- }) | null;
@@ -1,6 +0,0 @@
1
- import { Node as PMNode } from 'prosemirror-model';
2
- import type { EditorState, Transaction } from 'prosemirror-state';
3
- import { ReplaceStep, StepResult } from 'prosemirror-transform';
4
- import { ChangeStep } from '../types/step';
5
- import { NewEmptyAttrs } from '../types/track';
6
- export declare function trackReplaceStep(step: ReplaceStep, oldState: EditorState, newTr: Transaction, attrsTemplate: NewEmptyAttrs, stepResult: StepResult, currentStepDoc: PMNode, tr: Transaction, moveID?: string): [ChangeStep[], number];
@@ -1,3 +0,0 @@
1
- import { EditorState, Transaction } from 'prosemirror-state';
2
- import { ChangeSet } from '../ChangeSet';
3
- export declare function trackTransaction(tr: Transaction, oldState: EditorState, newTr: Transaction, authorID: string, changeSet: ChangeSet): Transaction;
@@ -1,40 +0,0 @@
1
- import { Node as PMNode } from 'prosemirror-model';
2
- import { ExposedFragment, ExposedSlice } from './pm';
3
- export interface DeleteNodeStep {
4
- pos: number;
5
- nodeEnd: number;
6
- type: 'delete-node';
7
- node: PMNode;
8
- ref?: string;
9
- }
10
- export interface DeleteTextStep {
11
- pos: number;
12
- from: number;
13
- to: number;
14
- type: 'delete-text';
15
- node: PMNode;
16
- ref?: string;
17
- }
18
- export interface MergeFragmentStep {
19
- pos: number;
20
- mergePos: number;
21
- from: number;
22
- to: number;
23
- type: 'merge-fragment';
24
- node: PMNode;
25
- fragment: ExposedFragment;
26
- }
27
- export interface InsertSliceStep {
28
- from: number;
29
- to: number;
30
- sliceWasSplit: boolean;
31
- type: 'insert-slice';
32
- slice: ExposedSlice;
33
- }
34
- export interface UpdateNodeAttrsStep {
35
- pos: number;
36
- type: 'update-node-attrs';
37
- node: PMNode;
38
- newAttrs: Record<string, any>;
39
- }
40
- export type ChangeStep = DeleteNodeStep | DeleteTextStep | MergeFragmentStep | InsertSliceStep | UpdateNodeAttrsStep;
@@ -1,24 +0,0 @@
1
- import { Attrs, Fragment, Mark, Node as PMNode } from 'prosemirror-model';
2
- import { Transaction } from 'prosemirror-state';
3
- import { ReplaceStep, Step } from 'prosemirror-transform';
4
- import { CHANGE_OPERATION, TrackedAttrs, TrackedChange } from '../types/change';
5
- import { NewDeleteAttrs, NewEmptyAttrs, NewInsertAttrs, NewMoveAttrs, NewReferenceAttrs, NewSplitNodeAttrs, NewUpdateAttrs } from '../types/track';
6
- export declare function createNewInsertAttrs(attrs: NewEmptyAttrs): NewInsertAttrs;
7
- export declare function createNewWrapAttrs(attrs: NewEmptyAttrs): NewInsertAttrs;
8
- export declare function createNewSplitAttrs(attrs: NewEmptyAttrs): NewSplitNodeAttrs;
9
- export declare function createNewReferenceAttrs(attrs: NewEmptyAttrs, id: string): NewReferenceAttrs;
10
- export declare function createNewDeleteAttrs(attrs: NewEmptyAttrs): NewDeleteAttrs;
11
- export declare function createNewMoveAttrs(attrs: NewEmptyAttrs, indentationType?: 'indent' | 'unindent'): NewMoveAttrs;
12
- export declare function createNewUpdateAttrs(attrs: NewEmptyAttrs, oldAttrs: Record<string, any>): NewUpdateAttrs;
13
- export declare function createNewStructureAttrs(attrs: NewEmptyAttrs): NewInsertAttrs;
14
- export declare const trFromHistory: (tr: Transaction) => string | undefined;
15
- export declare const HasMoveOperations: (tr: Transaction) => Map<ReplaceStep, string>;
16
- export declare const isPendingChange: (trackedAttrs: TrackedAttrs[] | undefined, operation: CHANGE_OPERATION) => boolean;
17
- export declare const isDeletingPendingMovedNode: (step: ReplaceStep, doc: PMNode) => string | undefined;
18
- export declare const isDirectPendingMoveDeletion: (step: ReplaceStep, doc: PMNode, movingSteps: Map<ReplaceStep, string>) => boolean;
19
- export declare const handleDirectPendingMoveDeletions: (tr: Transaction, newTr: Transaction, movingSteps: Map<ReplaceStep, string>) => void;
20
- export declare const filterMeaninglessMoveSteps: (tr: Transaction, movingSteps: Map<ReplaceStep, string>) => Step[];
21
- export declare const updateBlockNodesAttrs: (fragment: Fragment, predicate: (attrs: Attrs, node: PMNode) => Attrs) => Fragment;
22
- export declare function isValidTrackableMark(mark: Mark): boolean;
23
- export declare function excludeFromTracked(dataTracked: TrackedAttrs[] | null, changeIdToExclude: string): TrackedAttrs[] | null;
24
- export declare function isInlineMarkChange(change: TrackedChange): boolean;
File without changes
File without changes