@fileverse-dev/fortune-react 1.1.65 → 1.1.66-clear-formatting-1
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.
|
@@ -113,7 +113,7 @@ var __generator = this && this.__generator || function (thisArg, body) {
|
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
|
-
import { locale, handleCopy, handlePasteByClick, deleteRowCol, insertRowCol, removeActiveImage, deleteSelectedCellText, sortSelection, createFilter, showImgChooser, handleLink, hideSelected, showSelected, getSheetIndex, api, isAllowEdit, jfrefreshgrid, newComment, getFreezeState, toggleFreeze, clearFilter } from "@fileverse-dev/fortune-core";
|
|
116
|
+
import { locale, handleCopy, handlePasteByClick, deleteRowCol, insertRowCol, removeActiveImage, deleteSelectedCellText, sortSelection, createFilter, showImgChooser, handleLink, hideSelected, showSelected, getSheetIndex, api, isAllowEdit, jfrefreshgrid, newComment, getFreezeState, toggleFreeze, clearFilter, clearSelectedCellFormat, clearColumnsCellsFormat, clearRowsCellsFormat } from "@fileverse-dev/fortune-core";
|
|
117
117
|
import _ from "lodash";
|
|
118
118
|
import React, { useContext, useRef, useCallback, useLayoutEffect } from "react";
|
|
119
119
|
import regeneratorRuntime from "regenerator-runtime";
|
|
@@ -996,6 +996,28 @@ var ContextMenu = function ContextMenu() {
|
|
|
996
996
|
className: "color-text-secondary w-4 h-4"
|
|
997
997
|
})))));
|
|
998
998
|
}
|
|
999
|
+
if (name === "clear-format") {
|
|
1000
|
+
return /*#__PURE__*/React.createElement(Menu, {
|
|
1001
|
+
key: name,
|
|
1002
|
+
onClick: function onClick() {
|
|
1003
|
+
if (context.allowEdit === false) return;
|
|
1004
|
+
setContext(function (draftCtx) {
|
|
1005
|
+
draftCtx.contextMenu = {};
|
|
1006
|
+
if (draftCtx.contextMenu.headerMenu === "row") {
|
|
1007
|
+
clearRowsCellsFormat(draftCtx);
|
|
1008
|
+
} else if (draftCtx.contextMenu.headerMenu === true) {
|
|
1009
|
+
clearColumnsCellsFormat(draftCtx);
|
|
1010
|
+
} else if (!draftCtx.contextMenu.headerMenu) {
|
|
1011
|
+
clearSelectedCellFormat(draftCtx);
|
|
1012
|
+
}
|
|
1013
|
+
});
|
|
1014
|
+
}
|
|
1015
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1016
|
+
className: "context-item"
|
|
1017
|
+
}, /*#__PURE__*/React.createElement(LucideIcon, {
|
|
1018
|
+
name: "RemoveFormatting"
|
|
1019
|
+
}), /*#__PURE__*/React.createElement("p", null, "Clear formatting")));
|
|
1020
|
+
}
|
|
999
1021
|
return null;
|
|
1000
1022
|
}, [context, setContext, refs.globalCache, rightclick, showAlert, showDialog, drag.noMulti, info.tipRowHeightLimit, info.tipColumnWidthLimit, generalDialog.partiallyError, generalDialog.readOnlyError, generalDialog.dataNullError]);
|
|
1001
1023
|
useLayoutEffect(function () {
|
|
@@ -6,7 +6,7 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
6
6
|
context = _a.context,
|
|
7
7
|
refs = _a.refs,
|
|
8
8
|
setContext = _a.setContext;
|
|
9
|
-
function
|
|
9
|
+
function handleScroll(scrollContainer, moveScrollBy, getPixelScale) {
|
|
10
10
|
if (getPixelScale === void 0) {
|
|
11
11
|
getPixelScale = function getPixelScale() {
|
|
12
12
|
return window.devicePixelRatio || 1;
|
|
@@ -29,7 +29,7 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
29
29
|
queuedXPixels = 0;
|
|
30
30
|
queuedYPixels = 0;
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function scrollHandler(x, y) {
|
|
33
33
|
queuedXPixels += x;
|
|
34
34
|
queuedYPixels += y;
|
|
35
35
|
if (!animationFrameId) animationFrameId = requestAnimationFrame(applyQueuedScroll);
|
|
@@ -50,47 +50,58 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
52
|
var scaleFactor = getPixelScale();
|
|
53
|
-
|
|
53
|
+
scrollHandler(event.deltaX * scaleFactor, event.deltaY * scaleFactor);
|
|
54
54
|
}
|
|
55
55
|
scrollContainer.addEventListener("wheel", handleWheelEvent, {
|
|
56
56
|
passive: false
|
|
57
57
|
});
|
|
58
58
|
return {
|
|
59
|
-
|
|
59
|
+
scrollHandler: scrollHandler,
|
|
60
60
|
detach: function detach() {
|
|
61
61
|
scrollContainer.removeEventListener("wheel", handleWheelEvent);
|
|
62
62
|
if (animationFrameId) cancelAnimationFrame(animationFrameId);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
-
function
|
|
67
|
-
var
|
|
68
|
-
var
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
function handleMobileScroll(containerEl, scrollHandler, getPixelScale) {
|
|
67
|
+
var isScrolling = false;
|
|
68
|
+
var gestureStartClientX = 0;
|
|
69
|
+
var gestureStartClientY = 0;
|
|
70
|
+
var lastPointerClientX = 0;
|
|
71
|
+
var lastPointerClientY = 0;
|
|
72
|
+
var PAN_DISTANCE_THRESHOLD_PX = 8;
|
|
73
|
+
function onPointerDown(pointerEvent) {
|
|
74
|
+
if (pointerEvent.pointerType !== "touch" && pointerEvent.pointerType !== "pen") return;
|
|
75
|
+
isScrolling = false;
|
|
76
|
+
gestureStartClientX = pointerEvent.clientX;
|
|
77
|
+
lastPointerClientX = pointerEvent.clientX;
|
|
78
|
+
gestureStartClientY = pointerEvent.clientY;
|
|
79
|
+
lastPointerClientY = pointerEvent.clientY;
|
|
80
|
+
containerEl.setPointerCapture(pointerEvent.pointerId);
|
|
77
81
|
}
|
|
78
|
-
function onPointerMove(
|
|
79
|
-
if (
|
|
80
|
-
var
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
function onPointerMove(pointerEvent) {
|
|
83
|
+
if (pointerEvent.pointerType !== "touch" && pointerEvent.pointerType !== "pen") return;
|
|
84
|
+
var deltaXSinceLastMove = pointerEvent.clientX - lastPointerClientX;
|
|
85
|
+
var deltaYSinceLastMove = pointerEvent.clientY - lastPointerClientY;
|
|
86
|
+
lastPointerClientX = pointerEvent.clientX;
|
|
87
|
+
lastPointerClientY = pointerEvent.clientY;
|
|
88
|
+
if (!isScrolling) {
|
|
89
|
+
var totalXFromGestureStart = lastPointerClientX - gestureStartClientX;
|
|
90
|
+
var totalYFromGestureStart = lastPointerClientY - gestureStartClientY;
|
|
91
|
+
if (totalXFromGestureStart * totalXFromGestureStart + totalYFromGestureStart * totalYFromGestureStart < PAN_DISTANCE_THRESHOLD_PX * PAN_DISTANCE_THRESHOLD_PX) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
isScrolling = true;
|
|
95
|
+
}
|
|
96
|
+
pointerEvent.preventDefault();
|
|
84
97
|
var scale = getPixelScale();
|
|
85
|
-
|
|
86
|
-
e.preventDefault();
|
|
98
|
+
scrollHandler(-deltaXSinceLastMove * scale, -deltaYSinceLastMove * scale);
|
|
87
99
|
}
|
|
88
100
|
function onPointerUp(e) {
|
|
89
|
-
if (!dragging) return;
|
|
90
|
-
dragging = false;
|
|
91
101
|
try {
|
|
92
102
|
containerEl.releasePointerCapture(e.pointerId);
|
|
93
103
|
} catch (_a) {}
|
|
104
|
+
isScrolling = false;
|
|
94
105
|
}
|
|
95
106
|
containerEl.addEventListener("pointerdown", onPointerDown, {
|
|
96
107
|
passive: false
|
|
@@ -107,7 +118,7 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
107
118
|
containerEl.removeEventListener("pointercancel", onPointerUp);
|
|
108
119
|
};
|
|
109
120
|
}
|
|
110
|
-
var
|
|
121
|
+
var makeScrollableAreaMoveByPixels = function makeScrollableAreaMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl) {
|
|
111
122
|
return function (xPixels, yPixels) {
|
|
112
123
|
var maxScrollLeft = horizontalScrollbarEl.scrollWidth - horizontalScrollbarEl.clientWidth;
|
|
113
124
|
var maxScrollTop = verticalScrollbarEl.scrollHeight - verticalScrollbarEl.clientHeight;
|
|
@@ -123,19 +134,19 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
123
134
|
}
|
|
124
135
|
};
|
|
125
136
|
};
|
|
126
|
-
function
|
|
127
|
-
var
|
|
128
|
-
var _a =
|
|
137
|
+
function mountScrollEventHandlers(scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl) {
|
|
138
|
+
var moveScrollableAreaByPixels = makeScrollableAreaMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl);
|
|
139
|
+
var _a = handleScroll(scrollContainerEl, moveScrollableAreaByPixels, function () {
|
|
129
140
|
return (window.devicePixelRatio || 1) * context.zoomRatio;
|
|
130
141
|
}),
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
var
|
|
142
|
+
scrollHandler = _a.scrollHandler,
|
|
143
|
+
unmountScrollHandler = _a.detach;
|
|
144
|
+
var unmountMobileScrollHandler = handleMobileScroll(scrollContainerEl, scrollHandler, function () {
|
|
134
145
|
return (window.devicePixelRatio || 1) * context.zoomRatio;
|
|
135
146
|
});
|
|
136
147
|
return function () {
|
|
137
|
-
|
|
138
|
-
|
|
148
|
+
unmountScrollHandler();
|
|
149
|
+
unmountMobileScrollHandler();
|
|
139
150
|
};
|
|
140
151
|
}
|
|
141
152
|
useEffect(function () {
|
|
@@ -143,7 +154,7 @@ export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
|
143
154
|
var horizontalScrollbarEl = refs.scrollbarX.current;
|
|
144
155
|
var verticalScrollbarEl = refs.scrollbarY.current;
|
|
145
156
|
if (!scrollContainerEl || !horizontalScrollbarEl || !verticalScrollbarEl) return function () {};
|
|
146
|
-
var
|
|
147
|
-
return
|
|
157
|
+
var unmountScrollEventHandlers = mountScrollEventHandlers(scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl);
|
|
158
|
+
return unmountScrollEventHandlers;
|
|
148
159
|
}, [context.zoomRatio]);
|
|
149
160
|
};
|
|
@@ -1005,6 +1005,28 @@ var ContextMenu = function ContextMenu() {
|
|
|
1005
1005
|
className: "color-text-secondary w-4 h-4"
|
|
1006
1006
|
})))));
|
|
1007
1007
|
}
|
|
1008
|
+
if (name === "clear-format") {
|
|
1009
|
+
return /*#__PURE__*/_react.default.createElement(_Menu.default, {
|
|
1010
|
+
key: name,
|
|
1011
|
+
onClick: function onClick() {
|
|
1012
|
+
if (context.allowEdit === false) return;
|
|
1013
|
+
setContext(function (draftCtx) {
|
|
1014
|
+
draftCtx.contextMenu = {};
|
|
1015
|
+
if (draftCtx.contextMenu.headerMenu === "row") {
|
|
1016
|
+
(0, _fortuneCore.clearRowsCellsFormat)(draftCtx);
|
|
1017
|
+
} else if (draftCtx.contextMenu.headerMenu === true) {
|
|
1018
|
+
(0, _fortuneCore.clearColumnsCellsFormat)(draftCtx);
|
|
1019
|
+
} else if (!draftCtx.contextMenu.headerMenu) {
|
|
1020
|
+
(0, _fortuneCore.clearSelectedCellFormat)(draftCtx);
|
|
1021
|
+
}
|
|
1022
|
+
});
|
|
1023
|
+
}
|
|
1024
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
1025
|
+
className: "context-item"
|
|
1026
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
|
|
1027
|
+
name: "RemoveFormatting"
|
|
1028
|
+
}), /*#__PURE__*/_react.default.createElement("p", null, "Clear formatting")));
|
|
1029
|
+
}
|
|
1008
1030
|
return null;
|
|
1009
1031
|
}, [context, setContext, refs.globalCache, rightclick, showAlert, showDialog, drag.noMulti, info.tipRowHeightLimit, info.tipColumnWidthLimit, generalDialog.partiallyError, generalDialog.readOnlyError, generalDialog.dataNullError]);
|
|
1010
1032
|
(0, _react.useLayoutEffect)(function () {
|
|
@@ -13,7 +13,7 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
13
13
|
context = _a.context,
|
|
14
14
|
refs = _a.refs,
|
|
15
15
|
setContext = _a.setContext;
|
|
16
|
-
function
|
|
16
|
+
function handleScroll(scrollContainer, moveScrollBy, getPixelScale) {
|
|
17
17
|
if (getPixelScale === void 0) {
|
|
18
18
|
getPixelScale = function getPixelScale() {
|
|
19
19
|
return window.devicePixelRatio || 1;
|
|
@@ -36,7 +36,7 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
36
36
|
queuedXPixels = 0;
|
|
37
37
|
queuedYPixels = 0;
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function scrollHandler(x, y) {
|
|
40
40
|
queuedXPixels += x;
|
|
41
41
|
queuedYPixels += y;
|
|
42
42
|
if (!animationFrameId) animationFrameId = requestAnimationFrame(applyQueuedScroll);
|
|
@@ -57,47 +57,58 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
var scaleFactor = getPixelScale();
|
|
60
|
-
|
|
60
|
+
scrollHandler(event.deltaX * scaleFactor, event.deltaY * scaleFactor);
|
|
61
61
|
}
|
|
62
62
|
scrollContainer.addEventListener("wheel", handleWheelEvent, {
|
|
63
63
|
passive: false
|
|
64
64
|
});
|
|
65
65
|
return {
|
|
66
|
-
|
|
66
|
+
scrollHandler: scrollHandler,
|
|
67
67
|
detach: function detach() {
|
|
68
68
|
scrollContainer.removeEventListener("wheel", handleWheelEvent);
|
|
69
69
|
if (animationFrameId) cancelAnimationFrame(animationFrameId);
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
function
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
function handleMobileScroll(containerEl, scrollHandler, getPixelScale) {
|
|
74
|
+
var isScrolling = false;
|
|
75
|
+
var gestureStartClientX = 0;
|
|
76
|
+
var gestureStartClientY = 0;
|
|
77
|
+
var lastPointerClientX = 0;
|
|
78
|
+
var lastPointerClientY = 0;
|
|
79
|
+
var PAN_DISTANCE_THRESHOLD_PX = 8;
|
|
80
|
+
function onPointerDown(pointerEvent) {
|
|
81
|
+
if (pointerEvent.pointerType !== "touch" && pointerEvent.pointerType !== "pen") return;
|
|
82
|
+
isScrolling = false;
|
|
83
|
+
gestureStartClientX = pointerEvent.clientX;
|
|
84
|
+
lastPointerClientX = pointerEvent.clientX;
|
|
85
|
+
gestureStartClientY = pointerEvent.clientY;
|
|
86
|
+
lastPointerClientY = pointerEvent.clientY;
|
|
87
|
+
containerEl.setPointerCapture(pointerEvent.pointerId);
|
|
84
88
|
}
|
|
85
|
-
function onPointerMove(
|
|
86
|
-
if (
|
|
87
|
-
var
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
function onPointerMove(pointerEvent) {
|
|
90
|
+
if (pointerEvent.pointerType !== "touch" && pointerEvent.pointerType !== "pen") return;
|
|
91
|
+
var deltaXSinceLastMove = pointerEvent.clientX - lastPointerClientX;
|
|
92
|
+
var deltaYSinceLastMove = pointerEvent.clientY - lastPointerClientY;
|
|
93
|
+
lastPointerClientX = pointerEvent.clientX;
|
|
94
|
+
lastPointerClientY = pointerEvent.clientY;
|
|
95
|
+
if (!isScrolling) {
|
|
96
|
+
var totalXFromGestureStart = lastPointerClientX - gestureStartClientX;
|
|
97
|
+
var totalYFromGestureStart = lastPointerClientY - gestureStartClientY;
|
|
98
|
+
if (totalXFromGestureStart * totalXFromGestureStart + totalYFromGestureStart * totalYFromGestureStart < PAN_DISTANCE_THRESHOLD_PX * PAN_DISTANCE_THRESHOLD_PX) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
isScrolling = true;
|
|
102
|
+
}
|
|
103
|
+
pointerEvent.preventDefault();
|
|
91
104
|
var scale = getPixelScale();
|
|
92
|
-
|
|
93
|
-
e.preventDefault();
|
|
105
|
+
scrollHandler(-deltaXSinceLastMove * scale, -deltaYSinceLastMove * scale);
|
|
94
106
|
}
|
|
95
107
|
function onPointerUp(e) {
|
|
96
|
-
if (!dragging) return;
|
|
97
|
-
dragging = false;
|
|
98
108
|
try {
|
|
99
109
|
containerEl.releasePointerCapture(e.pointerId);
|
|
100
110
|
} catch (_a) {}
|
|
111
|
+
isScrolling = false;
|
|
101
112
|
}
|
|
102
113
|
containerEl.addEventListener("pointerdown", onPointerDown, {
|
|
103
114
|
passive: false
|
|
@@ -114,7 +125,7 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
114
125
|
containerEl.removeEventListener("pointercancel", onPointerUp);
|
|
115
126
|
};
|
|
116
127
|
}
|
|
117
|
-
var
|
|
128
|
+
var makeScrollableAreaMoveByPixels = function makeScrollableAreaMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl) {
|
|
118
129
|
return function (xPixels, yPixels) {
|
|
119
130
|
var maxScrollLeft = horizontalScrollbarEl.scrollWidth - horizontalScrollbarEl.clientWidth;
|
|
120
131
|
var maxScrollTop = verticalScrollbarEl.scrollHeight - verticalScrollbarEl.clientHeight;
|
|
@@ -130,19 +141,19 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
130
141
|
}
|
|
131
142
|
};
|
|
132
143
|
};
|
|
133
|
-
function
|
|
134
|
-
var
|
|
135
|
-
var _a =
|
|
144
|
+
function mountScrollEventHandlers(scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl) {
|
|
145
|
+
var moveScrollableAreaByPixels = makeScrollableAreaMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl);
|
|
146
|
+
var _a = handleScroll(scrollContainerEl, moveScrollableAreaByPixels, function () {
|
|
136
147
|
return (window.devicePixelRatio || 1) * context.zoomRatio;
|
|
137
148
|
}),
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
var
|
|
149
|
+
scrollHandler = _a.scrollHandler,
|
|
150
|
+
unmountScrollHandler = _a.detach;
|
|
151
|
+
var unmountMobileScrollHandler = handleMobileScroll(scrollContainerEl, scrollHandler, function () {
|
|
141
152
|
return (window.devicePixelRatio || 1) * context.zoomRatio;
|
|
142
153
|
});
|
|
143
154
|
return function () {
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
unmountScrollHandler();
|
|
156
|
+
unmountMobileScrollHandler();
|
|
146
157
|
};
|
|
147
158
|
}
|
|
148
159
|
(0, _react.useEffect)(function () {
|
|
@@ -150,7 +161,7 @@ var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollC
|
|
|
150
161
|
var horizontalScrollbarEl = refs.scrollbarX.current;
|
|
151
162
|
var verticalScrollbarEl = refs.scrollbarY.current;
|
|
152
163
|
if (!scrollContainerEl || !horizontalScrollbarEl || !verticalScrollbarEl) return function () {};
|
|
153
|
-
var
|
|
154
|
-
return
|
|
164
|
+
var unmountScrollEventHandlers = mountScrollEventHandlers(scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl);
|
|
165
|
+
return unmountScrollEventHandlers;
|
|
155
166
|
}, [context.zoomRatio]);
|
|
156
167
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fileverse-dev/fortune-react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.66-clear-formatting-1",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "lib/index.d.ts",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"tsc": "tsc"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@fileverse-dev/fortune-core": "1.1.
|
|
19
|
+
"@fileverse-dev/fortune-core": "1.1.66-clear-formatting-1",
|
|
20
20
|
"@fileverse/ui": "^4.1.7-patch-21",
|
|
21
21
|
"@tippyjs/react": "^4.2.6",
|
|
22
22
|
"@types/regenerator-runtime": "^0.13.6",
|