@ctzhian/tiptap 2.9.3 → 2.9.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.
|
@@ -110,16 +110,6 @@ var EditPopover = function EditPopover(_ref) {
|
|
|
110
110
|
}
|
|
111
111
|
onClose();
|
|
112
112
|
};
|
|
113
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
114
|
-
if (event.key === 'Enter') {
|
|
115
|
-
event.preventDefault();
|
|
116
|
-
onConfirm(tooltipText.trim());
|
|
117
|
-
} else if (event.key === 'Escape') {
|
|
118
|
-
event.preventDefault();
|
|
119
|
-
setTooltipText(text || '');
|
|
120
|
-
onClose();
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
113
|
useEffect(function () {
|
|
124
114
|
if (isEditable) setTooltipText(text || '');
|
|
125
115
|
}, [text]);
|
|
@@ -140,6 +130,8 @@ var EditPopover = function EditPopover(_ref) {
|
|
|
140
130
|
}, /*#__PURE__*/React.createElement(TextField, {
|
|
141
131
|
fullWidth: true,
|
|
142
132
|
size: "small",
|
|
133
|
+
multiline: true,
|
|
134
|
+
rows: 4,
|
|
143
135
|
value: tooltipText,
|
|
144
136
|
onChange: function onChange(e) {
|
|
145
137
|
return setTooltipText(e.target.value);
|
|
@@ -147,7 +139,6 @@ var EditPopover = function EditPopover(_ref) {
|
|
|
147
139
|
placeholder: "\u8F93\u5165\u9F20\u6807\u60AC\u505C\u65F6\u663E\u793A\u7684\u63D0\u793A\u6587\u672C",
|
|
148
140
|
required: true,
|
|
149
141
|
autoFocus: true,
|
|
150
|
-
onKeyDown: handleKeyDown,
|
|
151
142
|
error: tooltipText.length > 0 && !tooltipText.trim(),
|
|
152
143
|
helperText: tooltipText.length > 0 && !tooltipText.trim() ? "请输入有效的提示文本" : ""
|
|
153
144
|
}), /*#__PURE__*/React.createElement(Stack, {
|
|
@@ -7,12 +7,13 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
7
7
|
import { EditLineIcon } from "../../../component/Icons";
|
|
8
8
|
import { Box, Stack, Tooltip } from "@mui/material";
|
|
9
9
|
import { MarkViewContent } from "@tiptap/react";
|
|
10
|
+
import DOMPurify from 'isomorphic-dompurify';
|
|
10
11
|
import React, { useEffect, useRef, useState } from "react";
|
|
11
12
|
import EditPopover from "./EditPopover";
|
|
12
13
|
var TooltipView = function TooltipView(_ref) {
|
|
13
14
|
var mark = _ref.mark,
|
|
14
15
|
editor = _ref.editor;
|
|
15
|
-
var tooltip = mark.attrs.tooltip;
|
|
16
|
+
var tooltip = DOMPurify.sanitize(mark.attrs.tooltip || '').trim();
|
|
16
17
|
var isEditable = editor.isEditable;
|
|
17
18
|
var _useState = useState(false),
|
|
18
19
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -76,16 +77,26 @@ var TooltipView = function TooltipView(_ref) {
|
|
|
76
77
|
title: isMobileReadonly ? /*#__PURE__*/React.createElement(Box, {
|
|
77
78
|
component: "span",
|
|
78
79
|
sx: {
|
|
79
|
-
maxWidth: 300
|
|
80
|
+
maxWidth: 300,
|
|
81
|
+
whiteSpace: 'pre-wrap'
|
|
82
|
+
},
|
|
83
|
+
dangerouslySetInnerHTML: {
|
|
84
|
+
__html: tooltip
|
|
80
85
|
}
|
|
81
|
-
}
|
|
86
|
+
}) : /*#__PURE__*/React.createElement(Stack, {
|
|
82
87
|
direction: "row",
|
|
83
88
|
alignItems: "center",
|
|
84
89
|
gap: 0.5,
|
|
85
90
|
maxWidth: 300
|
|
86
91
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
87
|
-
component: "span"
|
|
88
|
-
|
|
92
|
+
component: "span",
|
|
93
|
+
sx: {
|
|
94
|
+
whiteSpace: 'pre-wrap'
|
|
95
|
+
},
|
|
96
|
+
dangerouslySetInnerHTML: {
|
|
97
|
+
__html: tooltip
|
|
98
|
+
}
|
|
99
|
+
}), isEditable && /*#__PURE__*/React.createElement(EditLineIcon, {
|
|
89
100
|
sx: {
|
|
90
101
|
fontSize: '0.75rem',
|
|
91
102
|
cursor: 'pointer'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ctzhian/tiptap",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.4",
|
|
4
4
|
"description": "基于 Tiptap 二次开发的编辑器组件",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -117,6 +117,7 @@
|
|
|
117
117
|
"core-js": "^3.46.0",
|
|
118
118
|
"diff-match-patch": "^1.0.5",
|
|
119
119
|
"highlight.js": "^11.11.1",
|
|
120
|
+
"isomorphic-dompurify": "^2.34.0",
|
|
120
121
|
"jszip": "^3.10.1",
|
|
121
122
|
"katex": "^0.16.22",
|
|
122
123
|
"linkifyjs": "^4.3.2",
|