decap-cms-widget-markdown 3.1.3 → 3.1.5

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.
Files changed (73) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/decap-cms-widget-markdown.js +3 -3
  3. package/dist/decap-cms-widget-markdown.js.map +1 -1
  4. package/dist/esm/MarkdownControl/Toolbar.js +2 -2
  5. package/dist/esm/MarkdownControl/components/Shortcode.js +2 -2
  6. package/dist/esm/MarkdownControl/index.js +2 -2
  7. package/dist/esm/MarkdownControl/plugins/blocks/events/keyDown.js +10 -0
  8. package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAfterSoftBreak.js +16 -0
  9. package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorCollapsedAfterSoftBreak.js +17 -0
  10. package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInNonDefaultBlock copy.js +19 -0
  11. package/dist/esm/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +12 -4
  12. package/dist/esm/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +2 -2
  13. package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +2 -2
  14. package/dist/esm/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +2 -2
  15. package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +2 -2
  16. package/dist/esm/MarkdownPreview.js +2 -2
  17. package/dist/esm/index.js +2 -2
  18. package/dist/esm/serializers/remarkAssertParents.js +2 -2
  19. package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +2 -2
  20. package/dist/esm/serializers/remarkImagesToText.js +2 -2
  21. package/dist/esm/serializers/remarkPaddedLinks.js +2 -2
  22. package/dist/esm/serializers/remarkRehypeShortcodes.js +2 -2
  23. package/dist/esm/serializers/remarkSlate.js +12 -3
  24. package/dist/esm/serializers/remarkSquashReferences.js +2 -2
  25. package/dist/esm/serializers/slateRemark.js +2 -2
  26. package/package.json +4 -4
  27. package/src/MarkdownControl/plugins/blocks/events/keyDown.js +9 -0
  28. package/src/MarkdownControl/plugins/blocks/locations/isCursorCollapsedAfterSoftBreak.js +13 -0
  29. package/src/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +17 -4
  30. package/src/serializers/remarkSlate.js +9 -1
  31. package/dist/esm/MarkdownControl/PlateEditor.js +0 -149
  32. package/dist/esm/components/Icons.js +0 -174
  33. package/dist/esm/components/plate-ui/blockquote-element.js +0 -28
  34. package/dist/esm/components/plate-ui/button.js +0 -66
  35. package/dist/esm/components/plate-ui/code-block-combobox.js +0 -66
  36. package/dist/esm/components/plate-ui/code-block-element.css +0 -434
  37. package/dist/esm/components/plate-ui/code-block-element.js +0 -41
  38. package/dist/esm/components/plate-ui/code-leaf.js +0 -28
  39. package/dist/esm/components/plate-ui/code-line-element.js +0 -16
  40. package/dist/esm/components/plate-ui/code-syntax-leaf.js +0 -34
  41. package/dist/esm/components/plate-ui/command.js +0 -55
  42. package/dist/esm/components/plate-ui/dialog.js +0 -44
  43. package/dist/esm/components/plate-ui/dropdown-menu.js +0 -114
  44. package/dist/esm/components/plate-ui/editor.js +0 -71
  45. package/dist/esm/components/plate-ui/fixed-toolbar-buttons.js +0 -49
  46. package/dist/esm/components/plate-ui/fixed-toolbar.js +0 -9
  47. package/dist/esm/components/plate-ui/floating-toolbar-buttons.js +0 -34
  48. package/dist/esm/components/plate-ui/floating-toolbar.js +0 -50
  49. package/dist/esm/components/plate-ui/heading-element.js +0 -52
  50. package/dist/esm/components/plate-ui/input.js +0 -25
  51. package/dist/esm/components/plate-ui/insert-dropdown-menu.js +0 -200
  52. package/dist/esm/components/plate-ui/kbd-leaf.js +0 -27
  53. package/dist/esm/components/plate-ui/link-element.js +0 -34
  54. package/dist/esm/components/plate-ui/link-floating-toolbar.js +0 -116
  55. package/dist/esm/components/plate-ui/list-element.js +0 -38
  56. package/dist/esm/components/plate-ui/mark-toolbar-button.js +0 -34
  57. package/dist/esm/components/plate-ui/mode-dropdown-menu.js +0 -67
  58. package/dist/esm/components/plate-ui/more-dropdown-menu.js +0 -50
  59. package/dist/esm/components/plate-ui/paragraph-element.js +0 -9
  60. package/dist/esm/components/plate-ui/placeholder.js +0 -52
  61. package/dist/esm/components/plate-ui/popover.js +0 -45
  62. package/dist/esm/components/plate-ui/resizable.js +0 -50
  63. package/dist/esm/components/plate-ui/separator.js +0 -27
  64. package/dist/esm/components/plate-ui/table-cell-element.js +0 -97
  65. package/dist/esm/components/plate-ui/table-element.js +0 -182
  66. package/dist/esm/components/plate-ui/table-row-element.js +0 -27
  67. package/dist/esm/components/plate-ui/toolbar.js +0 -99
  68. package/dist/esm/components/plate-ui/tooltip.js +0 -49
  69. package/dist/esm/components/plate-ui/turn-into-dropdown-menu.js +0 -129
  70. package/dist/esm/style/global.css +0 -78
  71. package/dist/esm/style/input.css +0 -3
  72. package/dist/esm/style/output.css +0 -557
  73. package/dist/esm/styles/globals.css +0 -76
