decap-cms-widget-markdown 3.2.0 → 3.3.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 +10 -0
- package/dist/decap-cms-widget-markdown.js +4 -4
- package/dist/decap-cms-widget-markdown.js.map +1 -1
- package/dist/esm/MarkdownControl/RawEditor.js +36 -43
- package/dist/esm/MarkdownControl/Toolbar.js +52 -59
- package/dist/esm/MarkdownControl/ToolbarButton.js +16 -23
- package/dist/esm/MarkdownControl/VisualEditor.js +85 -92
- package/dist/esm/MarkdownControl/components/Shortcode.js +24 -31
- package/dist/esm/MarkdownControl/components/VoidBlock.js +18 -23
- package/dist/esm/MarkdownControl/index.js +30 -35
- 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 +8 -15
- 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 +7 -14
- 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 +9 -16
- package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +13 -20
- 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 +3 -9
- 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 +7 -14
- 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 +84 -91
- package/dist/esm/MarkdownPreview.js +14 -21
- package/dist/esm/index.js +10 -17
- package/dist/esm/regexHelper.js +6 -15
- 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 +17 -23
- package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +14 -20
- package/dist/esm/serializers/remarkImagesToText.js +1 -7
- package/dist/esm/serializers/remarkPaddedLinks.js +20 -26
- package/dist/esm/serializers/remarkRehypeShortcodes.js +12 -18
- package/dist/esm/serializers/remarkShortcodes.js +3 -11
- package/dist/esm/serializers/remarkSlate.js +18 -26
- package/dist/esm/serializers/remarkSquashReferences.js +13 -19
- package/dist/esm/serializers/remarkStripTrailingBreaks.js +3 -9
- package/dist/esm/serializers/remarkWrapHtml.js +3 -9
- package/dist/esm/serializers/slateRemark.js +35 -41
- package/dist/esm/styles.js +5 -12
- package/dist/esm/types.js +2 -8
- package/package.json +2 -2
- package/src/MarkdownControl/RawEditor.js +2 -1
- package/src/MarkdownControl/VisualEditor.js +2 -1
- package/src/MarkdownControl/index.js +4 -0
- package/src/MarkdownControl/plugins/html/withHtml.js +19 -0
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _omit2 = _interopRequireDefault(require("lodash/omit"));
|
|
8
|
-
var _intersection2 = _interopRequireDefault(require("lodash/intersection"));
|
|
9
|
-
var _map2 = _interopRequireDefault(require("lodash/map"));
|
|
10
|
-
var _last2 = _interopRequireDefault(require("lodash/last"));
|
|
11
|
-
var _without2 = _interopRequireDefault(require("lodash/without"));
|
|
12
|
-
var _get4 = _interopRequireDefault(require("lodash/get"));
|
|
13
|
-
var _unistBuilder = _interopRequireDefault(require("unist-builder"));
|
|
14
|
-
var _mdastUtilToString = _interopRequireDefault(require("mdast-util-to-string"));
|
|
1
|
+
import _omit from "lodash/omit";
|
|
2
|
+
import _intersection from "lodash/intersection";
|
|
3
|
+
import _map from "lodash/map";
|
|
4
|
+
import _last from "lodash/last";
|
|
5
|
+
import _without from "lodash/without";
|
|
6
|
+
import _get from "lodash/get";
|
|
15
7
|
const _excluded = ["lang", "code"],
|
|
16
8
|
_excluded2 = ["url", "title", "alt"];
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
19
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
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; }
|
|
@@ -22,6 +13,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
22
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; }
|
|
23
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
24
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
|
+
import u from 'unist-builder';
|
|
17
|
+
import mdastToString from 'mdast-util-to-string';
|
|
18
|
+
|
|
25
19
|
/**
|
|
26
20
|
* Map of Slate node types to MDAST/Remark node types.
|
|
27
21
|
*/
|
|
@@ -62,7 +56,7 @@ const blockTypes = ['paragraph', 'quote', 'heading-one', 'heading-two', 'heading
|
|
|
62
56
|
const inlineTypes = ['link', 'image', 'break'];
|
|
63
57
|
const leadingWhitespaceExp = /^\s+\S/;
|
|
64
58
|
const trailingWhitespaceExp = /(?!\S)\s+$/;
|
|
65
|
-
function slateToRemark(value, {
|
|
59
|
+
export default function slateToRemark(value, {
|
|
66
60
|
voidCodeBlock
|
|
67
61
|
}) {
|
|
68
62
|
/**
|
|
@@ -106,7 +100,7 @@ function slateToRemark(value, {
|
|
|
106
100
|
case 'image':
|
|
107
101
|
case 'break':
|
|
108
102
|
{
|
|
109
|
-
const data = (
|
|
103
|
+
const data = _omit(node.data, 'marks');
|
|
110
104
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
111
105
|
data
|
|
112
106
|
});
|
|
@@ -139,12 +133,12 @@ function slateToRemark(value, {
|
|
|
139
133
|
}) => type !== 'code') : n.marks, delete newNode.code;
|
|
140
134
|
return newNode;
|
|
141
135
|
});
|
|
142
|
-
const childMarks = (
|
|
143
|
-
return (
|
|
136
|
+
const childMarks = _map(nodesWithoutCode, getNodeMarks);
|
|
137
|
+
return _intersection(...childMarks);
|
|
144
138
|
}
|
|
145
139
|
case 'break':
|
|
146
140
|
case 'image':
|
|
147
|
-
return (
|
|
141
|
+
return _map(_get(node, ['data', 'marks']), mark => mark.type);
|
|
148
142
|
default:
|
|
149
143
|
return getNodeMarkArray(node);
|
|
150
144
|
}
|
|
@@ -154,7 +148,7 @@ function slateToRemark(value, {
|
|
|
154
148
|
}
|
|
155
149
|
function getSharedMarks(marks, node) {
|
|
156
150
|
const nodeMarks = getNodeMarks(node);
|
|
157
|
-
const sharedMarks = (
|
|
151
|
+
const sharedMarks = _intersection(marks, nodeMarks);
|
|
158
152
|
if (sharedMarks[0] === 'code') {
|
|
159
153
|
return nodeMarks.length === 1 ? marks : [];
|
|
160
154
|
}
|
|
@@ -167,7 +161,7 @@ function slateToRemark(value, {
|
|
|
167
161
|
// If only the code mark is present, don't allow it to be shared with other
|
|
168
162
|
// nodes.
|
|
169
163
|
if (firstGroupMarks[0] === 'code' && firstGroupMarks.length > 1) {
|
|
170
|
-
firstGroupMarks = [...(
|
|
164
|
+
firstGroupMarks = [..._without('firstGroupMarks', 'code'), 'code'];
|
|
171
165
|
}
|
|
172
166
|
let splitIndex = 1;
|
|
173
167
|
if (firstGroupMarks.length > 0) {
|
|
@@ -237,7 +231,7 @@ function slateToRemark(value, {
|
|
|
237
231
|
whitespace: leadingWhitespace,
|
|
238
232
|
trimmedNode: leadingNode
|
|
239
233
|
} = splitWhitespace(nodes[0]);
|
|
240
|
-
const lastNode = nodes.length > 1 ? (
|
|
234
|
+
const lastNode = nodes.length > 1 ? _last(nodes) : leadingNode;
|
|
241
235
|
const trailingSplitResult = splitWhitespace(lastNode, {
|
|
242
236
|
trailing: true
|
|
243
237
|
});
|
|
@@ -253,7 +247,7 @@ function slateToRemark(value, {
|
|
|
253
247
|
};
|
|
254
248
|
}
|
|
255
249
|
function createText(text) {
|
|
256
|
-
return text && (
|
|
250
|
+
return text && u('html', text);
|
|
257
251
|
}
|
|
258
252
|
function isNodeInline(node) {
|
|
259
253
|
return inlineTypes.includes(node.type);
|
|
@@ -273,7 +267,7 @@ function slateToRemark(value, {
|
|
|
273
267
|
*/
|
|
274
268
|
if (markType === 'code') {
|
|
275
269
|
const node = markNodes[0];
|
|
276
|
-
convertedNodes.push((
|
|
270
|
+
convertedNodes.push(u(markMap[markType], node.data, node.text));
|
|
277
271
|
} else if (!markType && markNodes.length === 1 && isNodeInline(nextNode)) {
|
|
278
272
|
const node = markNodes[0];
|
|
279
273
|
convertedNodes.push(convertInlineNode(node, convertInlineAndTextChildren(node.children)));
|
|
@@ -284,11 +278,11 @@ function slateToRemark(value, {
|
|
|
284
278
|
centerNodes
|
|
285
279
|
} = normalizeFlankingWhitespace(markNodes);
|
|
286
280
|
const children = convertInlineAndTextChildren(centerNodes);
|
|
287
|
-
const markNode = (
|
|
281
|
+
const markNode = u(markMap[markType], children);
|
|
288
282
|
|
|
289
283
|
// Filter out empty marks, otherwise their output literally by
|
|
290
284
|
// remark-stringify, eg. an empty bold node becomes "****"
|
|
291
|
-
if ((
|
|
285
|
+
if (mdastToString(markNode) === '') {
|
|
292
286
|
remainingNodes = remainder;
|
|
293
287
|
continue;
|
|
294
288
|
}
|
|
@@ -301,7 +295,7 @@ function slateToRemark(value, {
|
|
|
301
295
|
convertedNodes.push(convertInlineNode(nextNode));
|
|
302
296
|
} else {
|
|
303
297
|
remainingNodes.shift();
|
|
304
|
-
convertedNodes.push((
|
|
298
|
+
convertedNodes.push(u('html', nextNode.text));
|
|
305
299
|
}
|
|
306
300
|
}
|
|
307
301
|
return convertedNodes;
|
|
@@ -331,7 +325,7 @@ function slateToRemark(value, {
|
|
|
331
325
|
case 'table-row':
|
|
332
326
|
case 'table-cell':
|
|
333
327
|
{
|
|
334
|
-
return (
|
|
328
|
+
return u(typeMap[node.type], children);
|
|
335
329
|
}
|
|
336
330
|
|
|
337
331
|
/**
|
|
@@ -360,7 +354,7 @@ function slateToRemark(value, {
|
|
|
360
354
|
const {
|
|
361
355
|
data
|
|
362
356
|
} = node;
|
|
363
|
-
return (
|
|
357
|
+
return u(typeMap[node.type], {
|
|
364
358
|
data
|
|
365
359
|
});
|
|
366
360
|
}
|
|
@@ -391,10 +385,10 @@ function slateToRemark(value, {
|
|
|
391
385
|
};
|
|
392
386
|
const depthText = node.type.split('-')[1];
|
|
393
387
|
const depth = depthMap[depthText];
|
|
394
|
-
const mdastNode = (
|
|
388
|
+
const mdastNode = u(typeMap[node.type], {
|
|
395
389
|
depth
|
|
396
390
|
}, children);
|
|
397
|
-
if ((
|
|
391
|
+
if (mdastToString(mdastNode)) {
|
|
398
392
|
return mdastNode;
|
|
399
393
|
}
|
|
400
394
|
return;
|
|
@@ -412,14 +406,14 @@ function slateToRemark(value, {
|
|
|
412
406
|
case 'code-block':
|
|
413
407
|
{
|
|
414
408
|
var _children$;
|
|
415
|
-
const _get2 = (
|
|
409
|
+
const _get2 = _get(node, 'data', {}),
|
|
416
410
|
{
|
|
417
411
|
lang,
|
|
418
412
|
code
|
|
419
413
|
} = _get2,
|
|
420
414
|
data = _objectWithoutProperties(_get2, _excluded);
|
|
421
415
|
const value = voidCodeBlock ? code : (_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.value;
|
|
422
|
-
return (
|
|
416
|
+
return u(typeMap[node.type], {
|
|
423
417
|
lang,
|
|
424
418
|
data
|
|
425
419
|
}, value || '');
|
|
@@ -440,9 +434,9 @@ function slateToRemark(value, {
|
|
|
440
434
|
const ordered = node.type === 'numbered-list';
|
|
441
435
|
const props = {
|
|
442
436
|
ordered,
|
|
443
|
-
start: (
|
|
437
|
+
start: _get(node.data, 'start') || 1
|
|
444
438
|
};
|
|
445
|
-
return (
|
|
439
|
+
return u(typeMap[node.type], props, children);
|
|
446
440
|
}
|
|
447
441
|
|
|
448
442
|
/**
|
|
@@ -452,7 +446,7 @@ function slateToRemark(value, {
|
|
|
452
446
|
*/
|
|
453
447
|
case 'thematic-break':
|
|
454
448
|
{
|
|
455
|
-
return (
|
|
449
|
+
return u(typeMap[node.type]);
|
|
456
450
|
}
|
|
457
451
|
}
|
|
458
452
|
}
|
|
@@ -465,7 +459,7 @@ function slateToRemark(value, {
|
|
|
465
459
|
*/
|
|
466
460
|
case 'break':
|
|
467
461
|
{
|
|
468
|
-
return (
|
|
462
|
+
return u(typeMap[node.type]);
|
|
469
463
|
}
|
|
470
464
|
|
|
471
465
|
/**
|
|
@@ -479,7 +473,7 @@ function slateToRemark(value, {
|
|
|
479
473
|
title,
|
|
480
474
|
data
|
|
481
475
|
} = node;
|
|
482
|
-
return (
|
|
476
|
+
return u(typeMap[node.type], _objectSpread({
|
|
483
477
|
url: node.url,
|
|
484
478
|
title
|
|
485
479
|
}, data), children);
|
|
@@ -493,14 +487,14 @@ function slateToRemark(value, {
|
|
|
493
487
|
*/
|
|
494
488
|
case 'image':
|
|
495
489
|
{
|
|
496
|
-
const _get3 = (
|
|
490
|
+
const _get3 = _get(node, 'data', {}),
|
|
497
491
|
{
|
|
498
492
|
url,
|
|
499
493
|
title,
|
|
500
494
|
alt
|
|
501
495
|
} = _get3,
|
|
502
496
|
data = _objectWithoutProperties(_get3, _excluded2);
|
|
503
|
-
return (
|
|
497
|
+
return u(typeMap[node.type], {
|
|
504
498
|
url,
|
|
505
499
|
title,
|
|
506
500
|
alt,
|
package/dist/esm/styles.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.editorStyleVars = exports.EditorControlBar = void 0;
|
|
7
|
-
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
8
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
const editorStyleVars = exports.editorStyleVars = {
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { zIndex } from 'decap-cms-ui-default';
|
|
3
|
+
export const editorStyleVars = {
|
|
11
4
|
stickyDistanceBottom: '100px'
|
|
12
5
|
};
|
|
13
|
-
const EditorControlBar =
|
|
6
|
+
export const EditorControlBar = /*#__PURE__*/_styled("div", {
|
|
14
7
|
target: "ehaqqzm0",
|
|
15
8
|
label: "EditorControlBar"
|
|
16
|
-
})("z-index:",
|
|
9
|
+
})("z-index:", zIndex.zIndex200, ";position:sticky;top:0;margin-bottom:", editorStyleVars.stickyDistanceBottom, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTzBDIiwiZmlsZSI6Ii4uLy4uL3NyYy9zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB6SW5kZXggfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmV4cG9ydCBjb25zdCBlZGl0b3JTdHlsZVZhcnMgPSB7XG4gIHN0aWNreURpc3RhbmNlQm90dG9tOiAnMTAwcHgnLFxufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRvckNvbnRyb2xCYXIgPSBzdHlsZWQuZGl2YFxuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgyMDB9O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICR7ZWRpdG9yU3R5bGVWYXJzLnN0aWNreURpc3RhbmNlQm90dG9tfTtcbmA7XG4iXX0= */"));
|
package/dist/esm/types.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SLATE_DEFAULT_BLOCK_TYPE = exports.SLATE_BLOCK_PARENT_TYPES = void 0;
|
|
7
|
-
const SLATE_DEFAULT_BLOCK_TYPE = exports.SLATE_DEFAULT_BLOCK_TYPE = 'paragraph';
|
|
8
|
-
const SLATE_BLOCK_PARENT_TYPES = exports.SLATE_BLOCK_PARENT_TYPES = ['list-item', 'quote'];
|
|
1
|
+
export const SLATE_DEFAULT_BLOCK_TYPE = 'paragraph';
|
|
2
|
+
export const SLATE_BLOCK_PARENT_TYPES = ['list-item', 'quote'];
|
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.
|
|
4
|
+
"version": "3.3.0",
|
|
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": "e2165450e5963b2a8d76d4cf331319bf91f05d45"
|
|
64
64
|
}
|
|
@@ -135,8 +135,9 @@ function Editor(props) {
|
|
|
135
135
|
useEffect(() => {
|
|
136
136
|
if (props.pendingFocus) {
|
|
137
137
|
ReactEditor.focus(editor);
|
|
138
|
+
props.pendingFocus();
|
|
138
139
|
}
|
|
139
|
-
}, []);
|
|
140
|
+
}, [props.pendingFocus]);
|
|
140
141
|
|
|
141
142
|
function handleMarkClick(format) {
|
|
142
143
|
ReactEditor.focus(editor);
|
|
@@ -67,6 +67,10 @@ export default class MarkdownControl extends React.Component {
|
|
|
67
67
|
|
|
68
68
|
getAllowedModes = () => this.props.field.get('modes', List(['rich_text', 'raw'])).toArray();
|
|
69
69
|
|
|
70
|
+
focus() {
|
|
71
|
+
this.setState({ pendingFocus: true });
|
|
72
|
+
}
|
|
73
|
+
|
|
70
74
|
render() {
|
|
71
75
|
const {
|
|
72
76
|
onChange,
|
|
@@ -30,6 +30,11 @@ const TEXT_TAGS = {
|
|
|
30
30
|
U: () => ({ underline: true }),
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
+
const INLINE_STYLES = {
|
|
34
|
+
'font-style': value => (value === 'italic' ? { italic: true } : {}),
|
|
35
|
+
'font-weight': value => (value === 'bold' || parseInt(value, 10) >= 600 ? { bold: true } : {}),
|
|
36
|
+
};
|
|
37
|
+
|
|
33
38
|
function deserialize(el) {
|
|
34
39
|
if (el.nodeType === 3) {
|
|
35
40
|
return el.textContent;
|
|
@@ -65,6 +70,20 @@ function deserialize(el) {
|
|
|
65
70
|
return children.map(child => jsx('text', attrs, child));
|
|
66
71
|
}
|
|
67
72
|
|
|
73
|
+
// Convert inline CSS on span elements generated by Google Docs
|
|
74
|
+
if (nodeName === 'SPAN') {
|
|
75
|
+
const attrs = {};
|
|
76
|
+
for (let i = 0; i < el.style.length; i++) {
|
|
77
|
+
const propertyName = el.style[i];
|
|
78
|
+
if (INLINE_STYLES[propertyName]) {
|
|
79
|
+
const propertyValue = el.style.getPropertyValue(propertyName);
|
|
80
|
+
const propertyStyle = INLINE_STYLES[propertyName](propertyValue);
|
|
81
|
+
Object.assign(attrs, propertyStyle);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return children.map(child => jsx('text', attrs, child));
|
|
85
|
+
}
|
|
86
|
+
|
|
68
87
|
return children;
|
|
69
88
|
}
|
|
70
89
|
|