@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
- }, tooltip) : /*#__PURE__*/React.createElement(Stack, {
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
- }, tooltip), isEditable && /*#__PURE__*/React.createElement(EditLineIcon, {
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",
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",