@fileverse-dev/fortune-react 1.1.55-smooth-scroll-1 → 1.1.56
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/es/components/Sheet/index.js +21 -4
- package/es/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
- package/es/components/SheetOverlay/FormulaHint/dragable-div.js +87 -0
- package/es/components/SheetOverlay/FormulaHint/index.css +8 -4
- package/es/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
- package/es/components/SheetOverlay/FormulaHint/index.js +76 -23
- package/es/components/SheetOverlay/FormulaSearch/index.css +13 -3
- package/es/components/SheetOverlay/FormulaSearch/index.js +18 -13
- package/es/components/SheetOverlay/Icon.d.ts +18 -0
- package/es/components/SheetOverlay/Icon.js +383 -0
- package/es/components/SheetOverlay/InputBox.js +83 -25
- package/es/components/SheetOverlay/LucideIcon.d.ts +30 -0
- package/es/components/SheetOverlay/LucideIcon.js +45 -0
- package/es/components/SheetOverlay/index.css +15 -0
- package/lib/components/Sheet/index.js +19 -2
- package/lib/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
- package/lib/components/SheetOverlay/FormulaHint/dragable-div.js +93 -0
- package/lib/components/SheetOverlay/FormulaHint/index.css +8 -4
- package/lib/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
- package/lib/components/SheetOverlay/FormulaHint/index.js +76 -23
- package/lib/components/SheetOverlay/FormulaSearch/index.css +13 -3
- package/lib/components/SheetOverlay/FormulaSearch/index.js +18 -13
- package/lib/components/SheetOverlay/Icon.d.ts +18 -0
- package/lib/components/SheetOverlay/Icon.js +390 -0
- package/lib/components/SheetOverlay/InputBox.js +83 -25
- package/lib/components/SheetOverlay/LucideIcon.d.ts +30 -0
- package/lib/components/SheetOverlay/LucideIcon.js +54 -0
- package/lib/components/SheetOverlay/index.css +15 -0
- package/package.json +2 -2
- package/es/components/Sheet/use-smooth-scroll.d.ts +0 -2
- package/es/components/Sheet/use-smooth-scroll.js +0 -85
- package/lib/components/Sheet/use-smooth-scroll.d.ts +0 -2
- package/lib/components/Sheet/use-smooth-scroll.js +0 -92
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.UltimateIcons = exports.LucideIcon = void 0;
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _Icon = require("./Icon");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
var __assign = void 0 && (void 0).__assign || function () {
|
|
14
|
+
__assign = Object.assign || function (t) {
|
|
15
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
16
|
+
s = arguments[i];
|
|
17
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
21
|
+
return __assign.apply(this, arguments);
|
|
22
|
+
};
|
|
23
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
24
|
+
var t = {};
|
|
25
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
26
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
27
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
};
|
|
31
|
+
var UltimateIcons = exports.UltimateIcons = Object.assign({}, _Icon.LucideIcons);
|
|
32
|
+
var LucideIcon = exports.LucideIcon = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
|
|
33
|
+
var name = _a.name,
|
|
34
|
+
className = _a.className,
|
|
35
|
+
strokeWidth = _a.strokeWidth,
|
|
36
|
+
size = _a.size,
|
|
37
|
+
fill = _a.fill,
|
|
38
|
+
stroke = _a.stroke,
|
|
39
|
+
props = __rest(_a, ["name", "className", "strokeWidth", "size", "fill", "stroke"]);
|
|
40
|
+
var buttonSize = size === 'sm' ? 'w-6 h-6' : size === 'lg' ? 'w-10 h-10' : 'w-8 h-8';
|
|
41
|
+
var IconComponent = UltimateIcons[name];
|
|
42
|
+
if (!IconComponent) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(IconComponent, __assign({
|
|
46
|
+
name: name,
|
|
47
|
+
ref: ref,
|
|
48
|
+
className: (0, _classnames.default)(buttonSize, className),
|
|
49
|
+
strokeWidth: strokeWidth || 2,
|
|
50
|
+
fill: fill || 'none',
|
|
51
|
+
stroke: stroke || 'currentColor'
|
|
52
|
+
}, props));
|
|
53
|
+
});
|
|
54
|
+
LucideIcon.displayName = 'LucideIcon';
|
|
@@ -950,3 +950,18 @@
|
|
|
950
950
|
pointer-events: none;
|
|
951
951
|
user-select: none;
|
|
952
952
|
}
|
|
953
|
+
|
|
954
|
+
.luckysheet-hint {
|
|
955
|
+
/* position: absolute; */
|
|
956
|
+
top: -18px;
|
|
957
|
+
left: 0;
|
|
958
|
+
background-color: #efc703;
|
|
959
|
+
color: #000000;
|
|
960
|
+
padding: 2px 8px;
|
|
961
|
+
font-size: 12px;
|
|
962
|
+
font-weight: 500;
|
|
963
|
+
white-space: nowrap;
|
|
964
|
+
z-index: 20;
|
|
965
|
+
pointer-events: none;
|
|
966
|
+
user-select: none;
|
|
967
|
+
}
|
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.56",
|
|
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.56",
|
|
20
20
|
"@fileverse/ui": "^4.1.7-patch-21",
|
|
21
21
|
"@tippyjs/react": "^4.2.6",
|
|
22
22
|
"@types/regenerator-runtime": "^0.13.6",
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { useContext, useEffect } from "react";
|
|
2
|
-
import WorkbookContext from "../../context";
|
|
3
|
-
export var useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
4
|
-
var _a = useContext(WorkbookContext),
|
|
5
|
-
context = _a.context,
|
|
6
|
-
refs = _a.refs;
|
|
7
|
-
function attachSmoothWheelScroll(scrollContainer, moveScrollBy, getPixelScale) {
|
|
8
|
-
if (getPixelScale === void 0) {
|
|
9
|
-
getPixelScale = function getPixelScale() {
|
|
10
|
-
return window.devicePixelRatio || 1;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
var queuedXPixels = 0;
|
|
14
|
-
var queuedYPixels = 0;
|
|
15
|
-
var animationFrameId = 0;
|
|
16
|
-
var MAX_PIXEL_DELTA_PER_FRAME = 1200;
|
|
17
|
-
function applyQueuedScroll() {
|
|
18
|
-
animationFrameId = 0;
|
|
19
|
-
if (Math.abs(queuedXPixels) < 0.5 && Math.abs(queuedYPixels) < 0.5) {
|
|
20
|
-
queuedXPixels = 0;
|
|
21
|
-
queuedYPixels = 0;
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
var xPixels = Math.max(-MAX_PIXEL_DELTA_PER_FRAME, Math.min(MAX_PIXEL_DELTA_PER_FRAME, queuedXPixels));
|
|
25
|
-
var yPixels = Math.max(-MAX_PIXEL_DELTA_PER_FRAME, Math.min(MAX_PIXEL_DELTA_PER_FRAME, queuedYPixels));
|
|
26
|
-
moveScrollBy(xPixels, yPixels);
|
|
27
|
-
queuedXPixels = 0;
|
|
28
|
-
queuedYPixels = 0;
|
|
29
|
-
}
|
|
30
|
-
function handleWheelEvent(event) {
|
|
31
|
-
var _a, _b;
|
|
32
|
-
event.preventDefault();
|
|
33
|
-
var functionDetailsElement = document.getElementById("function-details");
|
|
34
|
-
var formulaSearchElement = document.getElementById("luckysheet-formula-search-c");
|
|
35
|
-
var isPointerOverFunctionDetails = functionDetailsElement === null || functionDetailsElement === void 0 ? void 0 : functionDetailsElement.matches(":hover");
|
|
36
|
-
var isPointerOverFormulaSearch = formulaSearchElement === null || formulaSearchElement === void 0 ? void 0 : formulaSearchElement.matches(":hover");
|
|
37
|
-
var isPointerInSearchDialog = !!((_b = (_a = refs === null || refs === void 0 ? void 0 : refs.globalCache) === null || _a === void 0 ? void 0 : _a.searchDialog) === null || _b === void 0 ? void 0 : _b.mouseEnter);
|
|
38
|
-
var hasFilterContextMenuOpen = context.filterContextMenu != null;
|
|
39
|
-
if (functionDetailsElement && isPointerOverFunctionDetails || formulaSearchElement && isPointerOverFormulaSearch || isPointerInSearchDialog || hasFilterContextMenuOpen) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
var scaleFactor = getPixelScale();
|
|
43
|
-
queuedXPixels += event.deltaX * scaleFactor;
|
|
44
|
-
queuedYPixels += event.deltaY * scaleFactor;
|
|
45
|
-
if (!animationFrameId) animationFrameId = requestAnimationFrame(applyQueuedScroll);
|
|
46
|
-
}
|
|
47
|
-
scrollContainer.addEventListener("wheel", handleWheelEvent, {
|
|
48
|
-
passive: false
|
|
49
|
-
});
|
|
50
|
-
return function () {
|
|
51
|
-
scrollContainer.removeEventListener("wheel", handleWheelEvent);
|
|
52
|
-
if (animationFrameId) cancelAnimationFrame(animationFrameId);
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
var makeScrollbarsMoveByPixels = function makeScrollbarsMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl) {
|
|
56
|
-
return function (xPixels, yPixels) {
|
|
57
|
-
var maxScrollLeft = horizontalScrollbarEl.scrollWidth - horizontalScrollbarEl.clientWidth;
|
|
58
|
-
var maxScrollTop = verticalScrollbarEl.scrollHeight - verticalScrollbarEl.clientHeight;
|
|
59
|
-
var targetScrollLeft = Math.max(0, Math.min(maxScrollLeft, horizontalScrollbarEl.scrollLeft + xPixels));
|
|
60
|
-
var targetScrollTop = Math.max(0, Math.min(maxScrollTop, verticalScrollbarEl.scrollTop + yPixels));
|
|
61
|
-
var didScrollX = targetScrollLeft !== horizontalScrollbarEl.scrollLeft;
|
|
62
|
-
var didScrollY = targetScrollTop !== verticalScrollbarEl.scrollTop;
|
|
63
|
-
if (didScrollX) {
|
|
64
|
-
horizontalScrollbarEl.scrollLeft = targetScrollLeft;
|
|
65
|
-
}
|
|
66
|
-
if (didScrollY) {
|
|
67
|
-
verticalScrollbarEl.scrollTop = targetScrollTop;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
function routeWheelScrollToScrollbars(sheetContext, scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl) {
|
|
72
|
-
var moveScrollbarsByPixels = makeScrollbarsMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl);
|
|
73
|
-
return attachSmoothWheelScroll(scrollContainerEl, moveScrollbarsByPixels, function () {
|
|
74
|
-
return (window.devicePixelRatio || 1) * sheetContext.zoomRatio;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
useEffect(function () {
|
|
78
|
-
var scrollContainerEl = scrollContainerRef.current;
|
|
79
|
-
var horizontalScrollbarEl = refs.scrollbarX.current;
|
|
80
|
-
var verticalScrollbarEl = refs.scrollbarY.current;
|
|
81
|
-
if (!scrollContainerEl || !horizontalScrollbarEl || !verticalScrollbarEl) return function () {};
|
|
82
|
-
var unmountScrollHandler = routeWheelScrollToScrollbars(context, scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl);
|
|
83
|
-
return unmountScrollHandler;
|
|
84
|
-
}, [context.zoomRatio]);
|
|
85
|
-
};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useSmoothScroll = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _context = _interopRequireDefault(require("../../context"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
var useSmoothScroll = exports.useSmoothScroll = function useSmoothScroll(scrollContainerRef) {
|
|
11
|
-
var _a = (0, _react.useContext)(_context.default),
|
|
12
|
-
context = _a.context,
|
|
13
|
-
refs = _a.refs;
|
|
14
|
-
function attachSmoothWheelScroll(scrollContainer, moveScrollBy, getPixelScale) {
|
|
15
|
-
if (getPixelScale === void 0) {
|
|
16
|
-
getPixelScale = function getPixelScale() {
|
|
17
|
-
return window.devicePixelRatio || 1;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
var queuedXPixels = 0;
|
|
21
|
-
var queuedYPixels = 0;
|
|
22
|
-
var animationFrameId = 0;
|
|
23
|
-
var MAX_PIXEL_DELTA_PER_FRAME = 1200;
|
|
24
|
-
function applyQueuedScroll() {
|
|
25
|
-
animationFrameId = 0;
|
|
26
|
-
if (Math.abs(queuedXPixels) < 0.5 && Math.abs(queuedYPixels) < 0.5) {
|
|
27
|
-
queuedXPixels = 0;
|
|
28
|
-
queuedYPixels = 0;
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
var xPixels = Math.max(-MAX_PIXEL_DELTA_PER_FRAME, Math.min(MAX_PIXEL_DELTA_PER_FRAME, queuedXPixels));
|
|
32
|
-
var yPixels = Math.max(-MAX_PIXEL_DELTA_PER_FRAME, Math.min(MAX_PIXEL_DELTA_PER_FRAME, queuedYPixels));
|
|
33
|
-
moveScrollBy(xPixels, yPixels);
|
|
34
|
-
queuedXPixels = 0;
|
|
35
|
-
queuedYPixels = 0;
|
|
36
|
-
}
|
|
37
|
-
function handleWheelEvent(event) {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
var functionDetailsElement = document.getElementById("function-details");
|
|
41
|
-
var formulaSearchElement = document.getElementById("luckysheet-formula-search-c");
|
|
42
|
-
var isPointerOverFunctionDetails = functionDetailsElement === null || functionDetailsElement === void 0 ? void 0 : functionDetailsElement.matches(":hover");
|
|
43
|
-
var isPointerOverFormulaSearch = formulaSearchElement === null || formulaSearchElement === void 0 ? void 0 : formulaSearchElement.matches(":hover");
|
|
44
|
-
var isPointerInSearchDialog = !!((_b = (_a = refs === null || refs === void 0 ? void 0 : refs.globalCache) === null || _a === void 0 ? void 0 : _a.searchDialog) === null || _b === void 0 ? void 0 : _b.mouseEnter);
|
|
45
|
-
var hasFilterContextMenuOpen = context.filterContextMenu != null;
|
|
46
|
-
if (functionDetailsElement && isPointerOverFunctionDetails || formulaSearchElement && isPointerOverFormulaSearch || isPointerInSearchDialog || hasFilterContextMenuOpen) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
var scaleFactor = getPixelScale();
|
|
50
|
-
queuedXPixels += event.deltaX * scaleFactor;
|
|
51
|
-
queuedYPixels += event.deltaY * scaleFactor;
|
|
52
|
-
if (!animationFrameId) animationFrameId = requestAnimationFrame(applyQueuedScroll);
|
|
53
|
-
}
|
|
54
|
-
scrollContainer.addEventListener("wheel", handleWheelEvent, {
|
|
55
|
-
passive: false
|
|
56
|
-
});
|
|
57
|
-
return function () {
|
|
58
|
-
scrollContainer.removeEventListener("wheel", handleWheelEvent);
|
|
59
|
-
if (animationFrameId) cancelAnimationFrame(animationFrameId);
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
var makeScrollbarsMoveByPixels = function makeScrollbarsMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl) {
|
|
63
|
-
return function (xPixels, yPixels) {
|
|
64
|
-
var maxScrollLeft = horizontalScrollbarEl.scrollWidth - horizontalScrollbarEl.clientWidth;
|
|
65
|
-
var maxScrollTop = verticalScrollbarEl.scrollHeight - verticalScrollbarEl.clientHeight;
|
|
66
|
-
var targetScrollLeft = Math.max(0, Math.min(maxScrollLeft, horizontalScrollbarEl.scrollLeft + xPixels));
|
|
67
|
-
var targetScrollTop = Math.max(0, Math.min(maxScrollTop, verticalScrollbarEl.scrollTop + yPixels));
|
|
68
|
-
var didScrollX = targetScrollLeft !== horizontalScrollbarEl.scrollLeft;
|
|
69
|
-
var didScrollY = targetScrollTop !== verticalScrollbarEl.scrollTop;
|
|
70
|
-
if (didScrollX) {
|
|
71
|
-
horizontalScrollbarEl.scrollLeft = targetScrollLeft;
|
|
72
|
-
}
|
|
73
|
-
if (didScrollY) {
|
|
74
|
-
verticalScrollbarEl.scrollTop = targetScrollTop;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
function routeWheelScrollToScrollbars(sheetContext, scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl) {
|
|
79
|
-
var moveScrollbarsByPixels = makeScrollbarsMoveByPixels(horizontalScrollbarEl, verticalScrollbarEl);
|
|
80
|
-
return attachSmoothWheelScroll(scrollContainerEl, moveScrollbarsByPixels, function () {
|
|
81
|
-
return (window.devicePixelRatio || 1) * sheetContext.zoomRatio;
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
(0, _react.useEffect)(function () {
|
|
85
|
-
var scrollContainerEl = scrollContainerRef.current;
|
|
86
|
-
var horizontalScrollbarEl = refs.scrollbarX.current;
|
|
87
|
-
var verticalScrollbarEl = refs.scrollbarY.current;
|
|
88
|
-
if (!scrollContainerEl || !horizontalScrollbarEl || !verticalScrollbarEl) return function () {};
|
|
89
|
-
var unmountScrollHandler = routeWheelScrollToScrollbars(context, scrollContainerEl, horizontalScrollbarEl, verticalScrollbarEl);
|
|
90
|
-
return unmountScrollHandler;
|
|
91
|
-
}, [context.zoomRatio]);
|
|
92
|
-
};
|