@fileverse-dev/fortune-react 1.0.2-mod-40 → 1.0.2-mod-41

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/dist/index.js CHANGED
@@ -184,7 +184,7 @@ function _regenerator() {
184
184
  i = p[t],
185
185
  d = G.p,
186
186
  l = i[2];
187
- r > 3 ? (o = l === n) && (c = i[4] || 3, u = i[5] === e ? i[3] : i[5], i[4] = 3, i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
187
+ r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
188
188
  }
189
189
  if (o || r > 1) return a;
190
190
  throw y = !0, n;
@@ -813,49 +813,43 @@ var FormulaSearch = function FormulaSearch(props) {
813
813
  justifyContent: "space-between"
814
814
  }
815
815
  }, /*#__PURE__*/React__default['default'].createElement("div", {
816
- className: "luckysheet-formula-search-func"
816
+ className: "luckysheet-formula-search-func text-body-sm"
817
817
  }, v.n), /*#__PURE__*/React__default['default'].createElement("div", {
818
818
  style: {
819
819
  display: "flex",
820
+ justifyContent: "end",
821
+ width: "68px",
822
+ height: "20px",
823
+ alignItems: "center",
820
824
  gap: "4px"
821
825
  }
822
826
  }, v.LOGO && (/*#__PURE__*/React__default['default'].createElement("img", {
823
827
  src: v.LOGO,
824
828
  alt: "Service Logo",
825
- width: 32,
826
- height: 32
829
+ style: {
830
+ width: "20px"
831
+ }
827
832
  })), v.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
828
833
  style: {
829
834
  borderRadius: "4px",
830
- width: "20px",
831
- height: "20px",
832
- backgroundColor: "".concat(localStorage.getItem(v.API_KEY) ? "#177E23" : "#F9A92B")
833
- }
835
+ backgroundColor: "".concat(localStorage.getItem(v.API_KEY) ? "#177E23" : "#e8ebec"),
836
+ width: "16px",
837
+ height: "16px"
838
+ },
839
+ className: "flex justify-center"
834
840
  }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
835
841
  name: "Key",
836
842
  style: {
837
- color: "white"
843
+ color: localStorage.getItem(v.API_KEY) ? "white" : "#77818A",
844
+ width: "12px",
845
+ height: "12px"
838
846
  }
839
847
  }))))), /*#__PURE__*/React__default['default'].createElement("div", {
840
- className: "luckysheet-formula-search-detail"
848
+ className: "luckysheet-formula-search-detail mt-1 text-helper-text-sm"
841
849
  }, v.d));
842
850
  }));
843
851
  };
844
852
 
845
- function lightenHexColor(hex) {
846
- var amount = 100;
847
- if (hex.startsWith("#")) {
848
- hex = hex.slice(1);
849
- }
850
- var r = parseInt(hex.slice(0, 2), 16);
851
- var g = parseInt(hex.slice(2, 4), 16);
852
- var b = parseInt(hex.slice(4, 6), 16);
853
- r = Math.min(255, r + amount);
854
- g = Math.min(255, g + amount);
855
- b = Math.min(255, b + amount);
856
- var newHex = "#".concat((1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1).toUpperCase());
857
- return newHex;
858
- }
859
853
  var FormulaHint = function FormulaHint(props) {
860
854
  var _useContext = React.useContext(WorkbookContext),
861
855
  context = _useContext.context;
@@ -870,13 +864,34 @@ var FormulaHint = function FormulaHint(props) {
870
864
  _useState4 = _slicedToArray(_useState3, 2),
871
865
  showAPInput = _useState4[0],
872
866
  setShowAPInput = _useState4[1];
867
+ var _useState5 = React.useState(!!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY)),
868
+ _useState6 = _slicedToArray(_useState5, 2),
869
+ isKeyAdded = _useState6[0],
870
+ setApiKeyAdded = _useState6[1];
871
+ var _useState7 = React.useState(false),
872
+ _useState8 = _slicedToArray(_useState7, 2),
873
+ showFunctionBody = _useState8[0],
874
+ setShouldShowFunctionBody = _useState8[1];
875
+ React.useEffect(function () {
876
+ if (fn) {
877
+ setApiKeyAdded(!!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY));
878
+ setAPI_KEY(localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY) || "");
879
+ setShowAPInput(!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY));
880
+ }
881
+ }, [fn]);
882
+ var apiKeyPlaceholder = {
883
+ ETHERSCAN_API_KEY: "Etherscan API key"
884
+ };
873
885
  if (!fn) return null;
874
886
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
875
887
  id: "luckysheet-formula-help-c",
876
888
  className: "luckysheet-formula-help-c",
877
889
  style: {
878
- border: "1px solid ".concat(fn.BRAND_COLOR),
879
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
890
+ borderWidth: "1px",
891
+ borderColor: (fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR) ? fn === null || fn === void 0 ? void 0 : fn.BRAND_SECONDARY_COLOR : "#F8F9FA",
892
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
893
+ width: "340px",
894
+ padding: "0px"
880
895
  }
881
896
  }), /*#__PURE__*/React__default['default'].createElement("div", {
882
897
  className: "luckysheet-formula-help-close",
@@ -891,17 +906,25 @@ var FormulaHint = function FormulaHint(props) {
891
906
  className: "fa fa-angle-up",
892
907
  "aria-hidden": "true"
893
908
  })), /*#__PURE__*/React__default['default'].createElement("div", {
894
- className: "luckysheet-formula-help-title formula-title",
909
+ onClick: function onClick() {
910
+ setShouldShowFunctionBody(!showFunctionBody);
911
+ },
912
+ className: "flex cursor-pointer items-center justify-between",
895
913
  style: {
896
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
914
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
915
+ padding: "10px",
916
+ borderRadius: "10px"
897
917
  }
898
918
  }, /*#__PURE__*/React__default['default'].createElement("div", {
899
- className: "luckysheet-formula-help-title-formula"
900
- }, /*#__PURE__*/React__default['default'].createElement("span", {
919
+ className: " flex-grow color-text-default"
920
+ }, /*#__PURE__*/React__default['default'].createElement("code", {
921
+ style: {
922
+ fontWeight: 500
923
+ },
901
924
  className: "luckysheet-arguments-help-function-name"
902
- }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
925
+ }, fn.n), /*#__PURE__*/React__default['default'].createElement("code", {
903
926
  className: "luckysheet-arguments-paren"
904
- }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
927
+ }, "("), /*#__PURE__*/React__default['default'].createElement("code", {
905
928
  className: "luckysheet-arguments-parameter-holder"
906
929
  }, fn.p.map(function (param, i) {
907
930
  var name = param.name;
@@ -911,43 +934,55 @@ var FormulaHint = function FormulaHint(props) {
911
934
  if (param.require === "o") {
912
935
  name = "[".concat(name, "]");
913
936
  }
914
- return /*#__PURE__*/React__default['default'].createElement("span", {
937
+ return /*#__PURE__*/React__default['default'].createElement("code", {
915
938
  className: "luckysheet-arguments-help-parameter",
916
939
  dir: "auto",
917
940
  key: name
918
941
  }, name, i !== fn.p.length - 1 && ", ");
919
- })), /*#__PURE__*/React__default['default'].createElement("span", {
942
+ })), /*#__PURE__*/React__default['default'].createElement("code", {
920
943
  className: "luckysheet-arguments-paren"
921
944
  }, ")")), /*#__PURE__*/React__default['default'].createElement("div", {
922
945
  style: {
923
946
  display: "flex",
947
+ justifyContent: "end",
948
+ width: "68px",
949
+ height: "20px",
950
+ alignItems: "center",
924
951
  gap: "4px"
925
952
  }
926
953
  }, fn.LOGO && (/*#__PURE__*/React__default['default'].createElement("img", {
927
954
  src: fn.LOGO,
928
955
  alt: "Service Logo",
929
- width: 32,
930
- height: 32
956
+ style: {
957
+ width: "20px"
958
+ }
931
959
  })), fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
932
960
  style: {
933
961
  borderRadius: "4px",
934
- width: "20px",
935
- height: "20px",
936
- backgroundColor: "".concat(localStorage.getItem(fn.API_KEY) ? "#177E23" : "#F9A92B")
937
- }
962
+ backgroundColor: "".concat(isKeyAdded ? "#177E23" : "#e8ebec"),
963
+ width: "16px",
964
+ height: "16px"
965
+ },
966
+ className: "flex justify-center"
938
967
  }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
939
968
  name: "Key",
940
969
  style: {
941
- color: "white"
970
+ color: isKeyAdded ? "white" : "#77818A",
971
+ width: "12px",
972
+ height: "12px"
942
973
  }
943
- }))))), /*#__PURE__*/React__default['default'].createElement("div", {
974
+ }))), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
975
+ name: showFunctionBody ? "ChevronUp" : "ChevronDown",
976
+ width: 16,
977
+ height: 16
978
+ })))), showFunctionBody && (/*#__PURE__*/React__default['default'].createElement("div", {
944
979
  className: "luckysheet-formula-help-content",
945
980
  style: {
946
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
981
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA")
947
982
  }
948
983
  }, fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
949
984
  style: {
950
- borderLeft: "4px solid ".concat(API_KEY ? "#177E23" : "#fb923c"),
985
+ borderLeft: "4px solid ".concat(isKeyAdded ? "#177E23" : "#fb923c"),
951
986
  backgroundColor: "white",
952
987
  padding: "16px",
953
988
  margin: "4px 4px 0px 4px",
@@ -964,38 +999,40 @@ var FormulaHint = function FormulaHint(props) {
964
999
  }
965
1000
  }, /*#__PURE__*/React__default['default'].createElement("h3", {
966
1001
  style: {
967
- fontSize: "14px",
968
- fontWeight: "600",
969
- color: "#1f2937",
970
1002
  margin: "0 0 8px 0"
971
- }
972
- }, "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
973
- name: "ChevronDown",
1003
+ },
1004
+ className: "text-heading-xsm color-text-default"
1005
+ }, isKeyAdded ? "API key provided" : "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
1006
+ name: showAPInput ? "ChevronUp" : "ChevronDown",
974
1007
  width: 24,
975
1008
  height: 24
976
1009
  })), showAPInput && (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
977
1010
  style: {
978
- color: "#6b7280",
979
1011
  margin: "0 0 16px 0"
980
- }
981
- }, "This function is require API key. Please paste it below and\n press 'Ok'."), /*#__PURE__*/React__default['default'].createElement("div", {
982
- style: {
983
- display: "flex",
984
- gap: "12px"
985
- }
1012
+ },
1013
+ className: "text-body-sm color-text-default"
1014
+ }, "This function requires an API key. Please paste it below and\n press 'Ok'."), /*#__PURE__*/React__default['default'].createElement("div", {
1015
+ className: "w-full"
986
1016
  }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
987
1017
  value: API_KEY,
988
1018
  id: "function-api-key",
989
1019
  type: "text",
990
- placeholder: "API key",
1020
+ placeholder: apiKeyPlaceholder[fn.API_KEY],
991
1021
  onChange: function onChange(e) {
992
1022
  setAPI_KEY(e.target.value);
1023
+ setApiKeyAdded(false);
993
1024
  }
994
- }), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1025
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
1026
+ className: "flex justify-end mt-2"
1027
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
995
1028
  onClick: function onClick() {
996
1029
  localStorage.setItem(fn.API_KEY, API_KEY);
997
- }
998
- }, "Ok")))))), /*#__PURE__*/React__default['default'].createElement("div", {
1030
+ setApiKeyAdded(true);
1031
+ setShowAPInput(false);
1032
+ },
1033
+ disabled: !API_KEY,
1034
+ className: "min-w-[80px]"
1035
+ }, "Ok"))))))), /*#__PURE__*/React__default['default'].createElement("div", {
999
1036
  style: {
1000
1037
  backgroundColor: "white",
1001
1038
  padding: "6px",
@@ -1003,13 +1040,20 @@ var FormulaHint = function FormulaHint(props) {
1003
1040
  borderRadius: "4px"
1004
1041
  }
1005
1042
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1006
- className: "luckysheet-formula-help-content-example"
1043
+ className: ""
1007
1044
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1008
- className: "luckysheet-arguments-help-section-title example-title"
1009
- }, formulaMore.helpExample), /*#__PURE__*/React__default['default'].createElement("div", {
1010
- className: "luckysheet-arguments-help-formula"
1045
+ style: {
1046
+ lineHeight: "16px",
1047
+ fontSize: "12px"
1048
+ },
1049
+ className: "text-body-sm-bold mb-1 color-text-secondary"
1050
+ }, formulaMore.helpExample), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("code", {
1051
+ style: {
1052
+ overflowWrap: "break-word"
1053
+ },
1054
+ className: "example-value-code"
1011
1055
  }, /*#__PURE__*/React__default['default'].createElement("span", {
1012
- className: "luckysheet-arguments-help-function-name example-value"
1056
+ className: "luckysheet-arguments-help-function-name"
1013
1057
  }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
1014
1058
  className: "luckysheet-arguments-paren"
1015
1059
  }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
@@ -1022,26 +1066,32 @@ var FormulaHint = function FormulaHint(props) {
1022
1066
  }, param.example, i !== fn.p.length - 1 && ", ");
1023
1067
  })), /*#__PURE__*/React__default['default'].createElement("span", {
1024
1068
  className: "luckysheet-arguments-paren"
1025
- }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
1069
+ }, ")")))), /*#__PURE__*/React__default['default'].createElement("div", {
1026
1070
  className: "luckysheet-formula-help-content-detail",
1027
1071
  style: {
1028
- paddingBottom: "6px"
1072
+ paddingBottom: "16px"
1029
1073
  }
1030
1074
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1031
- className: "luckysheet-arguments-help-section"
1075
+ className: ""
1032
1076
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1033
- className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name example-title"
1077
+ style: {
1078
+ lineHeight: "16px",
1079
+ fontSize: "12px",
1080
+ padding: "0px"
1081
+ },
1082
+ className: "text-body-sm-bold mb-1 mt-2 color-text-secondary"
1034
1083
  }, "About"), /*#__PURE__*/React__default['default'].createElement("span", {
1035
- className: "luckysheet-arguments-help-parameter-content example-value"
1084
+ className: "luckysheet-arguments-help-parameter-content text-helper-text-sm"
1036
1085
  }, fn.d))), /*#__PURE__*/React__default['default'].createElement("div", {
1086
+ style: {
1087
+ paddingTop: "16px"
1088
+ },
1037
1089
  className: "luckysheet-formula-help-content-param"
1038
1090
  }, fn.p.map(function (param) {
1039
1091
  return /*#__PURE__*/React__default['default'].createElement("div", {
1040
- className: "luckysheet-arguments-help-section",
1092
+ className: "",
1041
1093
  key: param.name
1042
- }, /*#__PURE__*/React__default['default'].createElement("div", {
1043
- className: "luckysheet-arguments-help-section-title example-title"
1044
- }, param.name, param.repeat === "y" && (/*#__PURE__*/React__default['default'].createElement("span", {
1094
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("code", null, param.name, param.repeat === "y" && (/*#__PURE__*/React__default['default'].createElement("span", {
1045
1095
  className: "luckysheet-arguments-help-argument-info example-value",
1046
1096
  style: {
1047
1097
  marginTop: "2px"
@@ -1051,15 +1101,23 @@ var FormulaHint = function FormulaHint(props) {
1051
1101
  style: {
1052
1102
  marginTop: "2px"
1053
1103
  }
1054
- }, "-[", formulaMore.allowOptionText, "]"))), /*#__PURE__*/React__default['default'].createElement("span", {
1055
- className: "luckysheet-arguments-help-parameter-content example-value",
1104
+ }, "-[", formulaMore.allowOptionText, "]")))), /*#__PURE__*/React__default['default'].createElement("span", {
1105
+ className: "luckysheet-arguments-help-parameter-content text-helper-text-sm",
1056
1106
  style: {
1057
1107
  marginTop: "2px"
1058
1108
  }
1059
1109
  }, param.detail));
1060
- })))), /*#__PURE__*/React__default['default'].createElement("div", {
1061
- className: "luckysheet-formula-help-foot"
1062
- }));
1110
+ }))))), /*#__PURE__*/React__default['default'].createElement("div", {
1111
+ style: {
1112
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
1113
+ padding: "8px",
1114
+ borderBottomLeftRadius: "10px",
1115
+ borderBottomRightRadius: "10px"
1116
+ },
1117
+ className: "w-full"
1118
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
1119
+ className: "color-text-link text-helper-text-sm"
1120
+ }, "Learn More")));
1063
1121
  };
