@fileverse-dev/fortune-react 1.0.2-mod-32 → 1.0.2-mod-28-patch-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -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" : "#F9A92B"),
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,26 @@ 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
+ React.useEffect(function () {
872
+ if (fn) {
873
+ setApiKeyAdded(!!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY));
874
+ setAPI_KEY(localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY) || "");
875
+ setShowAPInput(!localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY));
876
+ }
877
+ }, [fn]);
873
878
  if (!fn) return null;
874
879
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
875
880
  id: "luckysheet-formula-help-c",
876
881
  className: "luckysheet-formula-help-c",
877
882
  style: {
878
883
  border: "1px solid ".concat(fn.BRAND_COLOR),
879
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
884
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
885
+ width: "340px",
886
+ padding: "0px"
880
887
  }
881
888
  }), /*#__PURE__*/React__default['default'].createElement("div", {
882
889
  className: "luckysheet-formula-help-close",
@@ -891,17 +898,21 @@ var FormulaHint = function FormulaHint(props) {
891
898
  className: "fa fa-angle-up",
892
899
  "aria-hidden": "true"
893
900
  })), /*#__PURE__*/React__default['default'].createElement("div", {
894
- className: "luckysheet-formula-help-title formula-title",
901
+ className: "flex items-center justify-between",
895
902
  style: {
896
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
903
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
904
+ padding: "10px"
897
905
  }
898
906
  }, /*#__PURE__*/React__default['default'].createElement("div", {
899
- className: "luckysheet-formula-help-title-formula"
900
- }, /*#__PURE__*/React__default['default'].createElement("span", {
907
+ className: "luckysheet-formula-help-title-formula color-text-default"
908
+ }, /*#__PURE__*/React__default['default'].createElement("code", {
909
+ style: {
910
+ fontWeight: 500
911
+ },
901
912
  className: "luckysheet-arguments-help-function-name"
902
- }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
913
+ }, fn.n), /*#__PURE__*/React__default['default'].createElement("code", {
903
914
  className: "luckysheet-arguments-paren"
904
- }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
915
+ }, "("), /*#__PURE__*/React__default['default'].createElement("code", {
905
916
  className: "luckysheet-arguments-parameter-holder"
906
917
  }, fn.p.map(function (param, i) {
907
918
  var name = param.name;
@@ -911,43 +922,51 @@ var FormulaHint = function FormulaHint(props) {
911
922
  if (param.require === "o") {
912
923
  name = "[".concat(name, "]");
913
924
  }
914
- return /*#__PURE__*/React__default['default'].createElement("span", {
925
+ return /*#__PURE__*/React__default['default'].createElement("code", {
915
926
  className: "luckysheet-arguments-help-parameter",
916
927
  dir: "auto",
917
928
  key: name
918
929
  }, name, i !== fn.p.length - 1 && ", ");
919
- })), /*#__PURE__*/React__default['default'].createElement("span", {
930
+ })), /*#__PURE__*/React__default['default'].createElement("code", {
920
931
  className: "luckysheet-arguments-paren"
921
932
  }, ")")), /*#__PURE__*/React__default['default'].createElement("div", {
922
933
  style: {
923
934
  display: "flex",
935
+ justifyContent: "end",
936
+ width: "68px",
937
+ height: "20px",
938
+ alignItems: "center",
924
939
  gap: "4px"
925
940
  }
926
941
  }, fn.LOGO && (/*#__PURE__*/React__default['default'].createElement("img", {
927
942
  src: fn.LOGO,
928
943
  alt: "Service Logo",
929
- width: 32,
930
- height: 32
944
+ style: {
945
+ width: "20px"
946
+ }
931
947
  })), fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
932
948
  style: {
933
949
  borderRadius: "4px",
934
- width: "20px",
935
- height: "20px",
936
- backgroundColor: "".concat(localStorage.getItem(fn.API_KEY) ? "#177E23" : "#F9A92B")
937
- }
950
+ backgroundColor: "".concat(isKeyAdded ? "#177E23" : "#e8ebec"),
951
+ width: "16px",
952
+ height: "16px"
953
+ },
954
+ className: "flex justify-center"
938
955
  }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
939
956
  name: "Key",
940
957
  style: {
941
- color: "white"
958
+ color: isKeyAdded ? "white" : "#77818A",
959
+ width: "12px",
960
+ height: "12px"
942
961
  }
943
962
  }))))), /*#__PURE__*/React__default['default'].createElement("div", {
944
963
  className: "luckysheet-formula-help-content",
945
964
  style: {
946
- backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
965
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA")
947
966
  }
948
967
  }, fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
949
968
  style: {
950
- borderLeft: "4px solid ".concat(API_KEY ? "#177E23" : "#fb923c"),
969
+ borderLeft: "4px solid ".concat(isKeyAdded ? "#177E23" : "#fb923c"),
951
970
  backgroundColor: "white",
952
971
  padding: "16px",
953
972
  margin: "4px 4px 0px 4px",
@@ -964,25 +983,20 @@ var FormulaHint = function FormulaHint(props) {
964
983
  }
965
984
  }, /*#__PURE__*/React__default['default'].createElement("h3", {
966
985
  style: {
967
- fontSize: "14px",
968
- fontWeight: "600",
969
- color: "#1f2937",
970
986
  margin: "0 0 8px 0"
971
- }
972
- }, "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
987
+ },
988
+ className: "text-heading-xsm color-text-default"
989
+ }, isKeyAdded ? "API key provided" : "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
973
990
  name: "ChevronDown",
974
991
  width: 24,
975
992
  height: 24
976
993
  })), showAPInput && (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
977
994
  style: {
978
- color: "#6b7280",
979
995
  margin: "0 0 16px 0"
980
- }
996
+ },
997
+ className: "text-body-sm color-text-default"
981
998
  }, "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
- }
999
+ className: "w-full"
986
1000
  }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
987
1001
  value: API_KEY,
988
1002
  id: "function-api-key",
