@portabletext/editor 2.1.8 → 2.1.10

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/index.js CHANGED
@@ -1316,61 +1316,49 @@ function compileType(rawType) {
1316
1316
  types: [rawType]
1317
1317
  }).get(rawType.name);
1318
1318
  }
1319
- const levelIndexMap = /* @__PURE__ */ new Map();
1319
+ const levelIndexMaps = /* @__PURE__ */ new Map();
1320
1320
  function buildIndexMaps(context, {
1321
1321
  blockIndexMap,
1322
1322
  listIndexMap
1323
1323
  }) {
1324
- blockIndexMap.clear(), listIndexMap.clear(), levelIndexMap.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 !== void 0) {
1329
- if (blockIndexMap.set(block._key, blockIndex), !isTextBlock(context, block)) {
1330
- levelIndexMap.clear(), previousListItem = void 0;
1331
- continue;
1332
- }
1333
- if (block.listItem === void 0 || block.level === void 0) {
1334
- levelIndexMap.clear(), previousListItem = void 0;
1335
- continue;
1336
- }
1337
- if (!previousListItem) {
1338
- previousListItem = {
1339
- listItem: block.listItem,
1340
- level: block.level
1341
- }, levelIndexMap.set(block.level, 1), listIndexMap.set(block._key, 1);
1342
- continue;
1343
- }
1344
- if (previousListItem.listItem !== block.listItem && previousListItem.level === block.level) {
1345
- levelIndexMap.clear(), previousListItem = {
1346
- listItem: block.listItem,
1347
- level: block.level
1348
- }, levelIndexMap.set(block.level, 1), listIndexMap.set(block._key, 1);
1349
- continue;
1350
- }
1351
- if (previousListItem.level === block.level) {
1352
- const levelCounter = levelIndexMap.get(block.level) ?? 0;
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) {