1064
1122
 
1065
1123
  function usePrevious(value) {
@@ -1205,6 +1263,48 @@ var InputBox = function InputBox() {
1205
1263
  e.stopPropagation();
1206
1264
  }
1207
1265
  }, [getActiveFormula, setContext]);
1266
+ var selectActiveFormulaOnClick = React.useCallback(function (e) {
1267
+ var activeFormula = getActiveFormula();
1268
+ var formulaNameDiv = activeFormula === null || activeFormula === void 0 ? void 0 : activeFormula.querySelector(".luckysheet-formula-search-func");
1269
+ if (formulaNameDiv) {
1270
+ var formulaName = formulaNameDiv.textContent;
1271
+ var textEditor = document.getElementById("luckysheet-rich-text-editor");
1272
+ if (textEditor) {
1273
+ var _getrangeseleciton2;
1274
+ var searchTxt = ((_getrangeseleciton2 = fortuneCore.getrangeseleciton()) === null || _getrangeseleciton2 === void 0 ? void 0 : _getrangeseleciton2.textContent) || "";
1275
+ var deleteCount = searchTxt.length;
1276
+ textEditor.focus();
1277
+ var selection = window.getSelection();
1278
+ if ((selection === null || selection === void 0 ? void 0 : selection.rangeCount) === 0) return;
1279
+ var range = selection === null || selection === void 0 ? void 0 : selection.getRangeAt(0);
1280
+ if (deleteCount !== 0 && range) {
1281
+ var startOffset = Math.max(range.startOffset - deleteCount, 0);
1282
+ var endOffset = range.startOffset;
1283
+ range.setStart(range.startContainer, startOffset);
1284
+ range.setEnd(range.startContainer, endOffset);
1285
+ range.deleteContents();
1286
+ }
1287
+ var functionStr = "<span dir=\"auto\" class=\"luckysheet-formula-text-func\">".concat(formulaName, "</span>");
1288
+ var lParStr = "<span dir=\"auto\" class=\"luckysheet-formula-text-lpar\">(</span>";
1289
+ var functionNode = new DOMParser().parseFromString(functionStr, "text/html").body.childNodes[0];
1290
+ var lParNode = new DOMParser().parseFromString(lParStr, "text/html").body.childNodes[0];
1291
+ if (range === null || range === void 0 ? void 0 : range.startContainer.parentNode) {
1292
+ range === null || range === void 0 ? void 0 : range.setStart(range.startContainer.parentNode, 1);
1293
+ }
1294
+ range === null || range === void 0 ? void 0 : range.insertNode(lParNode);
1295
+ range === null || range === void 0 ? void 0 : range.insertNode(functionNode);
1296
+ range === null || range === void 0 ? void 0 : range.collapse();
1297
+ selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
1298
+ if (range) selection === null || selection === void 0 ? void 0 : selection.addRange(range);
1299
+ setContext(function (draftCtx) {
1300
+ draftCtx.functionCandidates = [];
1301
+ draftCtx.functionHint = formulaName;
1302
+ });
1303
+ }
1304
+ e.preventDefault();
1305
+ e.stopPropagation();
1306
+ }
1307
+ }, [getActiveFormula, setContext]);
1208
1308
  var onKeyDown = React.useCallback(function (e) {
1209
1309
  lastKeyDownEventRef.current = new KeyboardEvent(e.type, e.nativeEvent);
1210
1310
  preText.current = inputRef.current.innerText;
@@ -1324,6 +1424,18 @@ var InputBox = function InputBox() {
1324
1424
  })), document.activeElement === inputRef.current && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(FormulaSearch, {
1325
1425
  style: {
1326
1426
  top: ((firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.height_move) || 0) + 4
1427
+ },
1428
+ onMouseOver: function onMouseOver(e) {
1429
+ if (document.getElementById("luckysheet-formula-search-c")) {
1430
+ var hoveredItem = e.target.closest(".luckysheet-formula-search-item");
1431
+ if (!hoveredItem) return;
1432
+ clearSearchItemActiveClass();
1433
+ hoveredItem.classList.add("luckysheet-formula-search-item-active");
1434
+ }
1435
+ e.preventDefault();
1436
+ },
1437
+ onClick: function onClick(e) {
1438
+ selectActiveFormulaOnClick(e);
1327
1439
  }
1328
1440
  }), /*#__PURE__*/React__default['default'].createElement(FormulaHint, {
1329
1441
  style: {
@@ -2459,8 +2571,18 @@ function useDialog() {
2459
2571
  };
2460
2572
  }
2461
2573
 
2574
+ var datepickerStyles = "\n .datepicker-toggle {\n display: inline-block;\n position: relative;\n width: 100%;\n }\n \n .datepicker-toggle-button {\n opacity: 0.3;\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n width: 16px;\n height: 16px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjE2IiB5MT0iMiIgeDI9IjE2IiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI4IiB5MT0iMiIgeDI9IjgiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjMiIHkxPSIxMCIgeDI9IjIxIiB5Mj0iMTAiPjwvbGluZT48L3N2Zz4=');\n background-repeat: no-repeat;\n background-position: center;\n pointer-events: none;\n }\n \n .datepicker-input {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n font-size: 14px;\n line-height: 1.5;\n color: #1a202c;\n background-color: #fff;\n cursor: pointer;\n }\n \n .datepicker-input::-webkit-calendar-picker-indicator {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n opacity: 0;\n }\n \n .datepicker-input:focus {\n outline: none;\n border-color: #4299e1;\n box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);\n }\n";
2575
+ var injectDatepickerStyles = function injectDatepickerStyles() {
2576
+ if (typeof document !== "undefined") {
2577
+ var styleSheet = document.createElement("style");
2578
+ styleSheet.textContent = datepickerStyles;
2579
+ document.head.appendChild(styleSheet);
2580
+ }
2581
+ };
2582
+
2583
+ injectDatepickerStyles();
2462
2584
  var DataVerification = function DataVerification() {
2463
- var _context$dataVerifica, _context$dataVerifica2, _context$dataVerifica3, _context$dataVerifica4, _context$dataVerifica5, _context$dataVerifica6, _context$dataVerifica7, _context$dataVerifica8, _context$dataVerifica9, _context$dataVerifica0, _context$dataVerifica1, _context$dataVerifica10, _context$dataVerifica11, _context$dataVerifica12, _context$dataVerifica13, _context$dataVerifica14, _context$dataVerifica15, _context$dataVerifica16, _context$dataVerifica17, _context$dataVerifica18, _context$dataVerifica19, _context$dataVerifica20, _context$dataVerifica21, _context$dataVerifica22, _context$dataVerifica23;
2585
+ var _context$dataVerifica, _context$dataVerifica2, _context$dataVerifica3, _context$dataVerifica4, _context$dataVerifica5, _context$dataVerifica6, _context$dataVerifica7, _context$dataVerifica8, _context$dataVerifica9, _context$dataVerifica0, _context$dataVerifica1, _context$dataVerifica10, _context$dataVerifica11;
2464
2586
  var _useContext = React.useContext(WorkbookContext),
2465
2587
  context = _useContext.context,
2466
2588
  setContext = _useContext.setContext;
@@ -2469,15 +2591,11 @@ var DataVerification = function DataVerification() {
2469
2591
  hideDialog = _useDialog.hideDialog;
2470
2592
  var _locale = fortuneCore.locale(context),
2471
2593
  dataVerification = _locale.dataVerification,
2472
- toolbar = _locale.toolbar,
2473
2594
  button = _locale.button,
2474
2595
  generalDialog = _locale.generalDialog;
2475
- var _useState = React.useState(["between", "notBetween", "equal", "notEqualTo", "moreThanThe", "lessThan", "greaterOrEqualTo", "lessThanOrEqualTo"]),
2596
+ var _useState = React.useState(["between", "notBetween", "equal", "notEqualTo", "earlierThan", "noEarlierThan", "laterThan", "noLaterThan"]),
2476
2597
  _useState2 = _slicedToArray(_useState, 1),
2477
- numberCondition = _useState2[0];
2478
- var _useState3 = React.useState(["between", "notBetween", "equal", "notEqualTo", "earlierThan", "noEarlierThan", "laterThan", "noLaterThan"]),
2479
- _useState4 = _slicedToArray(_useState3, 1),
2480
- dateCondition = _useState4[0];
2598
+ dateCondition = _useState2[0];
2481
2599
  var dataSelectRange = React.useCallback(function (type, value) {
2482
2600
  hideDialog();
2483
2601
  setContext(function (ctx) {
@@ -2612,48 +2730,36 @@ var DataVerification = function DataVerification() {
2612
2730
  return /*#__PURE__*/React__default['default'].createElement("div", {
2613
2731
  id: "fortune-data-verification"
2614
2732
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2615
- className: "title"
2616
- }, toolbar.dataVerification), /*#__PURE__*/React__default['default'].createElement("div", {
2617
- className: "box"
2733
+ className: "flex flex-col gap-4"
2618
2734
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2619
- className: "box-item",
2620
- style: {
2621
- borderTop: "1px solid #E1E4E8"
2622
- }
2735
+ className: "flex flex-col"
2623
2736
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2624
- className: "box-item-title"
2625
- }, dataVerification.cellRange), /*#__PURE__*/React__default['default'].createElement("div", {
2626
- className: "data-verification-range"
2627
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2628
- className: "formulaInputFocus",
2629
- spellCheck: "false",
2737
+ className: "text-heading-xsm mb-2"
2738
+ }, dataVerification.cellRange), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2739
+ rightIcon: /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
2740
+ name: "Grid2x2",
2741
+ size: "sm"
2742
+ }),
2743
+ "aria-hidden": "true",
2744
+ readOnly: true,
2630
2745
  value: (_context$dataVerifica = context.dataVerification.dataRegulation) === null || _context$dataVerifica === void 0 ? void 0 : _context$dataVerifica.rangeTxt,
2631
2746
  onChange: function onChange(e) {
2632
2747
  var value = e.target.value;
2633
2748
  setContext(function (ctx) {
2634
2749
  ctx.dataVerification.dataRegulation.rangeTxt = value;
2635
2750
  });
2636
- }
2637
- }), /*#__PURE__*/React__default['default'].createElement("i", {
2638
- className: "icon",
2639
- "aria-hidden": "true",
2751
+ },
2640
2752
  onClick: function onClick() {
2641
2753
  hideDialog();
2642
2754
  dataSelectRange("rangeTxt", context.dataVerification.dataRegulation.value1);
2643
- },
2644
- tabIndex: 0
2645
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2646
- name: "tab",
2647
- width: 18
2648
- })))), /*#__PURE__*/React__default['default'].createElement("div", {
2649
- className: "box-item"
2755
+ }
2756
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
2757
+ className: "flex flex-col"
2650
2758
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2651
- className: "box-item-title"
2652
- }, dataVerification.verificationCondition), /*#__PURE__*/React__default['default'].createElement("select", {
2653
- className: "data-verification-type-select",
2759
+ className: "text-heading-xsm mb-2"
2760
+ }, dataVerification.verificationCondition), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
2654
2761
  value: context.dataVerification.dataRegulation.type,