@@ -990,12 +1004,19 @@ var FormulaHint = function FormulaHint(props) {
990
1004
  placeholder: "API key",
991
1005
  onChange: function onChange(e) {
992
1006
  setAPI_KEY(e.target.value);
1007
+ setApiKeyAdded(false);
993
1008
  }
994
- }), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
1009
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
1010
+ className: "flex justify-end mt-2"
1011
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
995
1012
  onClick: function onClick() {
996
1013
  localStorage.setItem(fn.API_KEY, API_KEY);
997
- }
998
- }, "Ok")))))), /*#__PURE__*/React__default['default'].createElement("div", {
1014
+ setApiKeyAdded(true);
1015
+ setShowAPInput(false);
1016
+ },
1017
+ disabled: !API_KEY,
1018
+ className: "min-w-[80px]"
1019
+ }, "Ok"))))))), /*#__PURE__*/React__default['default'].createElement("div", {
999
1020
  style: {
1000
1021
  backgroundColor: "white",
1001
1022
  padding: "6px",
@@ -1003,13 +1024,20 @@ var FormulaHint = function FormulaHint(props) {
1003
1024
  borderRadius: "4px"
1004
1025
  }
1005
1026
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1006
- className: "luckysheet-formula-help-content-example"
1027
+ className: ""
1007
1028
  }, /*#__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"
1029
+ style: {
1030
+ lineHeight: "16px",
1031
+ fontSize: "12px"
1032
+ },
1033
+ className: "text-body-sm-bold mb-1 color-text-secondary"
1034
+ }, formulaMore.helpExample), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("code", {
1035
+ style: {
1036
+ overflowWrap: "break-word"
1037
+ },
1038
+ className: "example-value-code"
1011
1039
  }, /*#__PURE__*/React__default['default'].createElement("span", {
1012
- className: "luckysheet-arguments-help-function-name example-value"
1040
+ className: "luckysheet-arguments-help-function-name"
1013
1041
  }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
1014
1042
  className: "luckysheet-arguments-paren"
1015
1043
  }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
@@ -1022,26 +1050,32 @@ var FormulaHint = function FormulaHint(props) {
1022
1050
  }, param.example, i !== fn.p.length - 1 && ", ");
1023
1051
  })), /*#__PURE__*/React__default['default'].createElement("span", {
1024
1052
  className: "luckysheet-arguments-paren"
1025
- }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
1053
+ }, ")")))), /*#__PURE__*/React__default['default'].createElement("div", {
1026
1054
  className: "luckysheet-formula-help-content-detail",
1027
1055
  style: {
1028
- paddingBottom: "6px"
1056
+ paddingBottom: "8px"
1029
1057
  }
1030
1058
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1031
- className: "luckysheet-arguments-help-section"
1059
+ className: ""
1032
1060
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1033
- className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name example-title"
1061
+ style: {
1062
+ lineHeight: "16px",
1063
+ fontSize: "12px",
1064
+ padding: "0px"
1065
+ },
1066
+ className: "text-body-sm-bold mb-1 mt-2 color-text-secondary"
1034
1067
  }, "About"), /*#__PURE__*/React__default['default'].createElement("span", {
1035
- className: "luckysheet-arguments-help-parameter-content example-value"
1068
+ className: "luckysheet-arguments-help-parameter-content text-helper-text-sm"
1036
1069
  }, fn.d))), /*#__PURE__*/React__default['default'].createElement("div", {
1070
+ style: {
1071
+ paddingTop: "6px"
1072
+ },
1037
1073
  className: "luckysheet-formula-help-content-param"
1038
1074
  }, fn.p.map(function (param) {
1039
1075
  return /*#__PURE__*/React__default['default'].createElement("div", {
1040
- className: "luckysheet-arguments-help-section",
1076
+ className: "",
1041
1077
  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", {
1078
+ }, /*#__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
1079
  className: "luckysheet-arguments-help-argument-info example-value",
1046
1080
  style: {
1047
1081
  marginTop: "2px"
@@ -1051,15 +1085,21 @@ var FormulaHint = function FormulaHint(props) {
1051
1085
  style: {
1052
1086
  marginTop: "2px"
1053
1087
  }
1054
- }, "-[", formulaMore.allowOptionText, "]"))), /*#__PURE__*/React__default['default'].createElement("span", {
1055
- className: "luckysheet-arguments-help-parameter-content example-value",
1088
+ }, "-[", formulaMore.allowOptionText, "]")))), /*#__PURE__*/React__default['default'].createElement("span", {
1089
+ className: "luckysheet-arguments-help-parameter-content text-helper-text-sm",
1056
1090
  style: {
1057
1091
  marginTop: "2px"
1058
1092
  }
1059
1093
  }, param.detail));
1060
1094
  })))), /*#__PURE__*/React__default['default'].createElement("div", {
1061
- className: "luckysheet-formula-help-foot"
1062
- }));
1095
+ style: {
1096
+ backgroundColor: "".concat(fn.BRAND_COLOR ? fn.BRAND_COLOR : "#F8F9FA"),
1097
+ padding: "8px"
1098
+ },
1099
+ className: "w-full"
1100
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
1101
+ className: "color-text-link text-helper-text-sm"
1102
+ }, "Learn More")));
1063
1103
  };
1064
1104
 
