@fileverse-dev/fortune-react 1.1.55 → 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 (27) hide show
  1. package/es/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
  2. package/es/components/SheetOverlay/FormulaHint/dragable-div.js +87 -0
  3. package/es/components/SheetOverlay/FormulaHint/index.css +8 -4
  4. package/es/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
  5. package/es/components/SheetOverlay/FormulaHint/index.js +76 -23
  6. package/es/components/SheetOverlay/FormulaSearch/index.css +13 -3
  7. package/es/components/SheetOverlay/FormulaSearch/index.js +18 -13
  8. package/es/components/SheetOverlay/Icon.d.ts +18 -0
  9. package/es/components/SheetOverlay/Icon.js +383 -0
  10. package/es/components/SheetOverlay/InputBox.js +83 -25
  11. package/es/components/SheetOverlay/LucideIcon.d.ts +30 -0
  12. package/es/components/SheetOverlay/LucideIcon.js +45 -0
  13. package/es/components/SheetOverlay/index.css +15 -0
  14. package/lib/components/SheetOverlay/FormulaHint/dragable-div.d.ts +11 -0
  15. package/lib/components/SheetOverlay/FormulaHint/dragable-div.js +93 -0
  16. package/lib/components/SheetOverlay/FormulaHint/index.css +8 -4
  17. package/lib/components/SheetOverlay/FormulaHint/index.d.ts +1 -1
  18. package/lib/components/SheetOverlay/FormulaHint/index.js +76 -23
  19. package/lib/components/SheetOverlay/FormulaSearch/index.css +13 -3
  20. package/lib/components/SheetOverlay/FormulaSearch/index.js +18 -13
  21. package/lib/components/SheetOverlay/Icon.d.ts +18 -0
  22. package/lib/components/SheetOverlay/Icon.js +390 -0
  23. package/lib/components/SheetOverlay/InputBox.js +83 -25
  24. package/lib/components/SheetOverlay/LucideIcon.d.ts +30 -0
  25. package/lib/components/SheetOverlay/LucideIcon.js +54 -0
  26. package/lib/components/SheetOverlay/index.css +15 -0
  27. package/package.json +2 -2
