decap-cms-widget-markdown 3.1.2 → 3.1.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.
- package/CHANGELOG.md +8 -0
- package/dist/decap-cms-widget-markdown.js +3 -3
- package/dist/decap-cms-widget-markdown.js.map +1 -1
- package/dist/esm/MarkdownControl/Toolbar.js +2 -2
- package/dist/esm/MarkdownControl/components/Shortcode.js +2 -2
- package/dist/esm/MarkdownControl/index.js +2 -2
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDown.js +10 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAfterSoftBreak.js +16 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorCollapsedAfterSoftBreak.js +17 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInNonDefaultBlock copy.js +19 -0
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +12 -4
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +2 -2
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +2 -2
- package/dist/esm/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +2 -2
- package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +2 -2
- package/dist/esm/MarkdownControl/renderers.js +17 -17
- package/dist/esm/MarkdownPreview.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/serializers/remarkAssertParents.js +2 -2
- package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +2 -2
- package/dist/esm/serializers/remarkImagesToText.js +2 -2
- package/dist/esm/serializers/remarkPaddedLinks.js +2 -2
- package/dist/esm/serializers/remarkRehypeShortcodes.js +2 -2
- package/dist/esm/serializers/remarkSlate.js +12 -3
- package/dist/esm/serializers/remarkSquashReferences.js +2 -2
- package/dist/esm/serializers/slateRemark.js +2 -2
- package/package.json +2 -2
- package/src/MarkdownControl/plugins/blocks/events/keyDown.js +9 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorCollapsedAfterSoftBreak.js +13 -0
- package/src/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +17 -4
- package/src/MarkdownControl/renderers.js +6 -1
- package/src/serializers/remarkSlate.js +9 -1
- package/dist/esm/MarkdownControl/PlateEditor.js +0 -149
- package/dist/esm/components/Icons.js +0 -174
- package/dist/esm/components/plate-ui/blockquote-element.js +0 -28
- package/dist/esm/components/plate-ui/button.js +0 -66
- package/dist/esm/components/plate-ui/code-block-combobox.js +0 -66
- package/dist/esm/components/plate-ui/code-block-element.css +0 -434
- package/dist/esm/components/plate-ui/code-block-element.js +0 -41
- package/dist/esm/components/plate-ui/code-leaf.js +0 -28
- package/dist/esm/components/plate-ui/code-line-element.js +0 -16
- package/dist/esm/components/plate-ui/code-syntax-leaf.js +0 -34
- package/dist/esm/components/plate-ui/command.js +0 -55
- package/dist/esm/components/plate-ui/dialog.js +0 -44
- package/dist/esm/components/plate-ui/dropdown-menu.js +0 -114
- package/dist/esm/components/plate-ui/editor.js +0 -71
- package/dist/esm/components/plate-ui/fixed-toolbar-buttons.js +0 -49
- package/dist/esm/components/plate-ui/fixed-toolbar.js +0 -9
- package/dist/esm/components/plate-ui/floating-toolbar-buttons.js +0 -34
- package/dist/esm/components/plate-ui/floating-toolbar.js +0 -50
- package/dist/esm/components/plate-ui/heading-element.js +0 -52
- package/dist/esm/components/plate-ui/input.js +0 -25
- package/dist/esm/components/plate-ui/insert-dropdown-menu.js +0 -200
- package/dist/esm/components/plate-ui/kbd-leaf.js +0 -27
- package/dist/esm/components/plate-ui/link-element.js +0 -34
- package/dist/esm/components/plate-ui/link-floating-toolbar.js +0 -116
- package/dist/esm/components/plate-ui/list-element.js +0 -38
- package/dist/esm/components/plate-ui/mark-toolbar-button.js +0 -34
- package/dist/esm/components/plate-ui/mode-dropdown-menu.js +0 -67
- package/dist/esm/components/plate-ui/more-dropdown-menu.js +0 -50
- package/dist/esm/components/plate-ui/paragraph-element.js +0 -9
- package/dist/esm/components/plate-ui/placeholder.js +0 -52
- package/dist/esm/components/plate-ui/popover.js +0 -45
- package/dist/esm/components/plate-ui/resizable.js +0 -50
- package/dist/esm/components/plate-ui/separator.js +0 -27
- package/dist/esm/components/plate-ui/table-cell-element.js +0 -97
- package/dist/esm/components/plate-ui/table-element.js +0 -182
- package/dist/esm/components/plate-ui/table-row-element.js +0 -27
- package/dist/esm/components/plate-ui/toolbar.js +0 -99
- package/dist/esm/components/plate-ui/tooltip.js +0 -49
- package/dist/esm/components/plate-ui/turn-into-dropdown-menu.js +0 -129
- package/dist/esm/style/global.css +0 -78
- package/dist/esm/style/input.css +0 -3
- package/dist/esm/style/output.css +0 -557
- package/dist/esm/styles/globals.css +0 -76
|
@@ -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(
|
|
16
|
-
function _toPrimitive(
|
|
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(
|
|
15
|
-
function _toPrimitive(
|
|
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(
|
|
17
|
-
function _toPrimitive(
|
|
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(
|
|
17
|
-
function _toPrimitive(
|
|
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(
|
|
11
|
-
function _toPrimitive(
|
|
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(
|
|
21
|
-
function _toPrimitive(
|
|
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(
|
|
17
|
-
function _toPrimitive(
|
|
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(
|
|
19
|
-
function _toPrimitive(
|
|
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(
|
|
16
|
-
function _toPrimitive(
|
|
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(
|
|
24
|
-
function _toPrimitive(
|
|
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.
|
|
4
|
+
"version": "3.1.4",
|
|
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",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"commonmark-spec": "^0.30.0",
|
|
61
61
|
"slate-hyperscript": "^0.77.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "f16f7369396d25fb62e0e48598e787c1e7eb203c"
|
|
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
|
-
|
|
8
|
+
let [node, path] = Editor.above(editor, lowestMatchedAncestor(editor, 'non-default'));
|
|
9
9
|
|
|
10
|
-
if (
|
|
10
|
+
if (path.length == 0) return false;
|
|
11
11
|
|
|
12
|
-
const isHeading = `${node
|
|
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
|
|
32
|
+
Transforms.unwrapNodes(editor, { match: n => n.type === node.type, split: true });
|
|
20
33
|
|
|
21
34
|
if (mergeWithPrevious) {
|
|
22
35
|
Transforms.mergeNodes(editor);
|
|
@@ -205,7 +205,12 @@ function ThematicBreak(props) {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
function Break(props) {
|
|
208
|
-
return
|
|
208
|
+
return (
|
|
209
|
+
<>
|
|
210
|
+
<br {...props.attributes} />
|
|
211
|
+
{props.children}
|
|
212
|
+
</>
|
|
213
|
+
);
|
|
209
214
|
}
|
|
210
215
|
|
|
211
216
|
function BulletedList(props) {
|
|
@@ -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
|
*
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = PlateEditor;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
require("./../style/output.css");
|
|
9
|
-
var _cn = require("@udecode/cn");
|
|
10
|
-
var _plateCommon = require("@udecode/plate-common");
|
|
11
|
-
var _plateParagraph = require("@udecode/plate-paragraph");
|
|
12
|
-
var _plateHeading = require("@udecode/plate-heading");
|
|
13
|
-
var _plateBlockQuote = require("@udecode/plate-block-quote");
|
|
14
|
-
var _plateCodeBlock = require("@udecode/plate-code-block");
|
|
15
|
-
var _plateLink = require("@udecode/plate-link");
|
|
16
|
-
var _plateList = require("@udecode/plate-list");
|
|
17
|
-
var _plateTable = require("@udecode/plate-table");
|
|
18
|
-
var _plateBasicMarks = require("@udecode/plate-basic-marks");
|
|
19
|
-
var _plateKbd = require("@udecode/plate-kbd");
|
|
20
|
-
var _plateSelection = require("@udecode/plate-selection");
|
|
21
|
-
var _plateResetNode = require("@udecode/plate-reset-node");
|
|
22
|
-
var _plateSelect = require("@udecode/plate-select");
|
|
23
|
-
var _plateBreak = require("@udecode/plate-break");
|
|
24
|
-
var _blockquoteElement = require("./../components/plate-ui/blockquote-element");
|
|
25
|
-
var _codeBlockElement = require("./../components/plate-ui/code-block-element");
|
|
26
|
-
var _codeLineElement = require("./../components/plate-ui/code-line-element");
|
|
27
|
-
var _codeSyntaxLeaf = require("./../components/plate-ui/code-syntax-leaf");
|
|
28
|
-
var _linkElement = require("./../components/plate-ui/link-element");
|
|
29
|
-
var _linkFloatingToolbar = require("./../components/plate-ui/link-floating-toolbar");
|
|
30
|
-
var _headingElement = require("./../components/plate-ui/heading-element");
|
|
31
|
-
var _listElement = require("./../components/plate-ui/list-element");
|
|
32
|
-
var _paragraphElement = require("./../components/plate-ui/paragraph-element");
|
|
33
|
-
var _tableElement = require("./../components/plate-ui/table-element");
|
|
34
|
-
var _tableRowElement = require("./../components/plate-ui/table-row-element");
|
|
35
|
-
var _tableCellElement = require("./../components/plate-ui/table-cell-element");
|
|
36
|
-
var _codeLeaf = require("./../components/plate-ui/code-leaf");
|
|
37
|
-
var _kbdLeaf = require("./../components/plate-ui/kbd-leaf");
|
|
38
|
-
var _editor = require("./../components/plate-ui/editor");
|
|
39
|
-
var _fixedToolbar = require("./../components/plate-ui/fixed-toolbar");
|
|
40
|
-
var _fixedToolbarButtons = require("./../components/plate-ui/fixed-toolbar-buttons");
|
|
41
|
-
var _floatingToolbar = require("./../components/plate-ui/floating-toolbar");
|
|
42
|
-
var _floatingToolbarButtons = require("./../components/plate-ui/floating-toolbar-buttons");
|
|
43
|
-
var _placeholder = require("./../components/plate-ui/placeholder");
|
|
44
|
-
var _react2 = require("@emotion/react");
|
|
45
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
46
|
-
const plugins = (0, _plateCommon.createPlugins)([(0, _plateParagraph.createParagraphPlugin)(), (0, _plateHeading.createHeadingPlugin)(), (0, _plateBlockQuote.createBlockquotePlugin)(), (0, _plateCodeBlock.createCodeBlockPlugin)(), (0, _plateLink.createLinkPlugin)({
|
|
47
|
-
renderAfterEditable: _linkFloatingToolbar.LinkFloatingToolbar
|
|
48
|
-
}), (0, _plateList.createListPlugin)(), (0, _plateTable.createTablePlugin)(), (0, _plateBasicMarks.createBoldPlugin)(), (0, _plateBasicMarks.createItalicPlugin)(), (0, _plateBasicMarks.createUnderlinePlugin)(), (0, _plateBasicMarks.createStrikethroughPlugin)(), (0, _plateBasicMarks.createCodePlugin)(), (0, _plateKbd.createKbdPlugin)(), (0, _plateSelection.createBlockSelectionPlugin)({
|
|
49
|
-
options: {
|
|
50
|
-
sizes: {
|
|
51
|
-
top: 0,
|
|
52
|
-
bottom: 0
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}), (0, _plateResetNode.createResetNodePlugin)({
|
|
56
|
-
options: {
|
|
57
|
-
rules: [
|
|
58
|
-
// Usage: https://platejs.org/docs/reset-node
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
}), (0, _plateSelect.createSelectOnBackspacePlugin)({
|
|
62
|
-
options: {
|
|
63
|
-
query: {
|
|
64
|
-
allow: [
|
|
65
|
-
// ELEMENT_IMAGE, ELEMENT_HR
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}), (0, _plateSelect.createDeletePlugin)(), (0, _plateBreak.createSoftBreakPlugin)({
|
|
70
|
-
options: {
|
|
71
|
-
rules: [{
|
|
72
|
-
hotkey: 'shift+enter'
|
|
73
|
-
}, {
|
|
74
|
-
hotkey: 'enter',
|
|
75
|
-
query: {
|
|
76
|
-
allow: [
|
|
77
|
-
// ELEMENT_CODE_BLOCK, ELEMENT_BLOCKQUOTE, ELEMENT_TD
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
}]
|
|
81
|
-
}
|
|
82
|
-
})], {
|
|
83
|
-
components: (0, _placeholder.withPlaceholders)({
|
|
84
|
-
[_plateBlockQuote.ELEMENT_BLOCKQUOTE]: _blockquoteElement.BlockquoteElement,
|
|
85
|
-
[_plateCodeBlock.ELEMENT_CODE_BLOCK]: _codeBlockElement.CodeBlockElement,
|
|
86
|
-
[_plateCodeBlock.ELEMENT_CODE_LINE]: _codeLineElement.CodeLineElement,
|
|
87
|
-
[_plateCodeBlock.ELEMENT_CODE_SYNTAX]: _codeSyntaxLeaf.CodeSyntaxLeaf,
|
|
88
|
-
[_plateLink.ELEMENT_LINK]: _linkElement.LinkElement,
|
|
89
|
-
[_plateHeading.ELEMENT_H1]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
90
|
-
variant: 'h1'
|
|
91
|
-
}),
|
|
92
|
-
[_plateHeading.ELEMENT_H2]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
93
|
-
variant: 'h2'
|
|
94
|
-
}),
|
|
95
|
-
[_plateHeading.ELEMENT_H3]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
96
|
-
variant: 'h3'
|
|
97
|
-
}),
|
|
98
|
-
[_plateHeading.ELEMENT_H4]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
99
|
-
variant: 'h4'
|
|
100
|
-
}),
|
|
101
|
-
[_plateHeading.ELEMENT_H5]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
102
|
-
variant: 'h5'
|
|
103
|
-
}),
|
|
104
|
-
[_plateHeading.ELEMENT_H6]: (0, _cn.withProps)(_headingElement.HeadingElement, {
|
|
105
|
-
variant: 'h6'
|
|
106
|
-
}),
|
|
107
|
-
[_plateList.ELEMENT_UL]: (0, _cn.withProps)(_listElement.ListElement, {
|
|
108
|
-
variant: 'ul'
|
|
109
|
-
}),
|
|
110
|
-
[_plateList.ELEMENT_OL]: (0, _cn.withProps)(_listElement.ListElement, {
|
|
111
|
-
variant: 'ol'
|
|
112
|
-
}),
|
|
113
|
-
[_plateList.ELEMENT_LI]: (0, _cn.withProps)(_plateCommon.PlateElement, {
|
|
114
|
-
as: 'li'
|
|
115
|
-
}),
|
|
116
|
-
[_plateParagraph.ELEMENT_PARAGRAPH]: _paragraphElement.ParagraphElement,
|
|
117
|
-
[_plateTable.ELEMENT_TABLE]: _tableElement.TableElement,
|
|
118
|
-
[_plateTable.ELEMENT_TR]: _tableRowElement.TableRowElement,
|
|
119
|
-
[_plateTable.ELEMENT_TD]: _tableCellElement.TableCellElement,
|
|
120
|
-
[_plateTable.ELEMENT_TH]: _tableCellElement.TableCellHeaderElement,
|
|
121
|
-
[_plateBasicMarks.MARK_BOLD]: (0, _cn.withProps)(_plateCommon.PlateLeaf, {
|
|
122
|
-
as: 'strong'
|
|
123
|
-
}),
|
|
124
|
-
[_plateBasicMarks.MARK_CODE]: _codeLeaf.CodeLeaf,
|
|
125
|
-
[_plateBasicMarks.MARK_ITALIC]: (0, _cn.withProps)(_plateCommon.PlateLeaf, {
|
|
126
|
-
as: 'em'
|
|
127
|
-
}),
|
|
128
|
-
[_plateKbd.MARK_KBD]: _kbdLeaf.KbdLeaf,
|
|
129
|
-
[_plateBasicMarks.MARK_STRIKETHROUGH]: (0, _cn.withProps)(_plateCommon.PlateLeaf, {
|
|
130
|
-
as: 's'
|
|
131
|
-
}),
|
|
132
|
-
[_plateBasicMarks.MARK_UNDERLINE]: (0, _cn.withProps)(_plateCommon.PlateLeaf, {
|
|
133
|
-
as: 'u'
|
|
134
|
-
})
|
|
135
|
-
})
|
|
136
|
-
});
|
|
137
|
-
const initialValue = [{
|
|
138
|
-
id: '1',
|
|
139
|
-
type: 'p',
|
|
140
|
-
children: [{
|
|
141
|
-
text: 'Hello, World!'
|
|
142
|
-
}]
|
|
143
|
-
}];
|
|
144
|
-
function PlateEditor() {
|
|
145
|
-
return (0, _react2.jsx)(_plateCommon.Plate, {
|
|
146
|
-
plugins: plugins,
|
|
147
|
-
initialValue: initialValue
|
|
148
|
-
}, (0, _react2.jsx)(_fixedToolbar.FixedToolbar, null, (0, _react2.jsx)(_fixedToolbarButtons.FixedToolbarButtons, null)), (0, _react2.jsx)(_editor.Editor, null), (0, _react2.jsx)(_floatingToolbar.FloatingToolbar, null, (0, _react2.jsx)(_floatingToolbarButtons.FloatingToolbarButtons, null)));
|
|
149
|
-
}
|