1065
1105
  function usePrevious(value) {
@@ -1804,7 +1844,8 @@ var LinkEditCard = function LinkEditCard(_ref) {
1804
1844
  originType = _ref.originType,
1805
1845
  originAddress = _ref.originAddress,
1806
1846
  isEditing = _ref.isEditing,
1807
- position = _ref.position;
1847
+ position = _ref.position,
1848
+ selectingCellRange = _ref.selectingCellRange;
1808
1849
  var _useContext = React.useContext(WorkbookContext),
1809
1850
  context = _useContext.context,
1810
1851
  setContext = _useContext.setContext,
@@ -1823,24 +1864,29 @@ var LinkEditCard = function LinkEditCard(_ref) {
1823
1864
  setLinkType = _useState6[1];
1824
1865
  var _locale = fortuneCore.locale(context),
1825
1866
  insertLink = _locale.insertLink,
1826
- linkTypeList = _locale.linkTypeList;
1867
+ linkTypeList = _locale.linkTypeList,
1868
+ button = _locale.button;
1869
+ var lastCell = React.useRef(fortuneCore.normalizeSelection(context, [{
1870
+ row: [r, r],
1871
+ column: [c, c]
1872
+ }]));
1873
+ var skipCellRangeSet = React.useRef(true);
1827
1874
  var isLinkAddressValid = fortuneCore.isLinkValid(context, linkType, linkAddress);
1828
- var isButtonDisabled = React.useMemo(function () {
1829
- if (!linkText.trim()) return true;
1830
- if (linkType === "webpage") {
1831
- return !linkAddress.trim() || !isLinkAddressValid.isValid;
1832
- }
1833
- if (linkType === "sheet") {
1834
- return !linkAddress.trim();
1835
- }
1836
- return false;
1837
- }, [linkText, linkAddress, linkType, isLinkAddressValid.isValid]);
1875
+ var tooltip = /*#__PURE__*/React__default['default'].createElement("div", {
1876
+ className: "validation-input-tip"
1877
+ }, isLinkAddressValid.tooltip);
1838
1878
  var hideLinkCard = React.useCallback(function () {
1839
1879
  ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
1840
1880
  setContext(function (draftCtx) {
1841
1881
  draftCtx.linkCard = undefined;
1842
1882
  });
1843
1883
  }, [refs.globalCache, setContext]);
1884
+ var setRangeModalVisible = React.useCallback(function (visible) {
1885
+ return setContext(function (draftCtx) {
1886
+ draftCtx.luckysheet_select_save = lastCell.current;
1887
+ if (draftCtx.linkCard != null) draftCtx.linkCard.selectingCellRange = visible;
1888
+ });
1889
+ }, [setContext]);
1844
1890
  var containerEvent = React.useMemo(function () {
1845
1891
  return {
1846
1892
  onMouseEnter: function onMouseEnter() {
@@ -1866,6 +1912,19 @@ var LinkEditCard = function LinkEditCard(_ref) {
1866
1912
  }
1867
1913
  };
1868
1914
  }, [refs.globalCache]);
1915
+ var renderBottomButton = React.useCallback(function (onOk, onCancel) {
1916
+ return /*#__PURE__*/React__default['default'].createElement("div", {
1917
+ className: "button-group"
1918
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
1919
+ className: "button-basic button-default",
1920
+ onClick: onCancel,
1921
+ tabIndex: 0
1922
+ }, button.cancel), /*#__PURE__*/React__default['default'].createElement("div", {
1923
+ className: "button-basic button-primary",
1924
+ onClick: onOk,
1925
+ tabIndex: 0
1926
+ }, button.confirm));
1927
+ }, [button]);
1869
1928
  var renderToolbarButton = React.useCallback(function (iconId, onClick) {
1870
1929
  return /*#__PURE__*/React__default['default'].createElement("div", {
1871
1930
  className: "fortune-toolbar-button",
@@ -1884,6 +1943,23 @@ var LinkEditCard = function LinkEditCard(_ref) {
1884
1943
  setLinkText(originText);
1885
1944
  setLinkType(originType);
1886
1945
  }, [rc, originAddress, originText, originType]);
1946
+ React.useLayoutEffect(function () {
1947
+ if (selectingCellRange) {
1948
+ skipCellRangeSet.current = true;
1949
+ }
1950
+ }, [selectingCellRange]);
1951
+ React.useLayoutEffect(function () {
1952
+ if (skipCellRangeSet.current) {
1953
+ skipCellRangeSet.current = false;
1954
+ return;
1955
+ }
1956
+ if (selectingCellRange) {
1957
+ var len = ___default['default'].size(context.luckysheet_select_save);
1958
+ if (len > 0) {
1959
+ setLinkAddress(fortuneCore.getRangetxt(context, context.currentSheetId, context.luckysheet_select_save[len - 1], ""));
1960
+ }
1961
+ }
1962
+ }, [context, selectingCellRange]);
1887
1963
  if (!isEditing) {
1888
1964
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
1889
1965
  onKeyDown: function onKeyDown(e) {
@@ -1924,16 +2000,69 @@ var LinkEditCard = function LinkEditCard(_ref) {
1924
2000
  });
1925
2001
  }));
1926
2002
  }
1927
- return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
1928
- className: "fortune-link-card",
2003
+ return selectingCellRange ? (/*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({
2004
+ className: "fortune-link-modify-modal range-selection-modal",
2005
+ style: {
2006
+ left: position.cellLeft,
2007
+ top: position.cellBottom + 5
2008
+ }
2009
+ }, ___default['default'].omit(containerEvent, ["onMouseDown", "onMouseMove", "onMouseUp"])), {}, {
2010
+ onMouseDown: function onMouseDown(e) {
2011
+ var nativeEvent = e.nativeEvent;
2012
+ fortuneCore.onRangeSelectionModalMoveStart(context, refs.globalCache, nativeEvent);
2013
+ e.stopPropagation();
2014
+ }
2015
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2016
+ className: "modal-icon-close",
2017
+ onClick: function onClick() {
2018
+ return setRangeModalVisible(false);
2019
+ },
2020
+ tabIndex: 0
2021
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2022
+ name: "close"
2023
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
2024
+ className: "modal-title"
2025
+ }, insertLink.selectCellRange), /*#__PURE__*/React__default['default'].createElement("input", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
2026
+ className: "range-selection-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2027
+ placeholder: insertLink.cellRangePlaceholder,
2028
+ onChange: function onChange(e) {
2029
+ return setLinkAddress(e.target.value);
2030
+ },
2031
+ value: linkAddress
2032
+ })), tooltip, /*#__PURE__*/React__default['default'].createElement("div", {
2033
+ className: "modal-footer"
2034
+ }, renderBottomButton(function () {
2035
+ if (isLinkAddressValid.isValid) setRangeModalVisible(false);
2036
+ }, function () {
2037
+ setLinkAddress(originAddress);
2038
+ setRangeModalVisible(false);
2039
+ })))) : (/*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
2040
+ className: "fortune-link-modify-modal",
1929
2041
  style: {
1930
2042
  left: position.cellLeft + 20,
1931
2043
  top: position.cellBottom
1932
2044
  }
1933
- }, containerEvent), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
2045
+ }, containerEvent), /*#__PURE__*/React__default['default'].createElement("div", {
2046
+ className: "fortune-link-modify-line"
2047
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2048
+ className: "fortune-link-modify-title"
2049
+ }, insertLink.linkText), /*#__PURE__*/React__default['default'].createElement("input", {
2050
+ className: "fortune-link-modify-input",
2051
+ spellCheck: "false",
2052
+ autoFocus: true,
2053
+ value: linkText,
2054
+ onChange: function onChange(e) {
2055
+ return setLinkText(e.target.value);
2056
+ }
2057
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
2058
+ className: "fortune-link-modify-line"
2059
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2060
+ className: "fortune-link-modify-title"
2061
+ }, insertLink.linkType), /*#__PURE__*/React__default['default'].createElement("select", {
2062
+ className: "fortune-link-modify-select",
1934
2063
  value: linkType,
1935
- onValueChange: function onValueChange(value) {
1936
- if (value === "sheet") {
2064
+ onChange: function onChange(e) {
2065
+ if (e.target.value === "sheet") {
1937
2066
  if (!linkText) {
1938
2067
  setLinkText(context.luckysheetfile[0].name);
1939
2068
  }
@@ -1941,79 +2070,65 @@ var LinkEditCard = function LinkEditCard(_ref) {
1941
2070
  } else {
1942
2071
  setLinkAddress("");
1943
2072
  }
1944
- setLinkType(value);
1945
- }
1946
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
1947
- className: "fortune-link-type-select"
1948
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
1949
- className: "fortune-link-type-dropdown"
1950
- }, linkTypeList.filter(function (type) {
1951
- return type.value !== "cellrange";
1952
- }).map(function (type) {
1953
- return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2073
+ if (e.target.value === "cellrange") setRangeModalVisible(true);
2074
+ setLinkType(e.target.value);
2075
+ }
2076
+ }, linkTypeList.map(function (type) {
2077
+ return /*#__PURE__*/React__default['default'].createElement("option", {
1954
2078
  key: type.value,
1955
2079
  value: type.value
1956
2080
  }, type.text);
1957
2081
  }))), /*#__PURE__*/React__default['default'].createElement("div", {
1958
- className: "fortune-input-with-icon"
1959
- }, /*#__PURE__*/React__default['default'].createElement("div", {
1960
- className: "input-icon"
1961
- }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
1962
- name: "ALargeSmall"
1963
- })), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
1964
- placeholder: "Display text",
1965
- value: linkText,
2082
+ className: "fortune-link-modify-line"
2083
+ }, linkType === "webpage" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2084
+ className: "fortune-link-modify-title"
2085
+ }, insertLink.linkAddress), /*#__PURE__*/React__default['default'].createElement("input", {
2086
+ className: "fortune-link-modify-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2087
+ spellCheck: "false",
2088
+ value: linkAddress,
1966
2089
  onChange: function onChange(e) {
1967
- return setLinkText(e.target.value);
1968
- },
1969
- className: "fortune-link-input"
1970
- })), linkType === "webpage" && (/*#__PURE__*/React__default['default'].createElement("div", {
1971
- className: "fortune-input-with-icon"
1972
- }, /*#__PURE__*/React__default['default'].createElement("div", {
1973
- className: "input-icon"
1974
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
1975
- name: "link"
1976
- })), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
1977
- placeholder: "Paste URL",
2090
+ return setLinkAddress(e.target.value);
2091
+ }
2092
+ }), tooltip)), linkType === "cellrange" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2093
+ className: "fortune-link-modify-title"
2094
+ }, insertLink.linkCell), /*#__PURE__*/React__default['default'].createElement("input", {
2095
+ className: "fortune-link-modify-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
2096
+ spellCheck: "false",
1978
2097
  value: linkAddress,
1979
2098
  onChange: function onChange(e) {
1980
2099
  return setLinkAddress(e.target.value);
2100
+ }
2101
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2102
+ className: "fortune-link-modify-cell-selector",
2103
+ onClick: function onClick() {
2104
+ return setRangeModalVisible(true);
1981
2105
  },
1982
- className: "fortune-link-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input")
1983
- }))), linkType === "sheet" && (/*#__PURE__*/React__default['default'].createElement("div", {
1984
- className: "fortune-input-with-icon"
1985
- }, /*#__PURE__*/React__default['default'].createElement("div", {
1986
- className: "input-icon"
2106
+ tabIndex: 0
1987
2107
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
1988
- name: "link"
1989
- })), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
1990
- onValueChange: function onValueChange(value) {
1991
- if (!linkText) setLinkText(value);
1992
- setLinkAddress(value);
2108
+ name: "border-all"
2109
+ })), tooltip)), linkType === "sheet" && (/*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
2110
+ className: "fortune-link-modify-title"
2111
+ }, insertLink.linkSheet), /*#__PURE__*/React__default['default'].createElement("select", {
2112
+ className: "fortune-link-modify-select",
2113
+ onChange: function onChange(e) {
2114
+ if (!linkText) setLinkText(e.target.value);
2115
+ setLinkAddress(e.target.value);
1993
2116
  },
1994
2117
  value: linkAddress
1995
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
1996
- className: "fortune-sheet-select"
1997
- }, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, {
1998
- placeholder: "[Sheet name]"
1999
- })), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
2000
- className: "fortune-sheet-dropdown"
2001
2118
  }, context.luckysheetfile.map(function (sheet) {
2002
- return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
2119
+ return /*#__PURE__*/React__default['default'].createElement("option", {
2003
2120
  key: sheet.id,
2004
2121
  value: sheet.name
2005
2122
  }, sheet.name);
2006
- }))))), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
2007
- className: "fortune-insert-button",
2008
- disabled: isButtonDisabled,
2009
- onClick: function onClick() {
2010
- if (isButtonDisabled) return;
2011
- ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
2012
- setContext(function (draftCtx) {
2013
- return fortuneCore.saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
2014
- });
2015
- }
2016
- }, "Insert link"));
2123
+ })), tooltip))), /*#__PURE__*/React__default['default'].createElement("div", {
2124
+ className: "modal-footer"
2125
+ }, renderBottomButton(function () {
2126
+ if (!isLinkAddressValid.isValid) return;
2127
+ ___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
2128
+ setContext(function (draftCtx) {
2129
+ return fortuneCore.saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
2130
+ });
2131
+ }, hideLinkCard))));
2017
2132
  };
