@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.
Files changed (33) hide show
  1. package/es/components/Sheet/index.js +21 -4
  2. package/es/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
  3. package/es/components/SheetOverlay/FormulaHint/dragable-div.js +87 -0
  4. package/es/components/SheetOverlay/FormulaHint/index.css +8 -4
  5. package/es/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
  6. package/es/components/SheetOverlay/FormulaHint/index.js +76 -23
  7. package/es/components/SheetOverlay/FormulaSearch/index.css +13 -3
  8. package/es/components/SheetOverlay/FormulaSearch/index.js +18 -13
  9. package/es/components/SheetOverlay/Icon.d.ts +18 -0
  10. package/es/components/SheetOverlay/Icon.js +383 -0
  11. package/es/components/SheetOverlay/InputBox.js +83 -25
  12. package/es/components/SheetOverlay/LucideIcon.d.ts +30 -0
  13. package/es/components/SheetOverlay/LucideIcon.js +45 -0
  14. package/es/components/SheetOverlay/index.css +15 -0
  15. package/lib/components/Sheet/index.js +19 -2
  16. package/lib/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
  17. package/lib/components/SheetOverlay/FormulaHint/dragable-div.js +93 -0
  18. package/lib/components/SheetOverlay/FormulaHint/index.css +8 -4
  19. package/lib/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
  20. package/lib/components/SheetOverlay/FormulaHint/index.js +76 -23
  21. package/lib/components/SheetOverlay/FormulaSearch/index.css +13 -3
  22. package/lib/components/SheetOverlay/FormulaSearch/index.js +18 -13
  23. package/lib/components/SheetOverlay/Icon.d.ts +18 -0
  24. package/lib/components/SheetOverlay/Icon.js +390 -0
  25. package/lib/components/SheetOverlay/InputBox.js +83 -25
  26. package/lib/components/SheetOverlay/LucideIcon.d.ts +30 -0
  27. package/lib/components/SheetOverlay/LucideIcon.js +54 -0
  28. package/lib/components/SheetOverlay/index.css +15 -0
  29. package/package.json +2 -2
  30. package/es/components/Sheet/use-smooth-scroll.d.ts +0 -2
  31. package/es/components/Sheet/use-smooth-scroll.js +0 -85
  32. package/lib/components/Sheet/use-smooth-scroll.d.ts +0 -2
  33. 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.55-smooth-scroll-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.55-smooth-scroll-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,2 +0,0 @@
1
- import { RefObject } from "react";
2
- export declare const useSmoothScroll: (scrollContainerRef: RefObject<HTMLDivElement | null>) => void;
@@ -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,2 +0,0 @@
1
- import { RefObject } from "react";
2
- export declare const useSmoothScroll: (scrollContainerRef: RefObject<HTMLDivElement | null>) => void;
@@ -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
- };