2655
- onChange: function onChange(e) {
2656
- var value = e.target.value;
2762
+ onValueChange: function onValueChange(value) {
2657
2763
  setContext(function (ctx) {
2658
2764
  ctx.dataVerification.dataRegulation.type = value;
2659
2765
  if (value === "dropdown" || value === "checkbox") {
@@ -2669,18 +2775,14 @@ var DataVerification = function DataVerification() {
2669
2775
  ctx.dataVerification.dataRegulation.value2 = "";
2670
2776
  });
2671
2777
  }
2672
- }, ["dropdown", "checkbox", "number", "number_integer", "number_decimal", "text_content", "text_length", "date", "validity"].map(function (v) {
2673
- return /*#__PURE__*/React__default['default'].createElement("option", {
2778
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, null, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, null, ["dropdown", "checkbox", "date"].map(function (v) {
2779
+ return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2674
2780
  value: v,
2675
2781
  key: v
2676
2782
  }, dataVerification[v]);
2677
- })), ((_context$dataVerifica2 = context.dataVerification) === null || _context$dataVerifica2 === void 0 ? void 0 : (_context$dataVerifica3 = _context$dataVerifica2.dataRegulation) === null || _context$dataVerifica3 === void 0 ? void 0 : _context$dataVerifica3.type) === "dropdown" && (/*#__PURE__*/React__default['default'].createElement("div", {
2678
- className: "show-box-item"
2679
- }, /*#__PURE__*/React__default['default'].createElement("div", {
2680
- className: "data-verification-range"
2681
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2682
- className: "formulaInputFocus",
2683
- spellCheck: "false",
2783
+ }))), ((_context$dataVerifica2 = context.dataVerification) === null || _context$dataVerifica2 === void 0 ? void 0 : (_context$dataVerifica3 = _context$dataVerifica2.dataRegulation) === null || _context$dataVerifica3 === void 0 ? void 0 : _context$dataVerifica3.type) === "dropdown" && (/*#__PURE__*/React__default['default'].createElement("div", {
2784
+ className: "mt-4"
2785
+ }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2684
2786
  value: context.dataVerification.dataRegulation.value1,
2685
2787
  placeholder: dataVerification.placeholder1,
2686
2788
  onChange: function onChange(e) {
@@ -2689,39 +2791,28 @@ var DataVerification = function DataVerification() {
2689
2791
  ctx.dataVerification.dataRegulation.value1 = value;
2690
2792
  });
2691
2793
  }
2692
- }), /*#__PURE__*/React__default['default'].createElement("i", {
2693
- className: "icon",
2694
- "aria-hidden": "true",
2695
- onClick: function onClick() {
2696
- return dataSelectRange("dropDown", context.dataVerification.dataRegulation.value1);
2697
- },
2698
- tabIndex: 0
2699
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2700
- name: "tab",
2701
- width: 18
2702
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
2703
- className: "check"
2704
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2705
- type: "checkbox",
2794
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2795
+ className: "mt-4 flex items-center"
2796
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
2797
+ className: "border-2",
2706
2798
  checked: context.dataVerification.dataRegulation.type2 === "true",
2707
- id: "mul",
2708
- onChange: function onChange(e) {
2799
+ onCheckedChange: function onCheckedChange(e) {
2709
2800
  var checked = e.target.checked;
2710
2801
  setContext(function (ctx) {
2711
2802
  ctx.dataVerification.dataRegulation.type2 = "".concat(checked);
2712
2803
  });
2713
2804
  }
2714
- }), /*#__PURE__*/React__default['default'].createElement("label", {
2715
- htmlFor: "mul"
2805
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
2806
+ className: "ml-2"
2716
2807
  }, dataVerification.allowMultiSelect)))), ((_context$dataVerifica4 = context.dataVerification) === null || _context$dataVerifica4 === void 0 ? void 0 : (_context$dataVerifica5 = _context$dataVerifica4.dataRegulation) === null || _context$dataVerifica5 === void 0 ? void 0 : _context$dataVerifica5.type) === "checkbox" && (/*#__PURE__*/React__default['default'].createElement("div", {
2717
- className: "show-box-item"
2808
+ className: "mt-4 space-y-2"
2718
2809
  }, /*#__PURE__*/React__default['default'].createElement("div", {
2719
- className: "check-box"
2720
- }, /*#__PURE__*/React__default['default'].createElement("span", null, dataVerification.selected, " \u2014\u2014 "), /*#__PURE__*/React__default['default'].createElement("input", {
2721
- type: "text",
2722
- className: "data-verification-value1",
2723
- placeholder: dataVerification.placeholder2,
2810
+ className: "flex items-center gap-2"
2811
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
2812
+ className: "data-verification-checkbox-label"
2813
+ }, dataVerification.selected), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2724
2814
  value: (_context$dataVerifica6 = context.dataVerification) === null || _context$dataVerifica6 === void 0 ? void 0 : (_context$dataVerifica7 = _context$dataVerifica6.dataRegulation) === null || _context$dataVerifica7 === void 0 ? void 0 : _context$dataVerifica7.value1,
2815
+ placeholder: dataVerification.placeholder2,
2725
2816
  onChange: function onChange(e) {
2726
2817
  var value = e.target.value;
2727
2818
  setContext(function (ctx) {
@@ -2729,129 +2820,41 @@ var DataVerification = function DataVerification() {
2729
2820
  });
2730
2821
  }
2731
2822
  })), /*#__PURE__*/React__default['default'].createElement("div", {
2732
- className: "check-box"
2733
- }, /*#__PURE__*/React__default['default'].createElement("span", null, dataVerification.notSelected, " \u2014\u2014 "), /*#__PURE__*/React__default['default'].createElement("input", {
2734
- type: "text",
2735
- className: "data-verification-value2",
2736
- placeholder: dataVerification.placeholder2,
2823
+ className: "flex items-center gap-2"
2824
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
2825
+ className: "data-verification-checkbox-label"
2826
+ }, dataVerification.notSelected), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2737
2827
  value: (_context$dataVerifica8 = context.dataVerification) === null || _context$dataVerifica8 === void 0 ? void 0 : (_context$dataVerifica9 = _context$dataVerifica8.dataRegulation) === null || _context$dataVerifica9 === void 0 ? void 0 : _context$dataVerifica9.value2,
2828
+ placeholder: dataVerification.placeholder2,
2738
2829
  onChange: function onChange(e) {
2739
2830
  var value = e.target.value;
2740
2831
  setContext(function (ctx) {
2741
2832
  ctx.dataVerification.dataRegulation.value2 = value;
2742
2833
  });
2743
2834
  }
2744
- })))), (((_context$dataVerifica0 = context.dataVerification) === null || _context$dataVerifica0 === void 0 ? void 0 : (_context$dataVerifica1 = _context$dataVerifica0.dataRegulation) === null || _context$dataVerifica1 === void 0 ? void 0 : _context$dataVerifica1.type) === "number" || ((_context$dataVerifica10 = context.dataVerification) === null || _context$dataVerifica10 === void 0 ? void 0 : (_context$dataVerifica11 = _context$dataVerifica10.dataRegulation) === null || _context$dataVerifica11 === void 0 ? void 0 : _context$dataVerifica11.type) === "number_integer" || ((_context$dataVerifica12 = context.dataVerification) === null || _context$dataVerifica12 === void 0 ? void 0 : (_context$dataVerifica13 = _context$dataVerifica12.dataRegulation) === null || _context$dataVerifica13 === void 0 ? void 0 : _context$dataVerifica13.type) === "number_decimal" || ((_context$dataVerifica14 = context.dataVerification) === null || _context$dataVerifica14 === void 0 ? void 0 : (_context$dataVerifica15 = _context$dataVerifica14.dataRegulation) === null || _context$dataVerifica15 === void 0 ? void 0 : _context$dataVerifica15.type) === "text_length") && (/*#__PURE__*/React__default['default'].createElement("div", {
2745
- className: "show-box-item"
2746
- }, /*#__PURE__*/React__default['default'].createElement("select", {
2747
- className: "data-verification-type-select",
2748
- value: context.dataVerification.dataRegulation.type2,
2749
- onChange: function onChange(e) {
2750
- var value = e.target.value;
2751
- setContext(function (ctx) {
2752
- ctx.dataVerification.dataRegulation.type2 = value;
2753
- ctx.dataVerification.dataRegulation.value1 = "";
2754
- ctx.dataVerification.dataRegulation.value2 = "";
2755
- });
2756
- }
2757
- }, numberCondition.map(function (v) {
2758
- return /*#__PURE__*/React__default['default'].createElement("option", {
2759
- value: v,
2760
- key: v
2761
- }, dataVerification[v]);
2762
- })), context.dataVerification.dataRegulation.type2 === "between" || context.dataVerification.dataRegulation.type2 === "notBetween" ? (/*#__PURE__*/React__default['default'].createElement("div", {
2763
- className: "input-box"
2764
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2765
- type: "number",
2766
- placeholder: "1",
2767
- value: context.dataVerification.dataRegulation.value1,
2768
- onChange: function onChange(e) {
2769
- var value = e.target.value;
2770
- setContext(function (ctx) {
2771
- ctx.dataVerification.dataRegulation.value1 = value;
2772
- });
2773
- }
2774
- }), /*#__PURE__*/React__default['default'].createElement("span", null, "-"), /*#__PURE__*/React__default['default'].createElement("input", {
2775
- type: "number",
2776
- placeholder: "100",
2777
- value: context.dataVerification.dataRegulation.value2,
2778
- onChange: function onChange(e) {
2779
- var value = e.target.value;
2780
- setContext(function (ctx) {
2781
- ctx.dataVerification.dataRegulation.value2 = value;
2782
- });
2783
- }
2784
- }))) : (/*#__PURE__*/React__default['default'].createElement("div", {
2785
- className: "input-box"
2786
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2787
- type: "number",
2788
- style: {
2789
- width: "100%"
2790
- },
2791
- placeholder: dataVerification.placeholder3,
2792
- value: context.dataVerification.dataRegulation.value1,
2793
- onChange: function onChange(e) {
2794
- var value = e.target.value;
2795
- setContext(function (ctx) {
2796
- ctx.dataVerification.dataRegulation.value1 = value;
2797
- });
2798
- }
2799
- }))))), ((_context$dataVerifica16 = context.dataVerification) === null || _context$dataVerifica16 === void 0 ? void 0 : (_context$dataVerifica17 = _context$dataVerifica16.dataRegulation) === null || _context$dataVerifica17 === void 0 ? void 0 : _context$dataVerifica17.type) === "text_content" && (/*#__PURE__*/React__default['default'].createElement("div", {
2800
- className: "show-box-item"
2801
- }, /*#__PURE__*/React__default['default'].createElement("select", {
2802
- className: "data-verification-type-select",
2835
+ })))), ((_context$dataVerifica0 = context.dataVerification) === null || _context$dataVerifica0 === void 0 ? void 0 : (_context$dataVerifica1 = _context$dataVerifica0.dataRegulation) === null || _context$dataVerifica1 === void 0 ? void 0 : _context$dataVerifica1.type) === "date" && (/*#__PURE__*/React__default['default'].createElement("div", {
2836
+ className: "mt-4"
2837
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Select, {
2803
2838
  value: context.dataVerification.dataRegulation.type2,
2804
- onChange: function onChange(e) {
2805
- var value = e.target.value;
2806
- setContext(function (ctx) {
2807
- ctx.dataVerification.dataRegulation.type2 = value;
2808
- ctx.dataVerification.dataRegulation.value1 = "";
2809
- ctx.dataVerification.dataRegulation.value2 = "";
2810
- });
2811
- }
2812
- }, ["include", "exclude", "equal"].map(function (v) {
2813
- return /*#__PURE__*/React__default['default'].createElement("option", {
2814
- value: v,
2815
- key: v
2816
- }, dataVerification[v]);
2817
- })), /*#__PURE__*/React__default['default'].createElement("div", {
2818
- className: "input-box"
2819
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2820
- type: "text",
2821
- style: {
2822
- width: "100%"
2823
- },
2824
- placeholder: dataVerification.placeholder4,
2825
- value: context.dataVerification.dataRegulation.value1,
2826
- onChange: function onChange(e) {
2827
- var value = e.target.value;
2828
- setContext(function (ctx) {
2829
- ctx.dataVerification.dataRegulation.value1 = value;
2830
- });
2831
- }
2832
- })))), ((_context$dataVerifica18 = context.dataVerification) === null || _context$dataVerifica18 === void 0 ? void 0 : (_context$dataVerifica19 = _context$dataVerifica18.dataRegulation) === null || _context$dataVerifica19 === void 0 ? void 0 : _context$dataVerifica19.type) === "date" && (/*#__PURE__*/React__default['default'].createElement("div", {
2833
- className: "show-box-item"
2834
- }, /*#__PURE__*/React__default['default'].createElement("select", {
2835
- className: "data-verification-type-select",
2836
- value: context.dataVerification.dataRegulation.type2,
2837
- onChange: function onChange(e) {
2838
- var value = e.target.value;
2839
+ onValueChange: function onValueChange(value) {
2839
2840
  setContext(function (ctx) {
2840
2841
  ctx.dataVerification.dataRegulation.type2 = value;
2841
2842
  ctx.dataVerification.dataRegulation.value1 = "";
2842
2843
  ctx.dataVerification.dataRegulation.value2 = "";
2843
2844
  });
2844
2845
  }
2845
- }, dateCondition.map(function (v) {
2846
- return /*#__PURE__*/React__default['default'].createElement("option", {
2846
+ }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, null, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, null, dateCondition.map(function (v) {
2847
+ return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2847
2848
  value: v,
2848
2849
  key: v
2849
2850
  }, dataVerification[v]);
2850
- })), context.dataVerification.dataRegulation.type2 === "between" || context.dataVerification.dataRegulation.type2 === "notBetween" ? (/*#__PURE__*/React__default['default'].createElement("div", {
2851
- className: "input-box"
2851
+ }))), context.dataVerification.dataRegulation.type2 === "between" || context.dataVerification.dataRegulation.type2 === "notBetween" ? (/*#__PURE__*/React__default['default'].createElement("div", {
2852
+ className: "mt-4 flex gap-2 items-center"
2853
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2854
+ className: "datepicker-toggle"
2852
2855
  }, /*#__PURE__*/React__default['default'].createElement("input", {
2853
2856
  type: "date",
2854
- placeholder: "1",
2857
+ className: "datepicker-input",
2855
2858
  value: context.dataVerification.dataRegulation.value1,
2856
2859
  onChange: function onChange(e) {
2857
2860
  var value = e.target.value;
@@ -2859,9 +2862,13 @@ var DataVerification = function DataVerification() {
2859
2862
  ctx.dataVerification.dataRegulation.value1 = value;
2860
2863
  });
2861
2864
  }
2862
- }), /*#__PURE__*/React__default['default'].createElement("span", null, "-"), /*#__PURE__*/React__default['default'].createElement("input", {
2865
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
2866
+ className: "datepicker-toggle-button"
2867
+ })), /*#__PURE__*/React__default['default'].createElement("span", null, "-"), /*#__PURE__*/React__default['default'].createElement("div", {
2868
+ className: "datepicker-toggle"
2869
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
2863
2870
  type: "date",
2864
- placeholder: "100",
2871
+ className: "datepicker-input",
2865
2872
  value: context.dataVerification.dataRegulation.value2,
2866
2873
  onChange: function onChange(e) {
2867
2874
  var value = e.target.value;
@@ -2869,13 +2876,15 @@ var DataVerification = function DataVerification() {
2869
2876
  ctx.dataVerification.dataRegulation.value2 = value;
2870
2877
  });
2871
2878
  }
2872
- }))) : (/*#__PURE__*/React__default['default'].createElement("div", {
2873
- className: "input-box"
2879
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
2880
+ className: "datepicker-toggle-button"
2881
+ })))) : (/*#__PURE__*/React__default['default'].createElement("div", {
2882
+ className: "mt-4"
2883
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2884
+ className: "datepicker-toggle"
2874
2885
  }, /*#__PURE__*/React__default['default'].createElement("input", {
2875
2886
  type: "date",
2876
- style: {
2877
- width: "100%"
2878
- },
2887
+ className: "datepicker-input",
2879
2888
  placeholder: dataVerification.placeholder3,
2880
2889
  value: context.dataVerification.dataRegulation.value1,
2881
2890
  onChange: function onChange(e) {
@@ -2884,57 +2893,35 @@ var DataVerification = function DataVerification() {
2884
2893
  ctx.dataVerification.dataRegulation.value1 = value;
2885
2894
  });
2886
2895
  }
2887
- }))))), ((_context$dataVerifica20 = context.dataVerification) === null || _context$dataVerifica20 === void 0 ? void 0 : (_context$dataVerifica21 = _context$dataVerifica20.dataRegulation) === null || _context$dataVerifica21 === void 0 ? void 0 : _context$dataVerifica21.type) === "validity" && (/*#__PURE__*/React__default['default'].createElement("div", {
2888
- className: "show-box-item"
2889
- }, /*#__PURE__*/React__default['default'].createElement("select", {
2890
- className: "data-verification-type-select",
2891
- value: context.dataVerification.dataRegulation.type2,
2892
- onChange: function onChange(e) {
2893
- var value = e.target.value;
2894
- setContext(function (ctx) {
2895
- ctx.dataVerification.dataRegulation.type2 = value;
2896
- ctx.dataVerification.dataRegulation.value1 = "";
2897
- ctx.dataVerification.dataRegulation.value2 = "";
2898
- });
2899
- }
2900
- }, ["identificationNumber", "phoneNumber"].map(function (v) {
2901
- return /*#__PURE__*/React__default['default'].createElement("option", {
2902
- value: v,
2903
- key: v
2904
- }, dataVerification[v]);
2905
- }))))), /*#__PURE__*/React__default['default'].createElement("div", {
2906
- className: "box-item"
2896
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
2897
+ className: "datepicker-toggle-button"
2898
+ }))))))), /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
2899
+ className: "w-full border-t-[1px]"
2900
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2901
+ className: "flex flex-col gap-2"
2907
2902
  }, ["prohibitInput", "hintShow"].map(function (v) {
2908
2903
  return /*#__PURE__*/React__default['default'].createElement("div", {
2909
- className: "check",
2910
- key: "div".concat(v)
2911
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2912
- type: "checkbox",
2913
- id: v,
2914
- key: "input".concat(v),
2904
+ key: v,
2905
+ className: "flex items-center"
2906
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
2907
+ className: "border-2",
2915
2908
  checked: context.dataVerification.dataRegulation[v],
2916
- onChange: function onChange() {
2909
+ onCheckedChange: function onCheckedChange(e) {
2910
+ var checked = e.target.checked;
2917
2911
  setContext(function (ctx) {
2918
2912
  var _ctx$dataVerification5;
2919
2913
  var dataRegulation = (_ctx$dataVerification5 = ctx.dataVerification) === null || _ctx$dataVerification5 === void 0 ? void 0 : _ctx$dataVerification5.dataRegulation;
2920
2914
  if (v === "prohibitInput") {
2921
- dataRegulation.prohibitInput = !dataRegulation.prohibitInput;
2915
+ dataRegulation.prohibitInput = checked;
2922
2916
  } else if (v === "hintShow") {
2923
- dataRegulation.hintShow = !dataRegulation.hintShow;
2917
+ dataRegulation.hintShow = checked;
2924
2918
  }
2925
2919
  });
2926
- }
2927
- }), /*#__PURE__*/React__default['default'].createElement("label", {
2928
- htmlFor: v,
2929
- key: "label".concat(v)
2930
- }, dataVerification[v]));
2931
- }), ((_context$dataVerifica22 = context.dataVerification) === null || _context$dataVerifica22 === void 0 ? void 0 : (_context$dataVerifica23 = _context$dataVerifica22.dataRegulation) === null || _context$dataVerifica23 === void 0 ? void 0 : _context$dataVerifica23.hintShow) && (/*#__PURE__*/React__default['default'].createElement("div", {
2932
- className: "input-box"
2933
- }, /*#__PURE__*/React__default['default'].createElement("input", {
2934
- type: "text",
2935
- style: {
2936
- width: "100%"
2937
- },
2920
+ }
2921
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
2922
+ className: "ml-2"
2923
+ }, dataVerification[v]));
2924
+ }), ((_context$dataVerifica10 = context.dataVerification) === null || _context$dataVerifica10 === void 0 ? void 0 : (_context$dataVerifica11 = _context$dataVerifica10.dataRegulation) === null || _context$dataVerifica11 === void 0 ? void 0 : _context$dataVerifica11.hintShow) && (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
2938
2925
  placeholder: dataVerification.placeholder5,
2939
2926
  value: context.dataVerification.dataRegulation.hintValue,
2940
2927
  onChange: function onChange(e) {
@@ -2943,25 +2930,37 @@ var DataVerification = function DataVerification() {
2943
2930
  ctx.dataVerification.dataRegulation.hintValue = value;
2944
2931
  });
2945
2932
  }