2018
2133
 
2019
2134
  var FilterOptions = function FilterOptions(_ref) {
@@ -2115,11 +2230,15 @@ var FilterOptions = function FilterOptions(_ref) {
2115
2230
  width: undefined
2116
2231
  }),
2117
2232
  className: "luckysheet-filter-options ".concat(filterParam == null ? "" : "luckysheet-filter-options-active")
2118
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2119
- name: "filter",
2120
- width: 15,
2121
- height: 15
2122
- }));
2233
+ }, filterParam == null ? (/*#__PURE__*/React__default['default'].createElement("div", {
2234
+ className: "caret down"
2235
+ })) : (/*#__PURE__*/React__default['default'].createElement(SVGIcon, {
2236
+ name: "filter-fill-white",
2237
+ style: {
2238
+ width: 15,
2239
+ height: 15
2240
+ }
2241
+ })));
2123
2242
  })));
2124
2243
  };
2125
2244
 
@@ -3217,7 +3336,6 @@ var ConditionRules = function ConditionRules(_ref) {
3217
3336
  }, /*#__PURE__*/React__default['default'].createElement("span", {
3218
3337
  id: "checkTextColor"
3219
3338
  }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3220
- className: "border-2",
3221
3339
  checked: context.conditionRules.textColor.check,
3222
3340
  onCheckedChange: function onCheckedChange(e) {
3223
3341
  var checked = e.target.checked;
@@ -3245,7 +3363,6 @@ var ConditionRules = function ConditionRules(_ref) {
3245
3363
  }, /*#__PURE__*/React__default['default'].createElement("span", {
3246
3364
  id: "checkCellColor"
3247
3365
  }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
3248
- className: "border-2",
3249
3366
  checked: context.conditionRules.cellColor.check,
3250
3367
  onCheckedChange: function onCheckedChange(e) {
3251
3368
  var checked = e.target.checked;
@@ -6540,9 +6657,7 @@ var Toolbar = function Toolbar(_ref) {
6540
6657
  justifyContent: "start"
6541
6658
  }
6542
6659
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
6543
- name: iconId,
6544
- width: 24,
6545
- height: 18
6660
+ name: iconId
6546
6661
  }), text))) : (/*#__PURE__*/React__default['default'].createElement(MenuDivider, {
6547
6662
  key: "divider-".concat(index)
6548
6663
  }));
