@fileverse-dev/fortune-react 1.0.2-mod-55-safe-patch-1 → 1.0.2-mod-57

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
@@ -281,6 +281,15 @@ function _toPropertyKey(t) {
281
281
  var i = _toPrimitive(t, "string");
282
282
  return "symbol" == typeof i ? i : i + "";
283
283
  }
284
+ function _typeof(o) {
285
+ "@babel/helpers - typeof";
286
+
287
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
288
+ return typeof o;
289
+ } : function (o) {
290
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
291
+ }, _typeof(o);
292
+ }
284
293
  function _unsupportedIterableToArray(r, a) {
285
294
  if (r) {
286
295
  if ("string" == typeof r) return _arrayLikeToArray(r, a);
@@ -4446,26 +4455,25 @@ var Button = function Button(_ref) {
4446
4455
  selected = _ref.selected,
4447
4456
  children = _ref.children,
4448
4457
  style = _ref.style;
4449
- return /*#__PURE__*/React__default['default'].createElement("div", {
4458
+ return /*#__PURE__*/React__default['default'].createElement(ui.Tooltip, {
4459
+ text: tooltip,
4460
+ placement: "bottom"
4461
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4450
4462
  className: "fortune-toolbar-button fortune-toolbar-item",
4451
4463
  onClick: onClick,
4452
4464
  tabIndex: 0,
4453
- "data-tips": tooltip,
4454
4465
  role: "button",
4455
- "aria-label": tooltip,
4456
4466
  style: selected ? {
4457
4467
  backgroundColor: "#E7E5EB"
4458
4468
  } : style
4459
- }, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
4460
- name: iconId,
4469
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
4470
+ name: getLucideIcon(iconId),
4461
4471
  width: 16,
4462
4472
  height: 16,
4463
4473
  style: disabled ? {
4464
4474
  opacity: 0.3
4465
4475
  } : {}
4466
- }), tooltip && /*#__PURE__*/React__default['default'].createElement("div", {
4467
- className: "fortune-tooltip"
4468
- }, tooltip), children);
4476
+ }), children));
4469
4477
  };
4470
4478
 