@@ -0,0 +1,45 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
6
+ }
7
+ return t;
8
+ };
9
+ return __assign.apply(this, arguments);
10
+ };
11
+ var __rest = this && this.__rest || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
15
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
16
+ }
17
+ return t;
18
+ };
19
+ import cn from 'classnames';
20
+ import React, { forwardRef } from 'react';
21
+ import { LucideIcons } from './Icon';
22
+ export var UltimateIcons = Object.assign({}, LucideIcons);
23
+ export var LucideIcon = /*#__PURE__*/forwardRef(function (_a, ref) {
24
+ var name = _a.name,
25
+ className = _a.className,
26
+ strokeWidth = _a.strokeWidth,
27
+ size = _a.size,
28
+ fill = _a.fill,
29
+ stroke = _a.stroke,
30
+ props = __rest(_a, ["name", "className", "strokeWidth", "size", "fill", "stroke"]);
31
+ var buttonSize = size === 'sm' ? 'w-6 h-6' : size === 'lg' ? 'w-10 h-10' : 'w-8 h-8';
32
+ var IconComponent = UltimateIcons[name];
33
+ if (!IconComponent) {
34
+ return null;
35
+ }
36
+ return /*#__PURE__*/React.createElement(IconComponent, __assign({
37
+ name: name,
38
+ ref: ref,
39
+ className: cn(buttonSize, className),
40
+ strokeWidth: strokeWidth || 2,
41
+ fill: fill || 'none',
42
+ stroke: stroke || 'currentColor'
43
+ }, props));
44
+ });
45
+ 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
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ interface DraggableDivProps {
3
+ children?: React.ReactNode;
4
+ className?: string;
5
+ initialX?: number;
6
+ initialY?: number;
7
+ initialPos?: any;
8
+ dragHasMoved?: any;
9
+ }
10
+ export declare function DraggableDiv({ children, className, initialPos, dragHasMoved }: DraggableDivProps): React.JSX.Element;
11
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ 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); }
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DraggableDiv = DraggableDiv;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _ui = require("@fileverse/ui");
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 DraggableDiv(_a) {
13
+ var children = _a.children,
14
+ className = _a.className,
15
+ initialPos = _a.initialPos,
16
+ dragHasMoved = _a.dragHasMoved;
17
+ var initialX = 0,
18
+ initialY = initialPos;
19
+ var _b = (0, _react.useState)({
20
+ x: initialX,
21
+ y: initialY
22
+ }),
23
+ position = _b[0],
24
+ setPosition = _b[1];
25
+ var _c = (0, _react.useState)(false),
26
+ isDragging = _c[0],
27
+ setIsDragging = _c[1];
28
+ var _d = (0, _react.useState)({
29
+ x: 0,
30
+ y: 0
31
+ }),
32
+ dragOffset = _d[0],
33
+ setDragOffset = _d[1];
34
+ var divRef = (0, _react.useRef)(null);
35
+ (0, _react.useEffect)(function () {
36
+ setPosition({
37
+ x: position.x,
38
+ y: initialPos
39
+ });
40
+ }, [initialPos]);
41
+ var handleMouseDown = function handleMouseDown(e) {
42
+ setIsDragging(true);
43
+ var element = document.getElementById('luckysheet-formula-help-c');
44
+ if (element) {
45
+ element.style.userSelect = 'none';
46
+ }
47
+ setDragOffset({
48
+ x: e.clientX - position.x,
49
+ y: e.clientY - position.y
50
+ });
51
+ };
52
+ var handleMouseMove = function handleMouseMove(e) {
53
+ if (!isDragging) return;
54
+ e.preventDefault();
55
+ dragHasMoved.current = true;
56
+ setPosition(function (currentPosition) {
57
+ var newX = e.clientX - dragOffset.x;
58
+ var newY = e.clientY - dragOffset.y;
59
+ return {
60
+ x: newX * 1.3,
61
+ y: newY * 1.3
62
+ };
63
+ });
64
+ };
65
+ var handleMouseUp = function handleMouseUp() {
66
+ setIsDragging(false);
67
+ var element = document.getElementById('luckysheet-formula-help-c');
68
+ if (element) {
69
+ element.style.userSelect = 'auto';
70
+ }
71
+ };
72
+ _react.default.useEffect(function () {
73
+ if (isDragging) {
74
+ document.addEventListener("mousemove", handleMouseMove);
75
+ document.addEventListener("mouseup", handleMouseUp);
76
+ return function () {
77
+ document.removeEventListener("mousemove", handleMouseMove);
78
+ document.removeEventListener("mouseup", handleMouseUp);
79
+ };
80
+ }
81
+ }, [isDragging, handleMouseMove, handleMouseUp]);
82
+ return /*#__PURE__*/_react.default.createElement("div", {
83
+ ref: divRef,
84
+ className: (0, _ui.cn)("absolute select-none touch-none", isDragging ? "cursor-grabbing shadow-2xl z-50" : "cursor-grab shadow-lg", className),
85
+ style: {
86
+ left: "".concat(position.x, "px"),
87
+ top: "".concat(position.y, "px"),
88
+ height: "0px"
89
+ },
90
+ onMouseDown: handleMouseDown,
91
+ onMouseUp: handleMouseUp
92
+ }, children);
93
+ }
@@ -9,6 +9,12 @@
9
9
  width: 300px;
10
10
  }
11
11
 
12
+ .font-family-mono {
13
+ font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
14
+ font-weight: 500;
15
+ font-size: 14px;
16
+ }
17
+
12
18
  /* .luckysheet-formula-help-c .luckysheet-formula-help-content {
13
19
  max-height: 300px;
14
20
  overflow-y: scroll;
@@ -29,25 +35,23 @@
29
35
 
30
36
  .luckysheet-formula-help-title,
31
37
  .luckysheet-formula-search-item-active {
32
- padding: 10px !important;
38
+ padding: 4px 10px !important;
33
39
  font-size: small;
34
40
  /* background: #f8f9fa !important; */