@@ -6567,7 +6682,7 @@ var Toolbar = function Toolbar(_ref) {
6567
6682
  className: "fortune-toolbar",
6568
6683
  "aria-label": toolbar.toolbar
6569
6684
  }, settings.customToolbarItems.filter(function (n) {
6570
- return n.key === "import-export";
6685
+ return n.key !== "templates";
6571
6686
  }).map(function (n) {
6572
6687
  return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
6573
6688
  tooltip: n.tooltip,
@@ -6604,18 +6719,6 @@ var Toolbar = function Toolbar(_ref) {
6604
6719
  icon: n.icon,
6605
6720
  iconName: n.iconName
6606
6721
  }, n.children);
6607
- }), /*#__PURE__*/React__default['default'].createElement(Divider, {
6608
- key: "customDivider"
6609
- }), settings.customToolbarItems.filter(function (n) {
6610
- return n.key !== "templates" && n.key !== "import-export";
6611
- }).map(function (n) {
6612
- return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
6613
- tooltip: n.tooltip,
6614
- onClick: n.onClick,
6615
- key: n.key,
6616
- icon: n.icon,
6617
- iconName: n.iconName
6618
- }, n.children);
6619
6722
  }));
6620
6723
  };
6621
6724
 
@@ -7860,8 +7963,7 @@ var ContextMenu = function ContextMenu() {
7860
7963
  }
7861
7964
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7862
7965
  name: "sort-asc",
7863
- width: 24,
7864
- height: 18,
7966
+ width: 22,
7865
7967
  style: {
7866
7968
  marginRight: "4px"
7867
7969
  }
@@ -7879,8 +7981,7 @@ var ContextMenu = function ContextMenu() {
7879
7981
  }
7880
7982
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7881
7983
  name: "sort-desc",
7882
- width: 24,
7883
- height: 18,
7984
+ width: 22,
7884
7985
  style: {
7885
7986
  marginRight: "4px"
7886
7987
  }
@@ -7936,7 +8037,7 @@ var ContextMenu = function ContextMenu() {
7936
8037
  }
7937
8038
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7938
8039
  name: "filter",
7939
- width: 24,
8040
+ width: 22,
7940
8041
  style: {
7941
8042
  marginRight: "4px"
7942
8043
  }
@@ -7954,11 +8055,9 @@ var ContextMenu = function ContextMenu() {
7954
8055
  }
7955
8056
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7956
8057
  name: "eraser",
7957
- width: 24,
7958
- height: 22,
8058
+ width: 22,
7959
8059
  style: {
7960
- marginRight: "4px",
7961
- marginLeft: "2px"
8060
+ marginRight: "4px"
7962
8061
  }
7963
8062
  }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.clearFilter))))),
7964
8063
  trigger: "mouseenter focus",
@@ -7969,7 +8068,7 @@ var ContextMenu = function ContextMenu() {
7969
8068
  className: "context-item"
7970
8069
  }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
7971
8070
  name: "filter",
7972
- width: 24,
8071
+ width: 22,
7973
8072
  style: {
7974
8073
  marginRight: "4px"
7975
8074
  }
@@ -10393,24 +10492,23 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10393
10492
  var SelectItem = function SelectItem(_ref) {
10394
10493
  var item = _ref.item,
10395
10494
  isChecked = _ref.isChecked,
10396
- onChange = _ref.onChange,
10495
+ _onChange = _ref.onChange,
10397
10496
  isItemVisible = _ref.isItemVisible;
10398
10497
  var checked = React.useMemo(function () {
10399
10498
  return isChecked(item.key);
10400
10499
  }, [isChecked, item.key]);
10401
10500
  return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10402
10501
  className: "select-item"
10403
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10404
- className: "flex items-center gap-2"
10405
- }, /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
10406
- className: "border-2",
10502
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
10503
+ className: "filter-checkbox",
10504
+ type: "checkbox",
10407
10505
  checked: checked,
10408
- onCheckedChange: function onCheckedChange(e) {
10409
- onChange(item, e.target.checked);
10506
+ onChange: function onChange() {
10507
+ _onChange(item, !checked);
10410
10508
  }
10411
- }), /*#__PURE__*/React__default['default'].createElement("span", null, item.text)), /*#__PURE__*/React__default['default'].createElement("span", {
10509
+ }), /*#__PURE__*/React__default['default'].createElement("div", null, item.text), /*#__PURE__*/React__default['default'].createElement("span", {
10412
10510
  className: "count"
10413
- }, "".concat(item.rows.length)))) : null;
10511
+ }, "( ".concat(item.rows.length, " )")))) : null;
10414
10512
  };
10415
10513
  var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10416
10514
  var item = _ref2.item,
@@ -10419,7 +10517,7 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10419
10517
  initialExpand = _ref2.initialExpand,
10420
10518
  onExpand = _ref2.onExpand,
