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 CHANGED
@@ -1795,7 +1795,9 @@ var Text = {
1795
1795
  return true;
1796
1796
  },
1797
1797
  decorations(node, decorations) {
1798
- var leaves = [_objectSpread$a({}, node)];
1798
+ var leaves = [{
1799
+ leaf: _objectSpread$a({}, node)
1800
+ }];
1799
1801
  for (var dec of decorations) {
1800
1802
  var {
1801
1803
  anchor,
@@ -1809,7 +1811,9 @@ var Text = {
1809
1811
  var decorationStart = start.offset;
1810
1812
  var decorationEnd = end.offset;
1811
1813
  var merge = mergeDecoration !== null && mergeDecoration !== void 0 ? mergeDecoration : Object.assign;
1812
- for (var leaf of leaves) {
1814
+ for (var {
1815
+ leaf
1816
+ } of leaves) {
1813
1817
  var {
1814
1818
  length
1815
1819
  } = leaf.text;
@@ -1818,12 +1822,16 @@ var Text = {
1818
1822
  // If the range encompasses the entire leaf, add the range.
1819
1823
  if (decorationStart <= leafStart && leafEnd <= decorationEnd) {
1820
1824
  merge(leaf, rest);
1821
- next.push(leaf);
1825
+ next.push({
1826
+ leaf
1827
+ });
1822
1828
  continue;
1823
1829
  }
1824
1830
  // If the range expanded and match the leaf, or starts after, or ends before it, continue.
1825
1831
  if (decorationStart !== decorationEnd && (decorationStart === leafEnd || decorationEnd === leafStart) || decorationStart > leafEnd || decorationEnd < leafStart || decorationEnd === leafStart && leafStart !== 0) {
1826
- next.push(leaf);
1832
+ next.push({
1833
+ leaf
1834
+ });
1827
1835
  continue;
1828
1836
  }
1829
1837
  // Otherwise we need to split the leaf, at the start, end, or both,
@@ -1834,18 +1842,22 @@ var Text = {
1834
1842
  var after = void 0;
1835
1843
  if (decorationEnd < leafEnd) {
1836
1844
  var off = decorationEnd - leafStart;
1837
- after = _objectSpread$a(_objectSpread$a({}, middle), {}, {
1838
- text: middle.text.slice(off)
1839
- });
1845
+ after = {
1846
+ leaf: _objectSpread$a(_objectSpread$a({}, middle), {}, {
1847
+ text: middle.text.slice(off)
1848
+ })
1849
+ };
1840
1850
  middle = _objectSpread$a(_objectSpread$a({}, middle), {}, {
1841
1851
  text: middle.text.slice(0, off)
1842
1852
  });
1843
1853
  }
1844
1854
  if (decorationStart > leafStart) {
1845
1855
  var _off = decorationStart - leafStart;
1846
- before = _objectSpread$a(_objectSpread$a({}, middle), {}, {
1847
- text: middle.text.slice(0, _off)
1848
- });
1856
+ before = {
1857
+ leaf: _objectSpread$a(_objectSpread$a({}, middle), {}, {
1858
+ text: middle.text.slice(0, _off)
1859
+ })
1860
+ };
1849
1861
  middle = _objectSpread$a(_objectSpread$a({}, middle), {}, {
1850
1862
  text: middle.text.slice(_off)
1851
1863
  });
@@ -1854,13 +1866,30 @@ var Text = {
1854
1866
  if (before) {
1855
1867
  next.push(before);
1856
1868
  }
1857
- next.push(middle);
1869
+ next.push({
1870
+ leaf: middle
1871
+ });
1858
1872
  if (after) {
1859
1873
  next.push(after);
1860
1874
  }
1861
1875
  }
1862
1876
  leaves = next;
1863
1877
  }
1878
+ if (leaves.length > 1) {
1879
+ var currentOffset = 0;
1880
+ for (var [index, item] of leaves.entries()) {
1881
+ var _start = currentOffset;
1882
+ var _end = _start + item.leaf.text.length;
1883
+ var position = {
1884
+ start: _start,
1885
+ end: _end
1886
+ };
1887
+ if (index === 0) position.isFirst = true;
1888
+ if (index === leaves.length - 1) position.isLast = true;
1889
+ item.position = position;
1890
+ currentOffset = _end;
1891
+ }
1892
+ }
1864
1893
  return leaves;
1865
1894
  }
1866
1895
  };