4471
4479
  var Divider = function Divider() {
@@ -4503,7 +4511,7 @@ var Combo = function Combo(_ref) {
4503
4511
  var popupRef = React.useRef(null);
4504
4512
  var buttonRef = React.useRef(null);
4505
4513
  var isLucideIcon = React.useMemo(function () {
4506
- return (iconId === null || iconId === void 0 ? void 0 : iconId.startsWith("align-")) || ["text-overflow", "text-wrap", "text-clip"].includes(iconId);
4514
+ return (iconId === null || iconId === void 0 ? void 0 : iconId.startsWith("align-")) || ["text-overflow", "text-wrap", "text-clip", "font-color", "background", "border-all", "merge-all", "format", "conditionFormat", "filter", "comment", "image", "formula-sum", "dune", "template"].includes(iconId);
4507
4515
  }, [iconId]);
4508
4516
  useOutsideClick(popupRef, function () {
4509
4517
  setOpen(false);
@@ -4532,7 +4540,10 @@ var Combo = function Combo(_ref) {
4532
4540
  }, /*#__PURE__*/React__default['default'].createElement("div", {
4533
4541
  ref: buttonRef,
4534
4542
  className: "fortune-toolbar-combo"
4535
- }, !isLucideIcon ? (/*#__PURE__*/React__default['default'].createElement("div", {
4543
+ }, !isLucideIcon ? (/*#__PURE__*/React__default['default'].createElement(ui.Tooltip, {
4544
+ text: tooltip,
4545
+ placement: "bottom"
4546
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4536
4547
  className: "fortune-toolbar-combo-button",
4537
4548
  onClick: function onClick(e) {
4538
4549
  if (_onClick) {
@@ -4543,9 +4554,7 @@ var Combo = function Combo(_ref) {
4543
4554
  }
4544
4555
  },
4545
4556
  tabIndex: 0,
4546
- "data-tips": tooltip,
4547
4557
  role: "button",
4548
- "aria-label": "".concat(tooltip, ": ").concat(text !== undefined ? text : ""),
4549
4558
  style: style
4550
4559
  }, iconId ? (/*#__PURE__*/React__default['default'].createElement(SVGIcon, {
4551
4560
  name: iconId,
@@ -4553,29 +4562,29 @@ var Combo = function Combo(_ref) {
4553
4562
  height: 16
4554
4563
  })) : (/*#__PURE__*/React__default['default'].createElement("span", {
4555
4564
  className: "fortune-toolbar-combo-text"
4556
- }, text !== undefined ? text : "")))) : (/*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
4557
- icon: getIcon(iconId),
4565
+ }, text !== undefined ? text : ""))))) : (/*#__PURE__*/React__default['default'].createElement(ui.Tooltip, {
4566
+ text: tooltip,
4567
+ placement: "bottom"
4568
+ }, /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
4569
+ icon: getLucideIcon(iconId),
4558
4570
  variant: "ghost",
4559
4571
  onClick: function onClick() {
4560
4572
  return setOpen(!open);
4561
- }
4562
- })), showArrow && (/*#__PURE__*/React__default['default'].createElement("div", {
4573
+ },
4574
+ className: showArrow ? "fortune-toolbar-combo-button show-arrow" : ""
4575
+ }))), showArrow && (/*#__PURE__*/React__default['default'].createElement("div", {
4563
4576
  className: "fortune-toolbar-combo-arrow",
4564
4577
  onClick: function onClick() {
4565
4578
  return setOpen(!open);
4566
4579
  },
4567
4580
  tabIndex: 0,
4568
- "data-tips": tooltip,
4569
4581
  role: "button",
4570
- "aria-label": tooltip,
4571
4582
  style: style
4572
4583
  }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
4573
4584
  name: "ChevronDown",
4574
4585
  width: 14,
4575
4586
  height: 14
4576
- }))), tooltip && /*#__PURE__*/React__default['default'].createElement("div", {
4577
- className: "fortune-tooltip"
4578
- }, tooltip)), open && (/*#__PURE__*/React__default['default'].createElement("div", {
4587
+ })))), open && (/*#__PURE__*/React__default['default'].createElement("div", {
4579
4588
  ref: popupRef,
4580
4589
  className: "fortune-toolbar-combo-popup",
4581
4590
  style: popupPosition
@@ -4731,7 +4740,8 @@ var SplitColumn = function SplitColumn() {
4731
4740
  tabIndex: 0
4732
4741
  }), /*#__PURE__*/React__default['default'].createElement("label", {
4733
4742
  htmlFor: "other"
4734
- }, "Custom"), /*#__PURE__*/React__default['default'].createElement("input", {
4743
+ }, "Custom"), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
4744
+ placeholder: "Custom separator",
4735
4745
  id: "otherValue",
4736
4746
  name: "otherValue",
4737
4747
  type: "text",
@@ -5258,11 +5268,13 @@ var CustomButton = function CustomButton(_ref) {
5258
5268
  children = _ref.children,
5259
5269
  iconName = _ref.iconName,
5260
5270
  icon = _ref.icon;
5261
- return /*#__PURE__*/React__default['default'].createElement("div", {
5271
+ return /*#__PURE__*/React__default['default'].createElement(ui.Tooltip, {
5272
+ text: tooltip,
5273
+ placement: "bottom"
5274
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
5262
5275
  className: "fortune-toolbar-button fortune-toolbar-item",
5263
5276
  onClick: onClick,
5264
5277
  tabIndex: 0,
5265
- "data-tips": tooltip,
5266
5278
  role: "button",
5267
5279
  style: selected ? {
5268
5280
  backgroundColor: "#E7E5EB"
@@ -5272,9 +5284,7 @@ var CustomButton = function CustomButton(_ref) {
5272
5284
  height: 16,
5273
5285
  iconName: iconName,
5274
5286
  content: icon
5275
- }), tooltip && /*#__PURE__*/React__default['default'].createElement("div", {
5276
- className: "fortune-tooltip"
5277
- }, tooltip), children);
5287
+ }), children));
5278
5288
  };
5279
5289
 
5280
5290
  var palette = [["#000000", "#444444", "#666666", "#999999", "#B7B7B7", "#cccccc", "#D9D9D9", "#EFEFEF", "#f3f3f3", "#ffffff"], ["#970007", "#FE0012", "#FE9728", "#FFFD40", "#27FD3C", "#21FFFF", "#4A89E4", "#0027F9", "#9726FA", "#FD23FA"], ["#E6B8B0", "#f4cccc", "#FCE5CF", "#FFF1CF", "#DAEAD4", "#D0E0E3", "#C9DBF7", "#CFE3F2", "#D9D3E8", "#EAD1DC"], ["#DC7D6D", "#E9999A", "#F9CAA0", "#FFE49F", "#B7D6AB", "#A3C4C9", "#A4C3F2", "#A0C6E6", "#B4A8D4", "#D5A7BC"], ["#CB402B", "#DF6668", "#F6B171", "#FFD871", "#95C382", "#77A6AF", "#6DA0E8", "#70AADA", "#8E7EC0", "#C17C9F"], ["#A51A0A", "#CB000C", "#E59043", "#F1C046", "#6CA756", "#46828D", "#3C7BD4", "#3E87C3", "#6651A4", "#A54E78"], ["#841F11", "#980007", "#B35E19", "#BF8F22", "#3A7527", "#15505B", "#0E5AC8", "#0B5592", "#0B5592", "#731C46"], ["#5B0E03", "#660003", "#783E0E", "#7F5F13", "#284E19", "#0D343D", "#1C4785", "#073961", "#1F154B", "#4C112F"]];
@@ -5540,8 +5550,33 @@ var DuneChartsInputModal = function DuneChartsInputModal(_ref) {
5540
5550
  }, submitText)))));