10421
10519
  isChecked = _ref2.isChecked,
10422
- onChange = _ref2.onChange,
10520
+ _onChange2 = _ref2.onChange,
10423
10521
  isItemVisible = _ref2.isItemVisible;
10424
10522
  var _useState = React.useState(initialExpand(item.key)),
10425
10523
  _useState2 = _slicedToArray(_useState, 2),
@@ -10428,43 +10526,39 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10428
10526
  var checked = React.useMemo(function () {
10429
10527
  return isChecked(item.key);
10430
10528
  }, [isChecked, item.key]);
10431
- return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10432
- className: "flex flex-col gap-2"
10433
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10529
+ return isItemVisible(item) ? (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
10434
10530
  className: "select-item",
10435
10531
  style: {
10436
10532
  marginLeft: -2 + depth * 20
10437
10533
  },
10438
- tabIndex: 0
10439
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10440
- className: "flex items-center gap-2",
10441
- style: {
10442
- flex: 1
10534
+ onClick: function onClick() {
10535
+ onExpand === null || onExpand === void 0 ? void 0 : onExpand(item.key, !expand);
10536
+ setExpand(!expand);
10443
10537
  },
10444
- onClick: function onClick(e) {
10445
- return e.stopPropagation();
10446
- }
10538
+ tabIndex: 0
10447
10539
  }, ___default['default'].isEmpty(item.children) ? (/*#__PURE__*/React__default['default'].createElement("div", {
10448
10540
  style: {
10449
10541
  width: 10
10450
10542
  }
10451
- })) : (/*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
10452
- name: expand ? "ChevronDown" : "ChevronRight",
10453
- className: "cursor-pointer",
10454
- size: "sm",
10455
- onClick: function onClick() {
10456
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(item.key, !expand);
10457
- setExpand(!expand);
10543
+ })) : (/*#__PURE__*/React__default['default'].createElement("div", {
10544
+ className: "filter-caret ".concat(expand ? "down" : "right"),
10545
+ style: {
10546
+ cursor: "pointer"
10458
10547
  }
10459
- })), /*#__PURE__*/React__default['default'].createElement(ui.Checkbox, {
10460
- className: "border-2",
10548
+ })), /*#__PURE__*/React__default['default'].createElement("input", {
10549
+ className: "filter-checkbox",
10550
+ type: "checkbox",
10461
10551
  checked: checked,
10462
- onCheckedChange: function onCheckedChange(e) {
10463
- onChange(item, e.target.checked);
10464
- }
10465
- }), /*#__PURE__*/React__default['default'].createElement("span", null, item.text)), /*#__PURE__*/React__default['default'].createElement("span", {
10552
+ onChange: function onChange() {
10553
+ _onChange2(item, !checked);
10554
+ },
10555
+ onClick: function onClick(e) {
10556
+ return e.stopPropagation();
10557
+ },
10558
+ tabIndex: 0
10559
+ }), /*#__PURE__*/React__default['default'].createElement("div", null, item.text), /*#__PURE__*/React__default['default'].createElement("span", {
10466
10560
  className: "count"
10467
- }, "".concat(item.rows.length))), expand && item.children.map(function (v) {
10561
+ }, "( ".concat(item.rows.length, " )"))), expand && item.children.map(function (v) {
10468
10562
  return /*#__PURE__*/React__default['default'].createElement(_DateSelectTreeItem, _objectSpread2({
10469
10563
  key: v.key,
10470
10564
  item: v,
@@ -10473,7 +10567,7 @@ var _DateSelectTreeItem = function DateSelectTreeItem(_ref2) {
10473
10567
  initialExpand: initialExpand,
10474
10568
  onExpand: onExpand,
10475
10569
  isChecked: isChecked,
10476
- onChange: onChange,
10570
+ onChange: _onChange2,
10477
10571
  isItemVisible: isItemVisible
10478
10572
  }));
10479
10573
  }))) : null;
@@ -10522,7 +10616,8 @@ var FilterMenu = function FilterMenu() {
10522
10616
  startCol = _ref4.startCol,
10523
10617
  endRow = _ref4.endRow,
10524
10618
  endCol = _ref4.endCol,
10525
- col = _ref4.col;
10619
+ col = _ref4.col,
10620
+ listBoxMaxHeight = _ref4.listBoxMaxHeight;
10526
10621
  var _locale = fortuneCore.locale(context),
10527
10622
  filter = _locale.filter;
10528
10623
  var _useState3 = React.useState({
@@ -10597,6 +10692,25 @@ var FilterMenu = function FilterMenu() {
10597
10692
  }));
10598
10693
  }, 300);
10599
10694
  }, [data.flattenValues]);
