slate 0.113.0 → 0.114.0
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.es.js +40 -11
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +58 -20
- package/dist/index.js.map +1 -1
- package/dist/interfaces/text.d.ts +10 -1
- package/dist/interfaces/text.d.ts.map +1 -1
- package/dist/slate.js +58 -20
- package/dist/slate.min.js +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,12 @@ export interface BaseText {
|
|
|
9
9
|
text: string;
|
|
10
10
|
}
|
|
11
11
|
export type Text = ExtendedType<'Text', BaseText>;
|
|
12
|
+
export interface LeafPosition {
|
|
13
|
+
start: number;
|
|
14
|
+
end: number;
|
|
15
|
+
isFirst?: true;
|
|
16
|
+
isLast?: true;
|
|
17
|
+
}
|
|
12
18
|
export interface TextEqualsOptions {
|
|
13
19
|
loose?: boolean;
|
|
14
20
|
}
|
|
@@ -49,7 +55,10 @@ export interface TextInterface {
|
|
|
49
55
|
/**
|
|
50
56
|
* Get the leaves for a text node given decorations.
|
|
51
57
|
*/
|
|
52
|
-
decorations: (node: Text, decorations: DecoratedRange[]) =>
|
|
58
|
+
decorations: (node: Text, decorations: DecoratedRange[]) => {
|
|
59
|
+
leaf: Text;
|
|
60
|
+
position?: LeafPosition;
|
|
61
|
+
}[];
|
|
53
62
|
}
|
|
54
63
|
export declare const Text: TextInterface;
|
|
55
64
|
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../packages/slate/src/interfaces/text.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../packages/slate/src/interfaces/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,EAAE,MAAM,IAAI,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD;;;;GAIG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAEjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG;IACnC;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAA;IAE3E;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,EAAE,CAAA;IAE3C;;OAEG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnD;;;;;OAKG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAA;IAEtD;;OAEG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,cAAc,EAAE,KAC1B;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE,EAAE,CAAA;CAC/C;AAGD,eAAO,MAAM,IAAI,EAAE,aA0IlB,CAAA"}
|
package/dist/slate.js
CHANGED
|
@@ -3327,7 +3327,9 @@
|
|
|
3327
3327
|
return true;
|
|
3328
3328
|
},
|
|
3329
3329
|
decorations: function decorations(node, _decorations) {
|
|
3330
|
-
var leaves = [
|
|
3330
|
+
var leaves = [{
|
|
3331
|
+
leaf: _objectSpread$a({}, node)
|
|
3332
|
+
}];
|
|
3331
3333
|
var _iterator = _createForOfIteratorHelper$k(_decorations),
|
|
3332
3334
|
_step;
|
|
3333
3335
|
try {
|
|
@@ -3339,30 +3341,34 @@
|
|
|
3339
3341
|
rest = _objectWithoutProperties(dec, _excluded2$2);
|
|
3340
3342
|
var _Range$edges = Range.edges(dec),
|
|
3341
3343
|
_Range$edges2 = _slicedToArray(_Range$edges, 2),
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
+
_start = _Range$edges2[0],
|
|
3345
|
+
_end = _Range$edges2[1];
|
|
3344
3346
|
var next = [];
|
|
3345
3347
|
var leafEnd = 0;
|
|
3346
|
-
var decorationStart =
|
|
3347
|
-
var decorationEnd =
|
|
3348
|
+
var decorationStart = _start.offset;
|
|
3349
|
+
var decorationEnd = _end.offset;
|
|
3348
3350
|
var merge = mergeDecoration !== null && mergeDecoration !== void 0 ? mergeDecoration : Object.assign;
|
|
3349
|
-
var
|
|
3350
|
-
|
|
3351
|
+
var _iterator3 = _createForOfIteratorHelper$k(leaves),
|
|
3352
|
+
_step3;
|
|
3351
3353
|
try {
|
|
3352
|
-
for (
|
|
3353
|
-
var leaf =
|
|
3354
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
3355
|
+
var leaf = _step3.value.leaf;
|
|
3354
3356
|
var length = leaf.text.length;
|
|
3355
3357
|
var leafStart = leafEnd;
|
|
3356
3358
|
leafEnd += length;
|
|
3357
3359
|
// If the range encompasses the entire leaf, add the range.
|
|
3358
3360
|
if (decorationStart <= leafStart && leafEnd <= decorationEnd) {
|
|
3359
3361
|
merge(leaf, rest);
|
|
3360
|
-
next.push(
|
|
3362
|
+
next.push({
|
|
3363
|
+
leaf: leaf
|
|
3364
|
+
});
|
|
3361
3365
|
continue;
|
|
3362
3366
|
}
|
|
3363
3367
|
// If the range expanded and match the leaf, or starts after, or ends before it, continue.
|
|
3364
3368
|
if (decorationStart !== decorationEnd && (decorationStart === leafEnd || decorationEnd === leafStart) || decorationStart > leafEnd || decorationEnd < leafStart || decorationEnd === leafStart && leafStart !== 0) {
|
|
3365
|
-
next.push(
|
|
3369
|
+
next.push({
|
|
3370
|
+
leaf: leaf
|
|
3371
|
+
});
|
|
3366
3372
|
continue;
|
|
3367
3373
|
}
|
|
3368
3374
|
// Otherwise we need to split the leaf, at the start, end, or both,
|
|
@@ -3373,18 +3379,22 @@
|
|
|
3373
3379
|
var after = void 0;
|
|
3374
3380
|
if (decorationEnd < leafEnd) {
|
|
3375
3381
|
var off = decorationEnd - leafStart;
|
|
3376
|
-
after =
|
|
3377
|
-
|
|
3378
|
-
|
|
3382
|
+
after = {
|
|
3383
|
+
leaf: _objectSpread$a(_objectSpread$a({}, middle), {}, {
|
|
3384
|
+
text: middle.text.slice(off)
|
|
3385
|
+
})
|
|
3386
|
+
};
|
|
3379
3387
|
middle = _objectSpread$a(_objectSpread$a({}, middle), {}, {
|
|
3380
3388
|
text: middle.text.slice(0, off)
|
|
3381
3389
|
});
|
|
3382
3390
|
}
|
|
3383
3391
|
if (decorationStart > leafStart) {
|
|
3384
3392
|
var _off = decorationStart - leafStart;
|
|
3385
|
-
before =
|
|
3386
|
-
|
|
3387
|
-
|
|
3393
|
+
before = {
|
|
3394
|
+
leaf: _objectSpread$a(_objectSpread$a({}, middle), {}, {
|
|
3395
|
+
text: middle.text.slice(0, _off)
|
|
3396
|
+
})
|
|
3397
|
+
};
|
|
3388
3398
|
middle = _objectSpread$a(_objectSpread$a({}, middle), {}, {
|
|
3389
3399
|
text: middle.text.slice(_off)
|
|
3390
3400
|
});
|
|
@@ -3393,15 +3403,17 @@
|
|
|
3393
3403
|
if (before) {
|
|
3394
3404
|
next.push(before);
|
|
3395
3405
|
}
|
|
3396
|
-
next.push(
|
|
3406
|
+
next.push({
|
|
3407
|
+
leaf: middle
|
|
3408
|
+
});
|
|
3397
3409
|
if (after) {
|
|
3398
3410
|
next.push(after);
|
|
3399
3411
|
}
|
|
3400
3412
|
}
|
|
3401
3413
|
} catch (err) {
|
|
3402
|
-
|
|
3414
|
+
_iterator3.e(err);
|
|
3403
3415
|
} finally {
|
|
3404
|
-
|
|
3416
|
+
_iterator3.f();
|
|
3405
3417
|
}
|
|
3406
3418
|
leaves = next;
|
|
3407
3419
|
}
|
|
@@ -3410,6 +3422,32 @@
|
|
|
3410
3422
|
} finally {
|
|
3411
3423
|
_iterator.f();
|
|
3412
3424
|
}
|
|
3425
|
+
if (leaves.length > 1) {
|
|
3426
|
+
var currentOffset = 0;
|
|
3427
|
+
var _iterator2 = _createForOfIteratorHelper$k(leaves.entries()),
|
|
3428
|
+
_step2;
|
|
3429
|
+
try {
|
|
3430
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
3431
|
+
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
3432
|
+
index = _step2$value[0],
|
|
3433
|
+
item = _step2$value[1];
|
|
3434
|
+
var start = currentOffset;
|
|
3435
|
+
var end = start + item.leaf.text.length;
|
|
3436
|
+
var position = {
|
|
3437
|
+
start: start,
|
|
3438
|
+
end: end
|
|
3439
|
+
};
|
|
3440
|
+
if (index === 0) position.isFirst = true;
|
|
3441
|
+
if (index === leaves.length - 1) position.isLast = true;
|
|
3442
|
+
item.position = position;
|
|
3443
|
+
currentOffset = end;
|
|
3444
|
+
}
|
|
3445
|
+
} catch (err) {
|
|
3446
|
+
_iterator2.e(err);
|
|
3447
|
+
} finally {
|
|
3448
|
+
_iterator2.f();
|
|
3449
|
+
}
|
|
3450
|
+
}
|
|
3413
3451
|
return leaves;
|
|
3414
3452
|
}
|
|
3415
3453
|
};
|