35
41
  font-weight: 600;
36
42
  border-bottom: 0px !important;
37
43
  border-top: 0px !important;
44
+ border-radius: 4px;
38
45
  }
39
46
 
40
47
  .luckysheet-formula-help-c,
41
48
  .luckysheet-formula-search-c {
42
49
  padding: 6px;
43
50
  user-select: text;
44
- border-radius: 10px;
45
51
  top: 25px;
46
52
  background: #ffff;
47
53
  min-width: 300px;
48
54
  /* max-width: 450px; */
49
- border: 1px solid lavender;
50
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
51
55
  }
52
56
 
53
57
  #luckysheet-formula-help-c {
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import "./index.css";
3
- declare const FormulaHint: React.FC<React.HTMLAttributes<HTMLDivElement>>;
3
+ declare const FormulaHint: (props: any) => React.JSX.Element | null;
4
4
  export default FormulaHint;
@@ -10,6 +10,7 @@ var _ui = require("@fileverse/ui");
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _context = _interopRequireDefault(require("../../../context"));
12
12
  require("./index.css");
13
+ var _dragableDiv = require("./dragable-div");
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
15
  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); }
15
16
  var __assign = void 0 && (void 0).__assign || function () {
@@ -24,6 +25,7 @@ var __assign = void 0 && (void 0).__assign || function () {
24
25
  };
25
26
  var FormulaHint = function FormulaHint(props) {
26
27
  var _a;
28
+ var dragHasMoved = (0, _react.useRef)(false);
27
29
  var context = (0, _react.useContext)(_context.default).context;
28
30
  var firstSelection = (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[0];
29
31
  var formulaMore = (0, _fortuneCore.locale)(context).formulaMore;
@@ -37,7 +39,8 @@ var FormulaHint = function FormulaHint(props) {
37
39
  var _d = (0, _react.useState)(!!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY)),
38
40
  isKeyAdded = _d[0],
39
41
  setApiKeyAdded = _d[1];
40
- var _e = (0, _react.useState)(true),
42
+ var formulaExpand = localStorage.getItem("formula-expand") === "true";
43
+ var _e = (0, _react.useState)(formulaExpand),
41
44
  showFunctionBody = _e[0],
42
45
  setShouldShowFunctionBody = _e[1];
43
46
  (0, _react.useEffect)(function () {
@@ -54,6 +57,9 @@ var FormulaHint = function FormulaHint(props) {
54
57
  var _f = (0, _react.useState)(0),
55
58
  top = _f[0],
56
59
  setTop = _f[1];
60
+ var _g = (0, _react.useState)(false),
61
+ showDelayedHint = _g[0],
62
+ setShowDelayedHint = _g[1];
57
63
  var calcuatePopUpPlacement = function calcuatePopUpPlacement() {
58
64
  var _a, _b, _c;
59
65
  if (!((_a = firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.top) === null || _a === void 0 ? void 0 : _a.toString()) || !((_b = firstSelection.height_move) === null || _b === void 0 ? void 0 : _b.toString()) || !hintRef.current) return;
@@ -67,7 +73,14 @@ var FormulaHint = function FormulaHint(props) {
67
73
  };
68
74
  (0, _react.useEffect)(function () {
69
75
  calcuatePopUpPlacement();
70
- });
76
+ }, []);
77
+ (0, _react.useEffect)(function () {
78
+ if (!top) {
79
+ setTimeout(function () {
80
+ setShowDelayedHint(true);
81
+ }, 40);
82
+ }
83
+ }, [top]);
71
84
  (0, _react.useEffect)(function () {
72
85
  var el = document.getElementById("function-details");
73
86
  var handleWheel;
@@ -103,12 +116,44 @@ var FormulaHint = function FormulaHint(props) {
103
116
  };
104
117
  }, []);
105
118
  if (!fn) return null;
106
- return /*#__PURE__*/_react.default.createElement("div", __assign({}, props, {
119
+ return /*#__PURE__*/_react.default.createElement(_dragableDiv.DraggableDiv, {
120
+ initialX: 50,
121
+ initialY: 50,
122
+ initialPos: top,
123
+ dragHasMoved: dragHasMoved,
124
+ className: "bg-secondary text-secondary-foreground p-4 rounded-lg flex items-center justify-center ".concat(showDelayedHint ? "opacity-100" : "opacity-0")
125
+ }, props.showFormulaHint && (/*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
126
+ className: "flex items-center justify-center w-4 h-4 rounded-full",
127
+ style: {
128
+ backgroundColor: "black",
129
+ zIndex: 2000,
130
+ position: "absolute",
131
+ left: "327px",
132
+ top: "-8px"
133
+ },
134
+ onClick: props.handleShowFormulaHint
135
+ }, /*#__PURE__*/_react.default.createElement("svg", {
136
+ xmlns: "http://www.w3.org/2000/svg",
137
+ className: " text-white",
138
+ style: {
139
+ width: "12px",
140
+ height: "12px"
141
+ },
142
+ fill: "none",
143
+ viewBox: "0 0 24 24",
144
+ stroke: "currentColor",
145
+ "stroke-width": "3"
146
+ }, /*#__PURE__*/_react.default.createElement("path", {
147
+ "stroke-linecap": "round",
148
+ "stroke-linejoin": "round",
149
+ d: "M6 18L18 6M6 6l12 12"
150
+ }))), /*#__PURE__*/_react.default.createElement("div", __assign({}, props, {
107
151
  ref: hintRef,
108
152
  id: "luckysheet-formula-help-c",
109
153
  className: "luckysheet-formula-help-c",
110
154
  style: {
111
- top: top,
155
+ top: '0px',
156
+ left: '0px',
112
157
  borderWidth: "1px",
113
158
  borderColor: (fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR) ? fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR : "#F8F9FA",
114
159
  backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
@@ -128,10 +173,14 @@ var FormulaHint = function FormulaHint(props) {
128
173
  className: "fa fa-angle-up",
129
174
  "aria-hidden": "true"
130
175
  })), /*#__PURE__*/_react.default.createElement("div", {
131
- onClick: function onClick() {
132
- setShouldShowFunctionBody(!showFunctionBody);
176
+ onClick: function onClick(e) {
177
+ if (!dragHasMoved.current) {
178
+ localStorage.setItem('formula-expand', "".concat(!showFunctionBody));
179
+ setShouldShowFunctionBody(!showFunctionBody);
180
+ }
181
+ dragHasMoved.current = false;
133
182
  },
134
- className: "flex cursor-pointer items-center justify-between",
183
+ className: "flex cursor-pointer items-start justify-between",
135
184
  style: {
136
185
  backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
137
186
  padding: "10px",
@@ -143,11 +192,11 @@ var FormulaHint = function FormulaHint(props) {
143
192
  style: {
144
193
  fontWeight: 500
145
194
  },
146
- className: "luckysheet-arguments-help-function-name"
195
+ className: "luckysheet-arguments-help-function-name font-family-mono mb-1 mt-2 color-text-default font-family-mono"
147
196
  }, fn.n), /*#__PURE__*/_react.default.createElement("code", {
148
- className: "luckysheet-arguments-paren"
197
+ className: "luckysheet-arguments-paren font-family-mono mb-1 mt-2 color-text-default"
149
198
  }, "("), /*#__PURE__*/_react.default.createElement("code", {
150
- className: "luckysheet-arguments-parameter-holder"
199
+ className: "luckysheet-arguments-parameter-holder font-family-mono mb-1 mt-2 color-text-default"
151
200
  }, fn.p.map(function (param, i) {
152
201
  var name = param.name;
153
202
  if (param.repeat === "y") {
@@ -157,12 +206,12 @@ var FormulaHint = function FormulaHint(props) {
157
206
  name = "[".concat(name, "]");
158
207
  }
159
208
  return /*#__PURE__*/_react.default.createElement("code", {
160
- className: "luckysheet-arguments-help-parameter",
209
+ className: "luckysheet-arguments-help-parameter font-family-mono mb-1 mt-2 color-text-default",
161
210
  dir: "auto",
162
211
  key: name
163
212
  }, name, i !== fn.p.length - 1 && ", ");
164
213
  })), /*#__PURE__*/_react.default.createElement("code", {
165
- className: "luckysheet-arguments-paren"
214
+ className: "luckysheet-arguments-paren font-family-mono mb-1 mt-2 color-text-default"
166
215
  }, ")")), /*#__PURE__*/_react.default.createElement("div", {
167
216
  style: {
168
217
  display: "flex",
@@ -208,14 +257,15 @@ var FormulaHint = function FormulaHint(props) {
208
257
  id: "function-details",
209
258
  style: {
210
259
  backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
211
- maxHeight: "318px",
260
+ maxHeight: "284px",
212
261
  overflowY: "scroll"
213
262
  }
214
263
  }, fn.API_KEY && (/*#__PURE__*/_react.default.createElement("div", {
215
264
  style: {
216
265
  borderLeft: "4px solid ".concat(isKeyAdded ? "#177E23" : "#fb923c"),
217
266
  backgroundColor: "white",
218
- padding: "16px",
267
+ padding: "8px",
268
+ paddingBottom: "2px",
219
269
  margin: "4px 4px 0px 4px",
220
270
  borderRadius: "4px"
221
271
  }
@@ -254,7 +304,7 @@ var FormulaHint = function FormulaHint(props) {
254
304
  setApiKeyAdded(false);
255
305
  }
256
306
  }), /*#__PURE__*/_react.default.createElement("div", {
257
- className: "flex justify-end mt-2"
307
+ className: "flex justify-end mt-2 mb-2"
258
308
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
259
309
  onClick: function onClick() {
260
310
  localStorage.setItem(fn.API_KEY, API_KEY);
@@ -268,16 +318,17 @@ var FormulaHint = function FormulaHint(props) {
268
318
  backgroundColor: "white",
269
319
  padding: "6px",
270
320
  margin: "4px 4px 0px 4px",
271
- borderRadius: "4px"
321
+ borderRadius: "4px",
322
+ marginTop: "-1px"
272
323
  }
273
324
  }, /*#__PURE__*/_react.default.createElement("div", {
274
325
  className: ""
275
326
  }, /*#__PURE__*/_react.default.createElement("div", {
276
327
  style: {
277
328
  lineHeight: "16px",
278
- fontSize: "12px"
329
+ fontSize: "14px"
279
330
  },
280
- className: "text-body-sm-bold mb-1 color-text-secondary"
331
+ className: "font-family-mono mb-1 color-text-default jetbrains-mono"
281
332
  }, formulaMore.helpExample), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("code", {
282
333
  style: {
283
334
  overflowWrap: "break-word"
@@ -307,10 +358,10 @@ var FormulaHint = function FormulaHint(props) {
307
358
  }, /*#__PURE__*/_react.default.createElement("div", {
308
359
  style: {
309
360
  lineHeight: "16px",
310
- fontSize: "12px",
361
+ fontSize: "14px",
311
362
  padding: "0px"
312
363
  },
313
- className: "text-body-sm-bold mb-1 mt-2 color-text-secondary"
364
+ className: "font-family-mono mb-1 mt-2 color-text-default"
314
365
  }, "About"), /*#__PURE__*/_react.default.createElement("span", {
315
366
  className: "luckysheet-arguments-help-parameter-content text-helper-text-sm"
316
367
  }, fn.d))), /*#__PURE__*/_react.default.createElement("div", {
@@ -322,7 +373,9 @@ var FormulaHint = function FormulaHint(props) {
322
373
  return /*#__PURE__*/_react.default.createElement("div", {
323
374
  className: "",
324
375
  key: param.name
325
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("code", null, param.name, param.repeat === "y" && (/*#__PURE__*/_react.default.createElement("span", {
376
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("code", {
377
+ className: "font-family-mono mb-1 mt-2 color-text-default font-family-mono"
378
+ }, param.name, param.repeat === "y" && (/*#__PURE__*/_react.default.createElement("span", {
326
379
  className: "luckysheet-arguments-help-argument-info example-value",
327
380
  style: {
328
381
  marginTop: "2px"
@@ -338,7 +391,7 @@ var FormulaHint = function FormulaHint(props) {
338
391
  marginTop: "2px"
339
392
  }
340
393
  }, param.detail));
341
- }))))), /*#__PURE__*/_react.default.createElement("div", {
394
+ }))))), showFunctionBody && /*#__PURE__*/_react.default.createElement("div", {
342
395
  style: {
343
396
  backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
344
397
  padding: "8px",
@@ -352,6 +405,6 @@ var FormulaHint = function FormulaHint(props) {
352
405
  (_a = document.getElementById("function-button")) === null || _a === void 0 ? void 0 : _a.click();
353
406
  },
354
407
  className: "color-text-link cursor-pointer text-helper-text-sm"
355
- }, "Learn More")));
408
+ }, "Learn More"))))));
356
409
  };
357
410
  var _default = exports.default = FormulaHint;
@@ -1,14 +1,24 @@
1
- .luckysheet-formula-search-c {
1
+ .luckysheet-formula-search-c-p {
2
2
  position: absolute;
3
- border: 1px solid rgba(0, 0, 0, 0.2);
4
3
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
5
4
  color: #535353;
6
5
  font-size: 12px;
7
6
  background: #fff;
8
7
  z-index: 1003;
8
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
9
+ border: 1px solid lavender;
10
+ border-radius: 10px;
11
+ }
12
+
13
+ .luckysheet-formula-search-c {
14
+ color: #535353;
15
+ font-size: 12px;
16
+ background: #fff;
9
17
  width: 300px;
10
- max-height: 360px;
18
+ max-height: 380px;
11
19
  overflow-y: auto;
20
+ border-radius: 10px;
21
+
12
22
  }
13
23
 
14
24
  .luckysheet-formula-search-c .luckysheet-formula-search-item {
@@ -28,7 +28,7 @@ var FormulaSearch = function FormulaSearch(props) {
28
28
  var _b = (0, _react.useContext)(_context.default),
29
29
  context = _b.context,
30
30
  isAuthorized = _b.settings.isAuthorized;
31
- var authedFunction = ["COINGECKO", "ETHERSCAN", "DEFILLAMA", "GNOSIS", "BASE", "EOA", "PNL", "SAFE", "BLOCKSCOUT", "GNOSIS", "LENS", "FARCASTER", "Ethereum", "SMARTCONTRACT", "DUNESIM"];
31
+ var authedFunction = ["COINGECKO", "ETHERSCAN", "DEFILLAMA", "GNOSIS", "BASE", "EOA", "PNL", "SAFE", "BLOCKSCOUT", "LENS", "FARCASTER", "Ethereum", "SMARTCONTRACT", "DUNESIM"];
32
32
  var filteredDefaultCandidates = context.defaultCandidates.filter(function (item) {
33
33
  return !authedFunction.includes(item.n);
34
34
  });
@@ -53,19 +53,22 @@ var FormulaSearch = function FormulaSearch(props) {
53
53
  var hintAbove = hintHeight > availableBelow;
54
54
  var selectionHeight = (firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.height_move) || 0;
55
55
  var divOffset = ((_c = hintRef.current) === null || _c === void 0 ? void 0 : _c.offsetHeight) || 0;
56
- setTop(hintAbove ? selectionHeight - (divOffset + 30) : selectionHeight + 4);
56
+ var topV = hintAbove ? selectionHeight - (divOffset + 80) : selectionHeight + 4;
57
+ setTop(topV);
57
58
  };
58
59
  (0, _react.useEffect)(function () {
59
60
  calcuatePopUpPlacement();
60
61
  });
61
62
  if (_lodash.default.isEmpty(context.functionCandidates) && _lodash.default.isEmpty(context.defaultCandidates)) return null;
62
- return /*#__PURE__*/_react.default.createElement("div", __assign({}, props, {
63
- ref: hintRef,
64
- id: "luckysheet-formula-search-c",
65
- className: "luckysheet-formula-search-c",
63
+ return /*#__PURE__*/_react.default.createElement("div", {
64
+ className: "flex flex-col luckysheet-formula-search-c-p",
66
65
  style: {
67
66
  top: top
68
67
  }
68
+ }, /*#__PURE__*/_react.default.createElement("div", __assign({}, props, {
69
+ ref: hintRef,
70
+ id: "luckysheet-formula-search-c",
71
+ className: "luckysheet-formula-search-c"
69
72
  }), context.defaultCandidates.length > 0 && (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
70
73
  style: {
71
74
  marginBottom: "4px"
@@ -109,14 +112,14 @@ var FormulaSearch = function FormulaSearch(props) {
109
112
  height: "16px"
110
113
  }
111
114
  });
112
- })))))), context.defaultCandidates.length > 0 ? (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, finalDefaultCandidates.map(function (v) {
115
+ })))))), context.defaultCandidates.length > 0 ? (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, finalDefaultCandidates.map(function (v, index) {
113
116
  return /*#__PURE__*/_react.default.createElement("div", {
114
117
  key: v.n,
115
118
  "data-func": v.n,
116
119
  style: {
117
120
  cursor: "pointer"
118
121
  },
119
- className: "luckysheet-formula-search-item"
122
+ className: "luckysheet-formula-search-item ".concat(index === 0 ? "luckysheet-formula-search-item-active" : "")
120
123
  }, /*#__PURE__*/_react.default.createElement("div", {
121
124
  style: {
122
125
  display: "flex",
@@ -164,11 +167,11 @@ var FormulaSearch = function FormulaSearch(props) {
164
167
  })))))), /*#__PURE__*/_react.default.createElement("div", {
165
168
  className: "luckysheet-formula-search-detail mt-1 text-helper-text-sm color-text-default"
166
169
  }, v.d));
167
- }))) : (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, finalFunctionCandidates.length > 0 && finalFunctionCandidates.map(function (v) {
170
+ }))) : (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, finalFunctionCandidates.length > 0 && finalFunctionCandidates.map(function (v, index) {
168
171
  return /*#__PURE__*/_react.default.createElement("div", {
169
172
  key: v.n,
170
173
  "data-func": v.n,
171
- className: "luckysheet-formula-search-item"
174
+ className: "luckysheet-formula-search-item ".concat(index === 0 ? "luckysheet-formula-search-item-active" : "")
172
175
  }, /*#__PURE__*/_react.default.createElement("div", {
173
176
  style: {
174
177
  display: "flex",
@@ -253,8 +256,10 @@ var FormulaSearch = function FormulaSearch(props) {
253
256
  height: "16px"
254
257
  }
255
258
  });
256
- })))))))), /*#__PURE__*/_react.default.createElement("hr", {
257
- className: "color-border-default mb-2 mt-4 "
259
+ }))))))))), /*#__PURE__*/_react.default.createElement("div", {
260
+ className: "p-2 pt-0"
261
+ }, /*#__PURE__*/_react.default.createElement("hr", {
262
+ className: "color-border-default mb-2"
258
263
  }), /*#__PURE__*/_react.default.createElement("div", {
259
264
  style: {
260
265
  paddingLeft: "10px",
@@ -265,6 +270,6 @@ var FormulaSearch = function FormulaSearch(props) {
265
270
  className: "border p-1 color-text-default rounded"
266
271
  }, "Tab"), /*#__PURE__*/_react.default.createElement("p", {
267
272
  className: "color-text-secondary"
268
- }, "to insert")));
273
+ }, "to insert"))));
269
274
  };
270
275
  var _default = exports.default = FormulaSearch;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { LucideIconProps } from './LucideIcon';
3
+ export declare const LucideIcons: {
4
+ File3d: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
5
+ FileWord: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
6
+ FilePdf: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
7
+ FilePpt: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
8
+ FileExcel: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
9
+ Section: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
10
+ XSocial: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
11
+ Farcaster: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
12
+ Warpcast: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
13
+ DSheetTextDisabled: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
14
+ Orb: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
15
+ Lens: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
16
+ Hey: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
17
+ CloudSaved: ({ width, height, ...props }: LucideIconProps) => React.JSX.Element;
18
+ };