2946
- }))))), /*#__PURE__*/React__default['default'].createElement("div", {
2947
- className: "button-basic button-primary",
2933
+ }))))), /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
2934
+ className: "w-full border-t-[1px] my-4"
2935
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2936
+ className: "flex gap-2 justify-between items-center"
2937
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
2938
+ variant: "secondary",
2939
+ style: {
2940
+ minWidth: "80px"
2941
+ },
2948
2942
  onClick: function onClick() {
2949
- btn("confirm");
2943
+ btn("close");
2944
+ }
2945
+ }, button.cancel), /*#__PURE__*/React__default['default'].createElement("div", {
2946
+ className: "flex gap-2"
2947
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
2948
+ variant: "secondary",
2949
+ style: {
2950
+ minWidth: "80px"
2950
2951
  },
2951
- tabIndex: 0
2952
- }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
2953
- className: "button-basic button-close",
2954
2952
  onClick: function onClick() {
2955
2953
  btn("delete");
2954
+ }
2955
+ }, dataVerification.deleteVerification), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
2956
+ variant: "default",
2957
+ style: {
2958
+ minWidth: "80px"
2956
2959
  },
2957
- tabIndex: 0
2958
- }, dataVerification.deleteVerification), /*#__PURE__*/React__default['default'].createElement("div", {
2959
- className: "button-basic button-close",
2960
2960
  onClick: function onClick() {
2961
- btn("close");
2962
- },
2963
- tabIndex: 0
2964
- }, button.cancel));
2961
+ btn("confirm");
2962
+ }
2963
+ }, button.confirm))));
2965
2964
  };