5541
5551
  };
5542
5552
 
5543
- var getIcon = function getIcon(title) {
5553
+ var MoreItemsContaier = function MoreItemsContaier(_ref) {
5554
+ var onClose = _ref.onClose,
5555
+ children = _ref.children;
5556
+ var containerRef = React.useRef(null);
5557
+ useOutsideClick(containerRef, function () {
5558
+ onClose === null || onClose === void 0 ? void 0 : onClose();
5559
+ }, [containerRef, onClose]);
5560
+ return /*#__PURE__*/React__default['default'].createElement("div", {
5561
+ ref: containerRef,
5562
+ className: "fortune-toolbar-more-container"
5563
+ }, children);
5564
+ };
5565
+
5566
+ var getLucideIcon = function getLucideIcon(title) {
5544
5567
  switch (title) {
5568
+ case "undo":
5569
+ return "Undo";
5570
+ case "redo":
5571
+ return "Redo";
5572
+ case "bold":
5573
+ return "Bold";
5574
+ case "italic":
5575
+ return "Italic";
5576
+ case "strike-through":
5577
+ return "Strikethrough";
5578
+ case "underline":
5579
+ return "Underline";
5545
5580
  case "align-left":
5546
5581
  return "AlignLeft";
5547
5582
  case "align-center":
@@ -5560,6 +5595,44 @@ var getIcon = function getIcon(title) {
5560
5595
  return "WrapText";
5561
5596
  case "text-clip":
5562
5597
  return "TextClip";
5598
+ case "font-color":
5599
+ return "Baseline";
5600
+ case "background":
5601
+ return "PaintBucket";
5602
+ case "border-all":
5603
+ return "Border";
5604
+ case "merge-all":
5605
+ return "MergeHorizontal";
5606
+ case "format":
5607
+ return "JapaneseYen";
5608
+ case "currency-format":
5609
+ return "JapaneseYen";
5610
+ case "percentage-format":
5611
+ return "Percent";
5612
+ case "number-decrease":
5613
+ return "DecimalsArrowLeft";
5614
+ case "number-increase":
5615
+ return "DecimalsArrowRight";
5616
+ case "conditionFormat":
5617
+ return "PaintbrushVertical";
5618
+ case "filter":
5619
+ return "Filter";
5620
+ case "link":
5621
+ return "Link";
5622
+ case "comment":
5623
+ return "MessageSquarePlus";
5624
+ case "image":
5625
+ return "Image";
5626
+ case "formula-sum":
5627
+ return "Sigma";
5628
+ case "dataVerification":
5629
+ return "ShieldCheck";
5630
+ case "search":
5631
+ return "Search";
5632
+ case "dune":
5633
+ return "DuneChart";
5634
+ case "Ellipsis":
5635
+ return "Ellipsis";
5563
5636
  default:
5564
5637
  return "";
5565
5638
  }
@@ -5567,7 +5640,9 @@ var getIcon = function getIcon(title) {
5567
5640
  var Toolbar = function Toolbar(_ref) {
5568
5641
  var _context$luckysheet_s, _flowdata$row, _settings$customToolb;
5569
5642
  var setMoreItems = _ref.setMoreItems,
5570
- moreItemsOpen = _ref.moreItemsOpen;
5643
+ moreItemsOpen = _ref.moreItemsOpen,
5644
+ onMoreToolbarItemsClose = _ref.onMoreToolbarItemsClose,
5645
+ moreToolbarItems = _ref.moreToolbarItems;
5571
5646
  var _useContext = React.useContext(WorkbookContext),
5572
5647
  context = _useContext.context,
5573
5648
  setContext = _useContext.setContext,
@@ -5940,7 +6015,7 @@ var Toolbar = function Toolbar(_ref) {
5940
6015
  isActive: ((_$find2 = ___default['default'].find(items, function (item) {
5941
6016
  return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.ht);
5942
6017
  })) === null || _$find2 === void 0 ? void 0 : _$find2.title) === title,
5943
- icon: getIcon(title),
6018
+ icon: getLucideIcon(title),
5944
6019
  variant: "ghost",
5945
6020
  onClick: function onClick() {
5946
6021
  setContext(function (ctx) {
@@ -5993,7 +6068,7 @@ var Toolbar = function Toolbar(_ref) {
5993
6068
  isActive: ((_$find4 = ___default['default'].find(_items, function (item) {
5994
6069
  return "".concat(item.value) === "".concat(cell === null || cell === void 0 ? void 0 : cell.vt);
5995
6070
  })) === null || _$find4 === void 0 ? void 0 : _$find4.title) === title,
5996
- icon: getIcon(title),
6071
+ icon: getLucideIcon(title),
5997
6072
  variant: "ghost",
5998
6073
  onClick: function onClick() {
5999
6074
  setContext(function (ctx) {
@@ -6585,7 +6660,7 @@ var Toolbar = function Toolbar(_ref) {
6585
6660
  return /*#__PURE__*/React__default['default'].createElement(ui.IconButton, {
6586
6661
  key: value,
6587
6662
  isActive: _curr.value === value,
6588
- icon: getIcon(iconId),
6663
+ icon: getLucideIcon(iconId),
6589
6664
  variant: "ghost",
6590
6665
  onClick: function onClick() {
6591
6666
  setContext(function (ctx) {
@@ -6737,7 +6812,10 @@ var Toolbar = function Toolbar(_ref) {
6737
6812
  }));
6738
6813
  });
6739
6814
  }
6740
- return /*#__PURE__*/React__default['default'].createElement(Button, {
6815
+ return /*#__PURE__*/React__default['default'].createElement(ui.Tooltip, {
6816
+ text: tooltip,
6817
+ placement: "bottom"
6818
+ }, /*#__PURE__*/React__default['default'].createElement(Button, {
6741
6819
  iconId: name,
6742
6820
  tooltip: tooltip,
6743
6821
  key: name,
@@ -6748,7 +6826,7 @@ var Toolbar = function Toolbar(_ref) {
6748
6826
  (_toolbarItemClickHand = fortuneCore.toolbarItemClickHandler(name)) === null || _toolbarItemClickHand === void 0 ? void 0 : _toolbarItemClickHand(draftCtx, refs.cellInput.current, refs.globalCache);
6749
6827
  });
6750
6828
  }
6751
- });
6829
+ }));
6752
6830
  }, [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]);
6753
6831
  return /*#__PURE__*/React__default['default'].createElement("div", {
6754
6832
  ref: containerRef,
@@ -6771,7 +6849,7 @@ var Toolbar = function Toolbar(_ref) {
6771
6849
  })) : null, (toolbarWrapIndex === -1 ? settings.toolbarItems : settings.toolbarItems.slice(0, toolbarWrapIndex + 1)).map(function (name, i) {
6772
6850
  return getToolbarItem(name, i);
6773
6851
  }), toolbarWrapIndex !== -1 && toolbarWrapIndex < settings.toolbarItems.length - 1 ? (/*#__PURE__*/React__default['default'].createElement(Button, {
6774
- iconId: "more",
6852
+ iconId: "Ellipsis",
6775
6853
  tooltip: toolbar.toolMore,
6776
6854
  onClick: function onClick() {
6777
6855
  if (moreItemsOpen) {
@@ -6782,7 +6860,9 @@ var Toolbar = function Toolbar(_ref) {
6782
6860
  }));
6783
6861
  }
6784
6862
  }
6785
- })) : null), /*#__PURE__*/React__default['default'].createElement("div", {
6863
+ })) : null, moreToolbarItems && (/*#__PURE__*/React__default['default'].createElement(MoreItemsContaier, {
6864
+ onClose: onMoreToolbarItemsClose
6865
+ }, moreToolbarItems))), /*#__PURE__*/React__default['default'].createElement("div", {
6786
6866
  className: "fortune-toolbar-right"
6787
6867
  }, settings.customToolbarItems.filter(function (n) {
6788
6868
  return n.key === "templates";
@@ -6805,7 +6885,7 @@ var Toolbar = function Toolbar(_ref) {
6805
6885
  iconName: n.iconName
6806
6886
  }, n.children);
6807
6887
  }), /*#__PURE__*/React__default['default'].createElement(Button, {
6808
- iconId: "dune-logo",
6888
+ iconId: "dune",
6809
6889
  tooltip: "Insert Dune Chart",
6810
6890
  key: "dune-charts",
6811
6891
  onClick: function onClick() {
@@ -7497,6 +7577,135 @@ var SheetTab = function SheetTab() {
7497
7577
  }, /*#__PURE__*/React__default['default'].createElement(ZoomControl, null)));
7498
7578
  };
7499
7579
 
7580
+ var ResetColumnWidth = function ResetColumnWidth() {
7581
+ var _useContext = React.useContext(WorkbookContext),
7582
+ context = _useContext.context,
7583
+ setContext = _useContext.setContext;
7584
+ var _useAlert = useAlert(),
7585
+ showAlert = _useAlert.showAlert;
7586
+ var _locale = fortuneCore.locale(context),
7587
+ button = _locale.button;
7588
+ var _useDialog = useDialog(),
7589
+ hideDialog = _useDialog.hideDialog;
7590
+ var _useState = React.useState("number"),
7591
+ _useState2 = _slicedToArray(_useState, 2),
7592
+ radioValue = _useState2[0],
7593
+ setRadioValue = _useState2[1];
7594
+ var _useState3 = React.useState(100),
7595
+ _useState4 = _slicedToArray(_useState3, 2),
7596
+ numberValue = _useState4[0],
7597
+ setNumberValue = _useState4[1];
7598
+ var getMaxCellWidth = function getMaxCellWidth(col) {
7599
+ var data = fortuneCore.getFlowdata(context);
7600
+ var maxWidth = 100;
7601
+ if (data) {
7602
+ for (var i = 0; i < data.length; i += 1) {
7603
+ var cellD = data[i][col];
7604
+ if (typeof cellD === "string") {
7605
+ if (cellD.length * 7 > maxWidth) {
7606
+ maxWidth = cellD.length * 7;
7607
+ }
7608
+ } else if (_typeof(cellD) === "object" && cellD !== null) {
7609
+ console.log(cellD, "cellD");
7610
+ var cellText = cellD.v || cellD.m;
7611
+ if (cellText.length * 7 > maxWidth) {
7612
+ maxWidth = cellText.length * 7;
7613
+ }
7614
+ }
7615
+ }
7616
+ }
7617
+ return maxWidth;
7618
+ };
7619
+ return /*#__PURE__*/React__default['default'].createElement("div", {
7620
+ id: "fortune-split-column"
7621
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
7622
+ className: ""
7623
+ }, /*#__PURE__*/React__default['default'].createElement(ui.RadioGroup, {
7624
+ defaultValue: radioValue,
7625
+ onValueChange: function onValueChange(value) {
7626
+ setRadioValue(value);
7627
+ }
7628
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
7629
+ className: "flex-col gap-4"
7630
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
7631
+ className: "flex items-center space-x-1"
7632
+ }, /*#__PURE__*/React__default['default'].createElement(ui.RadioGroupItem, {
7633
+ id: "r1",
7634
+ size: "lg",
7635
+ value: "number"
7636
+ }), /*#__PURE__*/React__default['default'].createElement(ui.Label, {
7637
+ className: "text-heading-xsm",
7638
+ htmlFor: "r1"
7639
+ }, "Enter new column width in pixels. (Default: 80)")), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
7640
+ className: "w-1/3 my-4",
7641
+ defaultValue: numberValue,
7642
+ isValid: true,
7643
+ onChange: function onChange(e) {
7644
+ setNumberValue(e.target.value);
7645
+ },
7646
+ placeholder: "Number"
7647
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
7648
+ className: "flex items-center space-x-1 mb-4"
7649
+ }, /*#__PURE__*/React__default['default'].createElement(ui.RadioGroupItem, {
7650
+ id: "r2",
7651
+ size: "lg",
7652
+ value: "fit"
7653
+ }), /*#__PURE__*/React__default['default'].createElement(ui.Label, {
7654
+ className: "text-heading-xsm",
7655
+ htmlFor: "r2"
7656
+ }, "Fit to data")))), /*#__PURE__*/React__default['default'].createElement("div", {
7657
+ className: "flex justify-end gap-2"
7658
+ }, /*#__PURE__*/React__default['default'].createElement(ui.Button, {
7659
+ variant: "secondary",
7660
+ onClick: function onClick() {
7661
+ hideDialog();
7662
+ },
7663
+ tabIndex: 0
7664
+ }, button.cancel), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
7665
+ onClick: function onClick() {
7666
+ if (radioValue === "number") {
7667
+ var targetColWidth = numberValue;
7668
+ setContext(function (draftCtx) {
7669
+ if (___default['default'].isUndefined(targetColWidth) || targetColWidth === null || targetColWidth <= 0 || targetColWidth > 2038) {
7670
+ showAlert("The column width must be between 0 ~ 2038", "ok");
7671
+ draftCtx.contextMenu = {};
7672
+ return;
7673
+ }
7674
+ var numColWidth = targetColWidth;
7675
+ var colWidthList = {};
7676
+ ___default['default'].forEach(draftCtx.luckysheet_select_save, function (section) {
7677
+ for (var colNum = section.column[0]; colNum <= section.column[1]; colNum += 1) {
7678
+ getMaxCellWidth(colNum);
7679
+ colWidthList[colNum] = numColWidth;
7680
+ }
7681
+ });
7682
+ fortuneCore.api.setColumnWidth(draftCtx, colWidthList, {}, true);
7683
+ draftCtx.contextMenu = {};
7684
+ });
7685
+ } else {
7686
+ var _targetColWidth = numberValue;
7687
+ setContext(function (draftCtx) {
7688
+ if (___default['default'].isUndefined(_targetColWidth) || _targetColWidth === null || _targetColWidth <= 0 || _targetColWidth > 2038) {
7689
+ showAlert("The column width must be between 0 ~ 2038", "ok");
7690
+ draftCtx.contextMenu = {};
7691
+ return;
7692
+ }
7693
+ var colWidthList = {};
7694
+ ___default['default'].forEach(draftCtx.luckysheet_select_save, function (section) {
7695
+ for (var colNum = section.column[0]; colNum <= section.column[1]; colNum += 1) {
7696
+ colWidthList[colNum] = getMaxCellWidth(colNum);
7697
+ }
7698
+ });
7699
+ fortuneCore.api.setColumnWidth(draftCtx, colWidthList, {}, true);
7700
+ draftCtx.contextMenu = {};
7701
+ });
7702
+ }
7703
+ hideDialog();
7704
+ },
7705
+ tabIndex: 0
7706
+ }, "Ok")));
7707
+ };
7708
+
7500
7709
  var Divider$1 = function Divider() {
7501
7710
  return /*#__PURE__*/React__default['default'].createElement("div", {
7502
7711
  className: "fortune-context-menu-divider"
@@ -8206,32 +8415,14 @@ var ContextMenu = function ContextMenu() {
8206
8415
  }), "px")))) : null;
