@comet/admin-rte 8.17.1 → 9.0.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/lib/core/BlockElement.js +11 -15
- package/lib/core/Controls/BlockTypesControls.js +17 -24
- package/lib/core/Controls/ControlButton.js +11 -18
- package/lib/core/Controls/Controls.js +14 -21
- package/lib/core/Controls/CustomControls.js +5 -12
- package/lib/core/Controls/FeaturesButtonGroup.d.ts +1 -1
- package/lib/core/Controls/FeaturesButtonGroup.d.ts.map +1 -1
- package/lib/core/Controls/FeaturesButtonGroup.js +35 -41
- package/lib/core/Controls/HistoryContols.js +6 -13
- package/lib/core/Controls/InlineStyleTypeControls.js +6 -13
- package/lib/core/Controls/LinkControls.js +19 -26
- package/lib/core/Controls/ListsControls.js +6 -13
- package/lib/core/Controls/ListsIndentControls.js +6 -13
- package/lib/core/Controls/SpecialCharactersControls.js +7 -14
- package/lib/core/Controls/Toolbar/Toolbar.d.ts +1 -0
- package/lib/core/Controls/Toolbar/Toolbar.d.ts.map +1 -1
- package/lib/core/Controls/Toolbar/Toolbar.js +9 -15
- package/lib/core/Controls/Toolbar/Toolbar.styles.d.ts +2 -2
- package/lib/core/Controls/Toolbar/Toolbar.styles.js +7 -14
- package/lib/core/Controls/TranslationControls.js +8 -15
- package/lib/core/Controls/useBlockTypes.d.ts +1 -1
- package/lib/core/Controls/useBlockTypes.d.ts.map +1 -1
- package/lib/core/Controls/useBlockTypes.js +16 -23
- package/lib/core/Controls/useHistory.js +16 -22
- package/lib/core/Controls/useInlineStyleType.d.ts +1 -1
- package/lib/core/Controls/useInlineStyleType.d.ts.map +1 -1
- package/lib/core/Controls/useInlineStyleType.js +30 -37
- package/lib/core/Controls/useListIndent.js +23 -29
- package/lib/core/Rte.js +47 -54
- package/lib/core/RteReadOnly.js +18 -25
- package/lib/core/defaultBlocktypeMap.js +30 -38
- package/lib/core/extension/Link/Decorator.js +4 -11
- package/lib/core/extension/Link/EditorComponent.js +3 -9
- package/lib/core/extension/Link/ToolbarButton.js +50 -55
- package/lib/core/extension/LinksRemove/ToolbarButton.js +8 -14
- package/lib/core/extension/NonBreakingSpace/Decorator.js +3 -10
- package/lib/core/extension/NonBreakingSpace/EditorComponent.js +8 -14
- package/lib/core/extension/NonBreakingSpace/ToolbarButton.js +15 -23
- package/lib/core/extension/SoftHyphen/Decorator.js +3 -9
- package/lib/core/extension/SoftHyphen/EditorComponent.js +7 -13
- package/lib/core/extension/SoftHyphen/ToolbarButton.js +14 -22
- package/lib/core/filterEditor/composeFilterEditorFns.js +1 -7
- package/lib/core/filterEditor/default.js +9 -16
- package/lib/core/filterEditor/manageStandardBlockType.js +3 -9
- package/lib/core/filterEditor/removeBlocksExceedingBlockLimit.js +4 -10
- package/lib/core/filterEditor/removeUnsupportedBlockTypes.js +3 -10
- package/lib/core/filterEditor/removeUnsupportedEntities.js +3 -10
- package/lib/core/filterEditor/removeUnsupportedInlineStyles.js +3 -10
- package/lib/core/filterEditor/removeUnsupportedListLevels.js +3 -9
- package/lib/core/filterEditor/utils/changeBlockType.js +3 -9
- package/lib/core/filterEditor/utils/manipulateEntityData.js +3 -9
- package/lib/core/filterEditor/utils/removeEntities.js +4 -10
- package/lib/core/filterEditor/utils/removeInlineStyles.js +4 -10
- package/lib/core/makeRteApi.js +19 -26
- package/lib/core/translation/EditorStateTranslationDialog.js +8 -15
- package/lib/core/translation/ToolbarButton.js +22 -28
- package/lib/core/translation/htmlToState.js +7 -13
- package/lib/core/translation/stateToHtml.js +5 -12
- package/lib/core/types.d.ts +2 -2
- package/lib/core/types.d.ts.map +1 -1
- package/lib/core/types.js +1 -5
- package/lib/core/utils/createBlockRenderMap.js +4 -12
- package/lib/core/utils/findEntityDataInCurrentSelection.js +3 -9
- package/lib/core/utils/findEntityInCurrentSelection.js +7 -13
- package/lib/core/utils/findTextInCurrentSelection.js +3 -9
- package/lib/core/utils/getCurrentBlock.js +1 -7
- package/lib/core/utils/getRteTheme.js +13 -19
- package/lib/core/utils/pasteAndFilterText.js +7 -13
- package/lib/core/utils/rangesIntersect.js +1 -7
- package/lib/core/utils/selectionIsInOneBlock.js +1 -7
- package/lib/field/createFinalFormRte.js +10 -17
- package/lib/field/createRteField.js +8 -15
- package/lib/index.js +28 -202
- package/lib/useDebounce.js +5 -10
- package/lib/usePrevious.js +4 -9
- package/lib/utils/requiredValidator.js +6 -12
- package/package.json +18 -14
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = useInlineStyleType;
|
|
8
|
-
var _adminIcons = require("@comet/admin-icons");
|
|
9
|
-
var detectBrowser = _interopRequireWildcard(require("detect-browser"));
|
|
10
|
-
var _draftJs = require("draft-js");
|
|
11
|
-
var _react = require("react");
|
|
12
|
-
var _reactIntl = require("react-intl");
|
|
13
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
2
|
var _excluded = ["style"];
|
|
15
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
3
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
17
4
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
18
5
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -30,79 +17,85 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
30
17
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
31
18
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
32
19
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20
|
+
import { RteBold, RteItalic, RteStrikethrough, RteSub, RteSup, RteUnderlined } from "@comet/admin-icons";
|
|
21
|
+
import * as detectBrowser from "detect-browser";
|
|
22
|
+
import { RichUtils } from "draft-js";
|
|
23
|
+
import { useCallback, useMemo } from "react";
|
|
24
|
+
import { FormattedMessage } from "react-intl";
|
|
25
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
33
26
|
var browser = detectBrowser.detect();
|
|
34
27
|
var defaultFeatures = [{
|
|
35
28
|
name: "BOLD",
|
|
36
|
-
label: /*#__PURE__*/(
|
|
29
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
37
30
|
id: "comet.rte.controls.blockType.bold.label",
|
|
38
31
|
defaultMessage: "Bold"
|
|
39
32
|
}),
|
|
40
|
-
icon:
|
|
41
|
-
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/(
|
|
33
|
+
icon: RteBold,
|
|
34
|
+
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/_jsx(FormattedMessage, {
|
|
42
35
|
id: "comet.rte.controls.blockType.bold.tooltipMac",
|
|
43
36
|
defaultMessage: "Cmd+B"
|
|
44
|
-
}) : /*#__PURE__*/(
|
|
37
|
+
}) : /*#__PURE__*/_jsx(FormattedMessage, {
|
|
45
38
|
id: "comet.rte.controls.blockType.bold.tooltip",
|
|
46
39
|
defaultMessage: "Ctrl+B"
|
|
47
40
|
})
|
|
48
41
|
}, {
|
|
49
42
|
name: "ITALIC",
|
|
50
|
-
label: /*#__PURE__*/(
|
|
43
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
51
44
|
id: "comet.rte.controls.blockType.italic.label",
|
|
52
45
|
defaultMessage: "Italic"
|
|
53
46
|
}),
|
|
54
|
-
icon:
|
|
55
|
-
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/(
|
|
47
|
+
icon: RteItalic,
|
|
48
|
+
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/_jsx(FormattedMessage, {
|
|
56
49
|
id: "comet.rte.controls.blockType.italic.tooltipMac",
|
|
57
50
|
defaultMessage: "Cmd+I"
|
|
58
|
-
}) : /*#__PURE__*/(
|
|
51
|
+
}) : /*#__PURE__*/_jsx(FormattedMessage, {
|
|
59
52
|
id: "comet.rte.controls.blockType.italic.tooltip",
|
|
60
53
|
defaultMessage: "Ctrl+I"
|
|
61
54
|
})
|
|
62
55
|
}, {
|
|
63
56
|
name: "UNDERLINE",
|
|
64
|
-
label: /*#__PURE__*/(
|
|
57
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
65
58
|
id: "comet.rte.controls.blockType.underlined.label",
|
|
66
59
|
defaultMessage: "underlined"
|
|
67
60
|
}),
|
|
68
|
-
icon:
|
|
69
|
-
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/(
|
|
61
|
+
icon: RteUnderlined,
|
|
62
|
+
tooltipText: (browser === null || browser === void 0 ? void 0 : browser.os) === "Mac OS" ? /*#__PURE__*/_jsx(FormattedMessage, {
|
|
70
63
|
id: "comet.rte.controls.blockType.underlined.tooltipMac",
|
|
71
64
|
defaultMessage: "Cmd+U"
|
|
72
|
-
}) : /*#__PURE__*/(
|
|
65
|
+
}) : /*#__PURE__*/_jsx(FormattedMessage, {
|
|
73
66
|
id: "comet.rte.controls.blockType.underlined.tooltip",
|
|
74
67
|
defaultMessage: "Ctrl+U"
|
|
75
68
|
})
|
|
76
69
|
}, {
|
|
77
70
|
name: "STRIKETHROUGH",
|
|
78
|
-
label: /*#__PURE__*/(
|
|
71
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
79
72
|
id: "comet.rte.controls.blockType.strikethrough.label",
|
|
80
73
|
defaultMessage: "Strikethrough"
|
|
81
74
|
}),
|
|
82
|
-
icon:
|
|
75
|
+
icon: RteStrikethrough
|
|
83
76
|
}, {
|
|
84
77
|
name: "SUP",
|
|
85
|
-
label: /*#__PURE__*/(
|
|
78
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
86
79
|
id: "comet.rte.controls.blockType.super.label",
|
|
87
80
|
defaultMessage: "Superscript"
|
|
88
81
|
}),
|
|
89
|
-
icon:
|
|
82
|
+
icon: RteSup
|
|
90
83
|
}, {
|
|
91
84
|
name: "SUB",
|
|
92
|
-
label: /*#__PURE__*/(
|
|
85
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
93
86
|
id: "comet.rte.controls.blockType.sub.label",
|
|
94
87
|
defaultMessage: "Subscript"
|
|
95
88
|
}),
|
|
96
|
-
icon:
|
|
89
|
+
icon: RteSub
|
|
97
90
|
}];
|
|
98
|
-
function useInlineStyleType(_ref) {
|
|
91
|
+
export default function useInlineStyleType(_ref) {
|
|
99
92
|
var editorState = _ref.editorState,
|
|
100
93
|
setEditorState = _ref.setEditorState,
|
|
101
94
|
supportedThings = _ref.supportedThings,
|
|
102
95
|
editorRef = _ref.editorRef,
|
|
103
96
|
customInlineStyles = _ref.customInlineStyles;
|
|
104
97
|
// can check if inlineStyleType is supported by the editor
|
|
105
|
-
var supports =
|
|
98
|
+
var supports = useCallback(function (inlineStyle) {
|
|
106
99
|
switch (inlineStyle) {
|
|
107
100
|
case "BOLD":
|
|
108
101
|
return supportedThings.includes("bold");
|
|
@@ -120,15 +113,15 @@ function useInlineStyleType(_ref) {
|
|
|
120
113
|
return false;
|
|
121
114
|
}
|
|
122
115
|
}, [supportedThings]);
|
|
123
|
-
var inlineStyleActive =
|
|
116
|
+
var inlineStyleActive = useCallback(function (draftInlineStyleType) {
|
|
124
117
|
var currentStyle = editorState.getCurrentInlineStyle();
|
|
125
118
|
return currentStyle.has(draftInlineStyleType);
|
|
126
119
|
}, [editorState]);
|
|
127
|
-
var handleInlineStyleButtonClick =
|
|
120
|
+
var handleInlineStyleButtonClick = useCallback(function (draftInlineStyleType, e) {
|
|
128
121
|
e.preventDefault();
|
|
129
|
-
setEditorState(
|
|
122
|
+
setEditorState(RichUtils.toggleInlineStyle(editorState, draftInlineStyleType));
|
|
130
123
|
}, [setEditorState, editorState]);
|
|
131
|
-
var features =
|
|
124
|
+
var features = useMemo(function () {
|
|
132
125
|
return [].concat(_toConsumableArray(defaultFeatures.filter(function (c) {
|
|
133
126
|
return supports(c.name);
|
|
134
127
|
}).map(function (c) {
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { RteIndentDecrease, RteIndentIncrease } from "@comet/admin-icons";
|
|
2
|
+
import { EditorState } from "draft-js";
|
|
3
|
+
import { useCallback, useMemo } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import getCurrentBlock from "../utils/getCurrentBlock";
|
|
6
|
+
import selectionIsInOneBlock from "../utils/selectionIsInOneBlock";
|
|
2
7
|
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = useListIndent;
|
|
7
|
-
var _adminIcons = require("@comet/admin-icons");
|
|
8
|
-
var _draftJs = require("draft-js");
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _reactIntl = require("react-intl");
|
|
11
|
-
var _getCurrentBlock = _interopRequireDefault(require("../utils/getCurrentBlock"));
|
|
12
|
-
var _selectionIsInOneBlock = _interopRequireDefault(require("../utils/selectionIsInOneBlock"));
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
8
|
// https://github.com/facebook/draft-js/blob/v0.11.4/src/model/transaction/adjustBlockDepthForContentState.js
|
|
15
9
|
// https://github.com/facebook/draft-js/blob/v0.11.4/src/model/modifier/RichTextEditorUtil.js
|
|
16
10
|
|
|
@@ -28,7 +22,7 @@ function adjustBlockDepth(type, editorState, maxDepth) {
|
|
|
28
22
|
var adjustment = type === "increase" ? 1 : -1;
|
|
29
23
|
|
|
30
24
|
// do not exceed max depth
|
|
31
|
-
var block = (
|
|
25
|
+
var block = getCurrentBlock(editorState);
|
|
32
26
|
if (!block) {
|
|
33
27
|
return editorState;
|
|
34
28
|
}
|
|
@@ -54,50 +48,50 @@ function adjustBlockDepth(type, editorState, maxDepth) {
|
|
|
54
48
|
selectionBefore: selectionState,
|
|
55
49
|
selectionAfter: selectionState
|
|
56
50
|
});
|
|
57
|
-
return
|
|
51
|
+
return EditorState.push(editorState, newContent, "adjust-depth");
|
|
58
52
|
}
|
|
59
|
-
function useListIndent(_ref) {
|
|
53
|
+
export default function useListIndent(_ref) {
|
|
60
54
|
var editorState = _ref.editorState,
|
|
61
55
|
setEditorState = _ref.setEditorState,
|
|
62
56
|
supportedThings = _ref.supportedThings,
|
|
63
57
|
_ref$listLevelMax = _ref.listLevelMax,
|
|
64
58
|
listLevelMax = _ref$listLevelMax === void 0 ? 4 : _ref$listLevelMax;
|
|
65
|
-
var intl =
|
|
59
|
+
var intl = useIntl();
|
|
66
60
|
|
|
67
61
|
// can check if indenting lists is supported
|
|
68
|
-
var supported =
|
|
62
|
+
var supported = useMemo(function () {
|
|
69
63
|
return supportedThings.some(function (c) {
|
|
70
64
|
return ["ordered-list", "unordered-list"].includes(c) && listLevelMax !== 0;
|
|
71
65
|
});
|
|
72
66
|
}, [supportedThings, listLevelMax]);
|
|
73
|
-
var active =
|
|
74
|
-
var currentBlock = (
|
|
67
|
+
var active = useMemo(function () {
|
|
68
|
+
var currentBlock = getCurrentBlock(editorState);
|
|
75
69
|
if (!currentBlock) {
|
|
76
70
|
return false;
|
|
77
71
|
}
|
|
78
|
-
return ["ordered-list-item", "unordered-list-item"].includes(currentBlock.getType()) && (
|
|
72
|
+
return ["ordered-list-item", "unordered-list-item"].includes(currentBlock.getType()) && selectionIsInOneBlock(editorState);
|
|
79
73
|
}, [editorState]);
|
|
80
|
-
var canIndentLeft =
|
|
81
|
-
return active && (
|
|
74
|
+
var canIndentLeft = useMemo(function () {
|
|
75
|
+
return active && getCurrentBlock(editorState).getDepth() > 0;
|
|
82
76
|
}, [active, editorState]);
|
|
83
|
-
var canIndentRight =
|
|
84
|
-
return active && (
|
|
77
|
+
var canIndentRight = useMemo(function () {
|
|
78
|
+
return active && getCurrentBlock(editorState).getDepth() < listLevelMax - 1;
|
|
85
79
|
}, [active, editorState, listLevelMax]);
|
|
86
|
-
var handleListIndentLeftClick =
|
|
80
|
+
var handleListIndentLeftClick = useCallback(function (e) {
|
|
87
81
|
e.preventDefault();
|
|
88
82
|
setEditorState(adjustBlockDepth("decrease", editorState, listLevelMax));
|
|
89
83
|
}, [editorState, setEditorState, listLevelMax]);
|
|
90
|
-
var handleListIndentRightClick =
|
|
84
|
+
var handleListIndentRightClick = useCallback(function (e) {
|
|
91
85
|
e.preventDefault();
|
|
92
86
|
setEditorState(adjustBlockDepth("increase", editorState, listLevelMax));
|
|
93
87
|
}, [editorState, setEditorState, listLevelMax]);
|
|
94
|
-
var features =
|
|
88
|
+
var features = useMemo(function () {
|
|
95
89
|
return supported ? [{
|
|
96
90
|
name: "list-indent-right",
|
|
97
91
|
label: "",
|
|
98
92
|
disabled: !canIndentRight,
|
|
99
93
|
onButtonClick: handleListIndentRightClick,
|
|
100
|
-
icon:
|
|
94
|
+
icon: RteIndentIncrease,
|
|
101
95
|
tooltipText: intl.formatMessage({
|
|
102
96
|
id: "comet.rte.controls.listIndent.right.tooltip",
|
|
103
97
|
defaultMessage: "Tab"
|
|
@@ -107,7 +101,7 @@ function useListIndent(_ref) {
|
|
|
107
101
|
label: "",
|
|
108
102
|
disabled: !canIndentLeft,
|
|
109
103
|
onButtonClick: handleListIndentLeftClick,
|
|
110
|
-
icon:
|
|
104
|
+
icon: RteIndentDecrease,
|
|
111
105
|
tooltipText: intl.formatMessage({
|
|
112
106
|
id: "comet.rte.controls.listIndent.left.tooltip",
|
|
113
107
|
defaultMessage: "Shift+Tab"
|
package/lib/core/Rte.js
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.styleMap = exports.defaultOptions = exports.Rte = void 0;
|
|
8
|
-
require("draft-js/dist/Draft.css");
|
|
9
|
-
var _admin = require("@comet/admin");
|
|
10
|
-
var _material = require("@mui/material");
|
|
11
|
-
var _draftJs = require("draft-js");
|
|
12
|
-
var _draftjsConductor = require("draftjs-conductor");
|
|
13
|
-
var _react = require("react");
|
|
14
|
-
var _Controls = _interopRequireDefault(require("./Controls/Controls"));
|
|
15
|
-
var _defaultBlocktypeMap = _interopRequireWildcard(require("./defaultBlocktypeMap"));
|
|
16
|
-
var _composeFilterEditorFns = _interopRequireDefault(require("./filterEditor/composeFilterEditorFns"));
|
|
17
|
-
var _default = _interopRequireDefault(require("./filterEditor/default"));
|
|
18
|
-
var _manageStandardBlockType = _interopRequireDefault(require("./filterEditor/manageStandardBlockType"));
|
|
19
|
-
var _removeBlocksExceedingBlockLimit = _interopRequireDefault(require("./filterEditor/removeBlocksExceedingBlockLimit"));
|
|
20
|
-
var _createBlockRenderMap = _interopRequireDefault(require("./utils/createBlockRenderMap"));
|
|
21
|
-
var _getRteTheme = _interopRequireDefault(require("./utils/getRteTheme"));
|
|
22
|
-
var _pasteAndFilterText = require("./utils/pasteAndFilterText");
|
|
23
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
2
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
25
|
-
var _excluded = ["value", "onChange", "options", "disabled", "minHeight", "colors", "slotProps"];
|
|
26
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
27
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
3
|
+
var _excluded = ["value", "onChange", "options", "disabled", "minHeight", "colors", "slotProps"];
|
|
28
4
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
29
5
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
30
6
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -39,20 +15,37 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
39
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); }
|
|
40
16
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
41
17
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
42
|
-
|
|
43
|
-
|
|
18
|
+
import "draft-js/dist/Draft.css"; // important for nesting of ul/ol
|
|
19
|
+
|
|
20
|
+
import { createComponentSlot } from "@comet/admin";
|
|
21
|
+
import { css, useThemeProps } from "@mui/material";
|
|
22
|
+
import { Editor as DraftJsEditor, getDefaultKeyBinding, RichUtils } from "draft-js";
|
|
23
|
+
import { onDraftEditorCopy, onDraftEditorCut } from "draftjs-conductor";
|
|
24
|
+
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
25
|
+
import Controls from "./Controls/Controls";
|
|
26
|
+
import defaultBlocktypeMap, { cleanBlockTypeMap, mergeBlocktypeMaps } from "./defaultBlocktypeMap";
|
|
27
|
+
import composeFilterEditorFns from "./filterEditor/composeFilterEditorFns";
|
|
28
|
+
import defaultFilterEditorStateBeforeUpdate from "./filterEditor/default";
|
|
29
|
+
import manageDefaultBlockType from "./filterEditor/manageStandardBlockType";
|
|
30
|
+
import removeBlocksExceedingBlockLimit from "./filterEditor/removeBlocksExceedingBlockLimit";
|
|
31
|
+
import createBlockRenderMap from "./utils/createBlockRenderMap";
|
|
32
|
+
import getRteTheme from "./utils/getRteTheme";
|
|
33
|
+
import { pasteAndFilterText } from "./utils/pasteAndFilterText";
|
|
34
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
35
|
+
var mandatoryFilterEditorStateFn = composeFilterEditorFns([removeBlocksExceedingBlockLimit, manageDefaultBlockType]);
|
|
36
|
+
export var defaultOptions = {
|
|
44
37
|
supports: ["bold", "italic", "sub", "sup", "header-one", "header-two", "header-three", "ordered-list", "unordered-list", "history", "link", "links-remove"],
|
|
45
38
|
listLevelMax: 4,
|
|
46
39
|
customToolbarButtons: [],
|
|
47
40
|
draftJsProps: {},
|
|
48
|
-
filterEditorStateBeforeUpdate:
|
|
41
|
+
filterEditorStateBeforeUpdate: defaultFilterEditorStateBeforeUpdate,
|
|
49
42
|
maxBlocks: undefined,
|
|
50
43
|
// standardBlockType can be set to any supported block-type,
|
|
51
44
|
// when set to something other than "unstyled" the unstyled-blockType is disabled (does not show up in the Dropdown)
|
|
52
45
|
standardBlockType: "unstyled",
|
|
53
|
-
blocktypeMap:
|
|
46
|
+
blocktypeMap: defaultBlocktypeMap
|
|
54
47
|
};
|
|
55
|
-
var styleMap =
|
|
48
|
+
export var styleMap = {
|
|
56
49
|
SUP: {
|
|
57
50
|
verticalAlign: "super",
|
|
58
51
|
fontSize: "smaller"
|
|
@@ -62,8 +55,8 @@ var styleMap = exports.styleMap = {
|
|
|
62
55
|
fontSize: "smaller"
|
|
63
56
|
}
|
|
64
57
|
};
|
|
65
|
-
var Rte =
|
|
66
|
-
var _useThemeProps =
|
|
58
|
+
export var Rte = /*#__PURE__*/forwardRef(function (inProps, ref) {
|
|
59
|
+
var _useThemeProps = useThemeProps({
|
|
67
60
|
props: inProps,
|
|
68
61
|
name: "CometAdminRte"
|
|
69
62
|
}),
|
|
@@ -79,8 +72,8 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
79
72
|
disabled: disabled,
|
|
80
73
|
minHeight: minHeight
|
|
81
74
|
};
|
|
82
|
-
var editorRef =
|
|
83
|
-
var editorWrapperRef =
|
|
75
|
+
var editorRef = useRef(null);
|
|
76
|
+
var editorWrapperRef = useRef(null);
|
|
84
77
|
|
|
85
78
|
// merge default options with passed options
|
|
86
79
|
var options = passedOptions ? _objectSpread(_objectSpread({}, defaultOptions), passedOptions) : defaultOptions;
|
|
@@ -91,11 +84,11 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
91
84
|
deprecatedCustomBlockMap = options.customBlockMap;
|
|
92
85
|
delete options.customBlockMap;
|
|
93
86
|
}
|
|
94
|
-
|
|
87
|
+
cleanBlockTypeMap(options.blocktypeMap); // mutate object and print warning when configuration is wrong
|
|
95
88
|
|
|
96
89
|
// blocktypes need an extra merge as they have their own merge strategy
|
|
97
90
|
options = _objectSpread(_objectSpread({}, options), {}, {
|
|
98
|
-
blocktypeMap:
|
|
91
|
+
blocktypeMap: mergeBlocktypeMaps(defaultBlocktypeMap, deprecatedCustomBlockMap, options.blocktypeMap)
|
|
99
92
|
});
|
|
100
93
|
|
|
101
94
|
// force draftjs to be readonly when rte is disabled
|
|
@@ -108,7 +101,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
108
101
|
/**
|
|
109
102
|
* Expose methods
|
|
110
103
|
*/
|
|
111
|
-
|
|
104
|
+
useImperativeHandle(ref, function () {
|
|
112
105
|
return {
|
|
113
106
|
focus: function focus() {
|
|
114
107
|
if (editorRef && editorRef.current) {
|
|
@@ -123,7 +116,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
123
116
|
listLevelMax = _options.listLevelMax,
|
|
124
117
|
maxBlocks = _options.maxBlocks,
|
|
125
118
|
standardBlockType = _options.standardBlockType;
|
|
126
|
-
var decoratedOnChange =
|
|
119
|
+
var decoratedOnChange = useCallback(function (nextEditorState) {
|
|
127
120
|
var modifiedState = nextEditorState;
|
|
128
121
|
var context = {
|
|
129
122
|
supports: supports,
|
|
@@ -141,7 +134,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
141
134
|
// pass the modified filter to original onChange
|
|
142
135
|
onChange(modifiedState);
|
|
143
136
|
}, [filterEditorStateBeforeUpdate, supports, listLevelMax, maxBlocks, standardBlockType, onChange]);
|
|
144
|
-
var blockRenderMap = (
|
|
137
|
+
var blockRenderMap = createBlockRenderMap({
|
|
145
138
|
blocktypeMap: options.blocktypeMap
|
|
146
139
|
});
|
|
147
140
|
function handleKeyCommand(command) {
|
|
@@ -153,7 +146,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
153
146
|
};
|
|
154
147
|
var relevantSupports = commandToSupportsMap[command];
|
|
155
148
|
if (relevantSupports && options.supports.includes(relevantSupports)) {
|
|
156
|
-
var _newState =
|
|
149
|
+
var _newState = RichUtils.handleKeyCommand(editorState, command);
|
|
157
150
|
if (_newState) {
|
|
158
151
|
onChange(_newState);
|
|
159
152
|
return "handled";
|
|
@@ -174,7 +167,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
174
167
|
function handleReturn(e, innerEditorState) {
|
|
175
168
|
// inserts a newline "\n" on SHIFT+ENTER-key
|
|
176
169
|
if (e.shiftKey) {
|
|
177
|
-
onChange(
|
|
170
|
+
onChange(RichUtils.insertSoftNewline(innerEditorState));
|
|
178
171
|
return "handled";
|
|
179
172
|
}
|
|
180
173
|
return "not-handled";
|
|
@@ -183,12 +176,12 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
183
176
|
if (event.key === "Tab") {
|
|
184
177
|
// nested lists for ol and ul
|
|
185
178
|
event.preventDefault();
|
|
186
|
-
var newEditorState =
|
|
179
|
+
var newEditorState = RichUtils.onTab(event, editorState, options.listLevelMax);
|
|
187
180
|
if (newEditorState !== editorState) {
|
|
188
181
|
onChange(newEditorState);
|
|
189
182
|
}
|
|
190
183
|
}
|
|
191
|
-
return
|
|
184
|
+
return getDefaultKeyBinding(event);
|
|
192
185
|
}
|
|
193
186
|
var customStyleMap = _objectSpread({}, styleMap);
|
|
194
187
|
if (options.customInlineStyles) {
|
|
@@ -199,20 +192,20 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
199
192
|
customStyleMap[name] = style;
|
|
200
193
|
});
|
|
201
194
|
}
|
|
202
|
-
return /*#__PURE__*/(
|
|
195
|
+
return /*#__PURE__*/_jsxs(Root, _objectSpread(_objectSpread(_objectSpread({
|
|
203
196
|
ref: editorWrapperRef,
|
|
204
197
|
ownerState: ownerState
|
|
205
198
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
|
|
206
|
-
children: [/*#__PURE__*/(
|
|
199
|
+
children: [/*#__PURE__*/_jsx(Controls, {
|
|
207
200
|
editorRef: editorRef,
|
|
208
201
|
editorState: editorState,
|
|
209
202
|
setEditorState: onChange,
|
|
210
203
|
options: options,
|
|
211
204
|
disabled: disabled
|
|
212
|
-
}), /*#__PURE__*/(
|
|
205
|
+
}), /*#__PURE__*/_jsx(Editor, _objectSpread(_objectSpread({
|
|
213
206
|
ownerState: ownerState
|
|
214
207
|
}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.editor), {}, {
|
|
215
|
-
children: /*#__PURE__*/(
|
|
208
|
+
children: /*#__PURE__*/_jsx(DraftJsEditor, _objectSpread({
|
|
216
209
|
ref: editorRef,
|
|
217
210
|
editorState: editorState,
|
|
218
211
|
onChange: decoratedOnChange,
|
|
@@ -222,13 +215,13 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
222
215
|
customStyleMap: customStyleMap,
|
|
223
216
|
blockRenderMap: blockRenderMap,
|
|
224
217
|
onCopy: function onCopy(editor, event) {
|
|
225
|
-
|
|
218
|
+
onDraftEditorCopy(editor, event);
|
|
226
219
|
},
|
|
227
220
|
onCut: function onCut(editor, event) {
|
|
228
|
-
|
|
221
|
+
onDraftEditorCut(editor, event);
|
|
229
222
|
},
|
|
230
223
|
handlePastedText: function handlePastedText(text, html, editorState) {
|
|
231
|
-
var nextEditorState =
|
|
224
|
+
var nextEditorState = pasteAndFilterText(html, editorState, options);
|
|
232
225
|
if (nextEditorState) {
|
|
233
226
|
decoratedOnChange(nextEditorState);
|
|
234
227
|
return "handled";
|
|
@@ -239,7 +232,7 @@ var Rte = exports.Rte = /*#__PURE__*/(0, _react.forwardRef)(function (inProps, r
|
|
|
239
232
|
}))]
|
|
240
233
|
}));
|
|
241
234
|
});
|
|
242
|
-
var Root =
|
|
235
|
+
var Root = createComponentSlot("div")({
|
|
243
236
|
componentName: "Rte",
|
|
244
237
|
slotName: "root",
|
|
245
238
|
classesResolver: function classesResolver(ownerState) {
|
|
@@ -248,9 +241,9 @@ var Root = (0, _admin.createComponentSlot)("div")({
|
|
|
248
241
|
})(function (_ref3) {
|
|
249
242
|
var _theme$components, _theme$components2, _theme$components3;
|
|
250
243
|
var theme = _ref3.theme;
|
|
251
|
-
return
|
|
244
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n --comet-admin-rte-outer-border-color: ", ";\n border: 1px solid var(--comet-admin-rte-outer-border-color);\n border-top-width: 0; // To prevent the top border from being hidden, when to toolbar is sticky, the top border must be handled by the Toolbar itself\n background-color: #fff;\n border-radius: 2px;\n\n &:hover {\n --comet-admin-rte-outer-border-color: ", ";\n }\n\n &:focus-within {\n --comet-admin-rte-outer-border-color: ", ";\n }\n "])), getRteTheme((_theme$components = theme.components) === null || _theme$components === void 0 || (_theme$components = _theme$components.CometAdminRte) === null || _theme$components === void 0 ? void 0 : _theme$components.defaultProps).colors.border, getRteTheme((_theme$components2 = theme.components) === null || _theme$components2 === void 0 || (_theme$components2 = _theme$components2.CometAdminRte) === null || _theme$components2 === void 0 ? void 0 : _theme$components2.defaultProps).colors.outerBorderOnHover, getRteTheme((_theme$components3 = theme.components) === null || _theme$components3 === void 0 || (_theme$components3 = _theme$components3.CometAdminRte) === null || _theme$components3 === void 0 ? void 0 : _theme$components3.defaultProps).colors.outerBorderOnFocus);
|
|
252
245
|
});
|
|
253
|
-
var Editor =
|
|
246
|
+
var Editor = createComponentSlot("div")({
|
|
254
247
|
componentName: "Rte",
|
|
255
248
|
slotName: "editor",
|
|
256
249
|
classesResolver: function classesResolver(ownerState) {
|
|
@@ -259,5 +252,5 @@ var Editor = (0, _admin.createComponentSlot)("div")({
|
|
|
259
252
|
})(function (_ref4) {
|
|
260
253
|
var ownerState = _ref4.ownerState,
|
|
261
254
|
theme = _ref4.theme;
|
|
262
|
-
return
|
|
255
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n & .public-DraftEditor-content {\n min-height: 240px;\n\n ", "\n\n padding: 20px;\n box-sizing: border-box;\n }\n\n ", "\n "])), ownerState.minHeight !== undefined && css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-height: ", ";\n "])), "".concat(ownerState.minHeight, "px")), ownerState.disabled && css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n "])), theme.palette.text.disabled));
|
|
263
256
|
});
|
package/lib/core/RteReadOnly.js
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
require("draft-js/dist/Draft.css");
|
|
8
|
-
var _draftJs = require("draft-js");
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _defaultBlocktypeMap = _interopRequireWildcard(require("./defaultBlocktypeMap"));
|
|
11
|
-
var _Rte = require("./Rte");
|
|
12
|
-
var _createBlockRenderMap = _interopRequireDefault(require("./utils/createBlockRenderMap"));
|
|
13
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
17
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; }
|
|
18
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; }
|
|
19
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
20
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
21
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
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
|
+
import "draft-js/dist/Draft.css"; // important for nesting of ul/ol
|
|
8
|
+
|
|
9
|
+
import { Editor as DraftJsEditor } from "draft-js";
|
|
10
|
+
import { useRef } from "react";
|
|
11
|
+
import defaultBlocktypeMap, { cleanBlockTypeMap, mergeBlocktypeMaps } from "./defaultBlocktypeMap";
|
|
12
|
+
import { styleMap } from "./Rte";
|
|
13
|
+
import createBlockRenderMap from "./utils/createBlockRenderMap";
|
|
14
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
22
15
|
var defaultOptions = {
|
|
23
|
-
blocktypeMap:
|
|
16
|
+
blocktypeMap: defaultBlocktypeMap
|
|
24
17
|
};
|
|
25
18
|
var RteReadOnly = function RteReadOnly(_ref) {
|
|
26
19
|
var editorState = _ref.value,
|
|
27
20
|
passedOptions = _ref.options,
|
|
28
21
|
plainTextOnly = _ref.plainTextOnly;
|
|
29
|
-
var editorRef =
|
|
22
|
+
var editorRef = useRef(null);
|
|
30
23
|
|
|
31
24
|
// merge default options with passed options
|
|
32
25
|
var options = passedOptions ? _objectSpread(_objectSpread({}, defaultOptions), passedOptions) : defaultOptions;
|
|
@@ -37,13 +30,13 @@ var RteReadOnly = function RteReadOnly(_ref) {
|
|
|
37
30
|
deprecatedCustomBlockMap = options.customBlockMap;
|
|
38
31
|
delete options.customBlockMap;
|
|
39
32
|
}
|
|
40
|
-
|
|
33
|
+
cleanBlockTypeMap(options.blocktypeMap); // mutate object and print warning when configuration is wrong
|
|
41
34
|
|
|
42
35
|
// blocktypes need an extra merge as they have their own merge strategy
|
|
43
36
|
options = _objectSpread(_objectSpread({}, options), {}, {
|
|
44
|
-
blocktypeMap:
|
|
37
|
+
blocktypeMap: mergeBlocktypeMaps(defaultBlocktypeMap, deprecatedCustomBlockMap, options.blocktypeMap)
|
|
45
38
|
});
|
|
46
|
-
var blockRenderMap = (
|
|
39
|
+
var blockRenderMap = createBlockRenderMap({
|
|
47
40
|
blocktypeMap: options.blocktypeMap
|
|
48
41
|
});
|
|
49
42
|
function handleOnChange() {
|
|
@@ -52,18 +45,18 @@ var RteReadOnly = function RteReadOnly(_ref) {
|
|
|
52
45
|
}
|
|
53
46
|
}
|
|
54
47
|
if (plainTextOnly) {
|
|
55
|
-
return /*#__PURE__*/(
|
|
48
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
56
49
|
children: editorState.getCurrentContent().getPlainText()
|
|
57
50
|
});
|
|
58
51
|
}
|
|
59
|
-
return /*#__PURE__*/(
|
|
52
|
+
return /*#__PURE__*/_jsx(DraftJsEditor, {
|
|
60
53
|
ref: editorRef,
|
|
61
54
|
editorState: editorState,
|
|
62
55
|
onChange: handleOnChange,
|
|
63
56
|
spellCheck: false,
|
|
64
|
-
customStyleMap:
|
|
57
|
+
customStyleMap: styleMap,
|
|
65
58
|
readOnly: true,
|
|
66
59
|
blockRenderMap: blockRenderMap
|
|
67
60
|
});
|
|
68
61
|
};
|
|
69
|
-
|
|
62
|
+
export default RteReadOnly;
|