2966
2965
 
2967
2966
  function getDisplayedRangeTxt(context) {
@@ -2973,12 +2972,7 @@ function getDisplayedRangeTxt(context) {
2973
2972
  return (_context$rangeDialog$ = (_context$rangeDialog = context.rangeDialog) === null || _context$rangeDialog === void 0 ? void 0 : _context$rangeDialog.rangeTxt) !== null && _context$rangeDialog$ !== void 0 ? _context$rangeDialog$ : "";
2974
2973
  }
2975
2974
 
2976
- var datepickerStyles = "\n .datepicker-toggle {\n display: inline-block;\n position: relative;\n width: 100%;\n }\n \n .datepicker-toggle-button {\n opacity: 0.3;\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n width: 16px;\n height: 16px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjE2IiB5MT0iMiIgeDI9IjE2IiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI4IiB5MT0iMiIgeDI9IjgiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjMiIHkxPSIxMCIgeDI9IjIxIiB5Mj0iMTAiPjwvbGluZT48L3N2Zz4=');\n background-repeat: no-repeat;\n background-position: center;\n pointer-events: none;\n }\n \n .datepicker-input {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n font-size: 14px;\n line-height: 1.5;\n color: #1a202c;\n background-color: #fff;\n cursor: pointer;\n }\n \n .datepicker-input::-webkit-calendar-picker-indicator {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n opacity: 0;\n }\n \n .datepicker-input:focus {\n outline: none;\n border-color: #4299e1;\n box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);\n }\n";
2977
- if (typeof document !== "undefined") {
2978
- var styleSheet = document.createElement("style");
2979
- styleSheet.textContent = datepickerStyles;
2980
- document.head.appendChild(styleSheet);
2981
- }
2975
+ injectDatepickerStyles();
2982
2976
  var ConditionRules = function ConditionRules(_ref) {
2983
2977
  var type = _ref.type;
2984
2978
  var _useContext = React.useContext(WorkbookContext),
@@ -3299,7 +3293,8 @@ var RangeDialog = function RangeDialog() {
3299
3293
  showDialog = _useDialog.showDialog;
3300
3294
  var _locale = fortuneCore.locale(context),
3301
3295
  dataVerification = _locale.dataVerification,
3302
- button = _locale.button;
3296
+ button = _locale.button,
3297
+ toolbar = _locale.toolbar;
3303
3298
  var _useState = React.useState(getDisplayedRangeTxt(context)),
3304
3299
  _useState2 = _slicedToArray(_useState, 2),
3305
3300
  rangeTxt2 = _useState2[0],
@@ -3324,7 +3319,7 @@ var RangeDialog = function RangeDialog() {
3324
3319
  }), undefined, fortuneCore.locale(context).conditionformat["conditionformat_".concat(rulesType)]);
3325
3320
  return;
3326
3321
  }
3327
- showDialog(/*#__PURE__*/React__default['default'].createElement(DataVerification, null));
3322
+ showDialog(/*#__PURE__*/React__default['default'].createElement(DataVerification, null), undefined, toolbar.dataVerification);
3328
3323
  }, [setContext, showDialog, context]);
3329
3324
  React.useEffect(function () {
3330
3325
  setRangeTxt2(getDisplayedRangeTxt(context));
@@ -3513,7 +3508,7 @@ var DropDownList = function DropDownList() {
3513
3508
  arr.splice(index, 1);
3514
3509
  }
3515
3510
  setSelected(arr);
3516
- fortuneCore.setDropcownValue(ctx, v, arr);
3511
+ fortuneCore.setDropdownValue(ctx, v, arr);
3517
3512
  });
3518
3513
  },
3519
3514
  tabIndex: 0
@@ -3528,6 +3523,118 @@ var DropDownList = function DropDownList() {
3528
3523
  }));
3529
3524
  };
3530
3525
 
