decap-cms-widget-markdown 3.3.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/decap-cms-widget-markdown.js +6 -6
  3. package/dist/decap-cms-widget-markdown.js.LICENSE.txt +5 -5
  4. package/dist/decap-cms-widget-markdown.js.map +1 -1
  5. package/dist/esm/MarkdownControl/RawEditor.js +1 -2
  6. package/dist/esm/MarkdownControl/Toolbar.js +43 -47
  7. package/dist/esm/MarkdownControl/VisualEditor.js +6 -8
  8. package/dist/esm/MarkdownControl/components/Shortcode.js +6 -11
  9. package/dist/esm/MarkdownControl/components/VoidBlock.js +1 -1
  10. package/dist/esm/MarkdownControl/index.js +34 -34
  11. package/dist/esm/MarkdownControl/plugins/CommandsAndQueries.js +8 -8
  12. package/dist/esm/MarkdownControl/plugins/inlines/events/toggleLink.js +1 -2
  13. package/dist/esm/MarkdownControl/plugins/lists/events/keyDownShiftTab.js +6 -9
  14. package/dist/esm/MarkdownControl/plugins/lists/events/keyDownTab.js +3 -7
  15. package/dist/esm/MarkdownControl/plugins/lists/transforms/liftFirstMatchedParent.js +4 -8
  16. package/dist/esm/MarkdownControl/plugins/lists/transforms/unwrapSelectionFromList.js +3 -7
  17. package/dist/esm/MarkdownControl/plugins/util.js +4 -4
  18. package/dist/esm/MarkdownControl/renderers.js +6 -11
  19. package/dist/esm/MarkdownPreview.js +11 -10
  20. package/dist/esm/index.js +4 -8
  21. package/dist/esm/regexHelper.js +4 -3
  22. package/dist/esm/serializers/index.js +2 -2
  23. package/dist/esm/serializers/remarkAssertParents.js +17 -20
  24. package/dist/esm/serializers/remarkEscapeMarkdownEntities.js +17 -17
  25. package/dist/esm/serializers/remarkImagesToText.js +3 -7
  26. package/dist/esm/serializers/remarkPaddedLinks.js +17 -21
  27. package/dist/esm/serializers/remarkRehypeShortcodes.js +10 -13
  28. package/dist/esm/serializers/remarkSlate.js +64 -55
  29. package/dist/esm/serializers/remarkSquashReferences.js +7 -11
  30. package/dist/esm/serializers/slateRemark.js +52 -52
  31. package/package.json +6 -6
  32. package/src/MarkdownControl/Toolbar.js +5 -0
  33. package/src/MarkdownControl/VisualEditor.js +1 -1
  34. package/src/MarkdownControl/components/Shortcode.js +1 -1
  35. package/src/MarkdownControl/index.js +5 -0
  36. package/src/MarkdownControl/plugins/CommandsAndQueries.js +3 -1
  37. package/src/MarkdownControl/plugins/util.js +2 -1
  38. package/src/MarkdownPreview.js +5 -0
  39. package/src/__tests__/renderer.spec.js +84 -117
  40. package/src/regexHelper.js +1 -1
  41. package/src/serializers/__tests__/commonmark.spec.js +1 -1
  42. package/src/serializers/__tests__/slate.spec.js +1 -1
  43. package/src/serializers/index.js +1 -1
  44. package/src/serializers/remarkAssertParents.js +4 -1
  45. package/src/serializers/remarkEscapeMarkdownEntities.js +4 -1
  46. package/src/serializers/remarkPaddedLinks.js +7 -1
  47. package/src/serializers/remarkRehypeShortcodes.js +2 -1
  48. package/src/serializers/remarkSlate.js +6 -1
  49. package/src/serializers/remarkSquashReferences.js +2 -1
  50. package/src/serializers/slateRemark.js +6 -1
  51. package/src/__tests__/__snapshots__/renderer.spec.js.snap +0 -239
@@ -1,14 +1,9 @@
1
- import _omit from "lodash/omit";
2
- 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; }
3
- 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; }
4
- 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; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
6
- 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); }
7
1
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
8
2
  /* eslint-disable react/prop-types */
