@kids-reporter/draft-editor 1.0.2 → 1.0.4
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/block-renderer-fn.js +9 -23
- package/lib/block-renderers/blockquote.js +7 -10
- package/lib/block-renderers/embedded-code.js +7 -10
- package/lib/block-renderers/image.js +7 -10
- package/lib/block-renderers/info-box.js +7 -10
- package/lib/block-renderers/slideshow.js +7 -10
- package/lib/block-renderers/styled.js +10 -3
- package/lib/buttons/anchor.js +51 -0
- package/lib/buttons/annotation.js +3 -3
- package/lib/buttons/bg-color.js +3 -4
- package/lib/buttons/blockquote.js +2 -2
- package/lib/buttons/bt-names.js +4 -4
- package/lib/buttons/control-buttons.js +159 -0
- package/lib/buttons/embedded-code.js +45 -3
- package/lib/buttons/font-color.js +3 -4
- package/lib/buttons/image.js +2 -2
- package/lib/buttons/index.js +41 -0
- package/lib/buttons/info-box.js +3 -3
- package/lib/buttons/link.js +2 -2
- package/lib/buttons/news-reading.js +2 -2
- package/lib/buttons/selector/align-selector.js +2 -2
- package/lib/buttons/selector/image-selector.js +2 -2
- package/lib/buttons/selector/search-box.js +2 -2
- package/lib/buttons/slideshow.js +2 -2
- package/lib/draft-editor.js +115 -457
- package/lib/entity-decorators/anchor.js +111 -0
- package/lib/index.js +2 -3
- package/lib/styled.js +98 -0
- package/package.json +2 -2
- package/lib/buttons/form/array-field.js +0 -30
package/lib/block-renderer-fn.js
CHANGED
|
@@ -20,35 +20,21 @@ const AtomicBlock = props => {
|
|
|
20
20
|
const entityData = entity.getData();
|
|
21
21
|
switch (entityType) {
|
|
22
22
|
case 'BLOCKQUOTE':
|
|
23
|
-
|
|
24
|
-
return (0, _blockquote.EditableBlockquote)(props);
|
|
25
|
-
}
|
|
23
|
+
return (0, _blockquote.EditableBlockquote)(props);
|
|
26
24
|
case 'DIVIDER':
|
|
27
|
-
|
|
28
|
-
return Divider();
|
|
29
|
-
}
|
|
25
|
+
return Divider();
|
|
30
26
|
case 'IMAGE':
|
|
31
|
-
|
|
32
|
-
return (0, _image.EditableImage)(props);
|
|
33
|
-
}
|
|
27
|
+
return (0, _image.EditableImage)(props);
|
|
34
28
|
case 'SLIDESHOW':
|
|
35
|
-
|
|
36
|
-
return (0, _slideshow.EditableSlideshow)(props);
|
|
37
|
-
}
|
|
29
|
+
return (0, _slideshow.EditableSlideshow)(props);
|
|
38
30
|
case 'EMBEDDEDCODE':
|
|
39
|
-
|
|
40
|
-
return (0, _embeddedCode.EditableEmbeddedCode)(props);
|
|
41
|
-
}
|
|
31
|
+
return (0, _embeddedCode.EditableEmbeddedCode)(props);
|
|
42
32
|
case 'INFOBOX':
|
|
43
|
-
|
|
44
|
-
return (0, _infoBox.EditableInfoBox)(props);
|
|
45
|
-
}
|
|
33
|
+
return (0, _infoBox.EditableInfoBox)(props);
|
|
46
34
|
case 'NEWS_READING':
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
}
|
|
35
|
+
return NewsReading({
|
|
36
|
+
data: entityData
|
|
37
|
+
});
|
|
52
38
|
}
|
|
53
39
|
return null;
|
|
54
40
|
};
|
|
@@ -10,8 +10,8 @@ var _blockquote = require("../buttons/blockquote");
|
|
|
10
10
|
var _styled = require("./styled");
|
|
11
11
|
var _draftRenderer = require("@kids-reporter/draft-renderer");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const {
|
|
16
16
|
BlockquoteInArticleBody
|
|
17
17
|
} = _draftRenderer.blockRenderers;
|
|
@@ -53,16 +53,13 @@ function EditableBlockquote(props) {
|
|
|
53
53
|
},
|
|
54
54
|
onConfirm: onInputChange,
|
|
55
55
|
inputValue: data
|
|
56
|
-
}), /*#__PURE__*/_react.default.createElement(EditableBlock,
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
}), /*#__PURE__*/_react.default.createElement(EditableBlock, {
|
|
57
|
+
component: /*#__PURE__*/_react.default.createElement(StyledBlockquote, {
|
|
58
|
+
data: data
|
|
59
|
+
}),
|
|
59
60
|
onClick: () => {
|
|
60
|
-
// call `onEditStart` prop as we are trying to update the blockquote entity
|
|
61
61
|
onEditStart();
|
|
62
|
-
// open `BlockquoteInput`
|
|
63
62
|
setIsInputOpen(true);
|
|
64
63
|
}
|
|
65
|
-
}
|
|
66
|
-
className: "fa-solid fa-pen"
|
|
67
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
|
|
64
|
+
}));
|
|
68
65
|
}
|
|
@@ -10,8 +10,8 @@ var _embeddedCode = require("../buttons/embedded-code");
|
|
|
10
10
|
var _styled = require("./styled");
|
|
11
11
|
var _fields = require("@keystone-ui/fields");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
function EmbeddedCode({
|
|
16
16
|
className,
|
|
17
17
|
embeddedCode
|
|
@@ -66,16 +66,13 @@ function EditableEmbeddedCode(props) {
|
|
|
66
66
|
},
|
|
67
67
|
onConfirm: onInputChange,
|
|
68
68
|
inputValue: data
|
|
69
|
-
}), /*#__PURE__*/_react.default.createElement(EditableBlock,
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
}), /*#__PURE__*/_react.default.createElement(EditableBlock, {
|
|
70
|
+
component: /*#__PURE__*/_react.default.createElement(StyledEmbeddedCode, {
|
|
71
|
+
embeddedCode: data === null || data === void 0 ? void 0 : data.embeddedCode
|
|
72
|
+
}),
|
|
72
73
|
onClick: () => {
|
|
73
|
-
// call `onEditStart` prop as we are trying to update the blockquote entity
|
|
74
74
|
onEditStart();
|
|
75
|
-
// open `BlockquoteInput`
|
|
76
75
|
setIsInputOpen(true);
|
|
77
76
|
}
|
|
78
|
-
}
|
|
79
|
-
className: "fa-solid fa-pen"
|
|
80
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
|
|
77
|
+
}));
|
|
81
78
|
}
|
|
@@ -10,8 +10,8 @@ var _imageSelector = require("../buttons/selector/image-selector");
|
|
|
10
10
|
var _styled = require("./styled");
|
|
11
11
|
var _draftRenderer = require("@kids-reporter/draft-renderer");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const {
|
|
16
16
|
ImageInArticleBody
|
|
17
17
|
} = _draftRenderer.blockRenderers;
|
|
@@ -63,16 +63,13 @@ function EditableImage(props) {
|
|
|
63
63
|
enableAlignment: true,
|
|
64
64
|
alignment: data.alignment,
|
|
65
65
|
selected: [imageWithMeta]
|
|
66
|
-
}), /*#__PURE__*/_react.default.createElement(EditableBlock,
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
}), /*#__PURE__*/_react.default.createElement(EditableBlock, {
|
|
67
|
+
component: /*#__PURE__*/_react.default.createElement(StyledImage, {
|
|
68
|
+
data: data
|
|
69
|
+
}),
|
|
69
70
|
onClick: () => {
|
|
70
|
-
// call `onEditStart` prop as we are trying to update the blockquote entity
|
|
71
71
|
onEditStart();
|
|
72
|
-
// open `BlockquoteInput`
|
|
73
72
|
setIsSelectorOpen(true);
|
|
74
73
|
}
|
|
75
|
-
}
|
|
76
|
-
className: "fa-solid fa-pen"
|
|
77
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
|
|
74
|
+
}));
|
|
78
75
|
}
|
|
@@ -10,8 +10,8 @@ var _styled = require("./styled");
|
|
|
10
10
|
var _infoBox = require("../buttons/info-box");
|
|
11
11
|
var _draftRenderer = require("@kids-reporter/draft-renderer");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const {
|
|
16
16
|
InfoBoxInArticleBody
|
|
17
17
|
} = _draftRenderer.blockRenderers;
|
|
@@ -57,16 +57,13 @@ function EditableInfoBox(props) {
|
|
|
57
57
|
inputValue: data,
|
|
58
58
|
Editor: Editor,
|
|
59
59
|
decorator: decorator
|
|
60
|
-
}), /*#__PURE__*/_react.default.createElement(EditableBlock,
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
}), /*#__PURE__*/_react.default.createElement(EditableBlock, {
|
|
61
|
+
component: /*#__PURE__*/_react.default.createElement(StyledInfoBox, {
|
|
62
|
+
data: data
|
|
63
|
+
}),
|
|
63
64
|
onClick: () => {
|
|
64
|
-
// call `onEditStart` prop as we are trying to update the blockquote entity
|
|
65
65
|
onEditStart();
|
|
66
|
-
// open `BlockquoteInput`
|
|
67
66
|
setIsInputOpen(true);
|
|
68
67
|
}
|
|
69
|
-
}
|
|
70
|
-
className: "fa-solid fa-pen"
|
|
71
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
|
|
68
|
+
}));
|
|
72
69
|
}
|
|
@@ -10,8 +10,8 @@ var _imageSelector = require("../buttons/selector/image-selector");
|
|
|
10
10
|
var _styled = require("./styled");
|
|
11
11
|
var _draftRenderer = require("@kids-reporter/draft-renderer");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const {
|
|
16
16
|
SlideshowInArticleBody
|
|
17
17
|
} = _draftRenderer.blockRenderers;
|
|
@@ -60,16 +60,13 @@ function EditableSlideshow(props) {
|
|
|
60
60
|
enableMultiSelect: true,
|
|
61
61
|
alignment: data.alignment,
|
|
62
62
|
selected: data.images
|
|
63
|
-
}), /*#__PURE__*/_react.default.createElement(EditableBlock,
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
}), /*#__PURE__*/_react.default.createElement(EditableBlock, {
|
|
64
|
+
component: /*#__PURE__*/_react.default.createElement(StyledSlideshow, {
|
|
65
|
+
data: data
|
|
66
|
+
}),
|
|
66
67
|
onClick: () => {
|
|
67
|
-
// call `onEditStart` prop as we are trying to update the blockquote entity
|
|
68
68
|
onEditStart();
|
|
69
|
-
// open `BlockquoteInput`
|
|
70
69
|
setIsSelectorOpen(true);
|
|
71
70
|
}
|
|
72
|
-
}
|
|
73
|
-
className: "fa-solid fa-pen"
|
|
74
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
|
|
71
|
+
}));
|
|
75
72
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.EditableBlock =
|
|
6
|
+
exports.EditableBlock = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
10
|
const EditButton = _styledComponents.default.div`
|
|
@@ -14,8 +15,7 @@ const EditButton = _styledComponents.default.div`
|
|
|
14
15
|
left: 50%;
|
|
15
16
|
transform: translate(-50%, -50%);
|
|
16
17
|
`;
|
|
17
|
-
|
|
18
|
-
const EditableBlock = _styledComponents.default.div`
|
|
18
|
+
const _EditableBlock = _styledComponents.default.div`
|
|
19
19
|
position: relative;
|
|
20
20
|
|
|
21
21
|
&:hover {
|
|
@@ -25,4 +25,11 @@ const EditableBlock = _styledComponents.default.div`
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
`;
|
|
28
|
+
const EditableBlock = props => {
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_EditableBlock, null, props.component, /*#__PURE__*/_react.default.createElement(EditButton, {
|
|
30
|
+
onClick: props.onClick
|
|
31
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
32
|
+
className: "fa-solid fa-pen"
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, "Modify")));
|
|
34
|
+
};
|
|
28
35
|
exports.EditableBlock = EditableBlock;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AnchorButton = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _draftJs = require("draft-js");
|
|
9
|
+
var _draftRenderer = require("@kids-reporter/draft-renderer");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const AnchorButton = props => {
|
|
12
|
+
const toggleEntity = _draftJs.RichUtils.toggleLink;
|
|
13
|
+
const {
|
|
14
|
+
isActive,
|
|
15
|
+
editorState,
|
|
16
|
+
onChange
|
|
17
|
+
} = props;
|
|
18
|
+
const promptForAnchor = e => {
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
const selection = editorState.getSelection();
|
|
21
|
+
if (!selection.isCollapsed()) {
|
|
22
|
+
const contentState = editorState.getCurrentContent();
|
|
23
|
+
const startKey = selection.getStartKey();
|
|
24
|
+
const block = contentState.getBlockForKey(startKey);
|
|
25
|
+
const start = selection.getStartOffset();
|
|
26
|
+
const end = selection.getEndOffset();
|
|
27
|
+
const selectedText = block.getText().slice(start, end);
|
|
28
|
+
const contentStateWithEntity = contentState.createEntity(_draftRenderer.ANCHOR_ENTITY_TYPE, 'IMMUTABLE', {
|
|
29
|
+
anchorKey: `createdAt-${Date.now()}`,
|
|
30
|
+
anchorLabel: selectedText
|
|
31
|
+
});
|
|
32
|
+
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
33
|
+
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
34
|
+
currentContent: contentStateWithEntity
|
|
35
|
+
});
|
|
36
|
+
onChange(toggleEntity(newEditorState, newEditorState.getSelection(), entityKey));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const removeAnchor = () => {
|
|
40
|
+
const selection = editorState.getSelection();
|
|
41
|
+
if (!selection.isCollapsed()) {
|
|
42
|
+
onChange(toggleEntity(editorState, selection, null));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
|
+
className: props.className,
|
|
47
|
+
onMouseDown: isActive ? removeAnchor : promptForAnchor,
|
|
48
|
+
title: "\u7D22\u5F15"
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, "\u7D22"));
|
|
50
|
+
};
|
|
51
|
+
exports.AnchorButton = AnchorButton;
|
|
@@ -9,9 +9,9 @@ var _btNames = _interopRequireDefault(require("./bt-names"));
|
|
|
9
9
|
var _draftJs = require("draft-js");
|
|
10
10
|
var _modals = require("@keystone-ui/modals");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
14
|
-
const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.image, _btNames.default.infoBox, _btNames.default.slideshow, _btNames.default.newsReading];
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.image, _btNames.default.infoBox, _btNames.default.slideshow, _btNames.default.newsReading, _btNames.default.anchor];
|
|
15
15
|
function createAnnotationButton({
|
|
16
16
|
InnerEditor,
|
|
17
17
|
decorator
|
package/lib/buttons/bg-color.js
CHANGED
|
@@ -11,10 +11,9 @@ var _draftJs = require("draft-js");
|
|
|
11
11
|
var _fields = require("@keystone-ui/fields");
|
|
12
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
16
|
-
const customStylePrefix = 'BACKGROUND_COLOR_';
|
|
17
|
-
exports.customStylePrefix = customStylePrefix;
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
const customStylePrefix = exports.customStylePrefix = 'BACKGROUND_COLOR_';
|
|
18
17
|
const ColorHexInput = (0, _styledComponents.default)(_fields.TextInput)`
|
|
19
18
|
margin-right: 10px;
|
|
20
19
|
padding: 10px;
|
|
@@ -10,8 +10,8 @@ var _draftJs = require("draft-js");
|
|
|
10
10
|
var _modals = require("@keystone-ui/modals");
|
|
11
11
|
var _select = require("./form/select");
|
|
12
12
|
var _fields = require("@keystone-ui/fields");
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
var BlockquoteTypeEnum = /*#__PURE__*/function (BlockquoteTypeEnum) {
|
|
16
16
|
BlockquoteTypeEnum["borderLeft"] = "border_left";
|
|
17
17
|
BlockquoteTypeEnum["quoteLeft"] = "quote_left";
|
package/lib/buttons/bt-names.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
7
|
+
var _default = exports.default = {
|
|
8
8
|
// inline styles
|
|
9
9
|
bold: 'bold',
|
|
10
10
|
italic: 'italic',
|
|
@@ -30,6 +30,6 @@ var _default = {
|
|
|
30
30
|
link: 'link',
|
|
31
31
|
slideshow: 'slideshow',
|
|
32
32
|
newsReading: 'news-reading',
|
|
33
|
-
divider: 'divider'
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
divider: 'divider',
|
|
34
|
+
anchor: 'anchor'
|
|
35
|
+
};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buttonStyle = exports.InlineStyleControls = exports.BlockStyleControls = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
const buttonStyle = exports.buttonStyle = (0, _styledComponents.css)`
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
border-radius: 6px;
|
|
15
|
+
text-align: center;
|
|
16
|
+
font-size: 1rem;
|
|
17
|
+
padding: 0 12px;
|
|
18
|
+
margin: ${props => props.isDisabled ? '0' : '0 0 10px 0'};
|
|
19
|
+
background-color: #fff;
|
|
20
|
+
border: solid 1px rgb(193, 199, 208);
|
|
21
|
+
align-items: center;
|
|
22
|
+
height: 40px;
|
|
23
|
+
|
|
24
|
+
cursor: ${props => props.readOnly ? 'not-allowed' : 'pointer'};
|
|
25
|
+
color: ${props => {
|
|
26
|
+
if (props.readOnly) {
|
|
27
|
+
return '#c1c7d0';
|
|
28
|
+
}
|
|
29
|
+
if (props.isActive) {
|
|
30
|
+
return '#3b82f6';
|
|
31
|
+
}
|
|
32
|
+
return '#6b7280';
|
|
33
|
+
}};
|
|
34
|
+
border: solid 1px
|
|
35
|
+
${props => {
|
|
36
|
+
if (props.readOnly) {
|
|
37
|
+
return '#c1c7d0';
|
|
38
|
+
}
|
|
39
|
+
if (props.isActive) {
|
|
40
|
+
return '#3b82f6';
|
|
41
|
+
}
|
|
42
|
+
return '#6b7280';
|
|
43
|
+
}};
|
|
44
|
+
box-shadow: ${props => {
|
|
45
|
+
if (props.readOnly) {
|
|
46
|
+
return 'unset';
|
|
47
|
+
}
|
|
48
|
+
if (props.isActive) {
|
|
49
|
+
return 'rgba(38, 132, 255, 20%) 0px 1px 4px ';
|
|
50
|
+
}
|
|
51
|
+
return 'unset';
|
|
52
|
+
}};
|
|
53
|
+
transition: box-shadow 100ms linear;
|
|
54
|
+
|
|
55
|
+
display: ${props => {
|
|
56
|
+
if (props.isDisabled) {
|
|
57
|
+
return 'none';
|
|
58
|
+
}
|
|
59
|
+
return 'inline-flex';
|
|
60
|
+
}};
|
|
61
|
+
`;
|
|
62
|
+
const CustomButton = _styledComponents.default.div`
|
|
63
|
+
${buttonStyle}
|
|
64
|
+
`;
|
|
65
|
+
class StyleButton extends _react.default.Component {
|
|
66
|
+
onToggle = e => {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
this.props.onToggle(this.props.style);
|
|
69
|
+
};
|
|
70
|
+
render() {
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement(CustomButton, {
|
|
72
|
+
isDisabled: this.props.isDisabled,
|
|
73
|
+
isActive: this.props.active,
|
|
74
|
+
onMouseDown: this.onToggle,
|
|
75
|
+
readOnly: this.props.readOnly
|
|
76
|
+
}, this.props.icon && /*#__PURE__*/_react.default.createElement("i", {
|
|
77
|
+
className: this.props.icon
|
|
78
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, !this.props.icon ? this.props.label : ''));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const blockStyles = [{
|
|
82
|
+
label: 'H2',
|
|
83
|
+
style: 'header-two',
|
|
84
|
+
icon: ''
|
|
85
|
+
}, {
|
|
86
|
+
label: 'H3',
|
|
87
|
+
style: 'header-three',
|
|
88
|
+
icon: ''
|
|
89
|
+
}, {
|
|
90
|
+
label: 'H4',
|
|
91
|
+
style: 'header-four',
|
|
92
|
+
icon: ''
|
|
93
|
+
}, {
|
|
94
|
+
label: 'H5',
|
|
95
|
+
style: 'header-five',
|
|
96
|
+
icon: ''
|
|
97
|
+
}, {
|
|
98
|
+
label: 'UL',
|
|
99
|
+
style: 'unordered-list-item',
|
|
100
|
+
icon: 'fas fa-list-ul'
|
|
101
|
+
}, {
|
|
102
|
+
label: 'OL',
|
|
103
|
+
style: 'ordered-list-item',
|
|
104
|
+
icon: 'fas fa-list-ol'
|
|
105
|
+
}, {
|
|
106
|
+
label: 'Code Block',
|
|
107
|
+
style: 'code-block',
|
|
108
|
+
icon: 'fas fa-code'
|
|
109
|
+
}];
|
|
110
|
+
const BlockStyleControls = props => {
|
|
111
|
+
const {
|
|
112
|
+
editorState,
|
|
113
|
+
disabledButtons
|
|
114
|
+
} = props;
|
|
115
|
+
const selection = editorState.getSelection();
|
|
116
|
+
const blockType = editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, blockStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
|
|
118
|
+
isDisabled: disabledButtons.includes(type.style),
|
|
119
|
+
key: type.label,
|
|
120
|
+
active: type.style === blockType,
|
|
121
|
+
label: type.label,
|
|
122
|
+
onToggle: props.onToggle,
|
|
123
|
+
style: type.style,
|
|
124
|
+
icon: type.icon,
|
|
125
|
+
readOnly: props.readOnly
|
|
126
|
+
})));
|
|
127
|
+
};
|
|
128
|
+
exports.BlockStyleControls = BlockStyleControls;
|
|
129
|
+
const inlineStyles = [{
|
|
130
|
+
label: 'Bold',
|
|
131
|
+
style: 'BOLD',
|
|
132
|
+
icon: 'fas fa-bold'
|
|
133
|
+
}, {
|
|
134
|
+
label: 'Italic',
|
|
135
|
+
style: 'ITALIC',
|
|
136
|
+
icon: 'fas fa-italic'
|
|
137
|
+
}, {
|
|
138
|
+
label: 'Underline',
|
|
139
|
+
style: 'UNDERLINE',
|
|
140
|
+
icon: 'fas fa-underline'
|
|
141
|
+
}, {
|
|
142
|
+
label: 'Monospace',
|
|
143
|
+
style: 'CODE',
|
|
144
|
+
icon: 'fas fa-terminal'
|
|
145
|
+
}];
|
|
146
|
+
const InlineStyleControls = props => {
|
|
147
|
+
const currentStyle = props.editorState.getCurrentInlineStyle();
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, inlineStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
|
|
149
|
+
isDisabled: props.disabledButtons.includes(type.style.toLowerCase()),
|
|
150
|
+
key: type.label,
|
|
151
|
+
active: currentStyle.has(type.style),
|
|
152
|
+
label: type.label,
|
|
153
|
+
onToggle: props.onToggle,
|
|
154
|
+
style: type.style,
|
|
155
|
+
icon: type.icon,
|
|
156
|
+
readOnly: props.readOnly
|
|
157
|
+
})));
|
|
158
|
+
};
|
|
159
|
+
exports.InlineStyleControls = InlineStyleControls;
|