3526
+ var IframeBoxs = function IframeBoxs() {
3527
+ var _context$insertedIfra;
3528
+ var _useContext = React.useContext(WorkbookContext),
3529
+ context = _useContext.context,
3530
+ setContext = _useContext.setContext,
3531
+ refs = _useContext.refs;
3532
+ var containerRef = React.useRef(null);
3533
+ React.useEffect(function () {
3534
+ var handleClickOutside = function handleClickOutside(e) {
3535
+ if (!containerRef.current) return;
3536
+ var iframeBoxes = containerRef.current.querySelectorAll(".luckysheet-modal-dialog-iframe");
3537
+ var clickedInsideSomeIframe = Array.from(iframeBoxes).some(function (el) {
3538
+ return el.contains(e.target);
3539
+ });
3540
+ if (!clickedInsideSomeIframe && context.activeIframe !== undefined) {
3541
+ setContext(function (ctx) {
3542
+ ctx.activeIframe = undefined;
3543
+ });
3544
+ }
3545
+ };
3546
+ document.addEventListener("mousedown", handleClickOutside);
3547
+ return function () {
3548
+ document.removeEventListener("mousedown", handleClickOutside);
3549
+ };
3550
+ }, [context.activeIframe, setContext]);
3551
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3552
+ id: "fortune-iframe-boxes",
3553
+ ref: containerRef
3554
+ }, (_context$insertedIfra = context.insertedIframes) === null || _context$insertedIfra === void 0 ? void 0 : _context$insertedIfra.map(function (frame) {
3555
+ var isActive = frame.id === context.activeIframe;
3556
+ var style = {
3557
+ width: frame.width * context.zoomRatio,
3558
+ height: frame.height * context.zoomRatio,
3559
+ left: frame.left * context.zoomRatio,
3560
+ top: frame.top * context.zoomRatio,
3561
+ position: "absolute",
3562
+ padding: 0,
3563
+ zIndex: isActive ? 300 : 200
3564
+ };
3565
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3566
+ key: frame.id,
3567
+ id: isActive ? "fortune-modal-dialog-activeIframe" : frame.id,
3568
+ className: "luckysheet-modal-dialog luckysheet-modal-dialog-iframe",
3569
+ style: style,
3570
+ onClick: function onClick(e) {
3571
+ if (!isActive) {
3572
+ setContext(function (ctx) {
3573
+ ctx.activeIframe = frame.id;
3574
+ });
3575
+ }
3576
+ e.stopPropagation();
3577
+ },
3578
+ onMouseDown: function onMouseDown(e) {
3579
+ if (isActive) {
3580
+ fortuneCore.onIframeMoveStart(context, refs.globalCache, e.nativeEvent);
3581
+ }
3582
+ e.stopPropagation();
3583
+ }
3584
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
3585
+ className: "luckysheet-modal-dialog-content",
3586
+ style: {
3587
+ width: "100%",
3588
+ height: "100%",
3589
+ overflow: "hidden"
3590
+ }
3591
+ }, /*#__PURE__*/React__default['default'].createElement("iframe", {
3592
+ title: "iframe-".concat(frame.id),
3593
+ src: frame.src,
3594
+ style: {
3595
+ width: "100%",
3596
+ height: "100%",
3597
+ border: "none",
3598
+ pointerEvents: "none"
3599
+ }
3600
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
3601
+ className: "luckysheet-modal-dialog-border"
3602
+ }), isActive && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
3603
+ className: "luckysheet-modal-dialog-resize"
3604
+ }, ["lt", "mt", "lm", "rm", "rt", "lb", "mb", "rb"].map(function (dir) {
3605
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3606
+ key: dir,
3607
+ className: "luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-".concat(dir),
3608
+ "data-type": dir,
3609
+ style: {
3610
+ zIndex: 300,
3611
+ position: "absolute"
3612
+ },
3613
+ onMouseDown: function onMouseDown(e) {
3614
+ fortuneCore.onIframeResizeStart(context, refs.globalCache, e.nativeEvent, dir);
3615
+ e.stopPropagation();
3616
+ }
3617
+ });
3618
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
3619
+ className: "luckysheet-modal-dialog-controll"
3620
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
3621
+ className: "luckysheet-modal-controll-btn luckysheet-modal-controll-del",
3622
+ role: "button",
3623
+ tabIndex: 0,
3624
+ title: "Delete",
3625
+ onClick: function onClick() {
3626
+ setContext(function (ctx) {
3627
+ var _ctx$insertedIframes;
3628
+ ctx.insertedIframes = ctx === null || ctx === void 0 ? void 0 : (_ctx$insertedIframes = ctx.insertedIframes) === null || _ctx$insertedIframes === void 0 ? void 0 : _ctx$insertedIframes.filter(function (f) {
3629
+ return f.id !== frame.id;
3630
+ });
3631
+ ctx.activeIframe = undefined;
3632
+ });
3633
+ }
3634
+ }, "DELETE")))));
3635
+ }));
3636
+ };
3637
+
3531
3638
  var SheetOverlay = function SheetOverlay() {
3532
3639
  var _refs$cellArea$curren, _refs$cellArea$curren2, _context$luckysheet_s, _context$luckysheet_s2, _context$luckysheet_s3, _context$luckysheet_s4, _context$luckysheet_s5, _context$luckysheet_s6, _context$presences$le, _context$presences, _context$linkCard, _context$rangeDialog;
3533
3640
  var _useContext = React.useContext(WorkbookContext),
@@ -3970,7 +4077,7 @@ var SheetOverlay = function SheetOverlay() {
3970
4077
  id: "luckysheet-multipleRange-show"
3971
4078
  }), /*#__PURE__*/React__default['default'].createElement("div", {
3972
4079
  id: "luckysheet-dynamicArray-hightShow"
3973
- }), /*#__PURE__*/React__default['default'].createElement(ImgBoxs, null), /*#__PURE__*/React__default['default'].createElement("div", {
4080
+ }), /*#__PURE__*/React__default['default'].createElement(ImgBoxs, null), /*#__PURE__*/React__default['default'].createElement(IframeBoxs, null), /*#__PURE__*/React__default['default'].createElement("div", {
3974
4081
  id: "luckysheet-dataVerification-dropdown-btn",
3975
4082
  onClick: function onClick() {
3976
4083
  setContext(function (ctx) {
@@ -3983,8 +4090,9 @@ var SheetOverlay = function SheetOverlay() {
3983
4090
  display: "none"
3984
4091
  }
3985
4092
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
3986
- name: "combo-arrow",
3987
- width: 16
4093
+ name: "caret-down-fill",
4094
+ width: 16,
4095
+ height: 16
3988
4096
  })), context.dataVerificationDropDownList && /*#__PURE__*/React__default['default'].createElement(DropDownList, null), /*#__PURE__*/React__default['default'].createElement("div", {
3989
4097
  id: "luckysheet-dataVerification-showHintBox",
3990
4098
  className: "luckysheet-mousedown-cancel",
@@ -4303,6 +4411,9 @@ var Combo = function Combo(_ref) {
4303
4411
  setPopupPosition = _useState4[1];
4304
4412
  var popupRef = React.useRef(null);
4305
4413
  var buttonRef = React.useRef(null);
4414
+ var isLucideIcon = React.useMemo(function () {
4415
+ return (iconId === null || iconId === void 0 ? void 0 : iconId.startsWith("align-")) || ["text-overflow", "text-wrap", "text-clip"].includes(iconId);
4416
+ }, [iconId]);
4306
4417
  useOutsideClick(popupRef, function () {
4307
4418
  setOpen(false);
4308
4419
  });
@@ -4330,7 +4441,7 @@ var Combo = function Combo(_ref) {
4330
4441
  }, /*#__PURE__*/React__default['default'].createElement("div", {
4331
4442
  ref: buttonRef,
4332
4443
  className: "fortune-toolbar-combo"
4333
- }, /*#__PURE__*/React__default['default'].createElement("div", {
4444
+ }, !isLucideIcon ? (/*#__PURE__*/React__default['default'].createElement("div", {
4334
4445
  className: "fortune-toolbar-combo-button",
4335
4446
  onClick: function onClick(e) {
4336
4447
  if (_onClick) {
@@ -4349,7 +4460,13 @@ var Combo = function Combo(_ref) {
4349
4460
  name: iconId
4350
4461
  })) : (/*#__PURE__*/React__default['default'].createElement("span", {
4351
4462
  className: "fortune-toolbar-combo-text"
4352
- }, text !== undefined ? text : ""))), showArrow && (/*#__PURE__*/React__default['default'].createElement("div", {
4463
+ }, text !== undefined ? text : "")))) : (/*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
4464
+ icon: getIcon(iconId),
4465
+ variant: "ghost",
4466
+ onClick: function onClick() {
4467
+ return setOpen(!open);
4468
+ }
4469
+ })), showArrow && (/*#__PURE__*/React__default['default'].createElement("div", {
4353
4470
  className: "fortune-toolbar-combo-arrow",
4354
4471
  onClick: function onClick() {
4355
4472
  return setOpen(!open);
@@ -5254,6 +5371,121 @@ var FormatSearch = function FormatSearch(_ref) {
5254
5371
  }, button.cancel)));
5255
5372
  };
5256
5373
 
5374
+ var DuneChartsInputModal = function DuneChartsInputModal(_ref) {
5375
+ var isOpen = _ref.isOpen,
5376
+ onClose = _ref.onClose,
5377
+ onSubmit = _ref.onSubmit,
5378
+ icon = _ref.icon,
5379
+ _ref$submitText = _ref.submitText,
5380
+ submitText = _ref$submitText === void 0 ? "Submit" : _ref$submitText,
5381
+ _ref$placeholder = _ref.placeholder,
5382
+ placeholder = _ref$placeholder === void 0 ? "Enter a value..." : _ref$placeholder;
5383
+ var _useState = React.useState(""),
5384
+ _useState2 = _slicedToArray(_useState, 2),
5385
+ url = _useState2[0],
5386
+ setUrl = _useState2[1];
5387
+ var _useState3 = React.useState(false),
5388
+ _useState4 = _slicedToArray(_useState3, 2),
5389
+ showError = _useState4[0],
5390
+ setShowError = _useState4[1];
5391
+ var inputRef = React.useRef(null);
5392
+ React.useEffect(function () {
5393
+ if (isOpen && inputRef.current) {
5394
+ var timer = setTimeout(function () {
5395
+ var _inputRef$current;
5396
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
5397
+ }, 100);
5398
+ return function () {
5399
+ return clearTimeout(timer);
5400
+ };
5401
+ }
5402
+ return undefined;
5403
+ }, [isOpen]);
5404
+ if (!isOpen) return null;
5405
+ var handleSubmit = function handleSubmit() {
5406
+ var trimmed = url.trim();
5407
+ if (trimmed && fortuneCore.sanitizeDuneUrl(trimmed)) {
5408
+ onSubmit(trimmed);
5409
+ setUrl("");
5410
+ setShowError(false);
5411
+ onClose();
5412
+ } else {
5413
+ setShowError(true);
5414
+ }
5415
+ };
5416
+ var handleKeyDown = function handleKeyDown(e) {
5417
+ e.stopPropagation();
5418
+ if (e.key === "Enter") {
5419
+ handleSubmit();
5420
+ }
5421
+ };
5422
+ return /*#__PURE__*/React__default['default'].createElement("div", {
5423
+ className: "custom-overlay",
5424
+ onClick: onClose
5425
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
5426
+ className: "input-modal",
5427
+ style: {
5428
+ transformOrigin: "top center"
5429
+ },
5430
+ onClick: function onClick(e) {
5431
+ return e.stopPropagation();
5432
+ },
5433
+ onKeyDown: handleKeyDown
5434
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
5435
+ className: "modal-header"
5436
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5437
+ name: icon
5438
+ }), /*#__PURE__*/React__default['default'].createElement("input", {
5439
+ ref: inputRef,
5440
+ className: "modal-input",
5441
+ type: "text",
5442
+ placeholder: placeholder,
5443
+ value: url,
5444
+ onChange: function onChange(e) {
5445
+ setUrl(e.target.value);
5446
+ setShowError(false);
5447
+ },
5448
+ onKeyDown: handleKeyDown
5449
+ })), showError && (/*#__PURE__*/React__default['default'].createElement("div", {
5450
+ className: "modal-error-message"
5451
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5452
+ style: {
5453
+ width: "14px",
5454
+ height: "14px"
5455
+ },
5456
+ name: "circle-alert"
5457
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, "Please make sure the URL is a valid Dune chart link"))), url.length > 0 && !showError && (/*#__PURE__*/React__default['default'].createElement("div", {
5458
+ className: "modal-footer"
5459
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
5460
+ onClick: handleSubmit,
5461
+ className: "modal-button"
5462
+ }, submitText)))));
5463
+ };
5464
+
5465
+ var getIcon = function getIcon(title) {
5466
+ switch (title) {
5467
+ case "align-left":
5468
+ return "AlignLeft";
5469
+ case "align-center":
5470
+ return "AlignCenter";
5471
+ case "align-right":
5472
+ return "AlignRight";
5473
+ case "align-top":
5474
+ return "ArrowUpFromLine";
5475
+ case "align-middle":
5476
+ return "AlignVerticalMiddle";
5477
+ case "align-bottom":
5478
+ return "ArrowDownFromLine";
5479
+ case "text-overflow":
5480
+ return "TextOverflow";
5481
+ case "text-wrap":
5482
+ return "WrapText";
5483
+ case "text-clip":
5484
+ return "TextClip";
5485
+ default:
5486
+ return "";
5487
+ }
5488
+ };
5257
5489
  var Toolbar = function Toolbar(_ref) {
5258
5490
  var _context$luckysheet_s, _flowdata$row, _settings$customToolb;
5259
5491
  var setMoreItems = _ref.setMoreItems,
@@ -5275,6 +5507,10 @@ var Toolbar = function Toolbar(_ref) {
5275
5507
  _useState4 = _slicedToArray(_useState3, 2),
5276
5508
  itemLocations = _useState4[0],
5277
5509
  setItemLocations = _useState4[1];
5510
+ var _useState5 = React.useState(false),
5511
+ _useState6 = _slicedToArray(_useState5, 2),
5512
+ showDuneModal = _useState6[0],
5513
+ setShowDuneModal = _useState6[1];
5278
5514
  var _useDialog = useDialog(),
5279
5515
  showDialog = _useDialog.showDialog,
5280
5516
  hideDialog = _useDialog.hideDialog;
@@ -5305,14 +5541,12 @@ var Toolbar = function Toolbar(_ref) {
5305
5541
  var sheetWidth = context.luckysheetTableContentHW[0];
5306
5542
  var currency = settings.currency;
5307
5543
  var defaultFormat = defaultFmt(currency);
5308
- var _useState5 = React.useState("#000000"),
5309
- _useState6 = _slicedToArray(_useState5, 2),
5310
- customColor = _useState6[0],
5311
- setcustomColor = _useState6[1];
5312
- var _useState7 = React.useState("1"),
5313
- _useState8 = _slicedToArray(_useState7, 2),
5314
- customStyle = _useState8[0],
5315
- setcustomStyle = _useState8[1];
5544
+ var _useState7 = React.useState("#000000"),
5545
+ _useState8 = _slicedToArray(_useState7, 1),
5546
+ customColor = _useState8[0];
5547
+ var _useState9 = React.useState("1"),
5548
+ _useState0 = _slicedToArray(_useState9, 1),
5549
+ customStyle = _useState0[0];
5316
5550
  var showSubMenu = React.useCallback(function (e, className) {
5317
5551
  var target = e.target;
5318
5552
  var menuItem = target.className === "fortune-toolbar-menu-line" ? target.parentElement : target;
@@ -5592,27 +5826,38 @@ var Toolbar = function Toolbar(_ref) {
5592
5826
  tooltip: toolbar.horizontalAlign,
5593
5827
  showArrow: false
5594
5828
  }, function (setOpen) {
5595
- return /*#__PURE__*/React__default['default'].createElement(Select, null, items.map(function (_ref3) {
5596
- var text = _ref3.text,
5597
- title = _ref3.title;
5598
- return /*#__PURE__*/React__default['default'].createElement(Option, {
5829
+ return /*#__PURE__*/React__default['default'].createElement(Select, {
5830
+ style: {
5831
+ minWidth: "fit-content",
5832
+ display: "flex",
5833
+ flexDirection: "row",
5834
+ alignItems: "center",
5835
+ justifyContent: "center",
5836
+ gap: 4
5837
+ }
5838
+ }, items.map(function (_ref3) {
5839
+ var _$find2;
5840
+ var title = _ref3.title;
5841
+ return /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
5599
5842
  key: title,
5843
+ isActive: ((_$find2 = ___default['default'].find(items, function (item) {
5844
+ return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.ht);
5845
+ })) === null || _$find2 === void 0 ? void 0 : _$find2.title) === title,
5846
+ icon: getIcon(title),
5847
+ variant: "ghost",
5600
5848
  onClick: function onClick() {
5601
5849
  setContext(function (ctx) {
5602
5850
  fortuneCore.handleHorizontalAlign(ctx, refs.cellInput.current, title.replace("align-", ""));
5603
5851
  });
5604
5852
  setOpen(false);
5605
- }
5606
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5607
- className: "fortune-toolbar-menu-line"
5608
- }, text, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5609
- name: title
5610
- })));
5853
+ },
5854
+ tabIndex: 0
5855
+ });
5611
5856
  }));
5612
5857
  });
5613
5858
  }
5614
5859
  if (name === "vertical-align") {
5615
- var _$find2;
5860
+ var _$find3;
5616
5861
  var _items = [{
5617
5862
  title: "align-top",
5618
5863
  text: align.top,
@@ -5627,29 +5872,40 @@ var Toolbar = function Toolbar(_ref) {
5627
5872
  value: 2
5628
5873
  }];
5629
5874
  return /*#__PURE__*/React__default['default'].createElement(Combo, {
5630
- iconId: ((_$find2 = ___default['default'].find(_items, function (item) {
5875
+ iconId: ((_$find3 = ___default['default'].find(_items, function (item) {
5631
5876
  return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.vt);
5632
- })) === null || _$find2 === void 0 ? void 0 : _$find2.title) || "align-top",
5877
+ })) === null || _$find3 === void 0 ? void 0 : _$find3.title) || "align-top",
5633
5878
  key: name,
5634
5879
  tooltip: toolbar.verticalAlign,
5635
5880
  showArrow: false
5636
5881
  }, function (setOpen) {
5637
- return /*#__PURE__*/React__default['default'].createElement(Select, null, _items.map(function (_ref4) {
5638
- var text = _ref4.text,
5639
- title = _ref4.title;
5640
- return /*#__PURE__*/React__default['default'].createElement(Option, {
5882
+ return /*#__PURE__*/React__default['default'].createElement(Select, {
5883
+ style: {
5884
+ minWidth: "fit-content",
5885
+ display: "flex",
5886
+ flexDirection: "row",
5887
+ alignItems: "center",
5888
+ justifyContent: "center",
5889
+ gap: 4
5890
+ }
5891
+ }, _items.map(function (_ref4) {
5892
+ var _$find4;
5893
+ var title = _ref4.title;
5894
+ return /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
5641
5895
  key: title,
5896
+ isActive: ((_$find4 = ___default['default'].find(_items, function (item) {
5897
+ return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.vt);
5898
+ })) === null || _$find4 === void 0 ? void 0 : _$find4.title) === title,
5899
+ icon: getIcon(title),
5900
+ variant: "ghost",
5642
5901
  onClick: function onClick() {
5643
5902
  setContext(function (ctx) {
5644
5903
  fortuneCore.handleVerticalAlign(ctx, refs.cellInput.current, title.replace("align-", ""));
5645
5904
  });
5646
5905
  setOpen(false);
5647
- }
5648
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5649
- className: "fortune-toolbar-menu-line"
5650
- }, text, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
5651
- name: title
5652
- })));
5906
+ },
5907
+ tabIndex: 0
5908
+ });
5653
5909
  }));
5654
5910
  });
