@harbour-enterprises/superdoc 0.28.0-next.6 → 0.28.0-next.8
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/chunks/{PdfViewer-YGZnTt8R.cjs → PdfViewer-CYc7bM-U.cjs} +1 -1
- package/dist/chunks/{PdfViewer-SWIdvLfI.es.js → PdfViewer-DpCLSvT8.es.js} +1 -1
- package/dist/chunks/{index-D4INS8Lk.cjs → index-BnHtoBRm.cjs} +2 -2
- package/dist/chunks/{index-D5_BGWdx.es.js → index-P8al9Mo-.es.js} +2 -2
- package/dist/chunks/{super-editor.es-CygP0ohb.cjs → super-editor.es-QwnGCo9w.cjs} +135 -60
- package/dist/chunks/{super-editor.es-DeIVissN.es.js → super-editor.es-WQ06yk3i.es.js} +135 -60
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/super-editor/ai-writer.es.js +1 -1
- package/dist/super-editor/chunks/{editor-CYrnVag5.js → editor-BJuWMr-a.js} +144 -68
- package/dist/super-editor/chunks/{toolbar-CpbUFrBH.js → toolbar-D3k3-Nw8.js} +1 -1
- package/dist/super-editor/editor.es.js +1 -1
- package/dist/super-editor/super-editor/src/core/commands/decreaseListIndent.d.ts +1 -1
- package/dist/super-editor/super-editor/src/core/commands/increaseListIndent.d.ts +1 -1
- package/dist/super-editor/super-editor/src/core/commands/list-helpers/list-indent-helpers.d.ts +3 -0
- package/dist/super-editor/super-editor.es.js +20 -20
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.cjs +1 -1
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.cjs +2 -2
- package/dist/superdoc.es.js +2 -2
- package/dist/superdoc.umd.js +134 -59
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/superdoc.umd.js
CHANGED
|
@@ -56186,38 +56186,93 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
56186
56186
|
if (dispatch) dispatch(tr);
|
|
56187
56187
|
return true;
|
|
56188
56188
|
};
|
|
56189
|
-
const
|
|
56189
|
+
const LIST_NODE_NAMES = /* @__PURE__ */ new Set(["orderedList", "bulletList"]);
|
|
56190
|
+
const parseLevel = (value) => {
|
|
56191
|
+
if (typeof value === "number") return value;
|
|
56192
|
+
const parsed = parseInt(value, 10);
|
|
56193
|
+
return Number.isNaN(parsed) ? 0 : parsed;
|
|
56194
|
+
};
|
|
56195
|
+
const resolveParentList = ($pos) => {
|
|
56196
|
+
if (!$pos) return null;
|
|
56197
|
+
for (let depth = $pos.depth; depth >= 0; depth--) {
|
|
56198
|
+
const node2 = $pos.node(depth);
|
|
56199
|
+
if (node2?.type && LIST_NODE_NAMES.has(node2.type.name)) {
|
|
56200
|
+
return node2;
|
|
56201
|
+
}
|
|
56202
|
+
}
|
|
56203
|
+
return null;
|
|
56204
|
+
};
|
|
56205
|
+
const collectTargetListItemPositions = (state2, fallbackPos) => {
|
|
56206
|
+
const doc2 = state2?.doc;
|
|
56207
|
+
const listItemType = state2?.schema?.nodes?.listItem;
|
|
56208
|
+
if (!doc2 || !listItemType) {
|
|
56209
|
+
return typeof fallbackPos === "number" ? [fallbackPos] : [];
|
|
56210
|
+
}
|
|
56211
|
+
const candidates = [];
|
|
56212
|
+
const { from: from2, to } = state2.selection;
|
|
56213
|
+
doc2.nodesBetween(from2, to, (node2, pos) => {
|
|
56214
|
+
if (node2.type === listItemType) {
|
|
56215
|
+
const size2 = typeof node2.nodeSize === "number" ? node2.nodeSize : 0;
|
|
56216
|
+
candidates.push({ node: node2, pos, end: pos + size2 });
|
|
56217
|
+
}
|
|
56218
|
+
});
|
|
56219
|
+
if (!candidates.length && typeof fallbackPos === "number") {
|
|
56220
|
+
return [fallbackPos];
|
|
56221
|
+
}
|
|
56222
|
+
const filtered = candidates.filter(({ pos, end: end2 }) => {
|
|
56223
|
+
return !candidates.some((other) => other.pos > pos && other.pos < end2);
|
|
56224
|
+
});
|
|
56225
|
+
const sorted = filtered.map(({ pos }) => pos).sort((a2, b2) => a2 - b2);
|
|
56226
|
+
return sorted.filter((pos, index2) => index2 === 0 || pos !== sorted[index2 - 1]);
|
|
56227
|
+
};
|
|
56228
|
+
const decreaseListIndent = (_targetPositions) => ({ editor, tr }) => {
|
|
56190
56229
|
const { state: state2 } = editor;
|
|
56191
56230
|
const currentItem = ListHelpers.getCurrentListItem && ListHelpers.getCurrentListItem(state2) || findParentNode((n) => n.type && n.type.name === "listItem")(state2.selection);
|
|
56192
|
-
|
|
56193
|
-
const
|
|
56194
|
-
const
|
|
56195
|
-
|
|
56196
|
-
|
|
56197
|
-
const
|
|
56198
|
-
|
|
56199
|
-
|
|
56200
|
-
|
|
56201
|
-
|
|
56202
|
-
|
|
56203
|
-
|
|
56204
|
-
|
|
56205
|
-
|
|
56206
|
-
|
|
56207
|
-
|
|
56208
|
-
|
|
56209
|
-
|
|
56210
|
-
|
|
56211
|
-
|
|
56212
|
-
|
|
56231
|
+
const parentOrderedHelper = ListHelpers.getParentOrderedList && ListHelpers.getParentOrderedList(state2);
|
|
56232
|
+
const parentBulletHelper = ListHelpers.getParentBulletList && ListHelpers.getParentBulletList(state2);
|
|
56233
|
+
const targetPositions = _targetPositions || collectTargetListItemPositions(state2, currentItem?.pos);
|
|
56234
|
+
if (!targetPositions.length) return false;
|
|
56235
|
+
let parentListsMap = {};
|
|
56236
|
+
const mappedNodes = targetPositions.map((originalPos) => {
|
|
56237
|
+
const mappedPos = tr.mapping ? tr.mapping.map(originalPos) : originalPos;
|
|
56238
|
+
const node2 = tr.doc && tr.doc.nodeAt(mappedPos) || (currentItem && originalPos === currentItem.pos ? currentItem.node : null);
|
|
56239
|
+
return { originalPos, mappedPos, node: node2 };
|
|
56240
|
+
});
|
|
56241
|
+
const validNodes = mappedNodes.filter(({ node: node2 }) => node2 && node2.type.name === "listItem");
|
|
56242
|
+
validNodes.forEach(({ mappedPos, node: node2 }) => {
|
|
56243
|
+
const attrs = node2.attrs || {};
|
|
56244
|
+
const currLevel = parseLevel(attrs.level);
|
|
56245
|
+
if (currLevel <= 0) {
|
|
56246
|
+
return;
|
|
56247
|
+
}
|
|
56248
|
+
const newLevel = currLevel - 1;
|
|
56249
|
+
const $pos = tr.doc ? tr.doc.resolve(mappedPos) : null;
|
|
56250
|
+
const parentListNode = resolveParentList($pos) || parentOrderedHelper?.node || parentBulletHelper?.node || parentOrderedHelper || parentBulletHelper;
|
|
56251
|
+
parentListsMap[mappedPos] = parentListNode;
|
|
56252
|
+
if (!parentListNode) {
|
|
56253
|
+
return;
|
|
56254
|
+
}
|
|
56255
|
+
const fallbackListId = parentListNode.attrs?.listId ?? null;
|
|
56256
|
+
let numId = fallbackListId ?? attrs.numId ?? null;
|
|
56257
|
+
let createdNewId = false;
|
|
56258
|
+
if (numId == null && ListHelpers.getNewListId) {
|
|
56259
|
+
numId = ListHelpers.getNewListId(editor);
|
|
56260
|
+
createdNewId = numId != null;
|
|
56261
|
+
}
|
|
56262
|
+
if (createdNewId && numId != null && ListHelpers.generateNewListDefinition) {
|
|
56263
|
+
ListHelpers.generateNewListDefinition({
|
|
56264
|
+
numId,
|
|
56265
|
+
listType: parentListNode.type,
|
|
56266
|
+
editor
|
|
56267
|
+
});
|
|
56268
|
+
}
|
|
56269
|
+
tr.setNodeMarkup(mappedPos, null, {
|
|
56270
|
+
...attrs,
|
|
56271
|
+
level: newLevel,
|
|
56272
|
+
numId
|
|
56213
56273
|
});
|
|
56214
|
-
}
|
|
56215
|
-
tr.setNodeMarkup(currentItem.pos, null, {
|
|
56216
|
-
...attrs,
|
|
56217
|
-
level: newLevel,
|
|
56218
|
-
numId
|
|
56219
56274
|
});
|
|
56220
|
-
return true;
|
|
56275
|
+
return Object.values(parentListsMap).length ? !Object.values(parentListsMap).every((pos) => !pos) : true;
|
|
56221
56276
|
};
|
|
56222
56277
|
function isVisuallyEmptyParagraph(node2) {
|
|
56223
56278
|
if (!node2 || node2.type.name !== "paragraph") return false;
|
|
@@ -56459,30 +56514,49 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
56459
56514
|
tr.setSelection(TextSelection$1.near($pos));
|
|
56460
56515
|
return true;
|
|
56461
56516
|
};
|
|
56462
|
-
const increaseListIndent = () => ({ editor, tr }) => {
|
|
56517
|
+
const increaseListIndent = (_targetPositions) => ({ editor, tr }) => {
|
|
56463
56518
|
const { state: state2 } = editor;
|
|
56464
56519
|
const currentItem = ListHelpers.getCurrentListItem && ListHelpers.getCurrentListItem(state2) || findParentNode((n) => n.type && n.type.name === "listItem")(state2.selection);
|
|
56465
|
-
|
|
56466
|
-
const
|
|
56467
|
-
const
|
|
56468
|
-
|
|
56469
|
-
|
|
56470
|
-
const
|
|
56471
|
-
|
|
56472
|
-
|
|
56473
|
-
|
|
56474
|
-
|
|
56475
|
-
|
|
56476
|
-
|
|
56477
|
-
|
|
56520
|
+
const parentOrderedHelper = ListHelpers.getParentOrderedList && ListHelpers.getParentOrderedList(state2);
|
|
56521
|
+
const parentBulletHelper = ListHelpers.getParentBulletList && ListHelpers.getParentBulletList(state2);
|
|
56522
|
+
const targetPositions = _targetPositions || collectTargetListItemPositions(state2, currentItem?.pos);
|
|
56523
|
+
if (!targetPositions.length) return false;
|
|
56524
|
+
let parentListsMap = {};
|
|
56525
|
+
const mappedNodes = targetPositions.map((originalPos) => {
|
|
56526
|
+
const mappedPos = tr.mapping ? tr.mapping.map(originalPos) : originalPos;
|
|
56527
|
+
const node2 = tr.doc && tr.doc.nodeAt(mappedPos) || (currentItem && originalPos === currentItem.pos ? currentItem.node : null);
|
|
56528
|
+
return { originalPos, mappedPos, node: node2 };
|
|
56529
|
+
});
|
|
56530
|
+
const validNodes = mappedNodes.filter(({ node: node2 }) => node2 && node2.type.name === "listItem");
|
|
56531
|
+
validNodes.forEach(({ mappedPos, node: node2 }) => {
|
|
56532
|
+
const attrs = node2.attrs || {};
|
|
56533
|
+
const currentLevel = parseLevel(attrs.level);
|
|
56534
|
+
const newLevel = currentLevel + 1;
|
|
56535
|
+
const $pos = tr.doc ? tr.doc.resolve(mappedPos) : null;
|
|
56536
|
+
const parentListNode = resolveParentList($pos) || parentOrderedHelper?.node || parentBulletHelper?.node || parentOrderedHelper || parentBulletHelper;
|
|
56537
|
+
parentListsMap[mappedPos] = parentListNode;
|
|
56538
|
+
if (!parentListNode) {
|
|
56539
|
+
return;
|
|
56478
56540
|
}
|
|
56479
|
-
|
|
56480
|
-
|
|
56481
|
-
|
|
56482
|
-
|
|
56483
|
-
|
|
56541
|
+
let numId = attrs.numId;
|
|
56542
|
+
if (numId == null) {
|
|
56543
|
+
const fallbackListId = parentListNode.attrs?.listId ?? null;
|
|
56544
|
+
numId = fallbackListId ?? (ListHelpers.getNewListId ? ListHelpers.getNewListId(editor) : null);
|
|
56545
|
+
if (numId != null && ListHelpers.generateNewListDefinition) {
|
|
56546
|
+
ListHelpers.generateNewListDefinition({
|
|
56547
|
+
numId,
|
|
56548
|
+
listType: parentListNode.type,
|
|
56549
|
+
editor
|
|
56550
|
+
});
|
|
56551
|
+
}
|
|
56552
|
+
}
|
|
56553
|
+
tr.setNodeMarkup(mappedPos, null, {
|
|
56554
|
+
...attrs,
|
|
56555
|
+
level: newLevel,
|
|
56556
|
+
numId
|
|
56557
|
+
});
|
|
56484
56558
|
});
|
|
56485
|
-
return true;
|
|
56559
|
+
return Object.values(parentListsMap).length ? !Object.values(parentListsMap).every((pos) => !pos) : true;
|
|
56486
56560
|
};
|
|
56487
56561
|
const isList = (n) => !!n && (n.type?.name === "orderedList" || n.type?.name === "bulletList");
|
|
56488
56562
|
const findNodePosition = (doc2, targetNode) => {
|
|
@@ -76580,7 +76654,8 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
76580
76654
|
const trackedTransaction = ({ tr, state: state2, user }) => {
|
|
76581
76655
|
const onlyInputTypeMeta = ["inputType", "uiEvent", "paste", "pointer"];
|
|
76582
76656
|
const notAllowedMeta = ["historyUndo", "historyRedo", "acceptReject"];
|
|
76583
|
-
|
|
76657
|
+
const isProgrammaticInput = tr.getMeta("inputType") === "programmatic";
|
|
76658
|
+
if (!tr.steps.length || tr.meta && !Object.keys(tr.meta).every((meta2) => onlyInputTypeMeta.includes(meta2)) && !isProgrammaticInput || notAllowedMeta.includes(tr.getMeta("inputType")) || tr.getMeta(CommentsPluginKey)) {
|
|
76584
76659
|
return tr;
|
|
76585
76660
|
}
|
|
76586
76661
|
const newTr = state2.tr;
|
|
@@ -95839,7 +95914,7 @@ ${l}
|
|
|
95839
95914
|
const trackedChanges = collectTrackedChanges({ state: state2, from: from2, to });
|
|
95840
95915
|
if (!isTrackedChangeActionAllowed({ editor, action: "accept", trackedChanges })) return false;
|
|
95841
95916
|
let { tr, doc: doc2 } = state2;
|
|
95842
|
-
tr.setMeta("
|
|
95917
|
+
tr.setMeta("inputType", "acceptReject");
|
|
95843
95918
|
const map3 = new Mapping();
|
|
95844
95919
|
doc2.nodesBetween(from2, to, (node2, pos) => {
|
|
95845
95920
|
if (node2.marks && node2.marks.find((mark2) => mark2.type.name === TrackDeleteMarkName)) {
|
|
@@ -95879,7 +95954,7 @@ ${l}
|
|
|
95879
95954
|
const trackedChanges = collectTrackedChanges({ state: state2, from: from2, to });
|
|
95880
95955
|
if (!isTrackedChangeActionAllowed({ editor, action: "reject", trackedChanges })) return false;
|
|
95881
95956
|
const { tr, doc: doc2 } = state2;
|
|
95882
|
-
tr.setMeta("
|
|
95957
|
+
tr.setMeta("inputType", "acceptReject");
|
|
95883
95958
|
const map3 = new Mapping();
|
|
95884
95959
|
doc2.nodesBetween(from2, to, (node2, pos) => {
|
|
95885
95960
|
if (node2.marks && node2.marks.find((mark2) => mark2.type.name === TrackDeleteMarkName)) {
|
|
@@ -115019,11 +115094,11 @@ ${style2}
|
|
|
115019
115094
|
* @returns {void}
|
|
115020
115095
|
*/
|
|
115021
115096
|
increaseTextIndent: ({ item, argument }) => {
|
|
115022
|
-
|
|
115023
|
-
|
|
115024
|
-
|
|
115025
|
-
if (
|
|
115026
|
-
return this.activeEditor.commands.increaseListIndent();
|
|
115097
|
+
const command2 = item.command;
|
|
115098
|
+
const { state: state2 } = this.activeEditor;
|
|
115099
|
+
const listItemsInSelection = collectTargetListItemPositions(state2);
|
|
115100
|
+
if (listItemsInSelection.length) {
|
|
115101
|
+
return this.activeEditor.commands.increaseListIndent(listItemsInSelection);
|
|
115027
115102
|
}
|
|
115028
115103
|
if (command2 in this.activeEditor.commands) {
|
|
115029
115104
|
this.activeEditor.commands[command2](argument);
|
|
@@ -115039,9 +115114,9 @@ ${style2}
|
|
|
115039
115114
|
decreaseTextIndent: ({ item, argument }) => {
|
|
115040
115115
|
let command2 = item.command;
|
|
115041
115116
|
let { state: state2 } = this.activeEditor;
|
|
115042
|
-
|
|
115043
|
-
if (
|
|
115044
|
-
return this.activeEditor.commands.decreaseListIndent();
|
|
115117
|
+
const listItemsInSelection = collectTargetListItemPositions(state2);
|
|
115118
|
+
if (listItemsInSelection.length) {
|
|
115119
|
+
return this.activeEditor.commands.decreaseListIndent(listItemsInSelection);
|
|
115045
115120
|
}
|
|
115046
115121
|
if (command2 in this.activeEditor.commands) {
|
|
115047
115122
|
this.activeEditor.commands[command2](argument);
|