slate-react 0.58.0 → 0.58.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;AACtE,OAAO,EAEL,OAAO,EACP,SAAS,EAET,KAAK,EACL,IAAI,EAEL,MAAM,OAAO,CAAA;AAiCd;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE;QACV,iBAAiB,EAAE,SAAS,CAAA;QAC5B,mBAAmB,CAAC,EAAE,IAAI,CAAA;QAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAA;QACxB,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,GAAG,EAAE,GAAG,CAAA;KACT,CAAA;CACF;AAED;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE;QACV,iBAAiB,EAAE,IAAI,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AAEH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,GAAG,CAAC,OAAO,CAAA;IACpD,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CACvB,GAAG,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAEhD;;GAEG;AAEH,eAAO,MAAM,QAAQ,uCA21BpB,CAAA"}
1
+ {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;AACtE,OAAO,EAEL,OAAO,EACP,SAAS,EAET,KAAK,EACL,IAAI,EAGL,MAAM,OAAO,CAAA;AA2Cd;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE;QACV,iBAAiB,EAAE,SAAS,CAAA;QAC5B,mBAAmB,CAAC,EAAE,IAAI,CAAA;QAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAA;QACxB,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,GAAG,EAAE,GAAG,CAAA;KACT,CAAA;CACF;AAED;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE;QACV,iBAAiB,EAAE,IAAI,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AAEH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,GAAG,CAAC,OAAO,CAAA;IACpD,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CACvB,GAAG,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAEhD;;GAEG;AAEH,eAAO,MAAM,QAAQ,uCAs2BpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/leaf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAIrC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA2D5C,QAAA,MAAM,YAAY;;;;;;kBAQhB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,WAAW,yCAGvB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/leaf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAIrC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA8D5C,QAAA,MAAM,YAAY;;;;;;kBAQhB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,WAAW,yCAGvB,CAAA;AAED,eAAe,YAAY,CAAA"}
package/dist/index.es.js CHANGED
@@ -1081,11 +1081,14 @@ var Leaf = props => {
1081
1081
  style: {
1082
1082
  pointerEvents: 'none',
1083
1083
  display: 'inline-block',
1084
- verticalAlign: 'text-top',
1085
1084
  width: '0',
1086
1085
  maxWidth: '100%',
1087
1086
  whiteSpace: 'nowrap',
1088
- opacity: '0.333'
1087
+ opacity: '0.333',
1088
+ userSelect: 'none',
1089
+ fontStyle: 'normal',
1090
+ fontWeight: 'normal',
1091
+ textDecoration: 'none'
1089
1092
  }
1090
1093
  }, leaf.placeholder), children);
1091
1094
  } // COMPAT: Having the `data-` attributes on these leaf elements ensures that
@@ -1385,7 +1388,9 @@ var IS_APPLE = typeof navigator !== 'undefined' && /Mac OS X/.test(navigator.use
1385
1388
  var IS_FIREFOX = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);
1386
1389
  var IS_SAFARI = typeof navigator !== 'undefined' && /Version\/[\d\.]+.*Safari/.test(navigator.userAgent); // "modern" Edge was released at 79.x
1387
1390
 
1388
- var IS_EDGE_LEGACY = typeof navigator !== 'undefined' && /Edge?\/(?:[0-6][0-9]|[0-7][0-8])/i.test(navigator.userAgent);
1391
+ var IS_EDGE_LEGACY = typeof navigator !== 'undefined' && /Edge?\/(?:[0-6][0-9]|[0-7][0-8])/i.test(navigator.userAgent); // Native beforeInput events don't work well with react on Chrome 75 and older, Chrome 76+ can use beforeInput
1392
+
1393
+ var IS_CHROME_LEGACY = typeof navigator !== 'undefined' && /Chrome?\/(?:[0-7][0-5]|[0-6][0-9])/i.test(navigator.userAgent);
1389
1394
 
1390
1395
  /**
1391
1396
  * Hotkey mappings for each platform.
@@ -1479,8 +1484,9 @@ var Hotkeys = {
1479
1484
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1480
1485
 
1481
1486
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1487
+ // Chrome Legacy doesn't support `beforeinput` correctly
1482
1488
 
1483
- var HAS_BEFORE_INPUT_SUPPORT = !(IS_FIREFOX || IS_EDGE_LEGACY);
1489
+ var HAS_BEFORE_INPUT_SUPPORT = !(IS_FIREFOX || IS_EDGE_LEGACY || IS_CHROME_LEGACY);
1484
1490
  /**
1485
1491
  * Editable.
1486
1492
  */
@@ -1559,7 +1565,8 @@ var Editable = props => {
1559
1565
  domSelection.addRange(newDomRange);
1560
1566
  var leafEl = newDomRange.startContainer.parentElement;
1561
1567
  scrollIntoView(leafEl, {
1562
- scrollMode: 'if-needed'
1568
+ scrollMode: 'if-needed',
1569
+ boundary: el
1563
1570
  });
1564
1571
  }
1565
1572
 
@@ -1733,13 +1740,13 @@ var Editable = props => {
1733
1740
  // https://github.com/facebook/react/issues/11211
1734
1741
 
1735
1742
  useIsomorphicLayoutEffect(() => {
1736
- if (ref.current) {
1743
+ if (ref.current && HAS_BEFORE_INPUT_SUPPORT) {
1737
1744
  // @ts-ignore The `beforeinput` event isn't recognized.
1738
1745
  ref.current.addEventListener('beforeinput', onDOMBeforeInput);
1739
1746
  }
1740
1747
 
1741
1748
  return () => {
1742
- if (ref.current) {
1749
+ if (ref.current && HAS_BEFORE_INPUT_SUPPORT) {
1743
1750
  // @ts-ignore The `beforeinput` event isn't recognized.
1744
1751
  ref.current.removeEventListener('beforeinput', onDOMBeforeInput);
1745
1752
  }
@@ -1894,9 +1901,15 @@ var Editable = props => {
1894
1901
 
1895
1902
  var _start = Editor.start(editor, path);
1896
1903
 
1897
- if (Editor.void(editor, {
1904
+ var end = Editor.end(editor, path);
1905
+ var startVoid = Editor.void(editor, {
1898
1906
  at: _start
1899
- })) {
1907
+ });
1908
+ var endVoid = Editor.void(editor, {
1909
+ at: end
1910
+ });
1911
+
1912
+ if (startVoid && endVoid && Path.equals(startVoid[1], endVoid[1])) {
1900
1913
  var range = Editor.range(editor, _start);
1901
1914
  Transforms.select(editor, range);
1902
1915
  }
@@ -2226,7 +2239,7 @@ var Editable = props => {
2226
2239
  // COMPAT: Firefox, Chrome and Safari are not emitting `beforeinput` events
2227
2240
  // when "paste without formatting" option is used.
2228
2241
  // This unfortunately needs to be handled with paste events instead.
2229
- if ((!HAS_BEFORE_INPUT_SUPPORT || isPlainTextOnlyPaste(event.nativeEvent)) && !readOnly && hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onPaste)) {
2242
+ if (!isEventHandled(event, attributes.onPaste) && (!HAS_BEFORE_INPUT_SUPPORT || isPlainTextOnlyPaste(event.nativeEvent)) && !readOnly && hasEditableTarget(editor, event.target)) {
2230
2243
  event.preventDefault();
2231
2244
  ReactEditor.insertData(editor, event.clipboardData);
2232
2245
  }