@portabletext/editor 2.1.9 → 2.1.11
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/lib/_chunks-dts/behavior.types.action.d.ts +9 -9
- package/lib/index.cjs +36 -48
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +36 -48
- package/lib/index.js.map +1 -1
- package/lib/plugins/index.d.ts +3 -3
- package/package.json +6 -6
- package/src/editor/plugins/createWithEditableAPI.ts +1 -1
- package/src/internal-utils/applyPatch.ts +1 -1
- package/src/internal-utils/build-index-maps.test.ts +52 -0
- package/src/internal-utils/build-index-maps.ts +50 -37
- package/src/internal-utils/text-marks.ts +1 -1
- package/src/internal-utils/to-slate-range.ts +1 -1
- package/src/operations/behavior.operation.annotation.add.ts +1 -1
package/lib/index.js
CHANGED
|
@@ -1316,61 +1316,49 @@ function compileType(rawType) {
|
|
|
1316
1316
|
types: [rawType]
|
|
1317
1317
|
}).get(rawType.name);
|
|
1318
1318
|
}
|
|
1319
|
-
const
|
|
1319
|
+
const levelIndexMaps = /* @__PURE__ */ new Map();
|
|
1320
1320
|
function buildIndexMaps(context, {
|
|
1321
1321
|
blockIndexMap,
|
|
1322
1322
|
listIndexMap
|
|
1323
1323
|
}) {
|
|
1324
|
-
blockIndexMap.clear(), listIndexMap.clear(),
|
|
1324
|
+
blockIndexMap.clear(), listIndexMap.clear(), levelIndexMaps.clear();
|
|
1325
1325
|
let previousListItem;
|
|
1326
1326
|
for (let blockIndex = 0; blockIndex < context.value.length; blockIndex++) {
|
|
1327
1327
|
const block = context.value.at(blockIndex);
|
|
1328
|
-
if (block
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
}
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
levelIndexMap.set(block.level, levelCounter + 1), previousListItem = {
|
|
1354
|
-
listItem: block.listItem,
|
|
1355
|
-
level: block.level
|
|
1356
|
-
}, listIndexMap.set(block._key, levelCounter + 1);
|
|
1357
|
-
continue;
|
|
1358
|
-
}
|
|
1359
|
-
if (previousListItem.level < block.level) {
|
|
1360
|
-
levelIndexMap.set(block.level, 1), previousListItem = {
|
|
1361
|
-
listItem: block.listItem,
|
|
1362
|
-
level: block.level
|
|
1363
|
-
}, listIndexMap.set(block._key, 1);
|
|
1364
|
-
continue;
|
|
1365
|
-
}
|
|
1366
|
-
if (previousListItem.level > block.level) {
|
|
1367
|
-
const levelCounter = levelIndexMap.get(block.level) ?? 0;
|
|
1368
|
-
levelIndexMap.set(block.level, levelCounter + 1), previousListItem = {
|
|
1369
|
-
listItem: block.listItem,
|
|
1370
|
-
level: block.level
|
|
1371
|
-
}, listIndexMap.set(block._key, levelCounter + 1);
|
|
1372
|
-
}
|
|
1328
|
+
if (block === void 0)
|
|
1329
|
+
continue;
|
|
1330
|
+
if (blockIndexMap.set(block._key, blockIndex), !isTextBlock(context, block)) {
|
|
1331
|
+
levelIndexMaps.clear(), previousListItem = void 0;
|
|
1332
|
+
continue;
|
|
1333
|
+
}
|
|
1334
|
+
if (block.listItem === void 0 || block.level === void 0) {
|
|
1335
|
+
levelIndexMaps.clear(), previousListItem = void 0;
|
|
1336
|
+
continue;
|
|
1337
|
+
}
|
|
1338
|
+
if (!previousListItem) {
|
|
1339
|
+
const levelIndexMap2 = levelIndexMaps.get(block.listItem) ?? /* @__PURE__ */ new Map();
|
|
1340
|
+
levelIndexMap2.set(block.level, 1), levelIndexMaps.set(block.listItem, levelIndexMap2), listIndexMap.set(block._key, 1), previousListItem = {
|
|
1341
|
+
listItem: block.listItem,
|
|
1342
|
+
level: block.level
|
|
1343
|
+
};
|
|
1344
|
+
continue;
|
|
1345
|
+
}
|
|
1346
|
+
if (previousListItem.listItem === block.listItem && previousListItem.level < block.level) {
|
|
1347
|
+
const levelIndexMap2 = levelIndexMaps.get(block.listItem) ?? /* @__PURE__ */ new Map();
|
|
1348
|
+
levelIndexMap2.set(block.level, 1), levelIndexMaps.set(block.listItem, levelIndexMap2), listIndexMap.set(block._key, 1), previousListItem = {
|
|
1349
|
+
listItem: block.listItem,
|
|
1350
|
+
level: block.level
|
|
1351
|
+
};
|
|
1352
|
+
continue;
|
|
1373
1353
|
}
|
|
1354
|
+
levelIndexMaps.forEach((levelIndexMap2, listItem) => {
|
|
1355
|
+
listItem !== block.listItem && levelIndexMap2.set(block.level, 0);
|
|
1356
|
+
});
|
|
1357
|
+
const levelIndexMap = levelIndexMaps.get(block.listItem) ?? /* @__PURE__ */ new Map(), levelCounter = levelIndexMap.get(block.level) ?? 0;
|
|
1358
|
+
levelIndexMap.set(block.level, levelCounter + 1), listIndexMap.set(block._key, levelCounter + 1), previousListItem = {
|
|
1359
|
+
listItem: block.listItem,
|
|
1360
|
+
level: block.level
|
|
1361
|
+
};
|
|
1374
1362
|
}
|
|
1375
1363
|
}
|
|
1376
1364
|
function createPlaceholderBlock(context) {
|
|
@@ -4280,7 +4268,7 @@ function setPatch(editor, patch) {
|
|
|
4280
4268
|
children,
|
|
4281
4269
|
...nextRest
|
|
4282
4270
|
} = value, {
|
|
4283
|
-
children:
|
|
4271
|
+
children: _prevChildren,
|
|
4284
4272
|
...prevRest
|
|
4285
4273
|
} = block.node || {
|
|
4286
4274
|
children: void 0
|