10695
+ var selectAll = React.useCallback(function () {
10696
+ setDatesUncheck([]);
10697
+ setValuesUncheck([]);
10698
+ hiddenRows.current = [];
10699
+ }, []);
10700
+ var clearAll = React.useCallback(function () {
10701
+ setDatesUncheck(___default['default'].keys(data.dateRowMap));
10702
+ setValuesUncheck(___default['default'].keys(data.valueRowMap));
10703
+ hiddenRows.current = data.visibleRows;
10704
+ }, [data.dateRowMap, data.valueRowMap, data.visibleRows]);
10705
+ var inverseSelect = React.useCallback(function () {
10706
+ setDatesUncheck(produce__default['default'](function (draft) {
10707
+ return ___default['default'].xor(draft, ___default['default'].keys(data.dateRowMap));
10708
+ }));
10709
+ setValuesUncheck(produce__default['default'](function (draft) {
10710
+ return ___default['default'].xor(draft, ___default['default'].keys(data.valueRowMap));
10711
+ }));
10712
+ hiddenRows.current = ___default['default'].xor(hiddenRows.current, data.visibleRows);
10713
+ }, [data.dateRowMap, data.valueRowMap, data.visibleRows]);
10600
10714
  var onColorSelectChange = React.useCallback(function (key, color, checked) {
10601
10715
  setFilterColors(produce__default['default'](function (draft) {
10602
10716
  var colorData = ___default['default'].find(___default['default'].get(draft, key), function (v) {
@@ -10726,12 +10840,11 @@ var FilterMenu = function FilterMenu() {
10726
10840
  ref: containerRef,
10727
10841
  style: {
10728
10842
  left: filterContextMenu.x,
10729
- top: filterContextMenu.y,
10730
- minWidth: "280px !important"
10843
+ top: filterContextMenu.y
10731
10844
  }
10732
10845
  }, (_settings$filterConte = settings.filterContextMenu) === null || _settings$filterConte === void 0 ? void 0 : _settings$filterConte.map(function (name, i) {
10733
10846
  if (name === "|") {
10734
- return /*#__PURE__*/React__default['default'].createElement(ui.Divider, {
10847
+ return /*#__PURE__*/React__default['default'].createElement(Divider$1, {
10735
10848
  key: "divider-".concat(i)
10736
10849
  });
10737
10850
  }
@@ -10741,16 +10854,7 @@ var FilterMenu = function FilterMenu() {
10741
10854
  onClick: function onClick() {
10742
10855
  return sortData(true);
10743
10856
  }
10744
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10745
- className: "context-item w-full"
10746
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
10747
- name: "sort-asc",
10748
- width: 24,
10749
- height: 18,
10750
- style: {
10751
- marginRight: "4px"
10752
- }
10753
- }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.sortByAsc)));
10857
+ }, filter.sortByAsc);
10754
10858
  }
10755
10859
  if (name === "sort-by-desc") {
10756
10860
  return /*#__PURE__*/React__default['default'].createElement(Menu, {
@@ -10758,16 +10862,7 @@ var FilterMenu = function FilterMenu() {
10758
10862
  onClick: function onClick() {
10759
10863
  return sortData(false);
10760
10864
  }
10761
- }, /*#__PURE__*/React__default['default'].createElement("div", {
10762
- className: "context-item w-full"
10763
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
10764
- name: "sort-desc",
10765
- width: 24,
10766
- height: 18,
10767
- style: {
10768
- marginRight: "4px"
10769
- }
10770
- }), /*#__PURE__*/React__default['default'].createElement("p", null, filter.sortByDesc)));
10865
+ }, filter.sortByDesc);
10771
10866
  }
10772
10867
  if (name === "filter-by-color") {
10773
10868
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -10795,22 +10890,72 @@ var FilterMenu = function FilterMenu() {
10795
10890
  className: "filter-caret right"
10796
10891
  }))));
10797
10892
  }
10893
+ if (name === "filter-by-condition") {
10894
+ return /*#__PURE__*/React__default['default'].createElement("div", {
10895
+ key: "name"
10896
+ }, /*#__PURE__*/React__default['default'].createElement(Menu, {
10897
+ onClick: function onClick() {}
10898
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10899
+ className: "filter-caret right"
10900
+ }), filter.filterByCondition), /*#__PURE__*/React__default['default'].createElement("div", {
10901
+ className: "luckysheet-\\${menuid}-bycondition",
10902
+ style: {
10903
+ display: "none"
10904
+ }
10905
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
10906
+ className: "luckysheet-flat-menu-button luckysheet-mousedown-cancel",
10907
+ id: "luckysheet-\\${menuid}-selected"
10908
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
10909
+ className: "luckysheet-mousedown-cancel",
10910
+ "data-value": "null",
10911
+ "data-type": "0"
10912
+ }, filter.filiterInputNone), /*#__PURE__*/React__default['default'].createElement("div", {
10913
+ className: "luckysheet-mousedown-cancel"
10914
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
10915
+ className: "fa fa-sort",
10916
+ "aria-hidden": "true"
10917
+ })))));
10918
+ }
10798
10919
  if (name === "filter-by-value") {
10799
10920
  return /*#__PURE__*/React__default['default'].createElement("div", {
10800
10921
  key: name
10922
+ }, /*#__PURE__*/React__default['default'].createElement(Menu, {
10923
+ onClick: function onClick() {}
10801
10924
  }, /*#__PURE__*/React__default['default'].createElement("div", {
10802
- className: "luckysheet-filter-byvalue flex flex-col gap-2 mt-2"
10925
+ className: "filter-caret right"
10926
+ }), filter.filterByValues), /*#__PURE__*/React__default['default'].createElement("div", {
10927
+ className: "luckysheet-filter-byvalue"
10803
10928
  }, /*#__PURE__*/React__default['default'].createElement("div", {
10929
+ className: "fortune-menuitem-row byvalue-btn-row"
10930
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("span", {
10931
+ className: "fortune-byvalue-btn",
10932
+ onClick: selectAll,
10933
+ tabIndex: 0
10934
+ }, filter.filterValueByAllBtn), " - ", /*#__PURE__*/React__default['default'].createElement("span", {
10935
+ className: "fortune-byvalue-btn",
10936
+ onClick: clearAll,
10937
+ tabIndex: 0
10938
+ }, filter.filterValueByClearBtn), " - ", /*#__PURE__*/React__default['default'].createElement("span", {
10939
+ className: "fortune-byvalue-btn",
10940
+ onClick: inverseSelect,
10941
+ tabIndex: 0
10942
+ }, filter.filterValueByInverseBtn)), /*#__PURE__*/React__default['default'].createElement("div", {
10943
+ className: "byvalue-filter-icon"
10944
+ }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
10945
+ name: "filter-fill",
10946
+ style: {
10947
+ width: 20,
10948
+ height: 20
10949
+ }
10950
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
10804
10951
  className: "filtermenu-input-container"
10805
- }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
10806
- leftIcon: /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
10807
- name: "Search",
10808
- size: "sm"
10809
- }),
10952
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
10953
+ type: "text",
10810
10954
  onKeyDown: function onKeyDown(e) {
10811
10955
  return e.stopPropagation();
10812
10956
  },
10813
10957
  placeholder: filter.filterValueByTip,
10958
+ className: "luckysheet-mousedown-cancel",
10814
10959
  id: "luckysheet-\\${menuid}-byvalue-input",
10815
10960
  value: searchText,
10816
10961
  onChange: function onChange(e) {
@@ -10818,7 +10963,10 @@ var FilterMenu = function FilterMenu() {
10818
10963
  searchValues(e.target.value);
10819
10964
  }
10820
10965
  })), /*#__PURE__*/React__default['default'].createElement("div", {
10821
- id: "luckysheet-filter-byvalue-select"
10966
+ id: "luckysheet-filter-byvalue-select",
10967
+ style: {
10968
+ maxHeight: listBoxMaxHeight
10969
+ }
10822
10970
  }, /*#__PURE__*/React__default['default'].createElement(DateSelectTree, {
10823
10971
  dates: data.dates,
10824
10972
  onExpand: onExpand,
@@ -10840,37 +10988,6 @@ var FilterMenu = function FilterMenu() {
10840
10988
  return v.match(item.key) != null;
10841
10989
  }) > -1;
10842
10990
  }
10843
- }), /*#__PURE__*/React__default['default'].createElement(SelectItem, {
10844
- item: {
10845
- key: "all",
10846
- text: filter.filterValueByAllBtn,
10847
- value: "",
10848
- mask: "",
10849
- rows: data.values.filter(function (v) {
10850
- return showValues.includes(v.text);
10851
- }).flatMap(function (v) {
10852
- return v.rows;
10853
- })
10854
- },
10855
- isChecked: function isChecked() {
10856
- var allDatesChecked = datesUncheck.length === 0;
10857
- var allValuesChecked = valuesUncheck.length === 0;
10858
- return allDatesChecked && allValuesChecked;
10859
- },
10860
- onChange: function onChange(item, checked) {
10861
- if (checked) {
10862
- setDatesUncheck([]);
10863
- setValuesUncheck([]);
10864
- hiddenRows.current = [];
10865
- } else {
10866
- setDatesUncheck(___default['default'].keys(data.dateRowMap));
10867
- setValuesUncheck(___default['default'].keys(data.valueRowMap));
10868
- hiddenRows.current = data.visibleRows;
10869
- }
10870
- },
10871
- isItemVisible: function isItemVisible() {
10872
- return true;
10873
- }
10874
10991
  }), data.values.map(function (v) {
10875
10992
  return /*#__PURE__*/React__default['default'].createElement(SelectItem, {
10876
10993
  key: v.key,
@@ -10880,17 +10997,14 @@ var FilterMenu = function FilterMenu() {
10880
10997
  },
10881
10998
  onChange: function onChange(item, checked) {
10882
10999
  var rows = hiddenRows.current;
10883
- if (checked) {
10884
- hiddenRows.current = ___default['default'].without.apply(___default['default'], [rows].concat(_toConsumableArray(item.rows)));
10885
- setValuesUncheck(produce__default['default'](function (draft) {
11000
+ hiddenRows.current = checked ? ___default['default'].without.apply(___default['default'], [rows].concat(_toConsumableArray(item.rows))) : ___default['default'].concat(rows, item.rows);
11001
+ setValuesUncheck(produce__default['default'](function (draft) {
11002
+ if (checked) {
10886
11003
  ___default['default'].pull(draft, item.key);
10887
- }));
10888
- } else {
10889
- hiddenRows.current = ___default['default'].concat(rows, item.rows);
10890
- setValuesUncheck(produce__default['default'](function (draft) {
11004
+ } else {
10891
11005
  draft.push(item.key);
10892
- }));
10893
- }
11006
+ }
11007
+ }));
10894
11008
  },
10895
11009
  isItemVisible: function isItemVisible(item) {
10896
11010
  return showValues.length === data.flattenValues.length ? true : ___default['default'].includes(showValues, item.text);
@@ -10899,49 +11013,40 @@ var FilterMenu = function FilterMenu() {
10899
11013
  }))));
10900
11014
  }
