decap-cms-widget-markdown 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/decap-cms-widget-markdown.js +5 -5
- package/dist/decap-cms-widget-markdown.js.LICENSE.txt +5 -5
- package/dist/decap-cms-widget-markdown.js.map +1 -1
- package/dist/esm/MarkdownControl/RawEditor.js +36 -44
- package/dist/esm/MarkdownControl/Toolbar.js +75 -86
- package/dist/esm/MarkdownControl/ToolbarButton.js +16 -23
- package/dist/esm/MarkdownControl/VisualEditor.js +87 -96
- package/dist/esm/MarkdownControl/components/Shortcode.js +28 -40
- package/dist/esm/MarkdownControl/components/VoidBlock.js +18 -23
- package/dist/esm/MarkdownControl/index.js +54 -59
- package/dist/esm/MarkdownControl/plugins/BreakToDefaultBlock.js +3 -10
- package/dist/esm/MarkdownControl/plugins/CloseBlock.js +3 -10
- package/dist/esm/MarkdownControl/plugins/CommandsAndQueries.js +9 -16
- package/dist/esm/MarkdownControl/plugins/ForceInsert.js +1 -7
- package/dist/esm/MarkdownControl/plugins/Hotkey.js +4 -11
- package/dist/esm/MarkdownControl/plugins/LineBreak.js +3 -10
- package/dist/esm/MarkdownControl/plugins/Link.js +1 -7
- package/dist/esm/MarkdownControl/plugins/blocks/defaultEmptyBlock.js +1 -7
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDown.js +18 -25
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDownBackspace.js +11 -18
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDownEnter.js +9 -16
- package/dist/esm/MarkdownControl/plugins/blocks/events/toggleBlock.js +11 -18
- package/dist/esm/MarkdownControl/plugins/blocks/locations/areCurrentAndPreviousBlocksOfType.js +5 -12
- package/dist/esm/MarkdownControl/plugins/blocks/locations/getListTypeAtCursor.js +4 -11
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtEndOfParagraph.js +5 -12
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfBlockType.js +5 -12
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfNonEmptyHeading.js +5 -11
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorCollapsedAfterSoftBreak.js +4 -10
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInBlockType.js +4 -10
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInNonDefaultBlock.js +5 -11
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/splitIntoParagraph.js +6 -12
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +12 -19
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/wrapListItemsInBlock.js +7 -13
- package/dist/esm/MarkdownControl/plugins/blocks/withBlocks.js +5 -12
- package/dist/esm/MarkdownControl/plugins/html/withHtml.js +29 -14
- package/dist/esm/MarkdownControl/plugins/inlines/events/keyDown.js +11 -18
- package/dist/esm/MarkdownControl/plugins/inlines/events/keyDownShiftEnter.js +5 -11
- package/dist/esm/MarkdownControl/plugins/inlines/events/toggleLink.js +8 -16
- package/dist/esm/MarkdownControl/plugins/inlines/events/toggleMark.js +6 -13
- package/dist/esm/MarkdownControl/plugins/inlines/locations/isMarkActive.js +3 -9
- package/dist/esm/MarkdownControl/plugins/inlines/selectors/getActiveLink.js +4 -11
- package/dist/esm/MarkdownControl/plugins/inlines/transforms/unwrapLink.js +4 -11
- package/dist/esm/MarkdownControl/plugins/inlines/transforms/wrapLink.js +11 -18
- package/dist/esm/MarkdownControl/plugins/inlines/withInlines.js +3 -10
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDown.js +14 -21
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownBackspace.js +11 -18
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownEnter.js +18 -25
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +13 -23
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +15 -26
- package/dist/esm/MarkdownControl/plugins/lists/events/toggleListType.js +11 -18
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorAtListItemStart.js +3 -9
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorAtNoninitialParagraphStart.js +3 -9
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorInItemContainingNestedList.js +3 -10
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorInListItem.js +4 -10
- package/dist/esm/MarkdownControl/plugins/lists/locations/isSelectionWithinNoninitialListItem.js +4 -10
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getListContainedInListItem.js +5 -12
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getLowestAncestorList.js +4 -11
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getLowestAncestorQuote.js +4 -11
- package/dist/esm/MarkdownControl/plugins/lists/transforms/changeListType.js +8 -15
- package/dist/esm/MarkdownControl/plugins/lists/transforms/convertParagraphToListItem.js +8 -15
- package/dist/esm/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +6 -16
- package/dist/esm/MarkdownControl/plugins/lists/transforms/liftListItem.js +13 -20
- package/dist/esm/MarkdownControl/plugins/lists/transforms/mergeWithPreviousListItem.js +6 -13
- package/dist/esm/MarkdownControl/plugins/lists/transforms/moveListToListItem.js +3 -9
- package/dist/esm/MarkdownControl/plugins/lists/transforms/splitListItem.js +12 -19
- package/dist/esm/MarkdownControl/plugins/lists/transforms/splitToNestedList.js +11 -18
- package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapFirstMatchedParent.js +4 -11
- package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +9 -20
- package/dist/esm/MarkdownControl/plugins/lists/transforms/wrapFirstMatchedParent.js +4 -11
- package/dist/esm/MarkdownControl/plugins/lists/transforms/wrapSelectionInList.js +8 -15
- package/dist/esm/MarkdownControl/plugins/lists/withLists.js +19 -26
- package/dist/esm/MarkdownControl/plugins/matchers/lowestMatchedAncestor.js +3 -10
- package/dist/esm/MarkdownControl/plugins/matchers/matchLink.js +3 -9
- package/dist/esm/MarkdownControl/plugins/matchers/matchedAncestors.js +3 -9
- package/dist/esm/MarkdownControl/plugins/shortcodes/insertShortcode.js +6 -13
- package/dist/esm/MarkdownControl/plugins/shortcodes/locations/isCursorInEmptyParagraph.js +5 -11
- package/dist/esm/MarkdownControl/plugins/shortcodes/withShortcodes.js +5 -12
- package/dist/esm/MarkdownControl/plugins/util.js +5 -12
- package/dist/esm/MarkdownControl/renderers.js +90 -102
- package/dist/esm/MarkdownPreview.js +21 -27
- package/dist/esm/index.js +13 -24
- package/dist/esm/regexHelper.js +6 -14
- package/dist/esm/schema.js +1 -7
- package/dist/esm/serializers/index.js +46 -57
- package/dist/esm/serializers/rehypePaperEmoji.js +1 -7
- package/dist/esm/serializers/remarkAllowHtmlEntities.js +1 -7
- package/dist/esm/serializers/remarkAssertParents.js +20 -29
- package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +22 -28
- package/dist/esm/serializers/remarkImagesToText.js +4 -14
- package/dist/esm/serializers/remarkPaddedLinks.js +22 -32
- package/dist/esm/serializers/remarkRehypeShortcodes.js +17 -26
- package/dist/esm/serializers/remarkShortcodes.js +3 -11
- package/dist/esm/serializers/remarkSlate.js +65 -64
- package/dist/esm/serializers/remarkSquashReferences.js +15 -25
- package/dist/esm/serializers/remarkStripTrailingBreaks.js +3 -9
- package/dist/esm/serializers/remarkWrapHtml.js +3 -9
- package/dist/esm/serializers/slateRemark.js +69 -75
- package/dist/esm/styles.js +5 -12
- package/dist/esm/types.js +2 -8
- package/package.json +6 -6
- package/src/MarkdownControl/RawEditor.js +2 -1
- package/src/MarkdownControl/Toolbar.js +5 -0
- package/src/MarkdownControl/VisualEditor.js +3 -2
- package/src/MarkdownControl/components/Shortcode.js +1 -1
- package/src/MarkdownControl/index.js +9 -0
- package/src/MarkdownControl/plugins/CommandsAndQueries.js +3 -1
- package/src/MarkdownControl/plugins/html/withHtml.js +19 -0
- package/src/MarkdownControl/plugins/util.js +2 -1
- package/src/MarkdownPreview.js +5 -0
- package/src/__tests__/renderer.spec.js +84 -117
- package/src/regexHelper.js +1 -1
- package/src/serializers/__tests__/commonmark.spec.js +1 -1
- package/src/serializers/__tests__/slate.spec.js +1 -1
- package/src/serializers/index.js +1 -1
- package/src/serializers/remarkAssertParents.js +4 -1
- package/src/serializers/remarkEscapeMarkdownEntities.js +4 -1
- package/src/serializers/remarkPaddedLinks.js +7 -1
- package/src/serializers/remarkRehypeShortcodes.js +2 -1
- package/src/serializers/remarkSlate.js +6 -1
- package/src/serializers/remarkSquashReferences.js +2 -1
- package/src/serializers/slateRemark.js +6 -1
- package/src/__tests__/__snapshots__/renderer.spec.js.snap +0 -239
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
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
|
-
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
|
-
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(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); }
|
|
1
|
+
import { Transforms } from 'slate';
|
|
13
2
|
function liftFirstMatchedParent(editor, format, options) {
|
|
14
|
-
|
|
3
|
+
Transforms.liftNodes(editor, {
|
|
15
4
|
match: n => n.type === format || format === 'paragraph' && `${n.type}`.startsWith('heading'),
|
|
16
|
-
mode: 'lowest'
|
|
17
|
-
|
|
5
|
+
mode: 'lowest',
|
|
6
|
+
...options
|
|
7
|
+
});
|
|
18
8
|
}
|
|
19
|
-
|
|
9
|
+
export default liftFirstMatchedParent;
|
|
@@ -1,36 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _unwrapFirstMatchedParent = _interopRequireDefault(require("./unwrapFirstMatchedParent"));
|
|
9
|
-
var _liftFirstMatchedParent = _interopRequireDefault(require("./liftFirstMatchedParent"));
|
|
10
|
-
var _getLowestAncestorList = _interopRequireDefault(require("../selectors/getLowestAncestorList"));
|
|
11
|
-
var _getLowestAncestorQuote = _interopRequireDefault(require("../selectors/getLowestAncestorQuote"));
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor } from 'slate';
|
|
2
|
+
import unwrapFirstMatchedParent from './unwrapFirstMatchedParent';
|
|
3
|
+
import liftFirstMatchedParent from './liftFirstMatchedParent';
|
|
4
|
+
import getLowestAncestorList from '../selectors/getLowestAncestorList';
|
|
5
|
+
import getLowestAncestorQuote from '../selectors/getLowestAncestorQuote';
|
|
13
6
|
function liftListItem(editor) {
|
|
14
|
-
|
|
7
|
+
Editor.withoutNormalizing(editor, () => {
|
|
15
8
|
// lift the paragraph out of the list and split if necessary
|
|
16
|
-
(
|
|
9
|
+
liftFirstMatchedParent(editor, 'list-item', {
|
|
17
10
|
split: true
|
|
18
11
|
});
|
|
19
12
|
|
|
20
13
|
// if list is nested and not wrapped in quote, lift into the parent list, unwrap otherwise
|
|
21
|
-
const parentList = (
|
|
22
|
-
const parentQuote = (
|
|
14
|
+
const parentList = getLowestAncestorList(editor);
|
|
15
|
+
const parentQuote = getLowestAncestorQuote(editor);
|
|
23
16
|
if (parentList && !parentQuote || parentList && parentQuote && parentList[1].length > parentQuote[1].length) {
|
|
24
|
-
(
|
|
17
|
+
liftFirstMatchedParent(editor, 'list-item', {
|
|
25
18
|
split: true
|
|
26
19
|
});
|
|
27
20
|
} else {
|
|
28
21
|
// unwrap the paragraph from list-item element
|
|
29
|
-
(
|
|
22
|
+
unwrapFirstMatchedParent(editor, 'list-item');
|
|
30
23
|
}
|
|
31
24
|
});
|
|
32
|
-
|
|
25
|
+
Editor.normalize(editor, {
|
|
33
26
|
force: true
|
|
34
27
|
});
|
|
35
28
|
}
|
|
36
|
-
|
|
29
|
+
export default liftListItem;
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
|
|
10
3
|
function mergeWithPreviousListItem(editor) {
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
Editor.withoutNormalizing(editor, () => {
|
|
5
|
+
Transforms.mergeNodes(editor, lowestMatchedAncestor(editor, 'list-item'));
|
|
13
6
|
});
|
|
14
|
-
|
|
7
|
+
Editor.normalize(editor, {
|
|
15
8
|
force: true
|
|
16
9
|
});
|
|
17
10
|
}
|
|
18
|
-
|
|
11
|
+
export default mergeWithPreviousListItem;
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
1
|
+
import { Transforms } from 'slate';
|
|
8
2
|
function moveListToListItem(editor, listPath, targetListItem) {
|
|
9
3
|
const [targetItem, targetPath] = targetListItem;
|
|
10
4
|
|
|
11
5
|
// move the node to the last child position of the parent node
|
|
12
|
-
|
|
6
|
+
Transforms.moveNodes(editor, {
|
|
13
7
|
at: listPath,
|
|
14
8
|
to: [...targetPath, targetItem.children.length]
|
|
15
9
|
});
|
|
16
10
|
}
|
|
17
|
-
|
|
11
|
+
export default moveListToListItem;
|
|
@@ -1,36 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _liftFirstMatchedParent = _interopRequireDefault(require("./liftFirstMatchedParent"));
|
|
9
|
-
var _wrapFirstMatchedParent = _interopRequireDefault(require("./wrapFirstMatchedParent"));
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Range, Transforms } from 'slate';
|
|
2
|
+
import liftFirstMatchedParent from './liftFirstMatchedParent';
|
|
3
|
+
import wrapFirstMatchedParent from './wrapFirstMatchedParent';
|
|
11
4
|
function splitListItem(editor) {
|
|
12
5
|
if (!editor.selection) return false;
|
|
13
|
-
if (
|
|
14
|
-
|
|
6
|
+
if (Range.isExpanded(editor.selection)) {
|
|
7
|
+
Transforms.delete(editor);
|
|
15
8
|
}
|
|
16
|
-
|
|
9
|
+
Editor.withoutNormalizing(editor, () => {
|
|
17
10
|
// split even if at the end of current text
|
|
18
|
-
|
|
11
|
+
Transforms.splitNodes(editor, {
|
|
19
12
|
always: true
|
|
20
13
|
});
|
|
21
14
|
// set the new node to paragraph (to avoid splitting headings)
|
|
22
|
-
|
|
15
|
+
Transforms.setNodes(editor, {
|
|
23
16
|
type: 'paragraph'
|
|
24
17
|
});
|
|
25
18
|
// wrap the paragraph in a list item
|
|
26
|
-
(
|
|
19
|
+
wrapFirstMatchedParent(editor, 'paragraph', {
|
|
27
20
|
type: 'list-item'
|
|
28
21
|
});
|
|
29
22
|
// lift new list item out the paragraph
|
|
30
|
-
(
|
|
23
|
+
liftFirstMatchedParent(editor, 'list-item');
|
|
31
24
|
});
|
|
32
|
-
|
|
25
|
+
Editor.normalize(editor, {
|
|
33
26
|
force: true
|
|
34
27
|
});
|
|
35
28
|
}
|
|
36
|
-
|
|
29
|
+
export default splitListItem;
|
|
@@ -1,36 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _wrapFirstMatchedParent = _interopRequireDefault(require("./wrapFirstMatchedParent"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Range, Transforms } from 'slate';
|
|
2
|
+
import wrapFirstMatchedParent from './wrapFirstMatchedParent';
|
|
10
3
|
function splitToNestedList(editor, listType) {
|
|
11
4
|
if (!editor.selection) return false;
|
|
12
|
-
if (
|
|
13
|
-
|
|
5
|
+
if (Range.isExpanded(editor.selection)) {
|
|
6
|
+
Transforms.delete(editor);
|
|
14
7
|
}
|
|
15
|
-
|
|
8
|
+
Editor.withoutNormalizing(editor, () => {
|
|
16
9
|
// split even if at the end of current text
|
|
17
|
-
|
|
10
|
+
Transforms.splitNodes(editor, {
|
|
18
11
|
always: true
|
|
19
12
|
});
|
|
20
13
|
// set the new node to paragraph (to avoid splitting headings)
|
|
21
|
-
|
|
14
|
+
Transforms.setNodes(editor, {
|
|
22
15
|
type: 'paragraph'
|
|
23
16
|
});
|
|
24
17
|
// wrap the paragraph in a list item
|
|
25
|
-
(
|
|
18
|
+
wrapFirstMatchedParent(editor, 'paragraph', {
|
|
26
19
|
type: 'list-item'
|
|
27
20
|
});
|
|
28
|
-
(
|
|
21
|
+
wrapFirstMatchedParent(editor, 'list-item', {
|
|
29
22
|
type: listType
|
|
30
23
|
});
|
|
31
24
|
});
|
|
32
|
-
|
|
25
|
+
Editor.normalize(editor, {
|
|
33
26
|
force: true
|
|
34
27
|
});
|
|
35
28
|
}
|
|
36
|
-
|
|
29
|
+
export default splitToNestedList;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
|
|
10
3
|
function unwrapFirstMatchedParent(editor, format) {
|
|
11
|
-
|
|
4
|
+
Transforms.unwrapNodes(editor, lowestMatchedAncestor(editor, format));
|
|
12
5
|
}
|
|
13
|
-
|
|
6
|
+
export default unwrapFirstMatchedParent;
|
|
@@ -1,24 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
-
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
|
-
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(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); }
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
|
|
15
3
|
function unwrapSelectionFromList(editor) {
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
Editor.withoutNormalizing(editor, () => {
|
|
5
|
+
Transforms.unwrapNodes(editor, {
|
|
6
|
+
...lowestMatchedAncestor(editor, 'list'),
|
|
18
7
|
split: true
|
|
19
|
-
})
|
|
20
|
-
|
|
8
|
+
});
|
|
9
|
+
Transforms.unwrapNodes(editor, lowestMatchedAncestor(editor, 'list-item'));
|
|
21
10
|
});
|
|
22
|
-
|
|
11
|
+
Editor.normalize(editor);
|
|
23
12
|
}
|
|
24
|
-
|
|
13
|
+
export default unwrapSelectionFromList;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
|
|
10
3
|
function wrapFirstMatchedParent(editor, format, node) {
|
|
11
|
-
|
|
4
|
+
Transforms.wrapNodes(editor, node, lowestMatchedAncestor(editor, format));
|
|
12
5
|
}
|
|
13
|
-
|
|
6
|
+
export default wrapFirstMatchedParent;
|
|
@@ -1,26 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
|
|
10
3
|
function wrapSelectionInList(editor, type) {
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
Editor.withoutNormalizing(editor, () => {
|
|
5
|
+
Transforms.wrapNodes(editor, {
|
|
13
6
|
type
|
|
14
7
|
});
|
|
15
|
-
const listItems =
|
|
8
|
+
const listItems = Editor.nodes(editor, lowestMatchedAncestor(editor, 'paragraph'));
|
|
16
9
|
for (const listItem of listItems) {
|
|
17
|
-
|
|
10
|
+
Transforms.wrapNodes(editor, {
|
|
18
11
|
type: 'list-item'
|
|
19
12
|
}, {
|
|
20
13
|
at: listItem[1]
|
|
21
14
|
});
|
|
22
15
|
}
|
|
23
16
|
});
|
|
24
|
-
|
|
17
|
+
Editor.normalize(editor);
|
|
25
18
|
}
|
|
26
|
-
|
|
19
|
+
export default wrapSelectionInList;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _keyDown = _interopRequireDefault(require("./events/keyDown"));
|
|
9
|
-
var _moveListToListItem = _interopRequireDefault(require("./transforms/moveListToListItem"));
|
|
10
|
-
var _toggleListType = _interopRequireDefault(require("./events/toggleListType"));
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Element, Node, Transforms } from 'slate';
|
|
2
|
+
import keyDown from './events/keyDown';
|
|
3
|
+
import moveListToListItem from './transforms/moveListToListItem';
|
|
4
|
+
import toggleListType from './events/toggleListType';
|
|
12
5
|
function withLists(editor) {
|
|
13
6
|
const {
|
|
14
7
|
normalizeNode
|
|
@@ -16,16 +9,16 @@ function withLists(editor) {
|
|
|
16
9
|
if (editor.keyDownHandlers === undefined) {
|
|
17
10
|
editor.keyDownHandlers = [];
|
|
18
11
|
}
|
|
19
|
-
editor.keyDownHandlers.push((event, editor) => (
|
|
20
|
-
editor.toggleList = type => (
|
|
12
|
+
editor.keyDownHandlers.push((event, editor) => keyDown(event, editor));
|
|
13
|
+
editor.toggleList = type => toggleListType(editor, type);
|
|
21
14
|
editor.isListItem = () => {
|
|
22
15
|
const {
|
|
23
16
|
selection
|
|
24
17
|
} = editor;
|
|
25
18
|
if (!selection) return false;
|
|
26
|
-
const [match] = Array.from(
|
|
27
|
-
at:
|
|
28
|
-
match: n => !
|
|
19
|
+
const [match] = Array.from(Editor.nodes(editor, {
|
|
20
|
+
at: Editor.unhangRange(editor, selection),
|
|
21
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && Editor.isBlock(editor, n) && n.type !== 'paragraph' && !`${n.type}`.startsWith('heading-'),
|
|
29
22
|
mode: 'lowest'
|
|
30
23
|
}));
|
|
31
24
|
return !!match && match[0].type === 'list-item';
|
|
@@ -34,10 +27,10 @@ function withLists(editor) {
|
|
|
34
27
|
normalizeNode(entry);
|
|
35
28
|
const [node, path] = entry;
|
|
36
29
|
let previousType = null;
|
|
37
|
-
if (
|
|
38
|
-
for (const [child, childPath] of
|
|
30
|
+
if (Element.isElement(node) || Editor.isEditor(node)) {
|
|
31
|
+
for (const [child, childPath] of Node.children(editor, path)) {
|
|
39
32
|
if (`${child.type}`.endsWith('-list') && child.type === previousType) {
|
|
40
|
-
|
|
33
|
+
Transforms.mergeNodes(editor, {
|
|
41
34
|
at: childPath
|
|
42
35
|
});
|
|
43
36
|
break;
|
|
@@ -45,17 +38,17 @@ function withLists(editor) {
|
|
|
45
38
|
previousType = child.type;
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
|
-
if (
|
|
49
|
-
const previousNode =
|
|
41
|
+
if (Element.isElement(node) && `${node.type}`.endsWith('-list')) {
|
|
42
|
+
const previousNode = Editor.previous(editor, {
|
|
50
43
|
at: path
|
|
51
44
|
});
|
|
52
|
-
const [parentNode, parentNodePath] =
|
|
45
|
+
const [parentNode, parentNodePath] = Editor.parent(editor, path);
|
|
53
46
|
if (!previousNode && parentNode.type === 'list-item') {
|
|
54
|
-
const previousListItem =
|
|
47
|
+
const previousListItem = Editor.previous(editor, {
|
|
55
48
|
at: parentNodePath
|
|
56
49
|
});
|
|
57
|
-
(
|
|
58
|
-
|
|
50
|
+
moveListToListItem(editor, path, previousListItem);
|
|
51
|
+
Transforms.removeNodes(editor, {
|
|
59
52
|
at: parentNodePath
|
|
60
53
|
});
|
|
61
54
|
}
|
|
@@ -63,4 +56,4 @@ function withLists(editor) {
|
|
|
63
56
|
};
|
|
64
57
|
return editor;
|
|
65
58
|
}
|
|
66
|
-
|
|
59
|
+
export default withLists;
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _matchedAncestors = _interopRequireDefault(require("./matchedAncestors"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import matchedAncestors from './matchedAncestors';
|
|
9
2
|
function lowestMatchedAncestor(editor, format) {
|
|
10
|
-
return (
|
|
3
|
+
return matchedAncestors(editor, format, 'lowest');
|
|
11
4
|
}
|
|
12
|
-
|
|
5
|
+
export default lowestMatchedAncestor;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
8
2
|
function matchLink() {
|
|
9
3
|
return {
|
|
10
|
-
match: n => !
|
|
4
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === 'link'
|
|
11
5
|
};
|
|
12
6
|
}
|
|
13
|
-
|
|
7
|
+
export default matchLink;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
8
2
|
function matchedAncestors(editor, format, mode) {
|
|
9
3
|
return {
|
|
10
|
-
match: n => !
|
|
4
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && Editor.isBlock(editor, n) && (n.type === format || format === 'heading' && `${n.type}`.startsWith('heading-') || format === 'paragraph' && `${n.type}`.startsWith('heading-') || format === 'block' && !`${n.type}`.startsWith('heading-') && n.type !== 'paragraph' || format === 'list' && `${n.type}`.endsWith('-list')) || format === 'non-default' && n.type !== 'paragraph',
|
|
11
5
|
mode
|
|
12
6
|
};
|
|
13
7
|
}
|
|
14
|
-
|
|
8
|
+
export default matchedAncestors;
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _isCursorInEmptyParagraph = _interopRequireDefault(require("./locations/isCursorInEmptyParagraph"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import isCursorInEmptyParagraph from './locations/isCursorInEmptyParagraph';
|
|
10
3
|
function insertShortcode(editor, pluginConfig) {
|
|
11
4
|
const defaultValues = pluginConfig.fields.toMap().mapKeys((_, field) => field.get('name')).filter(field => field.has('default')).map(field => field.get('default'));
|
|
12
5
|
const nodeData = {
|
|
@@ -21,10 +14,10 @@ function insertShortcode(editor, pluginConfig) {
|
|
|
21
14
|
text: ''
|
|
22
15
|
}]
|
|
23
16
|
};
|
|
24
|
-
if ((
|
|
25
|
-
|
|
17
|
+
if (isCursorInEmptyParagraph(editor)) {
|
|
18
|
+
Transforms.setNodes(editor, nodeData);
|
|
26
19
|
return;
|
|
27
20
|
}
|
|
28
|
-
|
|
21
|
+
Transforms.insertNodes(editor, nodeData);
|
|
29
22
|
}
|
|
30
|
-
|
|
23
|
+
export default insertShortcode;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
1
|
+
import { Editor, Element } from 'slate';
|
|
8
2
|
function isCursorInEmptyParagraph(editor) {
|
|
9
3
|
const {
|
|
10
4
|
selection
|
|
11
5
|
} = editor;
|
|
12
6
|
if (!selection) return false;
|
|
13
|
-
const [match] = Array.from(
|
|
14
|
-
match: n =>
|
|
7
|
+
const [match] = Array.from(Editor.nodes(editor, {
|
|
8
|
+
match: n => Element.isElement(n) && Editor.isBlock(editor, n) && n.type === 'paragraph',
|
|
15
9
|
mode: 'lowest'
|
|
16
10
|
}));
|
|
17
|
-
return !!match &&
|
|
11
|
+
return !!match && Editor.isEmpty(editor, match[0]);
|
|
18
12
|
}
|
|
19
|
-
|
|
13
|
+
export default isCursorInEmptyParagraph;
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _defaultEmptyBlock = _interopRequireDefault(require("../blocks/defaultEmptyBlock"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import defaultEmptyBlock from '../blocks/defaultEmptyBlock';
|
|
10
3
|
function withShortcodes(editor) {
|
|
11
4
|
const {
|
|
12
5
|
isVoid,
|
|
@@ -19,11 +12,11 @@ function withShortcodes(editor) {
|
|
|
19
12
|
// Prevent empty editor after deleting shortcode theat was only child
|
|
20
13
|
editor.normalizeNode = entry => {
|
|
21
14
|
const [node] = entry;
|
|
22
|
-
if (
|
|
23
|
-
|
|
15
|
+
if (Editor.isEditor(node) && node.children.length == 0) {
|
|
16
|
+
Transforms.insertNodes(editor, defaultEmptyBlock());
|
|
24
17
|
}
|
|
25
18
|
normalizeNode(entry);
|
|
26
19
|
};
|
|
27
20
|
return editor;
|
|
28
21
|
}
|
|
29
|
-
|
|
22
|
+
export default withShortcodes;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.assertType = assertType;
|
|
7
|
-
var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
|
|
8
|
-
var _castArray2 = _interopRequireDefault(require("lodash/castArray"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function assertType(nodes, type) {
|
|
11
|
-
const nodesArray = (0, _castArray2.default)(nodes);
|
|
12
|
-
const validate = (0, _isArray2.default)(type) ? node => type.includes(node.type) : node => type === node.type;
|
|
1
|
+
import castArray from 'lodash/castArray';
|
|
2
|
+
import isArray from 'lodash/isArray';
|
|
3
|
+
export function assertType(nodes, type) {
|
|
4
|
+
const nodesArray = castArray(nodes);
|
|
5
|
+
const validate = isArray(type) ? node => type.includes(node.type) : node => type === node.type;
|
|
13
6
|
const invalidNode = nodesArray.find(node => !validate(node));
|
|
14
7
|
if (invalidNode) {
|
|
15
8
|
throw Error(`Expected node of type "${type}", received "${invalidNode.type}".`);
|