decap-cms-widget-markdown 2.16.0-beta.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 +820 -0
- package/LICENSE +22 -0
- package/README.md +9 -0
- package/dist/decap-cms-widget-markdown.js +9 -0
- package/dist/decap-cms-widget-markdown.js.LICENSE.txt +37 -0
- package/dist/decap-cms-widget-markdown.js.map +1 -0
- package/dist/esm/MarkdownControl/RawEditor.js +106 -0
- package/dist/esm/MarkdownControl/Toolbar.js +216 -0
- package/dist/esm/MarkdownControl/ToolbarButton.js +43 -0
- package/dist/esm/MarkdownControl/VisualEditor.js +268 -0
- package/dist/esm/MarkdownControl/components/Shortcode.js +78 -0
- package/dist/esm/MarkdownControl/components/VoidBlock.js +55 -0
- package/dist/esm/MarkdownControl/index.js +129 -0
- package/dist/esm/MarkdownControl/plugins/BreakToDefaultBlock.js +34 -0
- package/dist/esm/MarkdownControl/plugins/CloseBlock.js +36 -0
- package/dist/esm/MarkdownControl/plugins/CommandsAndQueries.js +188 -0
- package/dist/esm/MarkdownControl/plugins/ForceInsert.js +49 -0
- package/dist/esm/MarkdownControl/plugins/Hotkey.js +35 -0
- package/dist/esm/MarkdownControl/plugins/LineBreak.js +21 -0
- package/dist/esm/MarkdownControl/plugins/Link.js +56 -0
- package/dist/esm/MarkdownControl/plugins/blocks/defaultEmptyBlock.js +16 -0
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDown.js +47 -0
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDownBackspace.js +26 -0
- package/dist/esm/MarkdownControl/plugins/blocks/events/keyDownEnter.js +28 -0
- package/dist/esm/MarkdownControl/plugins/blocks/events/toggleBlock.js +46 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/areCurrentAndPreviousBlocksOfType.js +20 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/getListTypeAtCursor.js +16 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtEndOfParagraph.js +19 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfBlockType.js +19 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfNonEmptyHeading.js +20 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInBlockType.js +20 -0
- package/dist/esm/MarkdownControl/plugins/blocks/locations/isCursorInNonDefaultBlock.js +20 -0
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/splitIntoParagraph.js +23 -0
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +36 -0
- package/dist/esm/MarkdownControl/plugins/blocks/transforms/wrapListItemsInBlock.js +27 -0
- package/dist/esm/MarkdownControl/plugins/blocks/withBlocks.js +19 -0
- package/dist/esm/MarkdownControl/plugins/inlines/events/keyDown.js +39 -0
- package/dist/esm/MarkdownControl/plugins/inlines/events/keyDownShiftEnter.js +27 -0
- package/dist/esm/MarkdownControl/plugins/inlines/events/toggleLink.js +24 -0
- package/dist/esm/MarkdownControl/plugins/inlines/events/toggleMark.js +18 -0
- package/dist/esm/MarkdownControl/plugins/inlines/locations/isMarkActive.js +17 -0
- package/dist/esm/MarkdownControl/plugins/inlines/selectors/getActiveLink.js +15 -0
- package/dist/esm/MarkdownControl/plugins/inlines/transforms/unwrapLink.js +14 -0
- package/dist/esm/MarkdownControl/plugins/inlines/transforms/wrapLink.js +45 -0
- package/dist/esm/MarkdownControl/plugins/inlines/withInlines.js +23 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDown.js +38 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownBackspace.js +29 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownEnter.js +44 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +32 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +57 -0
- package/dist/esm/MarkdownControl/plugins/lists/events/toggleListType.js +29 -0
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorAtListItemStart.js +18 -0
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorAtNoninitialParagraphStart.js +17 -0
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorInItemContainingNestedList.js +14 -0
- package/dist/esm/MarkdownControl/plugins/lists/locations/isCursorInListItem.js +20 -0
- package/dist/esm/MarkdownControl/plugins/lists/locations/isSelectionWithinNoninitialListItem.js +18 -0
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getListContainedInListItem.js +18 -0
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getLowestAncestorList.js +15 -0
- package/dist/esm/MarkdownControl/plugins/lists/selectors/getLowestAncestorQuote.js +15 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/changeListType.js +24 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/convertParagraphToListItem.js +27 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +20 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/liftListItem.js +37 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/mergeWithPreviousListItem.js +19 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/moveListToListItem.js +18 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/splitListItem.js +37 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/splitToNestedList.js +37 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapFirstMatchedParent.js +14 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +25 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/wrapFirstMatchedParent.js +14 -0
- package/dist/esm/MarkdownControl/plugins/lists/transforms/wrapSelectionInList.js +27 -0
- package/dist/esm/MarkdownControl/plugins/lists/withLists.js +67 -0
- package/dist/esm/MarkdownControl/plugins/matchers/lowestMatchedAncestor.js +13 -0
- package/dist/esm/MarkdownControl/plugins/matchers/matchLink.js +14 -0
- package/dist/esm/MarkdownControl/plugins/matchers/matchedAncestors.js +15 -0
- package/dist/esm/MarkdownControl/plugins/shortcodes/insertShortcode.js +35 -0
- package/dist/esm/MarkdownControl/plugins/shortcodes/locations/isCursorInEmptyParagraph.js +20 -0
- package/dist/esm/MarkdownControl/plugins/shortcodes/withShortcodes.js +30 -0
- package/dist/esm/MarkdownControl/plugins/util.js +18 -0
- package/dist/esm/MarkdownControl/renderers.js +326 -0
- package/dist/esm/MarkdownPreview.js +47 -0
- package/dist/esm/index.js +31 -0
- package/dist/esm/regexHelper.js +151 -0
- package/dist/esm/schema.js +35 -0
- package/dist/esm/serializers/index.js +233 -0
- package/dist/esm/serializers/rehypePaperEmoji.js +24 -0
- package/dist/esm/serializers/remarkAllowHtmlEntities.js +55 -0
- package/dist/esm/serializers/remarkAssertParents.js +89 -0
- package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +271 -0
- package/dist/esm/serializers/remarkImagesToText.js +41 -0
- package/dist/esm/serializers/remarkPaddedLinks.js +127 -0
- package/dist/esm/serializers/remarkRehypeShortcodes.js +93 -0
- package/dist/esm/serializers/remarkShortcodes.js +123 -0
- package/dist/esm/serializers/remarkSlate.js +518 -0
- package/dist/esm/serializers/remarkSquashReferences.js +88 -0
- package/dist/esm/serializers/remarkStripTrailingBreaks.js +61 -0
- package/dist/esm/serializers/remarkWrapHtml.js +24 -0
- package/dist/esm/serializers/slateRemark.js +512 -0
- package/dist/esm/styles.js +18 -0
- package/dist/esm/types.js +10 -0
- package/package.json +64 -0
- package/src/MarkdownControl/RawEditor.js +100 -0
- package/src/MarkdownControl/Toolbar.js +278 -0
- package/src/MarkdownControl/ToolbarButton.js +48 -0
- package/src/MarkdownControl/VisualEditor.js +293 -0
- package/src/MarkdownControl/__tests__/VisualEditor.spec.js +56 -0
- package/src/MarkdownControl/__tests__/__snapshots__/parser.spec.js.snap +543 -0
- package/src/MarkdownControl/__tests__/parser.spec.js +668 -0
- package/src/MarkdownControl/components/Shortcode.js +74 -0
- package/src/MarkdownControl/components/VoidBlock.js +58 -0
- package/src/MarkdownControl/index.js +125 -0
- package/src/MarkdownControl/plugins/BreakToDefaultBlock.js +23 -0
- package/src/MarkdownControl/plugins/CloseBlock.js +25 -0
- package/src/MarkdownControl/plugins/CommandsAndQueries.js +156 -0
- package/src/MarkdownControl/plugins/ForceInsert.js +38 -0
- package/src/MarkdownControl/plugins/Hotkey.js +29 -0
- package/src/MarkdownControl/plugins/LineBreak.js +15 -0
- package/src/MarkdownControl/plugins/Link.js +40 -0
- package/src/MarkdownControl/plugins/blocks/defaultEmptyBlock.js +8 -0
- package/src/MarkdownControl/plugins/blocks/events/keyDown.js +47 -0
- package/src/MarkdownControl/plugins/blocks/events/keyDownBackspace.js +27 -0
- package/src/MarkdownControl/plugins/blocks/events/keyDownEnter.js +26 -0
- package/src/MarkdownControl/plugins/blocks/events/toggleBlock.js +39 -0
- package/src/MarkdownControl/plugins/blocks/locations/areCurrentAndPreviousBlocksOfType.js +15 -0
- package/src/MarkdownControl/plugins/blocks/locations/getListTypeAtCursor.js +11 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorAtEndOfParagraph.js +14 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfBlockType.js +14 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorAtStartOfNonEmptyHeading.js +22 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorInBlockType.js +27 -0
- package/src/MarkdownControl/plugins/blocks/locations/isCursorInNonDefaultBlock.js +17 -0
- package/src/MarkdownControl/plugins/blocks/transforms/splitIntoParagraph.js +13 -0
- package/src/MarkdownControl/plugins/blocks/transforms/unwrapIfCursorAtStart.js +30 -0
- package/src/MarkdownControl/plugins/blocks/transforms/wrapListItemsInBlock.js +11 -0
- package/src/MarkdownControl/plugins/blocks/withBlocks.js +15 -0
- package/src/MarkdownControl/plugins/inlines/events/keyDown.js +38 -0
- package/src/MarkdownControl/plugins/inlines/events/keyDownShiftEnter.js +28 -0
- package/src/MarkdownControl/plugins/inlines/events/toggleLink.js +17 -0
- package/src/MarkdownControl/plugins/inlines/events/toggleMark.js +13 -0
- package/src/MarkdownControl/plugins/inlines/locations/isMarkActive.js +11 -0
- package/src/MarkdownControl/plugins/inlines/selectors/getActiveLink.js +10 -0
- package/src/MarkdownControl/plugins/inlines/transforms/unwrapLink.js +9 -0
- package/src/MarkdownControl/plugins/inlines/transforms/wrapLink.js +30 -0
- package/src/MarkdownControl/plugins/inlines/withInlines.js +20 -0
- package/src/MarkdownControl/plugins/lists/events/keyDown.js +34 -0
- package/src/MarkdownControl/plugins/lists/events/keyDownBackspace.js +31 -0
- package/src/MarkdownControl/plugins/lists/events/keyDownEnter.js +39 -0
- package/src/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +27 -0
- package/src/MarkdownControl/plugins/lists/events/keyDownTab.js +55 -0
- package/src/MarkdownControl/plugins/lists/events/toggleListType.js +23 -0
- package/src/MarkdownControl/plugins/lists/locations/isCursorAtListItemStart.js +13 -0
- package/src/MarkdownControl/plugins/lists/locations/isCursorAtNoninitialParagraphStart.js +11 -0
- package/src/MarkdownControl/plugins/lists/locations/isCursorInItemContainingNestedList.js +9 -0
- package/src/MarkdownControl/plugins/lists/locations/isCursorInListItem.js +21 -0
- package/src/MarkdownControl/plugins/lists/locations/isSelectionWithinNoninitialListItem.js +14 -0
- package/src/MarkdownControl/plugins/lists/selectors/getListContainedInListItem.js +12 -0
- package/src/MarkdownControl/plugins/lists/selectors/getLowestAncestorList.js +11 -0
- package/src/MarkdownControl/plugins/lists/selectors/getLowestAncestorQuote.js +11 -0
- package/src/MarkdownControl/plugins/lists/transforms/changeListType.js +16 -0
- package/src/MarkdownControl/plugins/lists/transforms/convertParagraphToListItem.js +19 -0
- package/src/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +11 -0
- package/src/MarkdownControl/plugins/lists/transforms/liftListItem.js +30 -0
- package/src/MarkdownControl/plugins/lists/transforms/mergeWithPreviousListItem.js +13 -0
- package/src/MarkdownControl/plugins/lists/transforms/moveListToListItem.js +13 -0
- package/src/MarkdownControl/plugins/lists/transforms/splitListItem.js +33 -0
- package/src/MarkdownControl/plugins/lists/transforms/splitToNestedList.js +33 -0
- package/src/MarkdownControl/plugins/lists/transforms/unwrapFirstMatchedParent.js +9 -0
- package/src/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +14 -0
- package/src/MarkdownControl/plugins/lists/transforms/wrapFirstMatchedParent.js +9 -0
- package/src/MarkdownControl/plugins/lists/transforms/wrapSelectionInList.js +17 -0
- package/src/MarkdownControl/plugins/lists/withLists.js +66 -0
- package/src/MarkdownControl/plugins/matchers/lowestMatchedAncestor.js +6 -0
- package/src/MarkdownControl/plugins/matchers/matchLink.js +9 -0
- package/src/MarkdownControl/plugins/matchers/matchedAncestors.js +18 -0
- package/src/MarkdownControl/plugins/shortcodes/insertShortcode.js +34 -0
- package/src/MarkdownControl/plugins/shortcodes/locations/isCursorInEmptyParagraph.js +17 -0
- package/src/MarkdownControl/plugins/shortcodes/withShortcodes.js +26 -0
- package/src/MarkdownControl/plugins/util.js +11 -0
- package/src/MarkdownControl/renderers.js +352 -0
- package/src/MarkdownPreview.js +27 -0
- package/src/__tests__/__snapshots__/renderer.spec.js.snap +239 -0
- package/src/__tests__/renderer.spec.js +261 -0
- package/src/index.js +16 -0
- package/src/regexHelper.js +137 -0
- package/src/schema.js +35 -0
- package/src/serializers/__tests__/__fixtures__/commonmarkExpected.json +625 -0
- package/src/serializers/__tests__/__fixtures__/duplicate_marks_github_issue_3280.md +1 -0
- package/src/serializers/__tests__/commonmark.spec.js +110 -0
- package/src/serializers/__tests__/index.spec.js +52 -0
- package/src/serializers/__tests__/remarkAllowHtmlEntities.spec.js +25 -0
- package/src/serializers/__tests__/remarkAssertParents.spec.js +171 -0
- package/src/serializers/__tests__/remarkEscapeMarkdownEntities.spec.js +84 -0
- package/src/serializers/__tests__/remarkPaddedLinks.spec.js +43 -0
- package/src/serializers/__tests__/remarkPlugins.spec.js +299 -0
- package/src/serializers/__tests__/remarkShortcodes.spec.js +106 -0
- package/src/serializers/__tests__/remarkSlate.spec.js +67 -0
- package/src/serializers/__tests__/remarkStripTrailingBreaks.spec.js +23 -0
- package/src/serializers/__tests__/slate.spec.js +300 -0
- package/src/serializers/index.js +226 -0
- package/src/serializers/rehypePaperEmoji.js +16 -0
- package/src/serializers/remarkAllowHtmlEntities.js +58 -0
- package/src/serializers/remarkAssertParents.js +83 -0
- package/src/serializers/remarkEscapeMarkdownEntities.js +269 -0
- package/src/serializers/remarkImagesToText.js +26 -0
- package/src/serializers/remarkPaddedLinks.js +120 -0
- package/src/serializers/remarkRehypeShortcodes.js +67 -0
- package/src/serializers/remarkShortcodes.js +106 -0
- package/src/serializers/remarkSlate.js +425 -0
- package/src/serializers/remarkSquashReferences.js +73 -0
- package/src/serializers/remarkStripTrailingBreaks.js +56 -0
- package/src/serializers/remarkWrapHtml.js +20 -0
- package/src/serializers/slateRemark.js +468 -0
- package/src/styles.js +13 -0
- package/src/types.js +3 -0
- package/test-helpers/h.js +32 -0
- package/webpack.config.js +3 -0
package/dist/esm/MarkdownControl/plugins/lists/locations/isSelectionWithinNoninitialListItem.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
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 isSelectionWithinNoninitialListItem(editor) {
|
|
9
|
+
if (!editor.selection) return false;
|
|
10
|
+
const [, path] = _slate.Editor.above(editor, {
|
|
11
|
+
match: n => n.type === 'list-item',
|
|
12
|
+
mode: 'lowest',
|
|
13
|
+
at: _slate.Range.start(editor.selection)
|
|
14
|
+
});
|
|
15
|
+
if (path && path.length > 0 && path[path.length - 1] > 0) return true;
|
|
16
|
+
}
|
|
17
|
+
var _default = isSelectionWithinNoninitialListItem;
|
|
18
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
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 getListContainedInListItem(editor) {
|
|
11
|
+
if (!editor.selection) return false;
|
|
12
|
+
const [, paragraphPath] = _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'paragraph'));
|
|
13
|
+
return _slate.Editor.next(editor, {
|
|
14
|
+
at: paragraphPath
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
var _default = getListContainedInListItem;
|
|
18
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
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 getLowestAncestorList(editor) {
|
|
11
|
+
if (!editor.selection) return false;
|
|
12
|
+
return _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'list'));
|
|
13
|
+
}
|
|
14
|
+
var _default = getLowestAncestorList;
|
|
15
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
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 getLowestAncestorQuote(editor) {
|
|
11
|
+
if (!editor.selection) return false;
|
|
12
|
+
return _slate.Editor.above(editor, (0, _lowestMatchedAncestor.default)(editor, 'quote'));
|
|
13
|
+
}
|
|
14
|
+
var _default = getLowestAncestorQuote;
|
|
15
|
+
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
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 changeListType(editor, type) {
|
|
11
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
12
|
+
// wrap selected list items into new type
|
|
13
|
+
_slate.Transforms.wrapNodes(editor, {
|
|
14
|
+
type
|
|
15
|
+
}, (0, _lowestMatchedAncestor.default)(editor, 'list-item'));
|
|
16
|
+
// lift the new list of the current list, split if necessary
|
|
17
|
+
_slate.Transforms.liftNodes(editor, (0, _lowestMatchedAncestor.default)(editor, type));
|
|
18
|
+
});
|
|
19
|
+
_slate.Editor.normalize(editor, {
|
|
20
|
+
force: true
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
var _default = changeListType;
|
|
24
|
+
exports.default = _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
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 }; }
|
|
11
|
+
function convertParagraphToListItem(editor) {
|
|
12
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
13
|
+
// wrap the paragraph in a list item
|
|
14
|
+
(0, _wrapFirstMatchedParent.default)(editor, 'paragraph', {
|
|
15
|
+
type: 'list-item'
|
|
16
|
+
});
|
|
17
|
+
// lift the new list-item of the current list-item, split if necessary
|
|
18
|
+
(0, _liftFirstMatchedParent.default)(editor, 'list-item', {
|
|
19
|
+
split: true
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
_slate.Editor.normalize(editor, {
|
|
23
|
+
force: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
var _default = convertParagraphToListItem;
|
|
27
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
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); }
|
|
13
|
+
function liftFirstMatchedParent(editor, format, options) {
|
|
14
|
+
_slate.Transforms.liftNodes(editor, _objectSpread({
|
|
15
|
+
match: n => n.type === format || format === 'paragraph' && `${n.type}`.startsWith('heading'),
|
|
16
|
+
mode: 'lowest'
|
|
17
|
+
}, options));
|
|
18
|
+
}
|
|
19
|
+
var _default = liftFirstMatchedParent;
|
|
20
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
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 }; }
|
|
13
|
+
function liftListItem(editor) {
|
|
14
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
15
|
+
// lift the paragraph out of the list and split if necessary
|
|
16
|
+
(0, _liftFirstMatchedParent.default)(editor, 'list-item', {
|
|
17
|
+
split: true
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// if list is nested and not wrapped in quote, lift into the parent list, unwrap otherwise
|
|
21
|
+
const parentList = (0, _getLowestAncestorList.default)(editor);
|
|
22
|
+
const parentQuote = (0, _getLowestAncestorQuote.default)(editor);
|
|
23
|
+
if (parentList && !parentQuote || parentList && parentQuote && parentList[1].length > parentQuote[1].length) {
|
|
24
|
+
(0, _liftFirstMatchedParent.default)(editor, 'list-item', {
|
|
25
|
+
split: true
|
|
26
|
+
});
|
|
27
|
+
} else {
|
|
28
|
+
// unwrap the paragraph from list-item element
|
|
29
|
+
(0, _unwrapFirstMatchedParent.default)(editor, 'list-item');
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
_slate.Editor.normalize(editor, {
|
|
33
|
+
force: true
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
var _default = liftListItem;
|
|
37
|
+
exports.default = _default;
|
|
@@ -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
|
+
var _lowestMatchedAncestor = _interopRequireDefault(require("../../matchers/lowestMatchedAncestor"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function mergeWithPreviousListItem(editor) {
|
|
11
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
12
|
+
_slate.Transforms.mergeNodes(editor, (0, _lowestMatchedAncestor.default)(editor, 'list-item'));
|
|
13
|
+
});
|
|
14
|
+
_slate.Editor.normalize(editor, {
|
|
15
|
+
force: true
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
var _default = mergeWithPreviousListItem;
|
|
19
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
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 moveListToListItem(editor, listPath, targetListItem) {
|
|
9
|
+
const [targetItem, targetPath] = targetListItem;
|
|
10
|
+
|
|
11
|
+
// move the node to the last child position of the parent node
|
|
12
|
+
_slate.Transforms.moveNodes(editor, {
|
|
13
|
+
at: listPath,
|
|
14
|
+
to: [...targetPath, targetItem.children.length]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
var _default = moveListToListItem;
|
|
18
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
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 }; }
|
|
11
|
+
function splitListItem(editor) {
|
|
12
|
+
if (!editor.selection) return false;
|
|
13
|
+
if (_slate.Range.isExpanded(editor.selection)) {
|
|
14
|
+
_slate.Transforms.delete(editor);
|
|
15
|
+
}
|
|
16
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
17
|
+
// split even if at the end of current text
|
|
18
|
+
_slate.Transforms.splitNodes(editor, {
|
|
19
|
+
always: true
|
|
20
|
+
});
|
|
21
|
+
// set the new node to paragraph (to avoid splitting headings)
|
|
22
|
+
_slate.Transforms.setNodes(editor, {
|
|
23
|
+
type: 'paragraph'
|
|
24
|
+
});
|
|
25
|
+
// wrap the paragraph in a list item
|
|
26
|
+
(0, _wrapFirstMatchedParent.default)(editor, 'paragraph', {
|
|
27
|
+
type: 'list-item'
|
|
28
|
+
});
|
|
29
|
+
// lift new list item out the paragraph
|
|
30
|
+
(0, _liftFirstMatchedParent.default)(editor, 'list-item');
|
|
31
|
+
});
|
|
32
|
+
_slate.Editor.normalize(editor, {
|
|
33
|
+
force: true
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
var _default = splitListItem;
|
|
37
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
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 }; }
|
|
10
|
+
function splitToNestedList(editor, listType) {
|
|
11
|
+
if (!editor.selection) return false;
|
|
12
|
+
if (_slate.Range.isExpanded(editor.selection)) {
|
|
13
|
+
_slate.Transforms.delete(editor);
|
|
14
|
+
}
|
|
15
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
16
|
+
// split even if at the end of current text
|
|
17
|
+
_slate.Transforms.splitNodes(editor, {
|
|
18
|
+
always: true
|
|
19
|
+
});
|
|
20
|
+
// set the new node to paragraph (to avoid splitting headings)
|
|
21
|
+
_slate.Transforms.setNodes(editor, {
|
|
22
|
+
type: 'paragraph'
|
|
23
|
+
});
|
|
24
|
+
// wrap the paragraph in a list item
|
|
25
|
+
(0, _wrapFirstMatchedParent.default)(editor, 'paragraph', {
|
|
26
|
+
type: 'list-item'
|
|
27
|
+
});
|
|
28
|
+
(0, _wrapFirstMatchedParent.default)(editor, 'list-item', {
|
|
29
|
+
type: listType
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
_slate.Editor.normalize(editor, {
|
|
33
|
+
force: true
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
var _default = splitToNestedList;
|
|
37
|
+
exports.default = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
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 unwrapFirstMatchedParent(editor, format) {
|
|
11
|
+
_slate.Transforms.unwrapNodes(editor, (0, _lowestMatchedAncestor.default)(editor, format));
|
|
12
|
+
}
|
|
13
|
+
var _default = unwrapFirstMatchedParent;
|
|
14
|
+
exports.default = _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
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(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
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); }
|
|
15
|
+
function unwrapSelectionFromList(editor) {
|
|
16
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
17
|
+
_slate.Transforms.unwrapNodes(editor, _objectSpread(_objectSpread({}, (0, _lowestMatchedAncestor.default)(editor, 'list')), {}, {
|
|
18
|
+
split: true
|
|
19
|
+
}));
|
|
20
|
+
_slate.Transforms.unwrapNodes(editor, (0, _lowestMatchedAncestor.default)(editor, 'list-item'));
|
|
21
|
+
});
|
|
22
|
+
_slate.Editor.normalize(editor);
|
|
23
|
+
}
|
|
24
|
+
var _default = unwrapSelectionFromList;
|
|
25
|
+
exports.default = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
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 wrapFirstMatchedParent(editor, format, node) {
|
|
11
|
+
_slate.Transforms.wrapNodes(editor, node, (0, _lowestMatchedAncestor.default)(editor, format));
|
|
12
|
+
}
|
|
13
|
+
var _default = wrapFirstMatchedParent;
|
|
14
|
+
exports.default = _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
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 wrapSelectionInList(editor, type) {
|
|
11
|
+
_slate.Editor.withoutNormalizing(editor, () => {
|
|
12
|
+
_slate.Transforms.wrapNodes(editor, {
|
|
13
|
+
type
|
|
14
|
+
});
|
|
15
|
+
const listItems = _slate.Editor.nodes(editor, (0, _lowestMatchedAncestor.default)(editor, 'paragraph'));
|
|
16
|
+
for (const listItem of listItems) {
|
|
17
|
+
_slate.Transforms.wrapNodes(editor, {
|
|
18
|
+
type: 'list-item'
|
|
19
|
+
}, {
|
|
20
|
+
at: listItem[1]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
_slate.Editor.normalize(editor);
|
|
25
|
+
}
|
|
26
|
+
var _default = wrapSelectionInList;
|
|
27
|
+
exports.default = _default;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
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 }; }
|
|
12
|
+
function withLists(editor) {
|
|
13
|
+
const {
|
|
14
|
+
normalizeNode
|
|
15
|
+
} = editor;
|
|
16
|
+
if (editor.keyDownHandlers === undefined) {
|
|
17
|
+
editor.keyDownHandlers = [];
|
|
18
|
+
}
|
|
19
|
+
editor.keyDownHandlers.push((event, editor) => (0, _keyDown.default)(event, editor));
|
|
20
|
+
editor.toggleList = type => (0, _toggleListType.default)(editor, type);
|
|
21
|
+
editor.isListItem = () => {
|
|
22
|
+
const {
|
|
23
|
+
selection
|
|
24
|
+
} = editor;
|
|
25
|
+
if (!selection) return false;
|
|
26
|
+
const [match] = Array.from(_slate.Editor.nodes(editor, {
|
|
27
|
+
at: _slate.Editor.unhangRange(editor, selection),
|
|
28
|
+
match: n => !_slate.Editor.isEditor(n) && _slate.Element.isElement(n) && _slate.Editor.isBlock(editor, n) && n.type !== 'paragraph' && !`${n.type}`.startsWith('heading-'),
|
|
29
|
+
mode: 'lowest'
|
|
30
|
+
}));
|
|
31
|
+
return !!match && match[0].type === 'list-item';
|
|
32
|
+
};
|
|
33
|
+
editor.normalizeNode = entry => {
|
|
34
|
+
normalizeNode(entry);
|
|
35
|
+
const [node, path] = entry;
|
|
36
|
+
let previousType = null;
|
|
37
|
+
if (_slate.Element.isElement(node) || _slate.Editor.isEditor(node)) {
|
|
38
|
+
for (const [child, childPath] of _slate.Node.children(editor, path)) {
|
|
39
|
+
if (`${child.type}`.endsWith('-list') && child.type === previousType) {
|
|
40
|
+
_slate.Transforms.mergeNodes(editor, {
|
|
41
|
+
at: childPath
|
|
42
|
+
});
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
previousType = child.type;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (_slate.Element.isElement(node) && `${node.type}`.endsWith('-list')) {
|
|
49
|
+
const previousNode = _slate.Editor.previous(editor, {
|
|
50
|
+
at: path
|
|
51
|
+
});
|
|
52
|
+
const [parentNode, parentNodePath] = _slate.Editor.parent(editor, path);
|
|
53
|
+
if (!previousNode && parentNode.type === 'list-item') {
|
|
54
|
+
const previousListItem = _slate.Editor.previous(editor, {
|
|
55
|
+
at: parentNodePath
|
|
56
|
+
});
|
|
57
|
+
(0, _moveListToListItem.default)(editor, path, previousListItem);
|
|
58
|
+
_slate.Transforms.removeNodes(editor, {
|
|
59
|
+
at: parentNodePath
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return editor;
|
|
65
|
+
}
|
|
66
|
+
var _default = withLists;
|
|
67
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
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 }; }
|
|
9
|
+
function lowestMatchedAncestor(editor, format) {
|
|
10
|
+
return (0, _matchedAncestors.default)(editor, format, 'lowest');
|
|
11
|
+
}
|
|
12
|
+
var _default = lowestMatchedAncestor;
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
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 matchLink() {
|
|
9
|
+
return {
|
|
10
|
+
match: n => !_slate.Editor.isEditor(n) && _slate.Element.isElement(n) && n.type === 'link'
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var _default = matchLink;
|
|
14
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 matchedAncestors(editor, format, mode) {
|
|
9
|
+
return {
|
|
10
|
+
match: n => !_slate.Editor.isEditor(n) && _slate.Element.isElement(n) && _slate.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
|
+
mode
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var _default = matchedAncestors;
|
|
15
|
+
exports.default = _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
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 }; }
|
|
10
|
+
function insertShortcode(editor, pluginConfig) {
|
|
11
|
+
const defaultValues = pluginConfig.fields.toMap().mapKeys((_, field) => field.get('name')).filter(field => field.has('default')).map(field => field.get('default'));
|
|
12
|
+
|
|
13
|
+
// console.log(defaultValues);
|
|
14
|
+
|
|
15
|
+
const nodeData = {
|
|
16
|
+
type: 'shortcode',
|
|
17
|
+
id: pluginConfig.id,
|
|
18
|
+
data: {
|
|
19
|
+
shortcode: pluginConfig.id,
|
|
20
|
+
shortcodeNew: true,
|
|
21
|
+
shortcodeData: defaultValues.toJS()
|
|
22
|
+
},
|
|
23
|
+
children: [{
|
|
24
|
+
text: ''
|
|
25
|
+
}]
|
|
26
|
+
};
|
|
27
|
+
if ((0, _isCursorInEmptyParagraph.default)(editor)) {
|
|
28
|
+
_slate.Transforms.setNodes(editor, nodeData);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
_slate.Transforms.insertNodes(editor, nodeData);
|
|
32
|
+
console.log('handleInsertShortcode', pluginConfig);
|
|
33
|
+
}
|
|
34
|
+
var _default = insertShortcode;
|
|
35
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 isCursorInEmptyParagraph(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.isEmpty(editor, match[0]);
|
|
18
|
+
}
|
|
19
|
+
var _default = isCursorInEmptyParagraph;
|
|
20
|
+
exports.default = _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
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 }; }
|
|
10
|
+
function withShortcodes(editor) {
|
|
11
|
+
const {
|
|
12
|
+
isVoid,
|
|
13
|
+
normalizeNode
|
|
14
|
+
} = editor;
|
|
15
|
+
editor.isVoid = element => {
|
|
16
|
+
return element.type === 'shortcode' ? true : isVoid(element);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Prevent empty editor after deleting shortcode theat was only child
|
|
20
|
+
editor.normalizeNode = entry => {
|
|
21
|
+
const [node] = entry;
|
|
22
|
+
if (_slate.Editor.isEditor(node) && node.children.length == 0) {
|
|
23
|
+
_slate.Transforms.insertNodes(editor, (0, _defaultEmptyBlock.default)());
|
|
24
|
+
}
|
|
25
|
+
normalizeNode(entry);
|
|
26
|
+
};
|
|
27
|
+
return editor;
|
|
28
|
+
}
|
|
29
|
+
var _default = withShortcodes;
|
|
30
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
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;
|
|
13
|
+
const invalidNode = nodesArray.find(node => !validate(node));
|
|
14
|
+
if (invalidNode) {
|
|
15
|
+
throw Error(`Expected node of type "${type}", received "${invalidNode.type}".`);
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
}
|