10901
11015
  return null;
10902
- }), /*#__PURE__*/React__default['default'].createElement("div", {
10903
- className: "fortune-menuitem-row mt-2"
10904
- }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10905
- variant: "ghost",
10906
- style: {
10907
- minWidth: "80px"
10908
- },
11016
+ }), /*#__PURE__*/React__default['default'].createElement(Divider$1, null), /*#__PURE__*/React__default['default'].createElement("div", {
11017
+ className: "fortune-menuitem-row"
11018
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
11019
+ className: "button-basic button-primary",
10909
11020
  onClick: function onClick() {
11021
+ if (col == null) return;
10910
11022
  setContext(function (draftCtx) {
10911
- fortuneCore.clearFilter(draftCtx);
11023
+ var rowHidden = ___default['default'].reduce(hiddenRows.current, function (pre, curr) {
11024
+ pre[curr] = 0;
11025
+ return pre;
11026
+ }, {});
11027
+ fortuneCore.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
11028
+ hiddenRows.current = [];
11029
+ draftCtx.filterContextMenu = undefined;
10912
11030
  });
10913
11031
  },
10914
11032
  tabIndex: 0
10915
- }, filter.clearFilter), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10916
- variant: "secondary",
10917
- style: {
10918
- minWidth: "80px"
10919
- },
11033
+ }, filter.filterConform), /*#__PURE__*/React__default['default'].createElement("div", {
11034
+ className: "button-basic button-default",
10920
11035
  onClick: function onClick() {
10921
11036
  setContext(function (draftCtx) {
10922
11037
  draftCtx.filterContextMenu = undefined;
10923
11038
  });
10924
11039
  },
10925
11040
  tabIndex: 0
10926
- }, filter.filterCancel), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
10927
- variant: "default",
10928
- style: {
10929
- minWidth: "80px"
10930
- },
11041
+ }, filter.filterCancel), /*#__PURE__*/React__default['default'].createElement("div", {
11042
+ className: "button-basic button-danger",
10931
11043
  onClick: function onClick() {
10932
- if (col == null) return;
10933
11044
  setContext(function (draftCtx) {
10934
- var rowHidden = ___default['default'].reduce(hiddenRows.current, function (pre, curr) {
10935
- pre[curr] = 0;
10936
- return pre;
10937
- }, {});
10938
- fortuneCore.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
10939
- hiddenRows.current = [];
10940
- draftCtx.filterContextMenu = undefined;
11045
+ fortuneCore.clearFilter(draftCtx);
10941
11046
  });
10942
11047
  },
10943
11048
  tabIndex: 0
10944
- }, filter.filterConfirm))), showSubMenu && (/*#__PURE__*/React__default['default'].createElement("div", {
11049
+ }, filter.clearFilter))), showSubMenu && (/*#__PURE__*/React__default['default'].createElement("div", {
10945
11050
  ref: subMenuRef,
10946
11051
  className: "luckysheet-filter-bycolor-submenu",
10947
11052
  style: subMenuPos,
@@ -10981,7 +11086,7 @@ var FilterMenu = function FilterMenu() {
10981
11086
  });
10982
11087
  },
10983
11088
  tabIndex: 0
10984
- }, filter.filterConfirm))))));
11089
+ }, filter.filterConform))))));
10985
11090
  };
10986
11091
 
10987
11092
  var SheetHiddenButton = function SheetHiddenButton(_ref) {