@ckeditor/ckeditor5-undo 46.0.0-alpha.3 → 46.0.0-alpha.4
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/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["index.js","../src/basecommand.ts","../src/undocommand.ts","../src/redocommand.ts","../src/undoediting.ts","../src/undoui.ts","../src/undo.ts"],"names":["UndoRedoBaseCommand","Command","_stack","_createdBatches","WeakSet","editor","refresh","_isEnabledBasedOnSelection","listenTo","data","evt","options","batchType","isUndoable","priority","clearStack","isEnabled","length","createdBatches","addBatch","batch","docSelection","model","document","selection","ranges","hasOwnRange","Array","from","getRanges","isBackward","push","_restoreSelection","operations","selectionRanges","transformedRangeGroups","map","range","getTransformedByOperations","allRanges","flat","rangeGroup","transformed","filter","root","graveyard","isRangeContainedByAnyOtherRange","normalizeRanges","change","writer","setSelection","backward","_undo","batchToUndo","undoingBatch","add","operationsToUndo","slice","operation","isDocumentOperation","reverse","operationToUndo","nextBaseVersion","baseVersion","historyOperations","history","getOperations","transformedSets","transformOperationSets","getReversed","useRelations","padWithNoOps","forceWeakRemove","reversedOperations","operationsA","affectedSelectable","canEditAt","NoOperation","addOperation","applyOperation","setOperationAsUndone","sort","a","b","start","isBefore","i","previousRange","joinedRange","getJoined","splice","some","otherRange","containsRange","UndoCommand","execute","batchIndex","findIndex","item","createBatch","isUndo","enqueueChange","fire","RedoCommand","pop","redoingBatch","lastOperation","UndoEditing","Plugin","_undoCommand","_redoCommand","_batchRegistry","pluginName","isOfficialPlugin","init","t","commands","args","isRedoBatch","has","isUndoBatch","wasProcessed","undoneBatch","keystrokes","set","accessibility","addKeystrokeInfos","label","keystroke","UndoUI","locale","localizedUndoIcon","uiLanguageDirection","IconUndo","IconRedo","localizedRedoIcon","_addButtonsToFactory","name","Icon","ui","componentFactory","buttonView","_createButton","ButtonView","tooltip","MenuBarMenuListItemButtonView","ButtonClass","command","get","view","icon","bind","to","editing","focus","Undo","requires"],"mappings":"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CM3ZI,KAAA,CAAMM,IAAAA,CAAAA,OAAAA,CAAa/C,MAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN4ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AM1ZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAAkBgD,QAAAA,CAAAA,CAAAA,CAAW;AN2Z9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CM1ZL,MAAA,CAAO;AAAEjD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA;AAAasB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN6ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AM3ZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAAkBjB,UAAAA,CAAAA,CAAAA,CAAa;AN4ZhC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CM3ZL,MAAA,CAAO,CAAA,IAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN2ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AMzZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAA2BC,gBAAAA,CAAAA,CAAAA,CAAyB;AN0ZrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CMzZL,MAAA,CAAO,IAAA;AACR,CAAA,CAAA,CAAA,CAAA;AACD;;AN2ZA,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { transformOperationSets, NoOperation } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconUndo, IconRedo } from '@ckeditor/ckeditor5-icons/dist/index.js';\n\n/**\n * Base class for the undo feature commands: {@link module:undo/undocommand~UndoCommand} and {@link module:undo/redocommand~RedoCommand}.\n */ class UndoRedoBaseCommand extends Command {\n /**\n\t * Stack of items stored by the command. These are pairs of:\n\t *\n\t * * {@link module:engine/model/batch~Batch batch} saved by the command,\n\t * * {@link module:engine/model/selection~ModelSelection selection} state at the moment of saving the batch.\n\t */ _stack = [];\n /**\n\t * Stores all batches that were created by this command.\n\t *\n\t * @internal\n\t */ _createdBatches = new WeakSet();\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Refresh state, so the command is inactive right after initialization.\n this.refresh();\n // This command should not depend on selection change.\n this._isEnabledBasedOnSelection = false;\n // Set the transparent batch for the `editor.data.set()` call if the\n // batch type is not set already.\n this.listenTo(editor.data, 'set', (evt, data)=>{\n // Create a shallow copy of the options to not change the original args.\n // And make sure that an object is assigned to data[ 1 ].\n data[1] = {\n ...data[1]\n };\n const options = data[1];\n // If batch type is not set, default to non-undoable batch.\n if (!options.batchType) {\n options.batchType = {\n isUndoable: false\n };\n }\n }, {\n priority: 'high'\n });\n // Clear the stack for the `transparent` batches.\n this.listenTo(editor.data, 'set', (evt, data)=>{\n // We can assume that the object exists and it has a `batchType` property.\n // It was ensured with a higher priority listener before.\n const options = data[1];\n if (!options.batchType.isUndoable) {\n this.clearStack();\n }\n });\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n this.isEnabled = this._stack.length > 0;\n }\n /**\n\t * Returns all batches created by this command.\n\t */ get createdBatches() {\n return this._createdBatches;\n }\n /**\n\t * Stores a batch in the command, together with the selection state of the {@link module:engine/model/document~ModelDocument document}\n\t * created by the editor which this command is registered to.\n\t *\n\t * @param batch The batch to add.\n\t */ addBatch(batch) {\n const docSelection = this.editor.model.document.selection;\n const selection = {\n ranges: docSelection.hasOwnRange ? Array.from(docSelection.getRanges()) : [],\n isBackward: docSelection.isBackward\n };\n this._stack.push({\n batch,\n selection\n });\n this.refresh();\n }\n /**\n\t * Removes all items from the stack.\n\t */ clearStack() {\n this._stack = [];\n this.refresh();\n }\n /**\n\t * Restores the {@link module:engine/model/document~ModelDocument#selection document selection} state after a batch was undone.\n\t *\n\t * @param ranges Ranges to be restored.\n\t * @param isBackward A flag describing whether the restored range was selected forward or backward.\n\t * @param operations Operations which has been applied since selection has been stored.\n\t */ _restoreSelection(ranges, isBackward, operations) {\n const model = this.editor.model;\n const document = model.document;\n // This will keep the transformed selection ranges.\n const selectionRanges = [];\n // Transform all ranges from the restored selection.\n const transformedRangeGroups = ranges.map((range)=>range.getTransformedByOperations(operations));\n const allRanges = transformedRangeGroups.flat();\n for (const rangeGroup of transformedRangeGroups){\n // While transforming there could appear ranges that are contained by other ranges, we shall ignore them.\n const transformed = rangeGroup.filter((range)=>range.root != document.graveyard).filter((range)=>!isRangeContainedByAnyOtherRange(range, allRanges));\n // All the transformed ranges ended up in graveyard.\n if (!transformed.length) {\n continue;\n }\n // After the range got transformed, we have an array of ranges. Some of those\n // ranges may be \"touching\" -- they can be next to each other and could be merged.\n normalizeRanges(transformed);\n // For each `range` from `ranges`, we take only one transformed range.\n // This is because we want to prevent situation where single-range selection\n // got transformed to multi-range selection.\n selectionRanges.push(transformed[0]);\n }\n // @if CK_DEBUG_ENGINE // console.log( `Restored selection by undo: ${ selectionRanges.join( ', ' ) }` );\n // `selectionRanges` may be empty if all ranges ended up in graveyard. If that is the case, do not restore selection.\n if (selectionRanges.length) {\n model.change((writer)=>{\n writer.setSelection(selectionRanges, {\n backward: isBackward\n });\n });\n }\n }\n /**\n\t * Undoes a batch by reversing that batch, transforming reversed batch and finally applying it.\n\t * This is a helper method for {@link #execute}.\n\t *\n\t * @param batchToUndo The batch to be undone.\n\t * @param undoingBatch The batch that will contain undoing changes.\n\t */ _undo(batchToUndo, undoingBatch) {\n const model = this.editor.model;\n const document = model.document;\n // All changes done by the command execution will be saved as one batch.\n this._createdBatches.add(undoingBatch);\n const operationsToUndo = batchToUndo.operations.slice().filter((operation)=>operation.isDocumentOperation);\n operationsToUndo.reverse();\n // We will process each operation from `batchToUndo`, in reverse order. If there were operations A, B and C in undone batch,\n // we need to revert them in reverse order, so first C' (reversed C), then B', then A'.\n for (const operationToUndo of operationsToUndo){\n const nextBaseVersion = operationToUndo.baseVersion + 1;\n const historyOperations = Array.from(document.history.getOperations(nextBaseVersion));\n const transformedSets = transformOperationSets([\n operationToUndo.getReversed()\n ], historyOperations, {\n useRelations: true,\n document: this.editor.model.document,\n padWithNoOps: false,\n forceWeakRemove: true\n });\n const reversedOperations = transformedSets.operationsA;\n // After reversed operation has been transformed by all history operations, apply it.\n for (let operation of reversedOperations){\n // Do not apply any operation on non-editable space.\n const affectedSelectable = operation.affectedSelectable;\n if (affectedSelectable && !model.canEditAt(affectedSelectable)) {\n operation = new NoOperation(operation.baseVersion);\n }\n // Before applying, add the operation to the `undoingBatch`.\n undoingBatch.addOperation(operation);\n model.applyOperation(operation);\n document.history.setOperationAsUndone(operationToUndo, operation);\n }\n }\n }\n}\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * @param ranges Ranges to be normalized.\n */ function normalizeRanges(ranges) {\n ranges.sort((a, b)=>a.start.isBefore(b.start) ? -1 : 1);\n for(let i = 1; i < ranges.length; i++){\n const previousRange = ranges[i - 1];\n const joinedRange = previousRange.getJoined(ranges[i], true);\n if (joinedRange) {\n // Replace the ranges on the list with the new joined range.\n i--;\n ranges.splice(i, 2, joinedRange);\n }\n }\n}\nfunction isRangeContainedByAnyOtherRange(range, ranges) {\n return ranges.some((otherRange)=>otherRange !== range && otherRange.containsRange(range, true));\n}\n\n/**\n * The undo command stores {@link module:engine/model/batch~Batch batches} applied to the\n * {@link module:engine/model/document~ModelDocument document} and is able to undo a batch by reversing it and transforming by\n * batches from {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed batch.\n *\n * The undo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */ class UndoCommand extends UndoRedoBaseCommand {\n /**\n\t * Executes the command. This method reverts a {@link module:engine/model/batch~Batch batch} added to the command's stack, transforms\n\t * and applies the reverted version on the {@link module:engine/model/document~ModelDocument document} and removes the batch from\n\t * the stack. Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t * @fires revert\n\t * @param batch A batch that should be undone. If not set, the last added batch will be undone.\n\t */ execute(batch = null) {\n // If batch is not given, set `batchIndex` to the last index in command stack.\n const batchIndex = batch ? this._stack.findIndex((a)=>a.batch == batch) : this._stack.length - 1;\n const item = this._stack.splice(batchIndex, 1)[0];\n const undoingBatch = this.editor.model.createBatch({\n isUndo: true\n });\n // All changes have to be done in one `enqueueChange` callback so other listeners will not\n // step between consecutive operations, or won't do changes to the document before selection is properly restored.\n this.editor.model.enqueueChange(undoingBatch, ()=>{\n this._undo(item.batch, undoingBatch);\n const operations = this.editor.model.document.history.getOperations(item.batch.baseVersion);\n this._restoreSelection(item.selection.ranges, item.selection.isBackward, operations);\n });\n // Firing `revert` event after the change block to make sure that it includes all changes from post-fixers\n // and make sure that the selection is \"stabilized\" (the selection range is saved after undo is executed and then\n // restored on redo, so it is important that the selection range is saved after post-fixers are done).\n this.fire('revert', item.batch, undoingBatch);\n this.refresh();\n }\n}\n\n/**\n * The redo command stores {@link module:engine/model/batch~Batch batches} that were used to undo a batch by\n * {@link module:undo/undocommand~UndoCommand}. It is able to redo a previously undone batch by reversing the undoing\n * batches created by `UndoCommand`. The reversed batch is transformed by all the batches from\n * {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed undo batch.\n *\n * The redo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */ class RedoCommand extends UndoRedoBaseCommand {\n /**\n\t * Executes the command. This method reverts the last {@link module:engine/model/batch~Batch batch} added to\n\t * the command's stack, applies the reverted and transformed version on the\n\t * {@link module:engine/model/document~ModelDocument document} and removes the batch from the stack.\n\t * Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t */ execute() {\n const item = this._stack.pop();\n const redoingBatch = this.editor.model.createBatch({\n isUndo: true\n });\n // All changes have to be done in one `enqueueChange` callback so other listeners will not step between consecutive\n // operations, or won't do changes to the document before selection is properly restored.\n this.editor.model.enqueueChange(redoingBatch, ()=>{\n const lastOperation = item.batch.operations[item.batch.operations.length - 1];\n const nextBaseVersion = lastOperation.baseVersion + 1;\n const operations = this.editor.model.document.history.getOperations(nextBaseVersion);\n this._restoreSelection(item.selection.ranges, item.selection.isBackward, operations);\n this._undo(item.batch, redoingBatch);\n });\n this.refresh();\n }\n}\n\n/**\n * The undo engine feature.\n *\n * It introduces the `'undo'` and `'redo'` commands to the editor.\n */ class UndoEditing extends Plugin {\n /**\n\t * The command that manages the undo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */ _undoCommand;\n /**\n\t * The command that manages the redo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */ _redoCommand;\n /**\n\t * Keeps track of which batches were registered in undo.\n\t */ _batchRegistry = new WeakSet();\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'UndoEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n // Create commands.\n this._undoCommand = new UndoCommand(editor);\n this._redoCommand = new RedoCommand(editor);\n // Register command to the editor.\n editor.commands.add('undo', this._undoCommand);\n editor.commands.add('redo', this._redoCommand);\n this.listenTo(editor.model, 'applyOperation', (evt, args)=>{\n const operation = args[0];\n // Do not register batch if the operation is not a document operation.\n // This prevents from creating empty undo steps, where all operations where non-document operations.\n // Non-document operations creates and alters content in detached tree fragments (for example, document fragments).\n // Most of time this is preparing data before it is inserted into actual tree (for example during copy & paste).\n // Such operations should not be reversed.\n if (!operation.isDocumentOperation) {\n return;\n }\n const batch = operation.batch;\n const isRedoBatch = this._redoCommand.createdBatches.has(batch);\n const isUndoBatch = this._undoCommand.createdBatches.has(batch);\n const wasProcessed = this._batchRegistry.has(batch);\n // Skip the batch if it was already processed.\n if (wasProcessed) {\n return;\n }\n // Add the batch to the registry so it will not be processed again.\n this._batchRegistry.add(batch);\n if (!batch.isUndoable) {\n return;\n }\n if (isRedoBatch) {\n // If this batch comes from `redoCommand`, add it to the `undoCommand` stack.\n this._undoCommand.addBatch(batch);\n } else if (!isUndoBatch) {\n // If the batch comes neither from `redoCommand` nor from `undoCommand` then it is a new, regular batch.\n // Add the batch to the `undoCommand` stack and clear the `redoCommand` stack.\n this._undoCommand.addBatch(batch);\n this._redoCommand.clearStack();\n }\n }, {\n priority: 'highest'\n });\n this.listenTo(this._undoCommand, 'revert', (evt, undoneBatch, undoingBatch)=>{\n this._redoCommand.addBatch(undoingBatch);\n });\n editor.keystrokes.set('CTRL+Z', 'undo');\n editor.keystrokes.set('CTRL+Y', 'redo');\n editor.keystrokes.set('CTRL+SHIFT+Z', 'redo');\n // Add the information about the keystrokes to the accessibility database.\n editor.accessibility.addKeystrokeInfos({\n keystrokes: [\n {\n label: t('Undo'),\n keystroke: 'CTRL+Z'\n },\n {\n label: t('Redo'),\n keystroke: [\n [\n 'CTRL+Y'\n ],\n [\n 'CTRL+SHIFT+Z'\n ]\n ]\n }\n ]\n });\n }\n}\n\n/**\n * The undo UI feature. It introduces the `'undo'` and `'redo'` buttons to the editor.\n */ class UndoUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'UndoUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const locale = editor.locale;\n const t = editor.t;\n const localizedUndoIcon = locale.uiLanguageDirection == 'ltr' ? IconUndo : IconRedo;\n const localizedRedoIcon = locale.uiLanguageDirection == 'ltr' ? IconRedo : IconUndo;\n this._addButtonsToFactory('undo', t('Undo'), 'CTRL+Z', localizedUndoIcon);\n this._addButtonsToFactory('redo', t('Redo'), 'CTRL+Y', localizedRedoIcon);\n }\n /**\n\t * Creates a button for the specified command.\n\t *\n\t * @param name Command name.\n\t * @param label Button label.\n\t * @param keystroke Command keystroke.\n\t * @param Icon Source of the icon.\n\t */ _addButtonsToFactory(name, label, keystroke, Icon) {\n const editor = this.editor;\n editor.ui.componentFactory.add(name, ()=>{\n const buttonView = this._createButton(ButtonView, name, label, keystroke, Icon);\n buttonView.set({\n tooltip: true\n });\n return buttonView;\n });\n editor.ui.componentFactory.add('menuBar:' + name, ()=>{\n return this._createButton(MenuBarMenuListItemButtonView, name, label, keystroke, Icon);\n });\n }\n /**\n\t * TODO\n\t */ _createButton(ButtonClass, name, label, keystroke, Icon) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get(name);\n const view = new ButtonClass(locale);\n view.set({\n label,\n icon: Icon,\n keystroke\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n this.listenTo(view, 'execute', ()=>{\n editor.execute(name);\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The undo feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:undo/undoediting~UndoEditing undo editing feature}\n * and the {@link module:undo/undoui~UndoUI undo UI feature}.\n *\n * Below is an explanation of the undo mechanism working together with {@link module:engine/model/history~History History}:\n *\n * Whenever an {@link module:engine/model/operation/operation~Operation operation} is applied to the\n * {@link module:engine/model/document~ModelDocument document}, it is saved to `History` as is.\n * The {@link module:engine/model/batch~Batch batch} that owns that operation is also saved, in\n * {@link module:undo/undocommand~UndoCommand}, together with the selection that was present in the document before the\n * operation was applied. A batch is saved instead of the operation because changes are undone batch-by-batch, not operation-by-operation\n * and a batch is seen as one undo step.\n *\n * After changes happen to the document, the `History` and `UndoCommand` stack can be represented as follows:\n *\n * ```\n * History Undo stack\n * ============== ==================================\n * [operation A1] [ batch A ]\n * [operation B1] [ batch B ]\n * [operation B2] [ batch C ]\n * [operation C1]\n * [operation C2]\n * [operation B3]\n * [operation C3]\n * ```\n *\n * Where operations starting with the same letter are from same batch.\n *\n * Undoing a batch means that a set of operations which will reverse the effects of that batch needs to be generated.\n * For example, if a batch added several letters, undoing the batch should remove them. It is important to apply undoing\n * operations in the reversed order, so if a batch has operation `X`, `Y`, `Z`, reversed operations `Zr`, `Yr` and `Xr`\n * need to be applied. Otherwise reversed operation `Xr` would operate on a wrong document state, because operation `X`\n * does not know that operations `Y` and `Z` happened.\n *\n * After operations from an undone batch got {@link module:engine/model/operation/operation~Operation#getReversed reversed},\n * one needs to make sure if they are ready to be applied. In the scenario above, operation `C3` is the last operation and `C3r`\n * bases on up-to-date document state, so it can be applied to the document.\n *\n * ```\n * History Undo stack\n * ================= ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ processing undoing batch C ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * ```\n *\n * Next is operation `C2`, reversed to `C2r`. `C2r` bases on `C2`, so it bases on the wrong document state. It needs to be\n * transformed by operations from history that happened after it, so it \"knows\" about them. Let us assume that `C2' = C2r * B3 * C3 * C3r`,\n * where `*` means \"transformed by\". Rest of operations from that batch are processed in the same fashion.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ] [ batch Cr ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * ```\n *\n * Selective undo works on the same basis, however, instead of undoing the last batch in the undo stack, any batch can be undone.\n * The same algorithm applies: operations from a batch (i.e. `A1`) are reversed and then transformed by operations stored in history.\n *\n * Redo also is very similar to undo. It has its own stack that is filled with undoing (reversed batches). Operations from\n * the batch that is re-done are reversed-back, transformed in proper order and applied to the document.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ batch Crr ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * [ operation C1'r]\n * [ operation C2'r]\n * [ operation C3rr]\n * ```\n */ class Undo extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n UndoEditing,\n UndoUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Undo';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { RedoCommand, Undo, UndoCommand, UndoEditing, UndoRedoBaseCommand, UndoUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/basecommand\n */\n\nimport { Command, type Editor } from '@ckeditor/ckeditor5-core';\n\nimport {\n\ttransformOperationSets,\n\ttype Batch,\n\ttype Operation,\n\ttype DataControllerSetEvent,\n\ttype ModelRange,\n\tNoOperation\n} from '@ckeditor/ckeditor5-engine';\n\n/**\n * Base class for the undo feature commands: {@link module:undo/undocommand~UndoCommand} and {@link module:undo/redocommand~RedoCommand}.\n */\nexport abstract class UndoRedoBaseCommand extends Command {\n\t/**\n\t * Stack of items stored by the command. These are pairs of:\n\t *\n\t * * {@link module:engine/model/batch~Batch batch} saved by the command,\n\t * * {@link module:engine/model/selection~ModelSelection selection} state at the moment of saving the batch.\n\t */\n\tprotected _stack: Array<{ batch: Batch; selection: { ranges: Array<ModelRange>; isBackward: boolean } }> = [];\n\n\t/**\n\t * Stores all batches that were created by this command.\n\t *\n\t * @internal\n\t */\n\tpublic _createdBatches = new WeakSet<Batch>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Refresh state, so the command is inactive right after initialization.\n\t\tthis.refresh();\n\n\t\t// This command should not depend on selection change.\n\t\tthis._isEnabledBasedOnSelection = false;\n\n\t\t// Set the transparent batch for the `editor.data.set()` call if the\n\t\t// batch type is not set already.\n\t\tthis.listenTo<DataControllerSetEvent>( editor.data, 'set', ( evt, data ) => {\n\t\t\t// Create a shallow copy of the options to not change the original args.\n\t\t\t// And make sure that an object is assigned to data[ 1 ].\n\t\t\tdata[ 1 ] = { ...data[ 1 ] };\n\n\t\t\tconst options = data[ 1 ];\n\n\t\t\t// If batch type is not set, default to non-undoable batch.\n\t\t\tif ( !options.batchType ) {\n\t\t\t\toptions.batchType = { isUndoable: false };\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\t// Clear the stack for the `transparent` batches.\n\t\tthis.listenTo<DataControllerSetEvent>( editor.data, 'set', ( evt, data ) => {\n\t\t\t// We can assume that the object exists and it has a `batchType` property.\n\t\t\t// It was ensured with a higher priority listener before.\n\t\t\tconst options = data[ 1 ]!;\n\n\t\t\tif ( !options.batchType!.isUndoable ) {\n\t\t\t\tthis.clearStack();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tthis.isEnabled = this._stack.length > 0;\n\t}\n\n\t/**\n\t * Returns all batches created by this command.\n\t */\n\tpublic get createdBatches(): WeakSet<Batch> {\n\t\treturn this._createdBatches;\n\t}\n\n\t/**\n\t * Stores a batch in the command, together with the selection state of the {@link module:engine/model/document~ModelDocument document}\n\t * created by the editor which this command is registered to.\n\t *\n\t * @param batch The batch to add.\n\t */\n\tpublic addBatch( batch: Batch ): void {\n\t\tconst docSelection = this.editor.model.document.selection;\n\n\t\tconst selection = {\n\t\t\tranges: docSelection.hasOwnRange ? Array.from( docSelection.getRanges() ) : [],\n\t\t\tisBackward: docSelection.isBackward\n\t\t};\n\n\t\tthis._stack.push( { batch, selection } );\n\t\tthis.refresh();\n\t}\n\n\t/**\n\t * Removes all items from the stack.\n\t */\n\tpublic clearStack(): void {\n\t\tthis._stack = [];\n\t\tthis.refresh();\n\t}\n\n\t/**\n\t * Restores the {@link module:engine/model/document~ModelDocument#selection document selection} state after a batch was undone.\n\t *\n\t * @param ranges Ranges to be restored.\n\t * @param isBackward A flag describing whether the restored range was selected forward or backward.\n\t * @param operations Operations which has been applied since selection has been stored.\n\t */\n\tprotected _restoreSelection(\n\t\tranges: Array<ModelRange>,\n\t\tisBackward: boolean,\n\t\toperations: Array<Operation>\n\t): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\n\t\t// This will keep the transformed selection ranges.\n\t\tconst selectionRanges: Array<ModelRange> = [];\n\n\t\t// Transform all ranges from the restored selection.\n\t\tconst transformedRangeGroups = ranges.map( range => range.getTransformedByOperations( operations ) );\n\t\tconst allRanges = transformedRangeGroups.flat();\n\n\t\tfor ( const rangeGroup of transformedRangeGroups ) {\n\t\t\t// While transforming there could appear ranges that are contained by other ranges, we shall ignore them.\n\t\t\tconst transformed = rangeGroup\n\t\t\t\t.filter( range => range.root != document.graveyard )\n\t\t\t\t.filter( range => !isRangeContainedByAnyOtherRange( range, allRanges ) );\n\n\t\t\t// All the transformed ranges ended up in graveyard.\n\t\t\tif ( !transformed.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// After the range got transformed, we have an array of ranges. Some of those\n\t\t\t// ranges may be \"touching\" -- they can be next to each other and could be merged.\n\t\t\tnormalizeRanges( transformed );\n\n\t\t\t// For each `range` from `ranges`, we take only one transformed range.\n\t\t\t// This is because we want to prevent situation where single-range selection\n\t\t\t// got transformed to multi-range selection.\n\t\t\tselectionRanges.push( transformed[ 0 ] );\n\t\t}\n\n\t\t// @if CK_DEBUG_ENGINE // console.log( `Restored selection by undo: ${ selectionRanges.join( ', ' ) }` );\n\n\t\t// `selectionRanges` may be empty if all ranges ended up in graveyard. If that is the case, do not restore selection.\n\t\tif ( selectionRanges.length ) {\n\t\t\tmodel.change( writer => {\n\t\t\t\twriter.setSelection( selectionRanges, { backward: isBackward } );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Undoes a batch by reversing that batch, transforming reversed batch and finally applying it.\n\t * This is a helper method for {@link #execute}.\n\t *\n\t * @param batchToUndo The batch to be undone.\n\t * @param undoingBatch The batch that will contain undoing changes.\n\t */\n\tprotected _undo( batchToUndo: Batch, undoingBatch: Batch ): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\n\t\t// All changes done by the command execution will be saved as one batch.\n\t\tthis._createdBatches.add( undoingBatch );\n\n\t\tconst operationsToUndo = batchToUndo.operations.slice().filter( operation => operation.isDocumentOperation );\n\t\toperationsToUndo.reverse();\n\n\t\t// We will process each operation from `batchToUndo`, in reverse order. If there were operations A, B and C in undone batch,\n\t\t// we need to revert them in reverse order, so first C' (reversed C), then B', then A'.\n\t\tfor ( const operationToUndo of operationsToUndo ) {\n\t\t\tconst nextBaseVersion = operationToUndo.baseVersion! + 1;\n\t\t\tconst historyOperations = Array.from( document.history.getOperations( nextBaseVersion ) );\n\n\t\t\tconst transformedSets = transformOperationSets(\n\t\t\t\t[ operationToUndo.getReversed() ],\n\t\t\t\thistoryOperations,\n\t\t\t\t{\n\t\t\t\t\tuseRelations: true,\n\t\t\t\t\tdocument: this.editor.model.document,\n\t\t\t\t\tpadWithNoOps: false,\n\t\t\t\t\tforceWeakRemove: true\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst reversedOperations = transformedSets.operationsA;\n\n\t\t\t// After reversed operation has been transformed by all history operations, apply it.\n\t\t\tfor ( let operation of reversedOperations ) {\n\t\t\t\t// Do not apply any operation on non-editable space.\n\t\t\t\tconst affectedSelectable = operation.affectedSelectable;\n\n\t\t\t\tif ( affectedSelectable && !model.canEditAt( affectedSelectable ) ) {\n\t\t\t\t\toperation = new NoOperation( operation.baseVersion );\n\t\t\t\t}\n\n\t\t\t\t// Before applying, add the operation to the `undoingBatch`.\n\t\t\t\tundoingBatch.addOperation( operation );\n\t\t\t\tmodel.applyOperation( operation );\n\n\t\t\t\tdocument.history.setOperationAsUndone( operationToUndo, operation );\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * @param ranges Ranges to be normalized.\n */\nfunction normalizeRanges( ranges: Array<ModelRange> ): void {\n\tranges.sort( ( a, b ) => a.start.isBefore( b.start ) ? -1 : 1 );\n\n\tfor ( let i = 1; i < ranges.length; i++ ) {\n\t\tconst previousRange = ranges[ i - 1 ];\n\t\tconst joinedRange = previousRange.getJoined( ranges[ i ], true );\n\n\t\tif ( joinedRange ) {\n\t\t\t// Replace the ranges on the list with the new joined range.\n\t\t\ti--;\n\t\t\tranges.splice( i, 2, joinedRange );\n\t\t}\n\t}\n}\n\nfunction isRangeContainedByAnyOtherRange( range: ModelRange, ranges: Array<ModelRange> ): boolean {\n\treturn ranges.some( otherRange => otherRange !== range && otherRange.containsRange( range, true ) );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undocommand\n */\n\nimport { UndoRedoBaseCommand } from './basecommand.js';\nimport type { Batch } from '@ckeditor/ckeditor5-engine';\n\n/**\n * The undo command stores {@link module:engine/model/batch~Batch batches} applied to the\n * {@link module:engine/model/document~ModelDocument document} and is able to undo a batch by reversing it and transforming by\n * batches from {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed batch.\n *\n * The undo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */\nexport class UndoCommand extends UndoRedoBaseCommand {\n\t/**\n\t * Executes the command. This method reverts a {@link module:engine/model/batch~Batch batch} added to the command's stack, transforms\n\t * and applies the reverted version on the {@link module:engine/model/document~ModelDocument document} and removes the batch from\n\t * the stack. Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t * @fires revert\n\t * @param batch A batch that should be undone. If not set, the last added batch will be undone.\n\t */\n\tpublic override execute( batch: Batch | null = null ): void {\n\t\t// If batch is not given, set `batchIndex` to the last index in command stack.\n\t\tconst batchIndex = batch ? this._stack.findIndex( a => a.batch == batch ) : this._stack.length - 1;\n\n\t\tconst item = this._stack.splice( batchIndex, 1 )[ 0 ];\n\t\tconst undoingBatch = this.editor.model.createBatch( { isUndo: true } );\n\n\t\t// All changes have to be done in one `enqueueChange` callback so other listeners will not\n\t\t// step between consecutive operations, or won't do changes to the document before selection is properly restored.\n\t\tthis.editor.model.enqueueChange( undoingBatch, () => {\n\t\t\tthis._undo( item.batch, undoingBatch );\n\n\t\t\tconst operations = this.editor.model.document.history.getOperations( item.batch.baseVersion! );\n\t\t\tthis._restoreSelection( item.selection.ranges, item.selection.isBackward, operations );\n\t\t} );\n\n\t\t// Firing `revert` event after the change block to make sure that it includes all changes from post-fixers\n\t\t// and make sure that the selection is \"stabilized\" (the selection range is saved after undo is executed and then\n\t\t// restored on redo, so it is important that the selection range is saved after post-fixers are done).\n\t\tthis.fire<UndoCommandRevertEvent>( 'revert', item.batch, undoingBatch );\n\n\t\tthis.refresh();\n\t}\n}\n\n/**\n * Fired when execution of the command reverts some batch.\n *\n * @eventName ~UndoCommand#revert\n */\nexport type UndoCommandRevertEvent = {\n\tname: 'revert';\n\targs: [ batch: Batch, undoingBatch: Batch ];\n};\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/redocommand\n */\n\nimport { UndoRedoBaseCommand } from './basecommand.js';\n\n/**\n * The redo command stores {@link module:engine/model/batch~Batch batches} that were used to undo a batch by\n * {@link module:undo/undocommand~UndoCommand}. It is able to redo a previously undone batch by reversing the undoing\n * batches created by `UndoCommand`. The reversed batch is transformed by all the batches from\n * {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed undo batch.\n *\n * The redo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */\nexport class RedoCommand extends UndoRedoBaseCommand {\n\t/**\n\t * Executes the command. This method reverts the last {@link module:engine/model/batch~Batch batch} added to\n\t * the command's stack, applies the reverted and transformed version on the\n\t * {@link module:engine/model/document~ModelDocument document} and removes the batch from the stack.\n\t * Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute(): void {\n\t\tconst item = this._stack.pop()!;\n\t\tconst redoingBatch = this.editor.model.createBatch( { isUndo: true } );\n\n\t\t// All changes have to be done in one `enqueueChange` callback so other listeners will not step between consecutive\n\t\t// operations, or won't do changes to the document before selection is properly restored.\n\t\tthis.editor.model.enqueueChange( redoingBatch, () => {\n\t\t\tconst lastOperation = item.batch.operations[ item.batch.operations.length - 1 ];\n\t\t\tconst nextBaseVersion = lastOperation.baseVersion! + 1;\n\t\t\tconst operations = this.editor.model.document.history.getOperations( nextBaseVersion );\n\n\t\t\tthis._restoreSelection( item.selection.ranges, item.selection.isBackward, operations );\n\t\t\tthis._undo( item.batch, redoingBatch );\n\t\t} );\n\n\t\tthis.refresh();\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undoediting\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\n\nimport { UndoCommand, type UndoCommandRevertEvent } from './undocommand.js';\nimport { RedoCommand } from './redocommand.js';\n\nimport type {\n\tBatch,\n\tModelApplyOperationEvent\n} from '@ckeditor/ckeditor5-engine';\n\n/**\n * The undo engine feature.\n *\n * It introduces the `'undo'` and `'redo'` commands to the editor.\n */\nexport class UndoEditing extends Plugin {\n\t/**\n\t * The command that manages the undo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */\n\tprivate _undoCommand!: UndoCommand;\n\n\t/**\n\t * The command that manages the redo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */\n\tprivate _redoCommand!: RedoCommand;\n\n\t/**\n\t * Keeps track of which batches were registered in undo.\n\t */\n\tprivate _batchRegistry = new WeakSet<Batch>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'UndoEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\t// Create commands.\n\t\tthis._undoCommand = new UndoCommand( editor );\n\t\tthis._redoCommand = new RedoCommand( editor );\n\n\t\t// Register command to the editor.\n\t\teditor.commands.add( 'undo', this._undoCommand );\n\t\teditor.commands.add( 'redo', this._redoCommand );\n\n\t\tthis.listenTo<ModelApplyOperationEvent>( editor.model, 'applyOperation', ( evt, args ) => {\n\t\t\tconst operation = args[ 0 ];\n\n\t\t\t// Do not register batch if the operation is not a document operation.\n\t\t\t// This prevents from creating empty undo steps, where all operations where non-document operations.\n\t\t\t// Non-document operations creates and alters content in detached tree fragments (for example, document fragments).\n\t\t\t// Most of time this is preparing data before it is inserted into actual tree (for example during copy & paste).\n\t\t\t// Such operations should not be reversed.\n\t\t\tif ( !operation.isDocumentOperation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst batch = operation.batch!;\n\n\t\t\tconst isRedoBatch = this._redoCommand.createdBatches.has( batch );\n\t\t\tconst isUndoBatch = this._undoCommand.createdBatches.has( batch );\n\t\t\tconst wasProcessed = this._batchRegistry.has( batch );\n\n\t\t\t// Skip the batch if it was already processed.\n\t\t\tif ( wasProcessed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Add the batch to the registry so it will not be processed again.\n\t\t\tthis._batchRegistry.add( batch );\n\n\t\t\tif ( !batch.isUndoable ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isRedoBatch ) {\n\t\t\t\t// If this batch comes from `redoCommand`, add it to the `undoCommand` stack.\n\t\t\t\tthis._undoCommand.addBatch( batch );\n\t\t\t} else if ( !isUndoBatch ) {\n\t\t\t\t// If the batch comes neither from `redoCommand` nor from `undoCommand` then it is a new, regular batch.\n\t\t\t\t// Add the batch to the `undoCommand` stack and clear the `redoCommand` stack.\n\t\t\t\tthis._undoCommand.addBatch( batch );\n\t\t\t\tthis._redoCommand.clearStack();\n\t\t\t}\n\t\t}, { priority: 'highest' } );\n\n\t\tthis.listenTo<UndoCommandRevertEvent>( this._undoCommand, 'revert', ( evt, undoneBatch, undoingBatch ) => {\n\t\t\tthis._redoCommand.addBatch( undoingBatch );\n\t\t} );\n\n\t\teditor.keystrokes.set( 'CTRL+Z', 'undo' );\n\t\teditor.keystrokes.set( 'CTRL+Y', 'redo' );\n\t\teditor.keystrokes.set( 'CTRL+SHIFT+Z', 'redo' );\n\n\t\t// Add the information about the keystrokes to the accessibility database.\n\t\teditor.accessibility.addKeystrokeInfos( {\n\t\t\tkeystrokes: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Undo' ),\n\t\t\t\t\tkeystroke: 'CTRL+Z'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Redo' ),\n\t\t\t\t\tkeystroke: [ [ 'CTRL+Y' ], [ 'CTRL+SHIFT+Z' ] ]\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undoui\n */\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui';\nimport { IconUndo, IconRedo } from '@ckeditor/ckeditor5-icons';\n\n/**\n * The undo UI feature. It introduces the `'undo'` and `'redo'` buttons to the editor.\n */\nexport class UndoUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'UndoUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = editor.t;\n\n\t\tconst localizedUndoIcon = locale.uiLanguageDirection == 'ltr' ? IconUndo : IconRedo;\n\t\tconst localizedRedoIcon = locale.uiLanguageDirection == 'ltr' ? IconRedo : IconUndo;\n\n\t\tthis._addButtonsToFactory( 'undo', t( 'Undo' ), 'CTRL+Z', localizedUndoIcon );\n\t\tthis._addButtonsToFactory( 'redo', t( 'Redo' ), 'CTRL+Y', localizedRedoIcon );\n\t}\n\n\t/**\n\t * Creates a button for the specified command.\n\t *\n\t * @param name Command name.\n\t * @param label Button label.\n\t * @param keystroke Command keystroke.\n\t * @param Icon Source of the icon.\n\t */\n\tprivate _addButtonsToFactory( name: 'undo' | 'redo', label: string, keystroke: string, Icon: string ) {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( name, () => {\n\t\t\tconst buttonView = this._createButton( ButtonView, name, label, keystroke, Icon );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:' + name, () => {\n\t\t\treturn this._createButton( MenuBarMenuListItemButtonView, name, label, keystroke, Icon );\n\t\t} );\n\t}\n\n\t/**\n\t * TODO\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>(\n\t\tButtonClass: T,\n\t\tname: 'undo' | 'redo',\n\t\tlabel: string,\n\t\tkeystroke: string,\n\t\tIcon: string\n\t): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst command = editor.commands.get( name )!;\n\t\tconst view = new ButtonClass( locale ) as InstanceType<T>;\n\n\t\tview.set( {\n\t\t\tlabel,\n\t\t\ticon: Icon,\n\t\t\tkeystroke\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( name );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undo\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { UndoEditing } from './undoediting.js';\nimport { UndoUI } from './undoui.js';\n\n/**\n * The undo feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:undo/undoediting~UndoEditing undo editing feature}\n * and the {@link module:undo/undoui~UndoUI undo UI feature}.\n *\n * Below is an explanation of the undo mechanism working together with {@link module:engine/model/history~History History}:\n *\n * Whenever an {@link module:engine/model/operation/operation~Operation operation} is applied to the\n * {@link module:engine/model/document~ModelDocument document}, it is saved to `History` as is.\n * The {@link module:engine/model/batch~Batch batch} that owns that operation is also saved, in\n * {@link module:undo/undocommand~UndoCommand}, together with the selection that was present in the document before the\n * operation was applied. A batch is saved instead of the operation because changes are undone batch-by-batch, not operation-by-operation\n * and a batch is seen as one undo step.\n *\n * After changes happen to the document, the `History` and `UndoCommand` stack can be represented as follows:\n *\n * ```\n * History Undo stack\n * ============== ==================================\n * [operation A1] [ batch A ]\n * [operation B1] [ batch B ]\n * [operation B2] [ batch C ]\n * [operation C1]\n * [operation C2]\n * [operation B3]\n * [operation C3]\n * ```\n *\n * Where operations starting with the same letter are from same batch.\n *\n * Undoing a batch means that a set of operations which will reverse the effects of that batch needs to be generated.\n * For example, if a batch added several letters, undoing the batch should remove them. It is important to apply undoing\n * operations in the reversed order, so if a batch has operation `X`, `Y`, `Z`, reversed operations `Zr`, `Yr` and `Xr`\n * need to be applied. Otherwise reversed operation `Xr` would operate on a wrong document state, because operation `X`\n * does not know that operations `Y` and `Z` happened.\n *\n * After operations from an undone batch got {@link module:engine/model/operation/operation~Operation#getReversed reversed},\n * one needs to make sure if they are ready to be applied. In the scenario above, operation `C3` is the last operation and `C3r`\n * bases on up-to-date document state, so it can be applied to the document.\n *\n * ```\n * History Undo stack\n * ================= ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ processing undoing batch C ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * ```\n *\n * Next is operation `C2`, reversed to `C2r`. `C2r` bases on `C2`, so it bases on the wrong document state. It needs to be\n * transformed by operations from history that happened after it, so it \"knows\" about them. Let us assume that `C2' = C2r * B3 * C3 * C3r`,\n * where `*` means \"transformed by\". Rest of operations from that batch are processed in the same fashion.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ] [ batch Cr ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * ```\n *\n * Selective undo works on the same basis, however, instead of undoing the last batch in the undo stack, any batch can be undone.\n * The same algorithm applies: operations from a batch (i.e. `A1`) are reversed and then transformed by operations stored in history.\n *\n * Redo also is very similar to undo. It has its own stack that is filled with undoing (reversed batches). Operations from\n * the batch that is re-done are reversed-back, transformed in proper order and applied to the document.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ batch Crr ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * [ operation C1'r]\n * [ operation C2'r]\n * [ operation C3rr]\n * ```\n */\nexport class Undo extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ UndoEditing, UndoUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Undo' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n}\n"]}
|
1
|
+
{"version":3,"sources":["index.js","../src/basecommand.ts","../src/undocommand.ts","../src/redocommand.ts","../src/undoediting.ts","../src/undoui.ts","../src/undo.ts"],"names":["UndoRedoBaseCommand","Command","_stack","_createdBatches","WeakSet","editor","refresh","_isEnabledBasedOnSelection","listenTo","data","evt","options","batchType","isUndoable","priority","clearStack","isEnabled","length","createdBatches","addBatch","batch","docSelection","model","document","selection","ranges","hasOwnRange","Array","from","getRanges","isBackward","push","_restoreSelection","operations","selectionRanges","transformedRangeGroups","map","range","getTransformedByOperations","allRanges","flat","rangeGroup","transformed","filter","root","graveyard","isRangeContainedByAnyOtherRange","normalizeRanges","change","writer","setSelection","backward","_undo","batchToUndo","undoingBatch","add","operationsToUndo","slice","operation","isDocumentOperation","reverse","operationToUndo","nextBaseVersion","baseVersion","historyOperations","history","getOperations","transformedSets","transformOperationSets","getReversed","useRelations","padWithNoOps","forceWeakRemove","reversedOperations","operationsA","affectedSelectable","canEditAt","NoOperation","addOperation","applyOperation","setOperationAsUndone","sort","a","b","start","isBefore","i","previousRange","joinedRange","getJoined","splice","some","otherRange","containsRange","UndoCommand","execute","batchIndex","findIndex","item","createBatch","isUndo","enqueueChange","fire","RedoCommand","pop","redoingBatch","lastOperation","UndoEditing","Plugin","_undoCommand","_redoCommand","_batchRegistry","pluginName","isOfficialPlugin","init","t","commands","args","isRedoBatch","has","isUndoBatch","wasProcessed","undoneBatch","keystrokes","set","accessibility","addKeystrokeInfos","label","keystroke","UndoUI","locale","localizedUndoIcon","uiLanguageDirection","IconUndo","IconRedo","localizedRedoIcon","_addButtonsToFactory","name","Icon","ui","componentFactory","buttonView","_createButton","ButtonView","tooltip","MenuBarMenuListItemButtonView","ButtonClass","command","get","view","icon","bind","to","editing","focus","Undo","requires"],"mappings":"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CM3ZI,KAAA,CAAMM,IAAAA,CAAAA,OAAAA,CAAa/C,MAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN4ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AM1ZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAAkBgD,QAAAA,CAAAA,CAAAA,CAAW;AN2Z9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CM1ZL,MAAA,CAAO;AAAEjD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA;AAAasB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN6ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AM3ZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAAkBjB,UAAAA,CAAAA,CAAAA,CAAa;AN4ZhC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CM3ZL,MAAA,CAAO,CAAA,IAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AN2ZD,CAAC,CAAC,CAAC,CAAC,CAAC;AMzZH,CAAA,CAAA,CAAA,CAAA,CACD,MAAA,CAAA,GAAA,CAA2BC,gBAAAA,CAAAA,CAAAA,CAAyB;AN0ZrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CMzZL,MAAA,CAAO,IAAA;AACR,CAAA,CAAA,CAAA,CAAA;AACD;;AN2ZA,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { transformOperationSets, NoOperation } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconUndo, IconRedo } from '@ckeditor/ckeditor5-icons/dist/index.js';\n\n/**\n * Base class for the undo feature commands: {@link module:undo/undocommand~UndoCommand} and {@link module:undo/redocommand~RedoCommand}.\n */ class UndoRedoBaseCommand extends Command {\n /**\n\t * Stack of items stored by the command. These are pairs of:\n\t *\n\t * * {@link module:engine/model/batch~Batch batch} saved by the command,\n\t * * {@link module:engine/model/selection~ModelSelection selection} state at the moment of saving the batch.\n\t */ _stack = [];\n /**\n\t * Stores all batches that were created by this command.\n\t *\n\t * @internal\n\t */ _createdBatches = new WeakSet();\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Refresh state, so the command is inactive right after initialization.\n this.refresh();\n // This command should not depend on selection change.\n this._isEnabledBasedOnSelection = false;\n // Set the transparent batch for the `editor.data.set()` call if the\n // batch type is not set already.\n this.listenTo(editor.data, 'set', (evt, data)=>{\n // Create a shallow copy of the options to not change the original args.\n // And make sure that an object is assigned to data[ 1 ].\n data[1] = {\n ...data[1]\n };\n const options = data[1];\n // If batch type is not set, default to non-undoable batch.\n if (!options.batchType) {\n options.batchType = {\n isUndoable: false\n };\n }\n }, {\n priority: 'high'\n });\n // Clear the stack for the `transparent` batches.\n this.listenTo(editor.data, 'set', (evt, data)=>{\n // We can assume that the object exists and it has a `batchType` property.\n // It was ensured with a higher priority listener before.\n const options = data[1];\n if (!options.batchType.isUndoable) {\n this.clearStack();\n }\n });\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n this.isEnabled = this._stack.length > 0;\n }\n /**\n\t * Returns all batches created by this command.\n\t */ get createdBatches() {\n return this._createdBatches;\n }\n /**\n\t * Stores a batch in the command, together with the selection state of the {@link module:engine/model/document~ModelDocument document}\n\t * created by the editor which this command is registered to.\n\t *\n\t * @param batch The batch to add.\n\t */ addBatch(batch) {\n const docSelection = this.editor.model.document.selection;\n const selection = {\n ranges: docSelection.hasOwnRange ? Array.from(docSelection.getRanges()) : [],\n isBackward: docSelection.isBackward\n };\n this._stack.push({\n batch,\n selection\n });\n this.refresh();\n }\n /**\n\t * Removes all items from the stack.\n\t */ clearStack() {\n this._stack = [];\n this.refresh();\n }\n /**\n\t * Restores the {@link module:engine/model/document~ModelDocument#selection document selection} state after a batch was undone.\n\t *\n\t * @param ranges Ranges to be restored.\n\t * @param isBackward A flag describing whether the restored range was selected forward or backward.\n\t * @param operations Operations which has been applied since selection has been stored.\n\t */ _restoreSelection(ranges, isBackward, operations) {\n const model = this.editor.model;\n const document = model.document;\n // This will keep the transformed selection ranges.\n const selectionRanges = [];\n // Transform all ranges from the restored selection.\n const transformedRangeGroups = ranges.map((range)=>range.getTransformedByOperations(operations));\n const allRanges = transformedRangeGroups.flat();\n for (const rangeGroup of transformedRangeGroups){\n // While transforming there could appear ranges that are contained by other ranges, we shall ignore them.\n const transformed = rangeGroup.filter((range)=>range.root != document.graveyard).filter((range)=>!isRangeContainedByAnyOtherRange(range, allRanges));\n // All the transformed ranges ended up in graveyard.\n if (!transformed.length) {\n continue;\n }\n // After the range got transformed, we have an array of ranges. Some of those\n // ranges may be \"touching\" -- they can be next to each other and could be merged.\n normalizeRanges(transformed);\n // For each `range` from `ranges`, we take only one transformed range.\n // This is because we want to prevent situation where single-range selection\n // got transformed to multi-range selection.\n selectionRanges.push(transformed[0]);\n }\n // @if CK_DEBUG_ENGINE // console.log( `Restored selection by undo: ${ selectionRanges.join( ', ' ) }` );\n // `selectionRanges` may be empty if all ranges ended up in graveyard. If that is the case, do not restore selection.\n if (selectionRanges.length) {\n model.change((writer)=>{\n writer.setSelection(selectionRanges, {\n backward: isBackward\n });\n });\n }\n }\n /**\n\t * Undoes a batch by reversing that batch, transforming reversed batch and finally applying it.\n\t * This is a helper method for {@link #execute}.\n\t *\n\t * @param batchToUndo The batch to be undone.\n\t * @param undoingBatch The batch that will contain undoing changes.\n\t */ _undo(batchToUndo, undoingBatch) {\n const model = this.editor.model;\n const document = model.document;\n // All changes done by the command execution will be saved as one batch.\n this._createdBatches.add(undoingBatch);\n const operationsToUndo = batchToUndo.operations.slice().filter((operation)=>operation.isDocumentOperation);\n operationsToUndo.reverse();\n // We will process each operation from `batchToUndo`, in reverse order. If there were operations A, B and C in undone batch,\n // we need to revert them in reverse order, so first C' (reversed C), then B', then A'.\n for (const operationToUndo of operationsToUndo){\n const nextBaseVersion = operationToUndo.baseVersion + 1;\n const historyOperations = Array.from(document.history.getOperations(nextBaseVersion));\n const transformedSets = transformOperationSets([\n operationToUndo.getReversed()\n ], historyOperations, {\n useRelations: true,\n document: this.editor.model.document,\n padWithNoOps: false,\n forceWeakRemove: true\n });\n const reversedOperations = transformedSets.operationsA;\n // After reversed operation has been transformed by all history operations, apply it.\n for (let operation of reversedOperations){\n // Do not apply any operation on non-editable space.\n const affectedSelectable = operation.affectedSelectable;\n if (affectedSelectable && !model.canEditAt(affectedSelectable)) {\n operation = new NoOperation(operation.baseVersion);\n }\n // Before applying, add the operation to the `undoingBatch`.\n undoingBatch.addOperation(operation);\n model.applyOperation(operation);\n document.history.setOperationAsUndone(operationToUndo, operation);\n }\n }\n }\n}\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * @param ranges Ranges to be normalized.\n */ function normalizeRanges(ranges) {\n ranges.sort((a, b)=>a.start.isBefore(b.start) ? -1 : 1);\n for(let i = 1; i < ranges.length; i++){\n const previousRange = ranges[i - 1];\n const joinedRange = previousRange.getJoined(ranges[i], true);\n if (joinedRange) {\n // Replace the ranges on the list with the new joined range.\n i--;\n ranges.splice(i, 2, joinedRange);\n }\n }\n}\nfunction isRangeContainedByAnyOtherRange(range, ranges) {\n return ranges.some((otherRange)=>otherRange !== range && otherRange.containsRange(range, true));\n}\n\n/**\n * The undo command stores {@link module:engine/model/batch~Batch batches} applied to the\n * {@link module:engine/model/document~ModelDocument document} and is able to undo a batch by reversing it and transforming by\n * batches from {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed batch.\n *\n * The undo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */ class UndoCommand extends UndoRedoBaseCommand {\n /**\n\t * Executes the command. This method reverts a {@link module:engine/model/batch~Batch batch} added to the command's stack, transforms\n\t * and applies the reverted version on the {@link module:engine/model/document~ModelDocument document} and removes the batch from\n\t * the stack. Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t * @fires revert\n\t * @param batch A batch that should be undone. If not set, the last added batch will be undone.\n\t */ execute(batch = null) {\n // If batch is not given, set `batchIndex` to the last index in command stack.\n const batchIndex = batch ? this._stack.findIndex((a)=>a.batch == batch) : this._stack.length - 1;\n const item = this._stack.splice(batchIndex, 1)[0];\n const undoingBatch = this.editor.model.createBatch({\n isUndo: true\n });\n // All changes have to be done in one `enqueueChange` callback so other listeners will not\n // step between consecutive operations, or won't do changes to the document before selection is properly restored.\n this.editor.model.enqueueChange(undoingBatch, ()=>{\n this._undo(item.batch, undoingBatch);\n const operations = this.editor.model.document.history.getOperations(item.batch.baseVersion);\n this._restoreSelection(item.selection.ranges, item.selection.isBackward, operations);\n });\n // Firing `revert` event after the change block to make sure that it includes all changes from post-fixers\n // and make sure that the selection is \"stabilized\" (the selection range is saved after undo is executed and then\n // restored on redo, so it is important that the selection range is saved after post-fixers are done).\n this.fire('revert', item.batch, undoingBatch);\n this.refresh();\n }\n}\n\n/**\n * The redo command stores {@link module:engine/model/batch~Batch batches} that were used to undo a batch by\n * {@link module:undo/undocommand~UndoCommand}. It is able to redo a previously undone batch by reversing the undoing\n * batches created by `UndoCommand`. The reversed batch is transformed by all the batches from\n * {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed undo batch.\n *\n * The redo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */ class RedoCommand extends UndoRedoBaseCommand {\n /**\n\t * Executes the command. This method reverts the last {@link module:engine/model/batch~Batch batch} added to\n\t * the command's stack, applies the reverted and transformed version on the\n\t * {@link module:engine/model/document~ModelDocument document} and removes the batch from the stack.\n\t * Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t */ execute() {\n const item = this._stack.pop();\n const redoingBatch = this.editor.model.createBatch({\n isUndo: true\n });\n // All changes have to be done in one `enqueueChange` callback so other listeners will not step between consecutive\n // operations, or won't do changes to the document before selection is properly restored.\n this.editor.model.enqueueChange(redoingBatch, ()=>{\n const lastOperation = item.batch.operations[item.batch.operations.length - 1];\n const nextBaseVersion = lastOperation.baseVersion + 1;\n const operations = this.editor.model.document.history.getOperations(nextBaseVersion);\n this._restoreSelection(item.selection.ranges, item.selection.isBackward, operations);\n this._undo(item.batch, redoingBatch);\n });\n this.refresh();\n }\n}\n\n/**\n * The undo engine feature.\n *\n * It introduces the `'undo'` and `'redo'` commands to the editor.\n */ class UndoEditing extends Plugin {\n /**\n\t * The command that manages the undo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */ _undoCommand;\n /**\n\t * The command that manages the redo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */ _redoCommand;\n /**\n\t * Keeps track of which batches were registered in undo.\n\t */ _batchRegistry = new WeakSet();\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'UndoEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n // Create commands.\n this._undoCommand = new UndoCommand(editor);\n this._redoCommand = new RedoCommand(editor);\n // Register command to the editor.\n editor.commands.add('undo', this._undoCommand);\n editor.commands.add('redo', this._redoCommand);\n this.listenTo(editor.model, 'applyOperation', (evt, args)=>{\n const operation = args[0];\n // Do not register batch if the operation is not a document operation.\n // This prevents from creating empty undo steps, where all operations where non-document operations.\n // Non-document operations creates and alters content in detached tree fragments (for example, document fragments).\n // Most of time this is preparing data before it is inserted into actual tree (for example during copy & paste).\n // Such operations should not be reversed.\n if (!operation.isDocumentOperation) {\n return;\n }\n const batch = operation.batch;\n const isRedoBatch = this._redoCommand.createdBatches.has(batch);\n const isUndoBatch = this._undoCommand.createdBatches.has(batch);\n const wasProcessed = this._batchRegistry.has(batch);\n // Skip the batch if it was already processed.\n if (wasProcessed) {\n return;\n }\n // Add the batch to the registry so it will not be processed again.\n this._batchRegistry.add(batch);\n if (!batch.isUndoable) {\n return;\n }\n if (isRedoBatch) {\n // If this batch comes from `redoCommand`, add it to the `undoCommand` stack.\n this._undoCommand.addBatch(batch);\n } else if (!isUndoBatch) {\n // If the batch comes neither from `redoCommand` nor from `undoCommand` then it is a new, regular batch.\n // Add the batch to the `undoCommand` stack and clear the `redoCommand` stack.\n this._undoCommand.addBatch(batch);\n this._redoCommand.clearStack();\n }\n }, {\n priority: 'highest'\n });\n this.listenTo(this._undoCommand, 'revert', (evt, undoneBatch, undoingBatch)=>{\n this._redoCommand.addBatch(undoingBatch);\n });\n editor.keystrokes.set('CTRL+Z', 'undo');\n editor.keystrokes.set('CTRL+Y', 'redo');\n editor.keystrokes.set('CTRL+SHIFT+Z', 'redo');\n // Add the information about the keystrokes to the accessibility database.\n editor.accessibility.addKeystrokeInfos({\n keystrokes: [\n {\n label: t('Undo'),\n keystroke: 'CTRL+Z'\n },\n {\n label: t('Redo'),\n keystroke: [\n [\n 'CTRL+Y'\n ],\n [\n 'CTRL+SHIFT+Z'\n ]\n ]\n }\n ]\n });\n }\n}\n\n/**\n * The undo UI feature. It introduces the `'undo'` and `'redo'` buttons to the editor.\n */ class UndoUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'UndoUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const locale = editor.locale;\n const t = editor.t;\n const localizedUndoIcon = locale.uiLanguageDirection == 'ltr' ? IconUndo : IconRedo;\n const localizedRedoIcon = locale.uiLanguageDirection == 'ltr' ? IconRedo : IconUndo;\n this._addButtonsToFactory('undo', t('Undo'), 'CTRL+Z', localizedUndoIcon);\n this._addButtonsToFactory('redo', t('Redo'), 'CTRL+Y', localizedRedoIcon);\n }\n /**\n\t * Creates a button for the specified command.\n\t *\n\t * @param name Command name.\n\t * @param label Button label.\n\t * @param keystroke Command keystroke.\n\t * @param Icon Source of the icon.\n\t */ _addButtonsToFactory(name, label, keystroke, Icon) {\n const editor = this.editor;\n editor.ui.componentFactory.add(name, ()=>{\n const buttonView = this._createButton(ButtonView, name, label, keystroke, Icon);\n buttonView.set({\n tooltip: true\n });\n return buttonView;\n });\n editor.ui.componentFactory.add('menuBar:' + name, ()=>{\n return this._createButton(MenuBarMenuListItemButtonView, name, label, keystroke, Icon);\n });\n }\n /**\n\t * TODO\n\t */ _createButton(ButtonClass, name, label, keystroke, Icon) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get(name);\n const view = new ButtonClass(locale);\n view.set({\n label,\n icon: Icon,\n keystroke\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n this.listenTo(view, 'execute', ()=>{\n editor.execute(name);\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The undo feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:undo/undoediting~UndoEditing undo editing feature}\n * and the {@link module:undo/undoui~UndoUI undo UI feature}.\n *\n * Below is an explanation of the undo mechanism working together with {@link module:engine/model/history~History History}:\n *\n * Whenever an {@link module:engine/model/operation/operation~Operation operation} is applied to the\n * {@link module:engine/model/document~ModelDocument document}, it is saved to `History` as is.\n * The {@link module:engine/model/batch~Batch batch} that owns that operation is also saved, in\n * {@link module:undo/undocommand~UndoCommand}, together with the selection that was present in the document before the\n * operation was applied. A batch is saved instead of the operation because changes are undone batch-by-batch, not operation-by-operation\n * and a batch is seen as one undo step.\n *\n * After changes happen to the document, the `History` and `UndoCommand` stack can be represented as follows:\n *\n * ```\n * History Undo stack\n * ============== ==================================\n * [operation A1] [ batch A ]\n * [operation B1] [ batch B ]\n * [operation B2] [ batch C ]\n * [operation C1]\n * [operation C2]\n * [operation B3]\n * [operation C3]\n * ```\n *\n * Where operations starting with the same letter are from same batch.\n *\n * Undoing a batch means that a set of operations which will reverse the effects of that batch needs to be generated.\n * For example, if a batch added several letters, undoing the batch should remove them. It is important to apply undoing\n * operations in the reversed order, so if a batch has operation `X`, `Y`, `Z`, reversed operations `Zr`, `Yr` and `Xr`\n * need to be applied. Otherwise reversed operation `Xr` would operate on a wrong document state, because operation `X`\n * does not know that operations `Y` and `Z` happened.\n *\n * After operations from an undone batch got {@link module:engine/model/operation/operation~Operation#getReversed reversed},\n * one needs to make sure if they are ready to be applied. In the scenario above, operation `C3` is the last operation and `C3r`\n * bases on up-to-date document state, so it can be applied to the document.\n *\n * ```\n * History Undo stack\n * ================= ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ processing undoing batch C ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * ```\n *\n * Next is operation `C2`, reversed to `C2r`. `C2r` bases on `C2`, so it bases on the wrong document state. It needs to be\n * transformed by operations from history that happened after it, so it \"knows\" about them. Let us assume that `C2' = C2r * B3 * C3 * C3r`,\n * where `*` means \"transformed by\". Rest of operations from that batch are processed in the same fashion.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ] [ batch Cr ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * ```\n *\n * Selective undo works on the same basis, however, instead of undoing the last batch in the undo stack, any batch can be undone.\n * The same algorithm applies: operations from a batch (i.e. `A1`) are reversed and then transformed by operations stored in history.\n *\n * Redo also is very similar to undo. It has its own stack that is filled with undoing (reversed batches). Operations from\n * the batch that is re-done are reversed-back, transformed in proper order and applied to the document.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ batch Crr ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * [ operation C1'r]\n * [ operation C2'r]\n * [ operation C3rr]\n * ```\n */ class Undo extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n UndoEditing,\n UndoUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Undo';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { RedoCommand, Undo, UndoCommand, UndoEditing, UndoRedoBaseCommand, UndoUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/basecommand\n */\n\nimport { Command, type Editor } from '@ckeditor/ckeditor5-core';\n\nimport {\n\ttransformOperationSets,\n\ttype Batch,\n\ttype Operation,\n\ttype DataControllerSetEvent,\n\ttype ModelRange,\n\tNoOperation\n} from '@ckeditor/ckeditor5-engine';\n\n/**\n * Base class for the undo feature commands: {@link module:undo/undocommand~UndoCommand} and {@link module:undo/redocommand~RedoCommand}.\n */\nexport abstract class UndoRedoBaseCommand extends Command {\n\t/**\n\t * Stack of items stored by the command. These are pairs of:\n\t *\n\t * * {@link module:engine/model/batch~Batch batch} saved by the command,\n\t * * {@link module:engine/model/selection~ModelSelection selection} state at the moment of saving the batch.\n\t */\n\tprotected _stack: Array<{ batch: Batch; selection: { ranges: Array<ModelRange>; isBackward: boolean } }> = [];\n\n\t/**\n\t * Stores all batches that were created by this command.\n\t *\n\t * @internal\n\t */\n\tpublic _createdBatches = new WeakSet<Batch>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Refresh state, so the command is inactive right after initialization.\n\t\tthis.refresh();\n\n\t\t// This command should not depend on selection change.\n\t\tthis._isEnabledBasedOnSelection = false;\n\n\t\t// Set the transparent batch for the `editor.data.set()` call if the\n\t\t// batch type is not set already.\n\t\tthis.listenTo<DataControllerSetEvent>( editor.data, 'set', ( evt, data ) => {\n\t\t\t// Create a shallow copy of the options to not change the original args.\n\t\t\t// And make sure that an object is assigned to data[ 1 ].\n\t\t\tdata[ 1 ] = { ...data[ 1 ] };\n\n\t\t\tconst options = data[ 1 ];\n\n\t\t\t// If batch type is not set, default to non-undoable batch.\n\t\t\tif ( !options.batchType ) {\n\t\t\t\toptions.batchType = { isUndoable: false };\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\t// Clear the stack for the `transparent` batches.\n\t\tthis.listenTo<DataControllerSetEvent>( editor.data, 'set', ( evt, data ) => {\n\t\t\t// We can assume that the object exists and it has a `batchType` property.\n\t\t\t// It was ensured with a higher priority listener before.\n\t\t\tconst options = data[ 1 ]!;\n\n\t\t\tif ( !options.batchType!.isUndoable ) {\n\t\t\t\tthis.clearStack();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tthis.isEnabled = this._stack.length > 0;\n\t}\n\n\t/**\n\t * Returns all batches created by this command.\n\t */\n\tpublic get createdBatches(): WeakSet<Batch> {\n\t\treturn this._createdBatches;\n\t}\n\n\t/**\n\t * Stores a batch in the command, together with the selection state of the {@link module:engine/model/document~ModelDocument document}\n\t * created by the editor which this command is registered to.\n\t *\n\t * @param batch The batch to add.\n\t */\n\tpublic addBatch( batch: Batch ): void {\n\t\tconst docSelection = this.editor.model.document.selection;\n\n\t\tconst selection = {\n\t\t\tranges: docSelection.hasOwnRange ? Array.from( docSelection.getRanges() ) : [],\n\t\t\tisBackward: docSelection.isBackward\n\t\t};\n\n\t\tthis._stack.push( { batch, selection } );\n\t\tthis.refresh();\n\t}\n\n\t/**\n\t * Removes all items from the stack.\n\t */\n\tpublic clearStack(): void {\n\t\tthis._stack = [];\n\t\tthis.refresh();\n\t}\n\n\t/**\n\t * Restores the {@link module:engine/model/document~ModelDocument#selection document selection} state after a batch was undone.\n\t *\n\t * @param ranges Ranges to be restored.\n\t * @param isBackward A flag describing whether the restored range was selected forward or backward.\n\t * @param operations Operations which has been applied since selection has been stored.\n\t */\n\tprotected _restoreSelection(\n\t\tranges: Array<ModelRange>,\n\t\tisBackward: boolean,\n\t\toperations: Array<Operation>\n\t): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\n\t\t// This will keep the transformed selection ranges.\n\t\tconst selectionRanges: Array<ModelRange> = [];\n\n\t\t// Transform all ranges from the restored selection.\n\t\tconst transformedRangeGroups = ranges.map( range => range.getTransformedByOperations( operations ) );\n\t\tconst allRanges = transformedRangeGroups.flat();\n\n\t\tfor ( const rangeGroup of transformedRangeGroups ) {\n\t\t\t// While transforming there could appear ranges that are contained by other ranges, we shall ignore them.\n\t\t\tconst transformed = rangeGroup\n\t\t\t\t.filter( range => range.root != document.graveyard )\n\t\t\t\t.filter( range => !isRangeContainedByAnyOtherRange( range, allRanges ) );\n\n\t\t\t// All the transformed ranges ended up in graveyard.\n\t\t\tif ( !transformed.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// After the range got transformed, we have an array of ranges. Some of those\n\t\t\t// ranges may be \"touching\" -- they can be next to each other and could be merged.\n\t\t\tnormalizeRanges( transformed );\n\n\t\t\t// For each `range` from `ranges`, we take only one transformed range.\n\t\t\t// This is because we want to prevent situation where single-range selection\n\t\t\t// got transformed to multi-range selection.\n\t\t\tselectionRanges.push( transformed[ 0 ] );\n\t\t}\n\n\t\t// @if CK_DEBUG_ENGINE // console.log( `Restored selection by undo: ${ selectionRanges.join( ', ' ) }` );\n\n\t\t// `selectionRanges` may be empty if all ranges ended up in graveyard. If that is the case, do not restore selection.\n\t\tif ( selectionRanges.length ) {\n\t\t\tmodel.change( writer => {\n\t\t\t\twriter.setSelection( selectionRanges, { backward: isBackward } );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Undoes a batch by reversing that batch, transforming reversed batch and finally applying it.\n\t * This is a helper method for {@link #execute}.\n\t *\n\t * @param batchToUndo The batch to be undone.\n\t * @param undoingBatch The batch that will contain undoing changes.\n\t */\n\tprotected _undo( batchToUndo: Batch, undoingBatch: Batch ): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\n\t\t// All changes done by the command execution will be saved as one batch.\n\t\tthis._createdBatches.add( undoingBatch );\n\n\t\tconst operationsToUndo = batchToUndo.operations.slice().filter( operation => operation.isDocumentOperation );\n\t\toperationsToUndo.reverse();\n\n\t\t// We will process each operation from `batchToUndo`, in reverse order. If there were operations A, B and C in undone batch,\n\t\t// we need to revert them in reverse order, so first C' (reversed C), then B', then A'.\n\t\tfor ( const operationToUndo of operationsToUndo ) {\n\t\t\tconst nextBaseVersion = operationToUndo.baseVersion! + 1;\n\t\t\tconst historyOperations = Array.from( document.history.getOperations( nextBaseVersion ) );\n\n\t\t\tconst transformedSets = transformOperationSets(\n\t\t\t\t[ operationToUndo.getReversed() ],\n\t\t\t\thistoryOperations,\n\t\t\t\t{\n\t\t\t\t\tuseRelations: true,\n\t\t\t\t\tdocument: this.editor.model.document,\n\t\t\t\t\tpadWithNoOps: false,\n\t\t\t\t\tforceWeakRemove: true\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst reversedOperations = transformedSets.operationsA;\n\n\t\t\t// After reversed operation has been transformed by all history operations, apply it.\n\t\t\tfor ( let operation of reversedOperations ) {\n\t\t\t\t// Do not apply any operation on non-editable space.\n\t\t\t\tconst affectedSelectable = operation.affectedSelectable;\n\n\t\t\t\tif ( affectedSelectable && !model.canEditAt( affectedSelectable ) ) {\n\t\t\t\t\toperation = new NoOperation( operation.baseVersion );\n\t\t\t\t}\n\n\t\t\t\t// Before applying, add the operation to the `undoingBatch`.\n\t\t\t\tundoingBatch.addOperation( operation );\n\t\t\t\tmodel.applyOperation( operation );\n\n\t\t\t\tdocument.history.setOperationAsUndone( operationToUndo, operation );\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * @param ranges Ranges to be normalized.\n */\nfunction normalizeRanges( ranges: Array<ModelRange> ): void {\n\tranges.sort( ( a, b ) => a.start.isBefore( b.start ) ? -1 : 1 );\n\n\tfor ( let i = 1; i < ranges.length; i++ ) {\n\t\tconst previousRange = ranges[ i - 1 ];\n\t\tconst joinedRange = previousRange.getJoined( ranges[ i ], true );\n\n\t\tif ( joinedRange ) {\n\t\t\t// Replace the ranges on the list with the new joined range.\n\t\t\ti--;\n\t\t\tranges.splice( i, 2, joinedRange );\n\t\t}\n\t}\n}\n\nfunction isRangeContainedByAnyOtherRange( range: ModelRange, ranges: Array<ModelRange> ): boolean {\n\treturn ranges.some( otherRange => otherRange !== range && otherRange.containsRange( range, true ) );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undocommand\n */\n\nimport { UndoRedoBaseCommand } from './basecommand.js';\nimport type { Batch } from '@ckeditor/ckeditor5-engine';\n\n/**\n * The undo command stores {@link module:engine/model/batch~Batch batches} applied to the\n * {@link module:engine/model/document~ModelDocument document} and is able to undo a batch by reversing it and transforming by\n * batches from {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed batch.\n *\n * The undo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */\nexport class UndoCommand extends UndoRedoBaseCommand {\n\t/**\n\t * Executes the command. This method reverts a {@link module:engine/model/batch~Batch batch} added to the command's stack, transforms\n\t * and applies the reverted version on the {@link module:engine/model/document~ModelDocument document} and removes the batch from\n\t * the stack. Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t * @fires revert\n\t * @param batch A batch that should be undone. If not set, the last added batch will be undone.\n\t */\n\tpublic override execute( batch: Batch | null = null ): void {\n\t\t// If batch is not given, set `batchIndex` to the last index in command stack.\n\t\tconst batchIndex = batch ? this._stack.findIndex( a => a.batch == batch ) : this._stack.length - 1;\n\n\t\tconst item = this._stack.splice( batchIndex, 1 )[ 0 ];\n\t\tconst undoingBatch = this.editor.model.createBatch( { isUndo: true } );\n\n\t\t// All changes have to be done in one `enqueueChange` callback so other listeners will not\n\t\t// step between consecutive operations, or won't do changes to the document before selection is properly restored.\n\t\tthis.editor.model.enqueueChange( undoingBatch, () => {\n\t\t\tthis._undo( item.batch, undoingBatch );\n\n\t\t\tconst operations = this.editor.model.document.history.getOperations( item.batch.baseVersion! );\n\t\t\tthis._restoreSelection( item.selection.ranges, item.selection.isBackward, operations );\n\t\t} );\n\n\t\t// Firing `revert` event after the change block to make sure that it includes all changes from post-fixers\n\t\t// and make sure that the selection is \"stabilized\" (the selection range is saved after undo is executed and then\n\t\t// restored on redo, so it is important that the selection range is saved after post-fixers are done).\n\t\tthis.fire<UndoCommandRevertEvent>( 'revert', item.batch, undoingBatch );\n\n\t\tthis.refresh();\n\t}\n}\n\n/**\n * Fired when execution of the command reverts some batch.\n *\n * @eventName ~UndoCommand#revert\n */\nexport type UndoCommandRevertEvent = {\n\tname: 'revert';\n\targs: [ batch: Batch, undoingBatch: Batch ];\n};\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/redocommand\n */\n\nimport { UndoRedoBaseCommand } from './basecommand.js';\n\n/**\n * The redo command stores {@link module:engine/model/batch~Batch batches} that were used to undo a batch by\n * {@link module:undo/undocommand~UndoCommand}. It is able to redo a previously undone batch by reversing the undoing\n * batches created by `UndoCommand`. The reversed batch is transformed by all the batches from\n * {@link module:engine/model/document~ModelDocument#history history} that happened after the reversed undo batch.\n *\n * The redo command also takes care of restoring the {@link module:engine/model/document~ModelDocument#selection document selection}.\n */\nexport class RedoCommand extends UndoRedoBaseCommand {\n\t/**\n\t * Executes the command. This method reverts the last {@link module:engine/model/batch~Batch batch} added to\n\t * the command's stack, applies the reverted and transformed version on the\n\t * {@link module:engine/model/document~ModelDocument document} and removes the batch from the stack.\n\t * Then, it restores the {@link module:engine/model/document~ModelDocument#selection document selection}.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute(): void {\n\t\tconst item = this._stack.pop()!;\n\t\tconst redoingBatch = this.editor.model.createBatch( { isUndo: true } );\n\n\t\t// All changes have to be done in one `enqueueChange` callback so other listeners will not step between consecutive\n\t\t// operations, or won't do changes to the document before selection is properly restored.\n\t\tthis.editor.model.enqueueChange( redoingBatch, () => {\n\t\t\tconst lastOperation = item.batch.operations[ item.batch.operations.length - 1 ];\n\t\t\tconst nextBaseVersion = lastOperation.baseVersion! + 1;\n\t\t\tconst operations = this.editor.model.document.history.getOperations( nextBaseVersion );\n\n\t\t\tthis._restoreSelection( item.selection.ranges, item.selection.isBackward, operations );\n\t\t\tthis._undo( item.batch, redoingBatch );\n\t\t} );\n\n\t\tthis.refresh();\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undoediting\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\n\nimport { UndoCommand, type UndoCommandRevertEvent } from './undocommand.js';\nimport { RedoCommand } from './redocommand.js';\n\nimport type {\n\tBatch,\n\tModelApplyOperationEvent\n} from '@ckeditor/ckeditor5-engine';\n\n/**\n * The undo engine feature.\n *\n * It introduces the `'undo'` and `'redo'` commands to the editor.\n */\nexport class UndoEditing extends Plugin {\n\t/**\n\t * The command that manages the undo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */\n\tprivate _undoCommand!: UndoCommand;\n\n\t/**\n\t * The command that manages the redo {@link module:engine/model/batch~Batch batches} stack (history).\n\t * Created and registered during the {@link #init feature initialization}.\n\t */\n\tprivate _redoCommand!: RedoCommand;\n\n\t/**\n\t * Keeps track of which batches were registered in undo.\n\t */\n\tprivate _batchRegistry = new WeakSet<Batch>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'UndoEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\t// Create commands.\n\t\tthis._undoCommand = new UndoCommand( editor );\n\t\tthis._redoCommand = new RedoCommand( editor );\n\n\t\t// Register command to the editor.\n\t\teditor.commands.add( 'undo', this._undoCommand );\n\t\teditor.commands.add( 'redo', this._redoCommand );\n\n\t\tthis.listenTo<ModelApplyOperationEvent>( editor.model, 'applyOperation', ( evt, args ) => {\n\t\t\tconst operation = args[ 0 ];\n\n\t\t\t// Do not register batch if the operation is not a document operation.\n\t\t\t// This prevents from creating empty undo steps, where all operations where non-document operations.\n\t\t\t// Non-document operations creates and alters content in detached tree fragments (for example, document fragments).\n\t\t\t// Most of time this is preparing data before it is inserted into actual tree (for example during copy & paste).\n\t\t\t// Such operations should not be reversed.\n\t\t\tif ( !operation.isDocumentOperation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst batch = operation.batch!;\n\n\t\t\tconst isRedoBatch = this._redoCommand.createdBatches.has( batch );\n\t\t\tconst isUndoBatch = this._undoCommand.createdBatches.has( batch );\n\t\t\tconst wasProcessed = this._batchRegistry.has( batch );\n\n\t\t\t// Skip the batch if it was already processed.\n\t\t\tif ( wasProcessed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Add the batch to the registry so it will not be processed again.\n\t\t\tthis._batchRegistry.add( batch );\n\n\t\t\tif ( !batch.isUndoable ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isRedoBatch ) {\n\t\t\t\t// If this batch comes from `redoCommand`, add it to the `undoCommand` stack.\n\t\t\t\tthis._undoCommand.addBatch( batch );\n\t\t\t} else if ( !isUndoBatch ) {\n\t\t\t\t// If the batch comes neither from `redoCommand` nor from `undoCommand` then it is a new, regular batch.\n\t\t\t\t// Add the batch to the `undoCommand` stack and clear the `redoCommand` stack.\n\t\t\t\tthis._undoCommand.addBatch( batch );\n\t\t\t\tthis._redoCommand.clearStack();\n\t\t\t}\n\t\t}, { priority: 'highest' } );\n\n\t\tthis.listenTo<UndoCommandRevertEvent>( this._undoCommand, 'revert', ( evt, undoneBatch, undoingBatch ) => {\n\t\t\tthis._redoCommand.addBatch( undoingBatch );\n\t\t} );\n\n\t\teditor.keystrokes.set( 'CTRL+Z', 'undo' );\n\t\teditor.keystrokes.set( 'CTRL+Y', 'redo' );\n\t\teditor.keystrokes.set( 'CTRL+SHIFT+Z', 'redo' );\n\n\t\t// Add the information about the keystrokes to the accessibility database.\n\t\teditor.accessibility.addKeystrokeInfos( {\n\t\t\tkeystrokes: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Undo' ),\n\t\t\t\t\tkeystroke: 'CTRL+Z'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Redo' ),\n\t\t\t\t\tkeystroke: [ [ 'CTRL+Y' ], [ 'CTRL+SHIFT+Z' ] ]\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undoui\n */\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui';\nimport { IconUndo, IconRedo } from '@ckeditor/ckeditor5-icons';\n\n/**\n * The undo UI feature. It introduces the `'undo'` and `'redo'` buttons to the editor.\n */\nexport class UndoUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'UndoUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = editor.t;\n\n\t\tconst localizedUndoIcon = locale.uiLanguageDirection == 'ltr' ? IconUndo : IconRedo;\n\t\tconst localizedRedoIcon = locale.uiLanguageDirection == 'ltr' ? IconRedo : IconUndo;\n\n\t\tthis._addButtonsToFactory( 'undo', t( 'Undo' ), 'CTRL+Z', localizedUndoIcon );\n\t\tthis._addButtonsToFactory( 'redo', t( 'Redo' ), 'CTRL+Y', localizedRedoIcon );\n\t}\n\n\t/**\n\t * Creates a button for the specified command.\n\t *\n\t * @param name Command name.\n\t * @param label Button label.\n\t * @param keystroke Command keystroke.\n\t * @param Icon Source of the icon.\n\t */\n\tprivate _addButtonsToFactory( name: 'undo' | 'redo', label: string, keystroke: string, Icon: string ) {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( name, () => {\n\t\t\tconst buttonView = this._createButton( ButtonView, name, label, keystroke, Icon );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:' + name, () => {\n\t\t\treturn this._createButton( MenuBarMenuListItemButtonView, name, label, keystroke, Icon );\n\t\t} );\n\t}\n\n\t/**\n\t * TODO\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>(\n\t\tButtonClass: T,\n\t\tname: 'undo' | 'redo',\n\t\tlabel: string,\n\t\tkeystroke: string,\n\t\tIcon: string\n\t): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst command = editor.commands.get( name )!;\n\t\tconst view = new ButtonClass( locale ) as InstanceType<T>;\n\n\t\tview.set( {\n\t\t\tlabel,\n\t\t\ticon: Icon,\n\t\t\tkeystroke\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( name );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module undo/undo\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { UndoEditing } from './undoediting.js';\nimport { UndoUI } from './undoui.js';\n\n/**\n * The undo feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:undo/undoediting~UndoEditing undo editing feature}\n * and the {@link module:undo/undoui~UndoUI undo UI feature}.\n *\n * Below is an explanation of the undo mechanism working together with {@link module:engine/model/history~History History}:\n *\n * Whenever an {@link module:engine/model/operation/operation~Operation operation} is applied to the\n * {@link module:engine/model/document~ModelDocument document}, it is saved to `History` as is.\n * The {@link module:engine/model/batch~Batch batch} that owns that operation is also saved, in\n * {@link module:undo/undocommand~UndoCommand}, together with the selection that was present in the document before the\n * operation was applied. A batch is saved instead of the operation because changes are undone batch-by-batch, not operation-by-operation\n * and a batch is seen as one undo step.\n *\n * After changes happen to the document, the `History` and `UndoCommand` stack can be represented as follows:\n *\n * ```\n * History Undo stack\n * ============== ==================================\n * [operation A1] [ batch A ]\n * [operation B1] [ batch B ]\n * [operation B2] [ batch C ]\n * [operation C1]\n * [operation C2]\n * [operation B3]\n * [operation C3]\n * ```\n *\n * Where operations starting with the same letter are from same batch.\n *\n * Undoing a batch means that a set of operations which will reverse the effects of that batch needs to be generated.\n * For example, if a batch added several letters, undoing the batch should remove them. It is important to apply undoing\n * operations in the reversed order, so if a batch has operation `X`, `Y`, `Z`, reversed operations `Zr`, `Yr` and `Xr`\n * need to be applied. Otherwise reversed operation `Xr` would operate on a wrong document state, because operation `X`\n * does not know that operations `Y` and `Z` happened.\n *\n * After operations from an undone batch got {@link module:engine/model/operation/operation~Operation#getReversed reversed},\n * one needs to make sure if they are ready to be applied. In the scenario above, operation `C3` is the last operation and `C3r`\n * bases on up-to-date document state, so it can be applied to the document.\n *\n * ```\n * History Undo stack\n * ================= ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ processing undoing batch C ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * ```\n *\n * Next is operation `C2`, reversed to `C2r`. `C2r` bases on `C2`, so it bases on the wrong document state. It needs to be\n * transformed by operations from history that happened after it, so it \"knows\" about them. Let us assume that `C2' = C2r * B3 * C3 * C3r`,\n * where `*` means \"transformed by\". Rest of operations from that batch are processed in the same fashion.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ] [ batch Cr ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * ```\n *\n * Selective undo works on the same basis, however, instead of undoing the last batch in the undo stack, any batch can be undone.\n * The same algorithm applies: operations from a batch (i.e. `A1`) are reversed and then transformed by operations stored in history.\n *\n * Redo also is very similar to undo. It has its own stack that is filled with undoing (reversed batches). Operations from\n * the batch that is re-done are reversed-back, transformed in proper order and applied to the document.\n *\n * ```\n * History Undo stack Redo stack\n * ================= ================================== ==================================\n * [ operation A1 ] [ batch A ]\n * [ operation B1 ] [ batch B ]\n * [ operation B2 ] [ batch Crr ]\n * [ operation C1 ]\n * [ operation C2 ]\n * [ operation B3 ]\n * [ operation C3 ]\n * [ operation C3r ]\n * [ operation C2' ]\n * [ operation C1' ]\n * [ operation C1'r]\n * [ operation C2'r]\n * [ operation C3rr]\n * ```\n */\nexport class Undo extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ UndoEditing, UndoUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Undo' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n}\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ckeditor/ckeditor5-undo",
|
3
|
-
"version": "46.0.0-alpha.
|
3
|
+
"version": "46.0.0-alpha.4",
|
4
4
|
"description": "Undo feature for CKEditor 5.",
|
5
5
|
"keywords": [
|
6
6
|
"ckeditor",
|
@@ -13,11 +13,11 @@
|
|
13
13
|
"type": "module",
|
14
14
|
"main": "src/index.js",
|
15
15
|
"dependencies": {
|
16
|
-
"@ckeditor/ckeditor5-core": "46.0.0-alpha.
|
17
|
-
"@ckeditor/ckeditor5-engine": "46.0.0-alpha.
|
18
|
-
"@ckeditor/ckeditor5-icons": "46.0.0-alpha.
|
19
|
-
"@ckeditor/ckeditor5-ui": "46.0.0-alpha.
|
20
|
-
"@ckeditor/ckeditor5-utils": "46.0.0-alpha.
|
16
|
+
"@ckeditor/ckeditor5-core": "46.0.0-alpha.4",
|
17
|
+
"@ckeditor/ckeditor5-engine": "46.0.0-alpha.4",
|
18
|
+
"@ckeditor/ckeditor5-icons": "46.0.0-alpha.4",
|
19
|
+
"@ckeditor/ckeditor5-ui": "46.0.0-alpha.4",
|
20
|
+
"@ckeditor/ckeditor5-utils": "46.0.0-alpha.4"
|
21
21
|
},
|
22
22
|
"author": "CKSource (http://cksource.com/)",
|
23
23
|
"license": "SEE LICENSE IN LICENSE.md",
|