9
3
  import React, { useState } from 'react';
10
4
  import { css } from '@emotion/react';
11
5
  import { fromJS } from 'immutable';
6
+ import omit from 'lodash/omit';
12
7
  import { ReactEditor, useSlate } from 'slate-react';
13
8
  import { Range, Transforms } from 'slate';
14
9
  import { getEditorControl, getEditorComponents } from '../index';
@@ -18,8 +13,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
18
13
  styles: "margin-top:0;margin-bottom:16px;&:first-of-type{margin-top:0;};label:Shortcode;"
19
14
  } : {
20
15
  name: "1xfnuhy-Shortcode",
21
- styles: "margin-top:0;margin-bottom:16px;&:first-of-type{margin-top:0;};label:Shortcode;",
22
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NYXJrZG93bkNvbnRyb2wvY29tcG9uZW50cy9TaG9ydGNvZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURrQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvTWFya2Rvd25Db250cm9sL2NvbXBvbmVudHMvU2hvcnRjb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgZnJvbUpTIH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUmVhY3RFZGl0b3IsIHVzZVNsYXRlIH0gZnJvbSAnc2xhdGUtcmVhY3QnO1xuaW1wb3J0IHsgUmFuZ2UsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5cbmltcG9ydCB7IGdldEVkaXRvckNvbnRyb2wsIGdldEVkaXRvckNvbXBvbmVudHMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmZ1bmN0aW9uIFNob3J0Y29kZShwcm9wcykge1xuICBjb25zdCBlZGl0b3IgPSB1c2VTbGF0ZSgpO1xuICBjb25zdCB7IGVsZW1lbnQsIGRhdGFLZXkgPSAnc2hvcnRjb2RlRGF0YScsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgY29uc3QgRWRpdG9yQ29udHJvbCA9IGdldEVkaXRvckNvbnRyb2woKTtcbiAgY29uc3QgcGx1Z2luID0gZ2V0RWRpdG9yQ29tcG9uZW50cygpLmdldChlbGVtZW50LmRhdGEuc2hvcnRjb2RlKTtcbiAgY29uc3QgZmllbGRLZXlzID0gWydpZCcsICdmcm9tQmxvY2snLCAndG9CbG9jaycsICd0b1ByZXZpZXcnLCAncGF0dGVybicsICdpY29uJ107XG5cbiAgY29uc3QgZmllbGQgPSBmcm9tSlMob21pdChwbHVnaW4sIGZpZWxkS2V5cykpO1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKGZyb21KUyhlbGVtZW50LmRhdGFbZGF0YUtleV0pKTtcblxuICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZmllbGROYW1lLCB2YWx1ZSwgbWV0YWRhdGEpIHtcbiAgICBjb25zdCBwYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KTtcbiAgICBjb25zdCBuZXdQcm9wZXJ0aWVzID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICAuLi5lbGVtZW50LmRhdGEsXG4gICAgICAgIFtkYXRhS2V5XTogdmFsdWUudG9KUygpLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgbmV3UHJvcGVydGllcywge1xuICAgICAgYXQ6IHBhdGgsXG4gICAgfSk7XG4gICAgc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRm9jdXMoKSB7XG4gICAgY29uc3QgcGF0aCA9IFJlYWN0RWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBwYXRoKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBSZWFjdEVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpO1xuICBjb25zdCBpc1NlbGVjdGVkID1cbiAgICBlZGl0b3Iuc2VsZWN0aW9uICYmXG4gICAgcGF0aCAmJlxuICAgIFJhbmdlLmlzUmFuZ2UoZWRpdG9yLnNlbGVjdGlvbikgJiZcbiAgICBSYW5nZS5pbmNsdWRlcyhlZGl0b3Iuc2VsZWN0aW9uLCBwYXRoKTtcblxuICByZXR1cm4gKFxuICAgICFmaWVsZC5pc0VtcHR5KCkgJiYgKFxuICAgICAgPGRpdiBvbkNsaWNrPXtoYW5kbGVGb2N1c30gb25Gb2N1cz17aGFuZGxlRm9jdXN9PlxuICAgICAgICA8RWRpdG9yQ29udHJvbFxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e3RydWV9XG4gICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17KCkgPT4ge319XG4gICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2VsZW1lbnQuZGF0YS5zaG9ydGNvZGVOZXd9XG4gICAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgLz5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTaG9ydGNvZGU7XG4iXX0= */",
16
+ styles: "margin-top:0;margin-bottom:16px;&:first-of-type{margin-top:0;};label:Shortcode;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9NYXJrZG93bkNvbnRyb2wvY29tcG9uZW50cy9TaG9ydGNvZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURrQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvTWFya2Rvd25Db250cm9sL2NvbXBvbmVudHMvU2hvcnRjb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgZnJvbUpTIH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcbmltcG9ydCB7IFJlYWN0RWRpdG9yLCB1c2VTbGF0ZSB9IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IFJhbmdlLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuXG5pbXBvcnQgeyBnZXRFZGl0b3JDb250cm9sLCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5mdW5jdGlvbiBTaG9ydGNvZGUocHJvcHMpIHtcbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGUoKTtcbiAgY29uc3QgeyBlbGVtZW50LCBkYXRhS2V5ID0gJ3Nob3J0Y29kZURhdGEnLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIGNvbnN0IEVkaXRvckNvbnRyb2wgPSBnZXRFZGl0b3JDb250cm9sKCk7XG4gIGNvbnN0IHBsdWdpbiA9IGdldEVkaXRvckNvbXBvbmVudHMoKS5nZXQoZWxlbWVudC5kYXRhLnNob3J0Y29kZSk7XG4gIGNvbnN0IGZpZWxkS2V5cyA9IFsnaWQnLCAnZnJvbUJsb2NrJywgJ3RvQmxvY2snLCAndG9QcmV2aWV3JywgJ3BhdHRlcm4nLCAnaWNvbiddO1xuXG4gIGNvbnN0IGZpZWxkID0gZnJvbUpTKG9taXQocGx1Z2luLCBmaWVsZEtleXMpKTtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZShmcm9tSlMoZWxlbWVudC5kYXRhW2RhdGFLZXldKSk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGZpZWxkTmFtZSwgdmFsdWUsIG1ldGFkYXRhKSB7XG4gICAgY29uc3QgcGF0aCA9IFJlYWN0RWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudCk7XG4gICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uZWxlbWVudC5kYXRhLFxuICAgICAgICBbZGF0YUtleV06IHZhbHVlLnRvSlMoKSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9LFxuICAgIH07XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld1Byb3BlcnRpZXMsIHtcbiAgICAgIGF0OiBwYXRoLFxuICAgIH0pO1xuICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKCkge1xuICAgIGNvbnN0IHBhdGggPSBSZWFjdEVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgcGF0aCk7XG4gIH1cblxuICBjb25zdCBwYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KTtcbiAgY29uc3QgaXNTZWxlY3RlZCA9XG4gICAgZWRpdG9yLnNlbGVjdGlvbiAmJlxuICAgIHBhdGggJiZcbiAgICBSYW5nZS5pc1JhbmdlKGVkaXRvci5zZWxlY3Rpb24pICYmXG4gICAgUmFuZ2UuaW5jbHVkZXMoZWRpdG9yLnNlbGVjdGlvbiwgcGF0aCk7XG5cbiAgcmV0dXJuIChcbiAgICAhZmllbGQuaXNFbXB0eSgpICYmIChcbiAgICAgIDxkaXYgb25DbGljaz17aGFuZGxlRm9jdXN9IG9uRm9jdXM9e2hhbmRsZUZvY3VzfT5cbiAgICAgICAgPEVkaXRvckNvbnRyb2xcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGB9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXt0cnVlfVxuICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9eygpID0+IHt9fVxuICAgICAgICAgIGlzTmV3RWRpdG9yQ29tcG9uZW50PXtlbGVtZW50LmRhdGEuc2hvcnRjb2RlTmV3fVxuICAgICAgICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgIC8+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU2hvcnRjb2RlO1xuIl19 */",
23
17
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
18
  };