5655
5911
  }
@@ -5724,7 +5980,7 @@ var Toolbar = function Toolbar(_ref) {
5724
5980
  key: name,
5725
5981
  onClick: function onClick() {
5726
5982
  if (context.allowEdit === false) return;
5727
- showDialog(/*#__PURE__*/React__default['default'].createElement(DataVerification, null));
5983
+ showDialog(/*#__PURE__*/React__default['default'].createElement(DataVerification, null), undefined, toolbar.dataVerification);
5728
5984
  }
5729
5985
  });
5730
5986
  }
@@ -6198,12 +6454,23 @@ var Toolbar = function Toolbar(_ref) {
6198
6454
  tooltip: toolbar.textWrap,
6199
6455
  showArrow: false
6200
6456
  }, function (setOpen) {
6201
- return /*#__PURE__*/React__default['default'].createElement(Select, null, _items6.map(function (_ref1) {
6202
- var text = _ref1.text,
6203
- iconId = _ref1.iconId,
6457
+ return /*#__PURE__*/React__default['default'].createElement(Select, {
6458
+ style: {
6459
+ minWidth: "fit-content",
6460
+ display: "flex",
6461
+ flexDirection: "row",
6462
+ alignItems: "center",
6463
+ justifyContent: "center",
6464
+ gap: 4
6465
+ }
6466
+ }, _items6.map(function (_ref1) {
6467
+ var iconId = _ref1.iconId,
6204
6468
  value = _ref1.value;
6205
- return /*#__PURE__*/React__default['default'].createElement(Option, {
6469
+ return /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
6206
6470
  key: value,
6471
+ isActive: _curr.value === value,
6472
+ icon: getIcon(iconId),
6473
+ variant: "ghost",
6207
6474
  onClick: function onClick() {
6208
6475
  setContext(function (ctx) {
6209
6476
  var d = fortuneCore.getFlowdata(ctx);
@@ -6211,12 +6478,9 @@ var Toolbar = function Toolbar(_ref) {
6211
6478
  fortuneCore.updateFormat(ctx, refs.cellInput.current, d, "tb", value);
6212
6479
  });
6213
6480
  setOpen(false);
6214
- }
6215
- }, /*#__PURE__*/React__default['default'].createElement("div", {
6216
- className: "fortune-toolbar-menu-line"
6217
- }, text, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6218
- name: iconId
6219
- })));
6481
+ },
6482
+ tabIndex: 0
6483
+ });
6220
6484
  }));
6221
6485
  });
6222
6486
  }
@@ -6367,7 +6631,7 @@ var Toolbar = function Toolbar(_ref) {
6367
6631
  });
6368
6632
  }
6369
6633
  });
6370
- }, [toolbar, cell, setContext, refs.cellInput, refs.fxInput, refs.globalCache, defaultFormat, align, handleUndo, handleRedo, flowdata, formula, showDialog, hideDialog, merge, border, freezen, screenshot, sort, textWrap, rotation, filter, splitText, findAndReplace, context.luckysheet_select_save, context.defaultFontSize, context.allowEdit, comment, fontarray, hideSubMenu, showSubMenu, refs.canvas, customColor, customStyle, toolbarFormat.moreCurrency]);
6634
+ }, [toolbar, cell, setContext, refs.cellInput, refs.fxInput, refs.globalCache, defaultFormat, align, handleUndo, handleRedo, flowdata, formula, showDuneModal, merge, border, freezen, screenshot, sort, textWrap, rotation, filter, splitText, findAndReplace, context.luckysheet_select_save, context.defaultFontSize, context.allowEdit, comment, fontarray, hideSubMenu, showSubMenu, refs.canvas, customColor, customStyle, toolbarFormat.moreCurrency]);
6371
6635
  return /*#__PURE__*/React__default['default'].createElement("div", {
6372
6636
  ref: containerRef,
6373
6637
  className: "fortune-toolbar",
@@ -6422,7 +6686,29 @@ var Toolbar = function Toolbar(_ref) {
6422
6686
  icon: n.icon,
6423
6687
  iconName: n.iconName
6424
6688
  }, n.children);
6425
- }));
6689
+ }), /*#__PURE__*/React__default['default'].createElement(Button, {
6690
+ iconId: "dune-logo",
6691
+ tooltip: "Insert Dune Chart",
6692
+ key: "dune-charts",
6693
+ onClick: function onClick() {
6694
+ if (context.allowEdit === false) return;
6695
+ setShowDuneModal(true);
6696
+ }
6697
+ }), showDuneModal && (/*#__PURE__*/React__default['default'].createElement(DuneChartsInputModal, {
6698
+ isOpen: showDuneModal,
6699
+ onSubmit: function onSubmit(url) {
6700
+ setContext(function (draftCtx) {
6701
+ fortuneCore.insertDuneChart(draftCtx, url);
6702
+ });
6703
+ setShowDuneModal(false);
6704
+ },
6705
+ onClose: function onClose() {
6706
+ return setShowDuneModal(false);
6707
+ },
6708
+ icon: "dune-logo",
6709
+ placeholder: "Add Dune chart link to embed",
6710
+ submitText: "Embed Dune chart"
6711
+ })));
6426
6712
  };
