@ctzhian/tiptap 1.6.8 → 1.6.10

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.
@@ -23,7 +23,7 @@ import { Box, Divider, Stack, Typography, useTheme } from '@mui/material';
23
23
  import DragHandle from '@tiptap/extension-drag-handle-react';
24
24
  import { Fragment, Slice } from '@tiptap/pm/model';
25
25
  import { NodeSelection } from '@tiptap/pm/state';
26
- import React, { useCallback, useState } from 'react';
26
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
27
27
  import { convertNodeAt, downloadFiles, filterResourcesByType, getAllResources, getShortcutKeyText } from "../../util";
28
28
  import Menu from "../Menu";
29
29
  import { ToolbarItem } from "../Toolbar";
@@ -122,6 +122,105 @@ var CustomDragHandle = function CustomDragHandle(_ref3) {
122
122
  _useState8 = _slicedToArray(_useState7, 2),
123
123
  currentNode = _useState8[0],
124
124
  setCurrentNode = _useState8[1];
125
+
126
+ // 利用插件支持的元信息,在捕获阶段锁定/解锁拖拽句柄,避免在行内/无效区域触发内部 posAtDOM 计算
127
+ var lockedRef = useRef(true);
128
+ useEffect(function () {
129
+ if (!editor || editor !== null && editor !== void 0 && editor.isDestroyed) return;
130
+ var disposed = false;
131
+ var cleanup = null;
132
+ var onMouseMoveCapture = function onMouseMoveCapture(e) {
133
+ if (!editor.isEditable) return;
134
+ var viewAny;
135
+ var root;
136
+ try {
137
+ var _viewAny;
138
+ viewAny = editor.view;
139
+ root = (_viewAny = viewAny) === null || _viewAny === void 0 ? void 0 : _viewAny.dom;
140
+ } catch (_unused) {
141
+ return;
142
+ }
143
+ if (!root) return;
144
+ var el = document.elementFromPoint(e.clientX, e.clientY);
145
+ if (!el) return;
146
+ var cur = el;
147
+ var allowed = false;
148
+ while (cur && root.contains(cur)) {
149
+ var _desc$node;
150
+ var desc = cur.pmViewDesc;
151
+ if (desc !== null && desc !== void 0 && (_desc$node = desc.node) !== null && _desc$node !== void 0 && _desc$node.isBlock) {
152
+ allowed = true;
153
+ break;
154
+ }
155
+ if (cur.hasAttribute && cur.hasAttribute('data-drag-handle')) {
156
+ allowed = true;
157
+ break;
158
+ }
159
+ cur = cur.parentElement;
160
+ }
161
+ var shouldLock = !allowed;
162
+ if (shouldLock !== lockedRef.current) {
163
+ lockedRef.current = shouldLock;
164
+ try {
165
+ var _viewAny2, _viewAny2$dispatch;
166
+ var tr = editor.state.tr.setMeta('lockDragHandle', shouldLock);
167
+ if (shouldLock) tr.setMeta('hideDragHandle', true);
168
+ (_viewAny2 = viewAny) === null || _viewAny2 === void 0 || (_viewAny2$dispatch = _viewAny2.dispatch) === null || _viewAny2$dispatch === void 0 || _viewAny2$dispatch.call(_viewAny2, tr);
169
+ } catch (_unused2) {}
170
+ }
171
+ };
172
+ var bind = function bind() {
173
+ if (disposed) return false;
174
+ var viewAny;
175
+ var root;
176
+ try {
177
+ var _viewAny3;
178
+ viewAny = editor.view;
179
+ root = (_viewAny3 = viewAny) === null || _viewAny3 === void 0 ? void 0 : _viewAny3.dom;
180
+ } catch (_unused3) {
181
+ return false;
182
+ }
183
+ if (!root) return false;
184
+ try {
185
+ var _viewAny4, _viewAny4$dispatch;
186
+ lockedRef.current = true;
187
+ var tr0 = editor.state.tr.setMeta('lockDragHandle', true).setMeta('hideDragHandle', true);
188
+ (_viewAny4 = viewAny) === null || _viewAny4 === void 0 || (_viewAny4$dispatch = _viewAny4.dispatch) === null || _viewAny4$dispatch === void 0 || _viewAny4$dispatch.call(_viewAny4, tr0);
189
+ } catch (_unused4) {}
190
+ root.addEventListener('mousemove', onMouseMoveCapture, {
191
+ capture: true
192
+ });
193
+ cleanup = function cleanup() {
194
+ root && root.removeEventListener('mousemove', onMouseMoveCapture, {
195
+ capture: true
196
+ });
197
+ };
198
+ return true;
199
+ };
200
+ if (!bind()) {
201
+ var onCreate = function onCreate() {
202
+ bind();
203
+ };
204
+ try {
205
+ var _on, _ref4;
206
+ (_on = (_ref4 = editor).on) === null || _on === void 0 || _on.call(_ref4, 'create', onCreate);
207
+ } catch (_unused5) {}
208
+ return function () {
209
+ var _cleanup;
210
+ disposed = true;
211
+ try {
212
+ var _off, _ref5;
213
+ (_off = (_ref5 = editor).off) === null || _off === void 0 || _off.call(_ref5, 'create', onCreate);
214
+ } catch (_unused6) {}
215
+ (_cleanup = cleanup) === null || _cleanup === void 0 || _cleanup();
216
+ };
217
+ }
218
+ return function () {
219
+ var _cleanup2;
220
+ disposed = true;
221
+ (_cleanup2 = cleanup) === null || _cleanup2 === void 0 || _cleanup2();
222
+ };
223
+ }, [editor]);
125
224
  var THEME_TEXT_COLOR = [{
126
225
  label: '默认色',
127
226
  value: theme.palette.text.primary
@@ -240,9 +339,9 @@ var CustomDragHandle = function CustomDragHandle(_ref3) {
240
339
  var attrs = current.editor.getAttributes(node.type.name);
241
340
  return Number(attrs.indent) || 0;
242
341
  };
243
- var shouldShowButton = function shouldShowButton(_ref4) {
244
- var editor = _ref4.editor,
245
- data = _ref4.data;
342
+ var shouldShowButton = function shouldShowButton(_ref6) {
343
+ var editor = _ref6.editor,
344
+ data = _ref6.data;
246
345
  if (!editor || !editor.isEditable) return false;
247
346
  var currentNode = data.node;
248
347
  var empty = (currentNode === null || currentNode === void 0 ? void 0 : currentNode.textContent) === '';
@@ -142,7 +142,6 @@ var InsertAttachment = function InsertAttachment(_ref) {
142
142
  }, [errorCount, successCount, total]);
143
143
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
144
144
  className: "attachment-wrapper".concat(selected ? ' ProseMirror-selectednode' : ''),
145
- "data-drag-handle": true,
146
145
  as: 'span'
147
146
  }, /*#__PURE__*/React.createElement("input", {
148
147
  ref: fileInputRef,
@@ -7,7 +7,6 @@ var ReadonlyAttachment = function ReadonlyAttachment(_ref) {
7
7
  type = _ref.type;
8
8
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
9
9
  className: "attachment-wrapper".concat(type === 'block' ? ' block-attachment-wrapper' : ''),
10
- "data-drag-handle": true,
11
10
  as: type === 'block' ? 'div' : 'span'
12
11
  }, /*#__PURE__*/React.createElement(Box, {
13
12
  component: "a",
@@ -1,3 +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
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
3
  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."); }
3
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -99,11 +100,12 @@ var AttachmentViewWrapper = function AttachmentViewWrapper(_ref) {
99
100
  type: attachmentDisplayType
100
101
  });
101
102
  }
102
- return /*#__PURE__*/React.createElement(NodeViewWrapper, {
103
+ return /*#__PURE__*/React.createElement(NodeViewWrapper, _extends({
103
104
  className: "attachment-wrapper".concat(attachmentDisplayType === 'block' ? ' block-attachment-wrapper' : '').concat(selected ? ' ProseMirror-selectednode' : ''),
104
- "data-drag-handle": true,
105
105
  as: attachmentDisplayType === 'block' ? 'div' : 'span'
106
- }, attachmentDisplayType === 'block' ? /*#__PURE__*/React.createElement(Stack, {
106
+ }, attachmentDisplayType === 'block' ? {
107
+ 'data-drag-handle': true
108
+ } : {}), attachmentDisplayType === 'block' ? /*#__PURE__*/React.createElement(Stack, {
107
109
  direction: 'row',
108
110
  alignItems: 'center',
109
111
  gap: 2,
@@ -158,8 +158,7 @@ var CropImage = function CropImage(_ref) {
158
158
  };
159
159
  }();
160
160
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
161
- className: "image-wrapper ".concat(selected ? 'ProseMirror-selectednode' : ''),
162
- "data-drag-handle": true
161
+ className: "image-wrapper ".concat(selected ? 'ProseMirror-selectednode' : '')
163
162
  }, /*#__PURE__*/React.createElement(Box, {
164
163
  component: 'span',
165
164
  sx: {
@@ -172,8 +172,7 @@ var InsertImage = function InsertImage(_ref) {
172
172
  };
173
173
  }();
174
174
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NodeViewWrapper, {
175
- className: "image-wrapper",
176
- "data-drag-handle": true
175
+ className: "image-wrapper"
177
176
  }, /*#__PURE__*/React.createElement(Stack, {
178
177
  direction: 'row',
179
178
  alignItems: 'center',
@@ -7,8 +7,7 @@ import 'react-photo-view/dist/react-photo-view.css';
7
7
  var ReadonlyImage = function ReadonlyImage(_ref) {
8
8
  var attrs = _ref.attrs;
9
9
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
10
- className: "image-wrapper",
11
- "data-drag-handle": true
10
+ className: "image-wrapper"
12
11
  }, /*#__PURE__*/React.createElement(Box, {
13
12
  component: 'span',
14
13
  sx: {
@@ -222,8 +222,8 @@ var ImageViewWrapper = function ImageViewWrapper(_ref) {
222
222
  }
223
223
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
224
224
  className: "image-wrapper ".concat(selected ? 'ProseMirror-selectednode' : ''),
225
- "data-drag-handle": true,
226
- as: 'span'
225
+ as: 'span',
226
+ 'data-drag-handle': false
227
227
  }, /*#__PURE__*/React.createElement(Box, {
228
228
  component: 'span',
229
229
  sx: {
@@ -74,7 +74,6 @@ var InsertLink = function InsertLink(_ref) {
74
74
  }, []);
75
75
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
76
76
  className: "link-wrapper ".concat(attrs.class),
77
- "data-drag-handle": true,
78
77
  as: 'span'
79
78
  }, /*#__PURE__*/React.createElement(Box, {
80
79
  id: "insert-link-box",
@@ -11,8 +11,7 @@ var ReadonlyLink = function ReadonlyLink(_ref) {
11
11
  favicon = new URL(attrs.href).origin + '/favicon.ico';
12
12
  } catch (error) {}
13
13
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
14
- className: "link-wrapper",
15
- "data-drag-handle": true
14
+ className: "link-wrapper"
16
15
  }, attrs.type === 'block' ? /*#__PURE__*/React.createElement(Box, {
17
16
  component: 'a',
18
17
  href: attrs.href,
@@ -1,4 +1,5 @@
1
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); }
2
+ 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); }
2
3
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
4
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
5
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -144,11 +145,12 @@ var LinkViewWrapper = function LinkViewWrapper(_ref) {
144
145
  editor: editor
145
146
  });
146
147
  }
147
- return /*#__PURE__*/React.createElement(NodeViewWrapper, {
148
+ return /*#__PURE__*/React.createElement(NodeViewWrapper, _extends({
148
149
  className: "link-wrapper ".concat(attrs.class, " ").concat(attrs.type === 'block' ? 'block-link-wrapper' : '', " ").concat(selected ? 'ProseMirror-selectednode' : ''),
149
- "data-drag-handle": true,
150
150
  as: attrs.type === 'block' ? 'div' : 'span'
151
- }, attrs.type === 'block' ? /*#__PURE__*/React.createElement(Stack, {
151
+ }, attrs.type === 'block' ? {
152
+ 'data-drag-handle': true
153
+ } : {}), attrs.type === 'block' ? /*#__PURE__*/React.createElement(Stack, {
152
154
  direction: 'row',
153
155
  alignItems: 'center',
154
156
  gap: 2,
@@ -6,8 +6,7 @@ var ReadonlyInlineMath = function ReadonlyInlineMath(_ref) {
6
6
  selected = _ref.selected,
7
7
  mathRef = _ref.mathRef;
8
8
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
9
- className: "mathematics-inline-wrapper ".concat(selected ? 'ProseMirror-selectednode' : ''),
10
- "data-drag-handle": true
9
+ className: "mathematics-inline-wrapper ".concat(selected ? 'ProseMirror-selectednode' : '')
11
10
  }, /*#__PURE__*/React.createElement(Box, {
12
11
  component: "span",
13
12
  sx: {
@@ -64,7 +64,6 @@ export var MathematicsInlineViewWrapper = function MathematicsInlineViewWrapper(
64
64
  }
65
65
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
66
66
  className: "mathematics-inline-wrapper ".concat(selected ? 'ProseMirror-selectednode' : ''),
67
- "data-drag-handle": true,
68
67
  as: "span"
69
68
  }, !attrs.latex ? /*#__PURE__*/React.createElement(Box, {
70
69
  component: "span",
@@ -5,8 +5,7 @@ var ReadonlyVideo = function ReadonlyVideo(_ref) {
5
5
  var attrs = _ref.attrs,
6
6
  _onError = _ref.onError;
7
7
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
8
- className: "video-wrapper",
9
- "data-drag-handle": true
8
+ className: "video-wrapper"
10
9
  }, /*#__PURE__*/React.createElement(Box, {
11
10
  sx: {
12
11
  position: 'relative',
@@ -82,8 +82,7 @@ var VideoViewWrapper = function VideoViewWrapper(_ref) {
82
82
  });
83
83
  }
84
84
  return /*#__PURE__*/React.createElement(NodeViewWrapper, {
85
- className: "video-wrapper ".concat(selected ? 'ProseMirror-selectednode' : ''),
86
- "data-drag-handle": true
85
+ className: "video-wrapper ".concat(selected ? 'ProseMirror-selectednode' : '')
87
86
  }, /*#__PURE__*/React.createElement(Box, {
88
87
  sx: {
89
88
  position: 'relative',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ctzhian/tiptap",
3
- "version": "1.6.8",
3
+ "version": "1.6.10",
4
4
  "description": "基于 Tiptap 二次开发的编辑器组件",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",