@@ -14,8 +14,8 @@ var _decapCmsUiDefault = require("decap-cms-ui-default");
14
14
  var _ToolbarButton = _interopRequireDefault(require("./ToolbarButton"));
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
20
20
  const ToolbarContainer = /*#__PURE__*/(0, _base.default)("div", {
21
21
  target: "e11cox783",
@@ -17,8 +17,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
21
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
21
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
22
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /* eslint-disable react/prop-types */
23
23
  var _ref = process.env.NODE_ENV === "production" ? {
24
24
  name: "1xfnuhy-Shortcode",
@@ -15,8 +15,8 @@ var _VisualEditor = _interopRequireDefault(require("./VisualEditor"));
15
15
  var _react2 = require("@emotion/react");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
20
  const MODE_STORAGE_KEY = 'cms.md-mode';
21
21
 
22
22
  // TODO: passing the editorControl and components like this is horrible, should
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _isHotkey = _interopRequireDefault(require("is-hotkey"));
8
+ var _slate = require("slate");
8
9
  var _keyDownEnter = _interopRequireDefault(require("./keyDownEnter"));
9
10
  var _keyDownBackspace = _interopRequireDefault(require("./keyDownBackspace"));
10
11
  var _isCursorInNonDefaultBlock = _interopRequireDefault(require("../locations/isCursorInNonDefaultBlock"));
11
12
  var _toggleBlock = _interopRequireDefault(require("./toggleBlock"));
13
+ var _isCursorCollapsedAfterSoftBreak = _interopRequireDefault(require("../locations/isCursorCollapsedAfterSoftBreak"));
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
  const HEADING_HOTKEYS = {
14
16
  'mod+1': 'heading-one',
@@ -27,6 +29,14 @@ function keyDown(event, editor) {
27
29
  return false;
28
30
  }
29
31
  }
32
+ if ((0, _isHotkey.default)('backspace', event) && (0, _isCursorCollapsedAfterSoftBreak.default)(editor)) {
33
+ const [, path] = _slate.Editor.previous(editor);
34
+ _slate.Transforms.removeNodes(editor, {
35
+ at: path
36
+ });
37
+ event.preventDefault();
38
+ return false;
39
+ }
30
40
  if (!(0, _isCursorInNonDefaultBlock.default)(editor)) return;
31
41
  if ((0, _isHotkey.default)('enter', event)) {
32
42
  const eventIntercepted = (0, _keyDownEnter.default)(editor);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _slate = require("slate");
8
+ function isCursorAfterSoftBreak(editor) {
9
+ const {
10
+ selection
11
+ } = editor;
12
+ if (!selection) return false;
13
+ const [previous] = _slate.Editor.previous(editor);
14
+ return previous && previous.type == 'break';
15
+ }
16
+ var _default = exports.default = isCursorAfterSoftBreak;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _slate = require("slate");
8
+ function isCursorCollapsedAfterSoftBreak(editor) {
9
+ const {
10
+ selection
11
+ } = editor;
12
+ if (!selection) return false;
13
+ if (_slate.Range.isExpanded(selection)) return false;
14
+ const previous = _slate.Editor.previous(editor);
15
+ return previous && previous[0].type == 'break';
16
+ }
17
+ var _default = exports.default = isCursorCollapsedAfterSoftBreak;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _slate = require("slate");
8
+ function isCursorInNonDefaultBlock(editor) {
9
+ const {
10
+ selection
11
+ } = editor;
12
+ if (!selection) return false;
13
+ const [match] = Array.from(_slate.Editor.nodes(editor, {
14
+ match: n => _slate.Element.isElement(n) && _slate.Editor.isBlock(editor, n) && n.type !== 'paragraph',
15
+ mode: 'lowest'
16
+ }));
17
+ return !!match && !_slate.Editor.isEditor(match[0]);
18
+ }
19
+ var _default = exports.default = isCursorInNonDefaultBlock;
@@ -9,18 +9,26 @@ var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowe
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  function unwrapIfCursorAtStart(editor, mergeWithPrevious = false) {
11
11
  if (editor.selection.anchor.offset !== 0) return false;
12
- const node = _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'non-default'));
13
- if (node[1].length == 0) return false;
14
- const isHeading = `${node[0].type}`.startsWith('heading-');
12
+ let [node, path] = _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'non-default'));
13
+ if (path.length == 0) return false;
14
+ const isHeading = `${node.type}`.startsWith('heading-');
15
15
  if (isHeading) {
16
16
  _slate.Transforms.setNodes(editor, {
17
17
  type: 'paragraph'
18
18
  });
19
19
  return false;
20
20
  }
21
+ const isBlock = _slate.Editor.isBlock(editor, node);
22
+ const [parentBlock, parentBlockPath] = _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'block'));
23
+ if (!isBlock) {
24
+ if (!_slate.Editor.isStart(editor, path, parentBlockPath)) {
25
+ return false;
26
+ }
27
+ [node, path] = [parentBlock, parentBlockPath];
28
+ }
21
29
  _slate.Editor.withoutNormalizing(editor, () => {
22
30
  _slate.Transforms.unwrapNodes(editor, {
23
- match: n => n.type === node[0].type,
31
+ match: n => n.type === node.type,
24
32
  split: true
25
33
  });
26
34
  if (mergeWithPrevious) {
@@ -11,8 +11,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  function keyDownShiftTab(editor) {
17
17
  if (!editor.selection) return;
18
18
  if (Array.from(_slate.Editor.nodes(editor, (0, _matchedAncestors.default)(editor, 'list'))).length < 2) {
@@ -12,8 +12,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
16
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  function keyDownTab(editor) {
18
18
  if (!editor.selection) return;
19
19
  if (!(0, _isSelectionWithinNoninitialListItem.default)(editor)) return;
@@ -8,8 +8,8 @@ var _slate = require("slate");
8
8
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
9
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  function liftFirstMatchedParent(editor, format, options) {
14
14
  _slate.Transforms.liftNodes(editor, _objectSpread({
15
15
  match: n => n.type === format || format === 'paragraph' && `${n.type}`.startsWith('heading'),
@@ -10,8 +10,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
14
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
15
  function unwrapSelectionFromList(editor) {
16
16
  _slate.Editor.withoutNormalizing(editor, () => {
17
17
  _slate.Transforms.unwrapNodes(editor, _objectSpread(_objectSpread({}, (0, _lowestMatchedAncestor.default)(editor, 'list')), {}, {
@@ -12,8 +12,8 @@ var _serializers = require("./serializers");
12
12
  var _react2 = require("@emotion/react");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
16
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  class MarkdownPreview extends _react.default.Component {
18
18
  render() {
19
19
  const {
package/dist/esm/index.js CHANGED
@@ -11,8 +11,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  function Widget(opts = {}) {
17
17
  return _objectSpread({
18
18
  name: 'markdown',
@@ -13,8 +13,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
17
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  /**
19
19
  * remarkUnwrapInvalidNest
20
20
  *
@@ -13,8 +13,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
17
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  /**
19
19
  * Reusable regular expressions segments.
20
20
  */
@@ -7,8 +7,8 @@ exports.default = remarkImagesToText;
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
11
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
12
  /**
13
13
  * Images must be parsed as shortcodes for asset proxying. This plugin converts
14
14
  * MDAST image nodes back to text to allow shortcode pattern matching. Note that
@@ -17,8 +17,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
21
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
21
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
22
  /**
23
23
  * Convert leading and trailing spaces in a link to single spaces outside of the
24
24
  * link. MDASTs derived from pasted Google Docs HTML require this treatment.
@@ -13,8 +13,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
17
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  /**
19
19
  * This plugin doesn't actually transform Remark (MDAST) nodes to Rehype
20
20
  * (HAST) nodes, but rather, it prepares an MDAST shortcode node for HAST
@@ -15,8 +15,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
20
  /**
21
21
  * Map of MDAST node types to Slate node types.
22
22
  */
@@ -259,7 +259,6 @@ function remarkToSlate({
259
259
  * Convert simple cases that only require a type and children, with no
260
260
  * additional properties.
261
261
  */
262
- case 'root':
263
262
  case 'paragraph':
264
263
  case 'blockquote':
265
264
  case 'tableRow':
@@ -268,6 +267,16 @@ function remarkToSlate({
268
267
  return createBlock(typeMap[node.type], nodes);
269
268
  }
270
269
 
270
+ /**
271
+ * Root element
272
+ * If the root node is empty, we need to add a paragraph node to it.
273
+ */
274
+ case 'root':
275
+ {
276
+ const children = (0, _isEmpty2.default)(nodes) ? [createBlock('paragraph')] : nodes;
277
+ return createBlock(typeMap[node.type], children);
278
+ }
279
+
271
280
  /**
272
281
  * List Items
273
282
  *
@@ -12,8 +12,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
16
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  /**
18
18
  * Raw markdown may contain image references or link references. Because there
19
19
  * is no way to maintain these references within the Slate AST, we convert image
@@ -20,8 +20,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
20
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
22
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
24
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
25
  /**
26
26
  * Map of Slate node types to MDAST/Remark node types.
27
27
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "decap-cms-widget-markdown",
3
3
  "description": "Widget for editing markdown in Decap CMS.",
4
- "version": "3.1.3",
4
+ "version": "3.1.5",
5
5
  "homepage": "https://www.decapcms.org/docs/widgets/#markdown",
6
6
  "repository": "https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-markdown",
7
7
  "bugs": "https://github.com/decaporg/decap-cms/issues",
@@ -51,8 +51,8 @@
51
51
  "immutable": "^3.7.6",
52
52
  "lodash": "^4.17.11",
53
53
  "prop-types": "^15.7.2",
54
- "react": "^18.2.0",
55
- "react-dom": "^18.2.0",
54
+ "react": "17.x || 18.x",
55
+ "react-dom": "17.x || 18.x",
56
56
  "react-immutable-proptypes": "^2.1.0"
57
57
  },
58
58
  "devDependencies": {
@@ -60,5 +60,5 @@
60
60
  "commonmark-spec": "^0.30.0",
61
61
  "slate-hyperscript": "^0.77.0"
62
62
  },
63
- "gitHead": "13c0b4af1b560d39af107a46751cbcda477989fa"
63
+ "gitHead": "a19a946f6fe7915320a9723f2cb59287561be537"
64
64
  }
@@ -1,9 +1,11 @@
1
1
  import isHotkey from 'is-hotkey';
2
+ import { Editor, Transforms } from 'slate';
2
3
 
3
4
  import keyDownEnter from './keyDownEnter';
4
5
  import keyDownBackspace from './keyDownBackspace';
5
6
  import isCursorInNonDefaultBlock from '../locations/isCursorInNonDefaultBlock';
6
7
  import toggleBlock from './toggleBlock';
8
+ import isCursorCollapsedAfterSoftBreak from '../locations/isCursorCollapsedAfterSoftBreak';
7
9
 
8
10
  const HEADING_HOTKEYS = {
9
11
  'mod+1': 'heading-one',
@@ -25,6 +27,13 @@ function keyDown(event, editor) {
25
27
  }
26
28
  }
27
29
 
30
+ if (isHotkey('backspace', event) && isCursorCollapsedAfterSoftBreak(editor)) {
31
+ const [, path] = Editor.previous(editor);
32
+ Transforms.removeNodes(editor, { at: path });
33
+ event.preventDefault();
34
+ return false;
35
+ }
36
+
28
37
  if (!isCursorInNonDefaultBlock(editor)) return;
29
38
 
30
39
  if (isHotkey('enter', event)) {
@@ -0,0 +1,13 @@
1
+ import { Editor, Range } from 'slate';
2
+
3
+ function isCursorCollapsedAfterSoftBreak(editor) {
4
+ const { selection } = editor;
5
+ if (!selection) return false;
6
+ if (Range.isExpanded(selection)) return false;
7
+
8
+ const previous = Editor.previous(editor);
9
+
10
+ return previous && previous[0].type == 'break';
11
+ }
12
+
13
+ export default isCursorCollapsedAfterSoftBreak;
@@ -5,18 +5,31 @@ import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
5
5
  function unwrapIfCursorAtStart(editor, mergeWithPrevious = false) {
6
6
  if (editor.selection.anchor.offset !== 0) return false;
7
7
 
8
- const node = Editor.above(editor, lowestMatchedAncestor(editor, 'non-default'));
8
+ let [node, path] = Editor.above(editor, lowestMatchedAncestor(editor, 'non-default'));
9
9
 
10
- if (node[1].length == 0) return false;
10
+ if (path.length == 0) return false;
11
11
 
12
- const isHeading = `${node[0].type}`.startsWith('heading-');
12
+ const isHeading = `${node.type}`.startsWith('heading-');
13
13
  if (isHeading) {
14
14
  Transforms.setNodes(editor, { type: 'paragraph' });
15
15
  return false;
16
16
  }
17
17
 
18
+ const isBlock = Editor.isBlock(editor, node);
19
+ const [parentBlock, parentBlockPath] = Editor.above(
20
+ editor,
21
+ lowestMatchedAncestor(editor, 'block'),
22
+ );
23
+ if (!isBlock) {
24
+ if (!Editor.isStart(editor, path, parentBlockPath)) {
25
+ return false;
26
+ }
27
+
28
+ [node, path] = [parentBlock, parentBlockPath];
29
+ }
30
+
18
31
  Editor.withoutNormalizing(editor, () => {
19
- Transforms.unwrapNodes(editor, { match: n => n.type === node[0].type, split: true });
32
+ Transforms.unwrapNodes(editor, { match: n => n.type === node.type, split: true });
20
33
 
21
34
  if (mergeWithPrevious) {
22
35
  Transforms.mergeNodes(editor);
@@ -234,7 +234,6 @@ export default function remarkToSlate({ voidCodeBlock } = {}) {
234
234
  * Convert simple cases that only require a type and children, with no
235
235
  * additional properties.
236
236
  */
237
- case 'root':
238
237
  case 'paragraph':
239
238
  case 'blockquote':
240
239
  case 'tableRow':
@@ -242,6 +241,15 @@ export default function remarkToSlate({ voidCodeBlock } = {}) {
242
241
  return createBlock(typeMap[node.type], nodes);
243
242
  }
244
243
 
244
+ /**
245
+ * Root element
246
+ * If the root node is empty, we need to add a paragraph node to it.
247
+ */
248
+ case 'root': {
249
+ const children = isEmpty(nodes) ? [createBlock('paragraph')] : nodes;
250
+ return createBlock(typeMap[node.type], children);
251
+ }
252
+
245
253
  /**
246
254
  * List Items
247
255
  *