6427
6713
 
6428
6714
  var LocationBox = function LocationBox() {
@@ -9553,6 +9839,74 @@ var SVGDefines = function SVGDefines(_ref) {
9553
9839
  "clip-rule": "evenodd",
9554
9840
  d: "M12.75 2.25C13.1642 2.25 13.5 2.58579 13.5 3V15C13.5 15.4142 13.1642 15.75 12.75 15.75C12.3358 15.75 12 15.4142 12 15V3C12 2.58579 12.3358 2.25 12.75 2.25Z",
9555
9841
  fill: "#363B3F"
9842
+ })), /*#__PURE__*/React__default['default'].createElement("symbol", {
9843
+ id: "dune-logo",
9844
+ viewBox: "0 0 18 16",
9845
+ fill: "none"
9846
+ }, /*#__PURE__*/React__default['default'].createElement("svg", {
9847
+ width: "18",
9848
+ height: "16",
9849
+ viewBox: "0 0 18 16",
9850
+ fill: "none",
9851
+ xmlns: "http://www.w3.org/2000/svg"
9852
+ }, /*#__PURE__*/React__default['default'].createElement("g", {
9853
+ "clip-path": "url(#clip0_80_246690)"
9854
+ }, /*#__PURE__*/React__default['default'].createElement("path", {
9855
+ d: "M7.99485 15.9875C12.4102 15.9875 15.9896 12.4085 15.9896 7.99373C15.9896 3.57891 12.4102 0 7.99485 0C3.57941 0 0 3.57891 0 7.99373C0 12.4085 3.57941 15.9875 7.99485 15.9875Z",
9856
+ fill: "#F4603E"
9857
+ }), /*#__PURE__*/React__default['default'].createElement("path", {
9858
+ d: "M1.39258 12.5028C1.39258 12.5028 6.67562 10.7723 15.9868 7.73633C15.9868 7.73633 16.4968 12.7082 11.3424 15.3015C11.3424 15.3015 8.80068 16.5197 6.01215 15.7383C6.01215 15.7383 3.23545 15.2142 1.39258 12.5028Z",
9859
+ fill: "#1E1870"
9860
+ })), /*#__PURE__*/React__default['default'].createElement("defs", null, /*#__PURE__*/React__default['default'].createElement("clipPath", {
9861
+ id: "clip0_80_246690"
9862
+ }, /*#__PURE__*/React__default['default'].createElement("rect", {
9863
+ width: "16",
9864
+ height: "16",
9865
+ fill: "white"
9866
+ }))))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9867
+ id: "circle-alert",
9868
+ viewBox: "0 0 14 14",
9869
+ fill: "none"
9870
+ }, /*#__PURE__*/React__default['default'].createElement("svg", {
9871
+ width: "14",
9872
+ height: "14",
9873
+ viewBox: "0 0 14 14",
9874
+ fill: "none",
9875
+ xmlns: "http://www.w3.org/2000/svg"
9876
+ }, /*#__PURE__*/React__default['default'].createElement("g", {
9877
+ "clip-path": "url(#clip0_138_127604)"
9878
+ }, /*#__PURE__*/React__default['default'].createElement("path", {
9879
+ d: "M6.99967 4.0835C7.32184 4.0835 7.58301 4.34466 7.58301 4.66683V7.00016C7.58301 7.32233 7.32184 7.5835 6.99967 7.5835C6.67751 7.5835 6.41634 7.32233 6.41634 7.00016V4.66683C6.41634 4.34466 6.67751 4.0835 6.99967 4.0835Z",
9880
+ fill: "#FB3449"
9881
+ }), /*#__PURE__*/React__default['default'].createElement("path", {
9882
+ d: "M6.99967 8.75016C6.67751 8.75016 6.41634 9.01133 6.41634 9.3335C6.41634 9.65566 6.67751 9.91683 6.99967 9.91683H7.00551C7.32767 9.91683 7.58884 9.65566 7.58884 9.3335C7.58884 9.01133 7.32767 8.75016 7.00551 8.75016H6.99967Z",
9883
+ fill: "#FB3449"
9884
+ }), /*#__PURE__*/React__default['default'].createElement("path", {
9885
+ "fill-rule": "evenodd",
9886
+ "clip-rule": "evenodd",
9887
+ d: "M0.583008 7.00016C0.583008 3.45634 3.45585 0.583496 6.99967 0.583496C10.5435 0.583496 13.4163 3.45634 13.4163 7.00016C13.4163 10.544 10.5435 13.4168 6.99967 13.4168C3.45585 13.4168 0.583008 10.544 0.583008 7.00016ZM6.99967 1.75016C4.10018 1.75016 1.74967 4.10067 1.74967 7.00016C1.74967 9.89966 4.10018 12.2502 6.99967 12.2502C9.89917 12.2502 12.2497 9.89966 12.2497 7.00016C12.2497 4.10067 9.89917 1.75016 6.99967 1.75016Z",
9888
+ fill: "#FB3449"
9889
+ })), /*#__PURE__*/React__default['default'].createElement("defs", null, /*#__PURE__*/React__default['default'].createElement("clipPath", {
9890
+ id: "clip0_138_127604"
9891
+ }, /*#__PURE__*/React__default['default'].createElement("rect", {
9892
+ width: "14",
9893
+ height: "14",
9894
+ fill: "white"
9895
+ }))))), /*#__PURE__*/React__default['default'].createElement("symbol", {
9896
+ id: "caret-down-fill",
9897
+ width: "14",
9898
+ height: "14",
9899
+ viewBox: "0 0 14 14",
9900
+ fill: "none"
9901
+ }, /*#__PURE__*/React__default['default'].createElement("rect", {
9902
+ width: "14",
9903
+ height: "14",
9904
+ rx: "4",
9905
+ fill: "black",
9906
+ "fill-opacity": "0.1"
9907
+ }), /*#__PURE__*/React__default['default'].createElement("path", {
9908
+ d: "M6.64775 8.97978L3.77152 6.10355C3.45654 5.78857 3.67962 5.25 4.12507 5.25H9.87753C10.323 5.25 10.5461 5.78857 10.2311 6.10355L7.35486 8.97978C7.15959 9.17504 6.84301 9.17504 6.64775 8.97978Z",
9909
+ fill: "#363B3F"
9556
9910
  }))));
9557
9911
  };
9558
9912
 
@@ -10192,6 +10546,9 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10192
10546
  },
10193
10547
  getLocaleContext: function getLocaleContext() {
10194
10548
  return fortuneCore.locale(context);
10549
+ },
10550
+ getWorkbookContect: function getWorkbookContect() {
10551
+ return context;
10195
10552
  }
10196
10553
  };
10197
10554
  }
@@ -10915,6 +11272,48 @@ var SheetList = function SheetList() {
10915
11272
  }));
10916
11273
  };
10917
11274
 
11275
+ var DunePreview = function DunePreview(_ref) {
11276
+ var url = _ref.url,
11277
+ position = _ref.position,
11278
+ onKeepAsLink = _ref.onKeepAsLink,
11279
+ onEmbed = _ref.onEmbed;
11280
+ var embedUrl = fortuneCore.sanitizeDuneUrl(url);
11281
+ if (!embedUrl) return null;
11282
+ return /*#__PURE__*/React__default['default'].createElement("div", {
11283
+ className: "fortune-dune-preview",
11284
+ style: {
11285
+ left: position.left,
11286
+ top: position.top
11287
+ },
11288
+ onClick: function onClick(e) {
11289
+ return e.stopPropagation();
11290
+ }
11291
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
11292
+ className: "fortune-dune-preview-header"
11293
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
11294
+ className: "fortune-dune-preview-title"
11295
+ }, "Detected Dune chart link")), /*#__PURE__*/React__default['default'].createElement("div", {
11296
+ className: "fortune-dune-preview-content"
11297
+ }, /*#__PURE__*/React__default['default'].createElement("iframe", {
11298
+ src: embedUrl,
11299
+ title: "Dune Chart Preview",
11300
+ style: {
11301
+ width: "100%",
11302
+ height: "100%",
11303
+ border: "none"
11304
+ }
11305
+ })), /*#__PURE__*/React__default['default'].createElement("p", null, "Do you want to insert Dune chart?"), /*#__PURE__*/React__default['default'].createElement("div", {
11306
+ className: "fortune-dune-preview-footer"
11307
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
11308
+ variant: "ghost",
11309
+ onClick: onKeepAsLink,
11310
+ className: "!w-fit px-0"
11311
+ }, "Keep as Link"), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
11312
+ onClick: onEmbed,
11313
+ className: "!w-fit px-0"
11314
+ }, "Embed")));
11315
+ };
11316
+
10918
11317
  var _excluded = ["onChange", "onOp", "data"];
10919
11318
  produce.enablePatches();
10920
11319
  var triggerGroupValuesRefresh = function triggerGroupValuesRefresh(ctx) {
@@ -11447,7 +11846,25 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
11447
11846
  style: {
11448
11847
  width: "60px"
11449
11848
  }
11450
- }, formula.count, ": ", calInfo.count)), !!calInfo.numberC && !!calInfo.sum && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.sum, ": ", calInfo.sum)), !!calInfo.numberC && !!calInfo.average && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.average, ": ", calInfo.average)), !!calInfo.numberC && !!calInfo.max && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.max, ": ", calInfo.max)), !!calInfo.numberC && !!calInfo.min && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.min, ": ", calInfo.min)))))));
11849
+ }, formula.count, ": ", calInfo.count)), !!calInfo.numberC && !!calInfo.sum && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.sum, ": ", calInfo.sum)), !!calInfo.numberC && !!calInfo.average && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.average, ": ", calInfo.average)), !!calInfo.numberC && !!calInfo.max && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.max, ": ", calInfo.max)), !!calInfo.numberC && !!calInfo.min && (/*#__PURE__*/React__default['default'].createElement("div", null, formula.min, ": ", calInfo.min)))), context.showDunePreview && (/*#__PURE__*/React__default['default'].createElement(DunePreview, {
11850
+ url: context.showDunePreview.url,
11851
+ position: context.showDunePreview.position,
11852
+ onKeepAsLink: function onKeepAsLink() {
11853
+ setContextWithProduce(function (draftCtx) {
11854
+ draftCtx.showDunePreview = undefined;
11855
+ }, {
11856
+ noHistory: true
11857
+ });
11858
+ },
11859
+ onEmbed: function onEmbed() {
11860
+ setContextWithProduce(function (draftCtx) {
11861
+ fortuneCore.insertDuneChart(draftCtx, context.showDunePreview.url);
11862
+ draftCtx.showDunePreview = undefined;
11863
+ }, {
11864
+ noHistory: true
11865
+ });
11866
+ }
11867
+ })))));
11451
11868
  });
11452
11869
 
11453
11870
  exports.Workbook = Workbook;