25
19
  function Shortcode(props) {
@@ -32,15 +26,16 @@ function Shortcode(props) {
32
26
  const EditorControl = getEditorControl();
33
27
  const plugin = getEditorComponents().get(element.data.shortcode);
34
28
  const fieldKeys = ['id', 'fromBlock', 'toBlock', 'toPreview', 'pattern', 'icon'];
35
- const field = fromJS(_omit(plugin, fieldKeys));
29
+ const field = fromJS(omit(plugin, fieldKeys));
36
30
  const [value, setValue] = useState(fromJS(element.data[dataKey]));
37
31
  function handleChange(fieldName, value, metadata) {
38
32
  const path = ReactEditor.findPath(editor, element);
39
33
  const newProperties = {
40
- data: _objectSpread(_objectSpread({}, element.data), {}, {
34
+ data: {
35
+ ...element.data,
41
36
  [dataKey]: value.toJS(),
42
37
  metadata
43
- })
38
+ }
44
39
  };
45
40
  Transforms.setNodes(editor, newProperties, {
46
41
  at: path
@@ -1,4 +1,4 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  /* eslint-disable react/prop-types */
3
3
  import React from 'react';
4
4
  import { css } from '@emotion/react';
@@ -1,6 +1,3 @@
1
- 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; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
- 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); }
4
1
  import React from 'react';
5
2
  import PropTypes from 'prop-types';
6
3
  import ImmutablePropTypes from 'react-immutable-proptypes';
@@ -22,31 +19,48 @@ export function getEditorComponents() {
22
19
  return _getEditorComponents();
23
20
  }
24
21
  export default class MarkdownControl extends React.Component {
22
+ static propTypes = {
23
+ onChange: PropTypes.func.isRequired,
24
+ onAddAsset: PropTypes.func.isRequired,
25
+ getAsset: PropTypes.func.isRequired,
26
+ classNameWrapper: PropTypes.string.isRequired,
27
+ editorControl: PropTypes.elementType.isRequired,
28
+ value: PropTypes.string,
29
+ field: ImmutablePropTypes.map.isRequired,
30
+ getEditorComponents: PropTypes.func,
31
+ t: PropTypes.func.isRequired
32
+ };
33
+ static defaultProps = {
34
+ value: ''
35
+ };
25
36
  constructor(props) {
26
- var _localStorage$getItem;
27
37
  super(props);
28
- _defineProperty(this, "handleMode", mode => {
29
- this.setState({
30
- mode,
31
- pendingFocus: true
32
- });
33
- localStorage.setItem(MODE_STORAGE_KEY, mode);
34
- });
35
- _defineProperty(this, "processRef", ref => this.ref = ref);
36
- _defineProperty(this, "setFocusReceived", () => {
37
- this.setState({
38
- pendingFocus: false
39
- });
40
- });
41
- _defineProperty(this, "getAllowedModes", () => this.props.field.get('modes', List(['rich_text', 'raw'])).toArray());
42
38
  editorControl = props.editorControl;
43
- const preferredMode = (_localStorage$getItem = localStorage.getItem(MODE_STORAGE_KEY)) !== null && _localStorage$getItem !== void 0 ? _localStorage$getItem : 'rich_text';
39
+ const preferredMode = localStorage.getItem(MODE_STORAGE_KEY) ?? 'rich_text';
44
40
  _getEditorComponents = props.getEditorComponents;
45
41
  this.state = {
46
42
  mode: this.getAllowedModes().indexOf(preferredMode) !== -1 ? preferredMode : this.getAllowedModes()[0],
47
43
  pendingFocus: false
48
44
  };
49
45
  }
46
+ componentDidMount() {
47
+ // Manually validate PropTypes - React 19 breaking change
48
+ PropTypes.checkPropTypes(MarkdownControl.propTypes, this.props, 'prop', 'MarkdownControl');
49
+ }
50
+ handleMode = mode => {
51
+ this.setState({
52
+ mode,
53
+ pendingFocus: true
54
+ });
55
+ localStorage.setItem(MODE_STORAGE_KEY, mode);
56
+ };
57
+ processRef = ref => this.ref = ref;
58
+ setFocusReceived = () => {
59
+ this.setState({
60
+ pendingFocus: false
61
+ });
62
+ };
63
+ getAllowedModes = () => this.props.field.get('modes', List(['rich_text', 'raw'])).toArray();
50
64
  focus() {
51
65
  this.setState({
52
66
  pendingFocus: true
@@ -107,18 +121,4 @@ export default class MarkdownControl extends React.Component {
107
121
  }));
108
122
  return mode === 'rich_text' ? visualEditor : rawEditor;
109
123
  }
110
- }
111
- _defineProperty(MarkdownControl, "propTypes", {
112
- onChange: PropTypes.func.isRequired,
113
- onAddAsset: PropTypes.func.isRequired,
114
- getAsset: PropTypes.func.isRequired,
115
- classNameWrapper: PropTypes.string.isRequired,
116
- editorControl: PropTypes.elementType.isRequired,
117
- value: PropTypes.string,
118
- field: ImmutablePropTypes.map.isRequired,
119
- getEditorComponents: PropTypes.func,
120
- t: PropTypes.func.isRequired
121
- });
122
- _defineProperty(MarkdownControl, "defaultProps", {
123
- value: ''
124
- });
124
+ }
@@ -1,6 +1,6 @@
1
- import _castArray from "lodash/castArray";
2
- import _tail from "lodash/tail";
3
- import _isArray from "lodash/isArray";
1
+ import isArray from 'lodash/isArray';
2
+ import tail from 'lodash/tail';
3
+ import castArray from 'lodash/castArray';
4
4
  function CommandsAndQueries({
5
5
  defaultType
6
6
  }) {
@@ -34,7 +34,7 @@ function CommandsAndQueries({
34
34
  return doc.getCommonAncestor(startBlock.key, endBlock.key);
35
35
  },
36
36
  getClosestType(editor, node, type) {
37
- const types = _castArray(type);
37
+ const types = castArray(type);
38
38
  return editor.value.document.getClosest(node.key, n => types.includes(n.type));
39
39
  },
40
40
  getBlockContainer(editor, node) {
@@ -53,7 +53,7 @@ function CommandsAndQueries({
53
53
  return editor.getBlockContainer(target);
54
54
  },
55
55
  isSelected(editor, nodes) {
56
- return _castArray(nodes).every(node => {
56
+ return castArray(nodes).every(node => {
57
57
  return editor.value.document.isInRange(node.key, editor.value.selection);
58
58
  });
59
59
  },
@@ -61,11 +61,11 @@ function CommandsAndQueries({
61
61
  return editor.value.document.getParent(node.key).nodes.first().key === node.key;
62
62
  },
63
63
  areSiblings(editor, nodes) {
64
- if (!_isArray(nodes) || nodes.length < 2) {
64
+ if (!isArray(nodes) || nodes.length < 2) {
65
65
  return true;
66
66
  }
67
67
  const parent = editor.value.document.getParent(nodes[0].key);
68
- return _tail(nodes).every(node => {
68
+ return tail(nodes).every(node => {
69
69
  return editor.value.document.getParent(node.key).key === parent.key;
70
70
  });
71
71
  },
@@ -125,7 +125,7 @@ function CommandsAndQueries({
125
125
  */
126
126
  const parent = document.getParent(lowestNodeKey);
127
127
  const grandparent = document.getParent(parent.key);
128
- return parent.type === 'list-item' && (grandparent === null || grandparent === void 0 ? void 0 : grandparent.type) === listType;
128
+ return parent.type === 'list-item' && grandparent?.type === listType;
129
129
  });
130
130
  }
131
131
  },
@@ -2,9 +2,8 @@ import getActiveLink from '../selectors/getActiveLink';
2
2
  import unwrapLink from '../transforms/unwrapLink';
3
3
  import wrapLink from '../transforms/wrapLink';
4
4
  function toggleLink(editor, promptText) {
5
- var _activeLink$, _activeLink$$data;
6
5
  const activeLink = getActiveLink(editor);
7
- const activeUrl = activeLink ? (_activeLink$ = activeLink[0]) === null || _activeLink$ === void 0 ? void 0 : (_activeLink$$data = _activeLink$.data) === null || _activeLink$$data === void 0 ? void 0 : _activeLink$$data.url : '';
6
+ const activeUrl = activeLink ? activeLink[0]?.data?.url : '';
8
7
  const url = window.prompt(promptText, activeUrl);
9
8
  if (url == null) return;
10
9
  if (url === '') {
@@ -1,8 +1,3 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
- 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); }
6
1
  import { Editor, Transforms } from 'slate';
7
2
  import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
8
3
  import matchedAncestors from '../../matchers/matchedAncestors';
@@ -12,12 +7,14 @@ function keyDownShiftTab(editor) {
12
7
  return;
13
8
  }
14
9
  Editor.withoutNormalizing(editor, () => {
15
- Transforms.liftNodes(editor, _objectSpread(_objectSpread({}, lowestMatchedAncestor(editor, 'list-item')), {}, {
10
+ Transforms.liftNodes(editor, {
11
+ ...lowestMatchedAncestor(editor, 'list-item'),
16
12
  split: true
17
- }));
18
- Transforms.liftNodes(editor, _objectSpread(_objectSpread({}, lowestMatchedAncestor(editor, 'list-item')), {}, {
13
+ });
14
+ Transforms.liftNodes(editor, {
15
+ ...lowestMatchedAncestor(editor, 'list-item'),
19
16
  split: true
20
- }));
17
+ });
21
18
  });
22
19
  Editor.normalize(editor);
23
20
  }
@@ -1,8 +1,3 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
- 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); }
6
1
  import { Editor, Transforms } from 'slate';
7
2
  import isSelectionWithinNoninitialListItem from '../locations/isSelectionWithinNoninitialListItem';
8
3
  import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
@@ -31,9 +26,10 @@ function keyDownTab(editor) {
31
26
  // wrap selected list items into a new bulleted list
32
27
  Transforms.wrapNodes(editor, {
33
28
  type: 'bulleted-list'
34
- }, _objectSpread(_objectSpread({}, lowestMatchedAncestor(editor, 'list-item')), {}, {
29
+ }, {
30
+ ...lowestMatchedAncestor(editor, 'list-item'),
35
31
  at
36
- }));
32
+ });
37
33
 
38
34
  // get the new bulleted list position
39
35
  const [, newListPath] = Editor.above(editor, lowestMatchedAncestor(editor, 'list'));
@@ -1,13 +1,9 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
- 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); }
6
1
  import { Transforms } from 'slate';
7
2
  function liftFirstMatchedParent(editor, format, options) {
8
- Transforms.liftNodes(editor, _objectSpread({
3
+ Transforms.liftNodes(editor, {
9
4
  match: n => n.type === format || format === 'paragraph' && `${n.type}`.startsWith('heading'),
10
- mode: 'lowest'
11
- }, options));
5
+ mode: 'lowest',
6
+ ...options
7
+ });
12
8
  }
13
9
  export default liftFirstMatchedParent;
@@ -1,15 +1,11 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
- 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); }
6
1
  import { Editor, Transforms } from 'slate';
7
2
  import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
8
3
  function unwrapSelectionFromList(editor) {
9
4
  Editor.withoutNormalizing(editor, () => {
10
- Transforms.unwrapNodes(editor, _objectSpread(_objectSpread({}, lowestMatchedAncestor(editor, 'list')), {}, {
5
+ Transforms.unwrapNodes(editor, {
6
+ ...lowestMatchedAncestor(editor, 'list'),
11
7
  split: true
12
- }));
8
+ });
13
9
  Transforms.unwrapNodes(editor, lowestMatchedAncestor(editor, 'list-item'));
14
10
  });
15
11
  Editor.normalize(editor);
@@ -1,8 +1,8 @@
1
- import _isArray from "lodash/isArray";
2
- import _castArray from "lodash/castArray";
1
+ import castArray from 'lodash/castArray';
2
+ import isArray from 'lodash/isArray';
3
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;
4
+ const nodesArray = castArray(nodes);
5
+ const validate = isArray(type) ? node => type.includes(node.type) : node => type === node.type;
6
6
  const invalidNode = nodesArray.find(node => !validate(node));
7
7
  if (invalidNode) {
8
8
  throw Error(`Expected node of type "${type}", received "${invalidNode.type}".`);