8207
8416
  }
8208
8417
  if (name === "set-column-width") {
8209
- var _context$luckysheet_s0, _context$luckysheet_s1;
8210
- var colWidth = (selection === null || selection === void 0 ? void 0 : selection.width) || context.defaultcollen;
8211
- var shownColWidth = ((_context$luckysheet_s0 = context.luckysheet_select_save) === null || _context$luckysheet_s0 === void 0 ? void 0 : _context$luckysheet_s0.some(function (section) {
8212
- return section.width_move !== (colWidth + 1) * (section.column[1] - section.column[0] + 1) - 1;
8213
- })) ? "" : colWidth;
8214
- return ((_context$luckysheet_s1 = context.luckysheet_select_save) === null || _context$luckysheet_s1 === void 0 ? void 0 : _context$luckysheet_s1.some(function (section) {
8418
+ var _context$luckysheet_s0;
8419
+ return ((_context$luckysheet_s0 = context.luckysheet_select_save) === null || _context$luckysheet_s0 === void 0 ? void 0 : _context$luckysheet_s0.some(function (section) {
8215
8420
  return section.column_select;
8216
8421
  })) ? (/*#__PURE__*/React__default['default'].createElement(Menu, {
8217
8422
  key: "set-column-width",
8218
- onClick: function onClick(e, container) {
8219
- var _container$querySelec2;
8220
- var targetColWidth = (_container$querySelec2 = container.querySelector("input")) === null || _container$querySelec2 === void 0 ? void 0 : _container$querySelec2.value;
8423
+ onClick: function onClick() {
8424
+ showDialog(/*#__PURE__*/React__default['default'].createElement(ResetColumnWidth, null), undefined, "Resize column");
8221
8425
  setContext(function (draftCtx) {
8222
- if (___default['default'].isUndefined(targetColWidth) || targetColWidth === "" || parseInt(targetColWidth, 10) <= 0 || parseInt(targetColWidth, 10) > 2038) {
8223
- showAlert(info.tipColumnWidthLimit, "ok");
8224
- draftCtx.contextMenu = {};
8225
- return;
8226
- }
8227
- var numColWidth = parseInt(targetColWidth, 10);
8228
- var colWidthList = {};
8229
- ___default['default'].forEach(draftCtx.luckysheet_select_save, function (section) {
8230
- for (var colNum = section.column[0]; colNum <= section.column[1]; colNum += 1) {
8231
- colWidthList[colNum] = numColWidth;
8232
- }
8233
- });
8234
- fortuneCore.api.setColumnWidth(draftCtx, colWidthList, {}, true);
8235
8426
  draftCtx.contextMenu = {};
8236
8427
  });
8237
8428
  }
@@ -8244,24 +8435,7 @@ var ContextMenu = function ContextMenu() {
8244
8435
  style: {
8245
8436
  marginRight: "8px"
8246
8437
  }
8247
- }), /*#__PURE__*/React__default['default'].createElement("div", null, "Resize column height", /*#__PURE__*/React__default['default'].createElement("input", {
8248
- onClick: function onClick(e) {
8249
- return e.stopPropagation();
8250
- },
8251
- onKeyDown: function onKeyDown(e) {
8252
- return e.stopPropagation();
8253
- },
8254
- tabIndex: 0,
8255
- type: "number",
8256
- min: 1,
8257
- max: 545,
8258
- className: "luckysheet-mousedown-cancel",
8259
- placeholder: rightclick.number,
8260
- defaultValue: shownColWidth,
8261
- style: {
8262
- width: "40px"
8263
- }
8264
- }), "px")))) : null;
8438
+ }), /*#__PURE__*/React__default['default'].createElement("div", null, "Resize column width")))) : null;
8265
8439
  }
8266
8440
  if (name === "clear") {
8267
8441
  return /*#__PURE__*/React__default['default'].createElement(Menu, {
@@ -10797,19 +10971,6 @@ var SheetTabContextMenu = function SheetTabContextMenu() {
10797
10971
  }));
10798
10972
  };
10799
10973
 
10800
- var MoreItemsContaier = function MoreItemsContaier(_ref) {
10801
- var onClose = _ref.onClose,
10802
- children = _ref.children;
10803
- var containerRef = React.useRef(null);
10804
- useOutsideClick(containerRef, function () {
10805
- onClose === null || onClose === void 0 ? void 0 : onClose();
10806
- }, [containerRef, onClose]);
10807
- return /*#__PURE__*/React__default['default'].createElement("div", {
10808
- ref: containerRef,
10809
- className: "fortune-toolbar-more-container"
10810
- }, children);
10811
- };
10812
-
10813
10974
  function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
10814
10975
  return {
10815
10976
  applyOp: function applyOp(ops) {
@@ -12424,12 +12585,12 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
12424
12585
  className: "fortune-workarea"
12425
12586
  }, mergedSettings.showToolbar && (/*#__PURE__*/React__default['default'].createElement(Toolbar, {
12426
12587
  moreItemsOpen: moreToolbarItems !== null,
12427
- setMoreItems: setMoreToolbarItems
12588
+ setMoreItems: setMoreToolbarItems,
12589
+ onMoreToolbarItemsClose: onMoreToolbarItemsClose,
12590
+ moreToolbarItems: moreToolbarItems
12428
12591
  })), mergedSettings.showFormulaBar && /*#__PURE__*/React__default['default'].createElement(FxEditor, null)), /*#__PURE__*/React__default['default'].createElement(Sheet, {
12429
12592
  sheet: sheet
12430
- }), mergedSettings.showSheetTabs && /*#__PURE__*/React__default['default'].createElement(SheetTab, null), /*#__PURE__*/React__default['default'].createElement(ContextMenu, null), /*#__PURE__*/React__default['default'].createElement(FilterMenu, null), /*#__PURE__*/React__default['default'].createElement(SheetTabContextMenu, null), context.showSheetList && /*#__PURE__*/React__default['default'].createElement(SheetList, null), moreToolbarItems && (/*#__PURE__*/React__default['default'].createElement(MoreItemsContaier, {
12431
- onClose: onMoreToolbarItemsClose
12432
- }, moreToolbarItems)), !___default['default'].isEmpty(context.contextMenu) && (/*#__PURE__*/React__default['default'].createElement("div", {
12593
+ }), mergedSettings.showSheetTabs && /*#__PURE__*/React__default['default'].createElement(SheetTab, null), /*#__PURE__*/React__default['default'].createElement(ContextMenu, null), /*#__PURE__*/React__default['default'].createElement(FilterMenu, null), /*#__PURE__*/React__default['default'].createElement(SheetTabContextMenu, null), context.showSheetList && /*#__PURE__*/React__default['default'].createElement(SheetList, null), !___default['default'].isEmpty(context.contextMenu) && (/*#__PURE__*/React__default['default'].createElement("div", {
12433
12594
  onMouseDown: function onMouseDown() {
12434
12595
  setContextWithProduce(function (draftCtx) {
12435
12596
  draftCtx.contextMenu = {};
@@ -2250,11 +2250,12 @@ input[type="number"].condition-rules-project-input {
2250
2250
  flex-direction: row;
2251
2251
  /* background: #fafafc; */
2252
2252
  position: relative;
2253
- padding: 10px 0px 8px 15px;
2253
+ padding: 4px 8px;
2254
2254
  border-bottom: 1px solid #d4d4d4;
2255
2255
  white-space: nowrap;
2256
2256
  align-items: center;
2257
2257
  gap: 4px;
2258
+ justify-content: space-between;
2258
2259
  }
2259
2260
 
2260
2261
  .fortune-toolbar-divider {
@@ -2313,8 +2314,11 @@ input[type="number"].condition-rules-project-input {
2313
2314
  align-items: center;
2314
2315
  }
2315
2316
 
2316
- .fortune-toolbar-button:hover,
2317
- .fortune-toolbar-combo:hover {
2317
+ .fortune-toolbar-combo-button.show-arrow {
2318
+ border-radius: 4px 0px 0px 4px;
2319
+ }
2320
+
2321
+ .fortune-toolbar-button:hover {
2318
2322
  background-color: #f2f4f5;
2319
2323
  cursor: pointer;
2320
2324
  }
@@ -2322,6 +2326,8 @@ input[type="number"].condition-rules-project-input {
2322
2326
  .fortune-toolbar-combo-arrow:hover {
2323
2327
  background-color: #f2f4f5;
2324
2328
  cursor: pointer;
2329
+ height: 30px;
2330
+ border-radius: 0px 4px 4px 0px;
2325
2331
  }
2326
2332
 
2327
2333
  .fortune-toolbar-button:active,
@@ -2452,8 +2458,8 @@ input[type="number"].condition-rules-project-input {
2452
2458
  flex-direction: row;
2453
2459
  align-items: center;
2454
2460
  align-self: flex-end;
2455
- margin-right: 40px;
2456
2461
  top: 40px;
2462
+ right: 0px;
2457
2463
  max-width: 348px;
2458
2464
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
2459
2465
  background: white;
@@ -2641,6 +2647,7 @@ input[type="number"].condition-rules-project-input {
2641
2647
  flex-direction: row;
2642
2648
  align-items: center;
2643
2649
  gap: 4px;
2650
+ position: relative;
2644
2651
  }
2645
2652
 
2646
2653
  .fortune-toolbar-right {