ab-ui-library 1.44.0 → 1.44.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.
@@ -4,6 +4,7 @@ interface ColumnSettingsProps<T> {
4
4
  tooltipText?: string;
5
5
  hiddenColumns?: string[];
6
6
  allToggleText?: string;
7
+ menuIconTooltipText?: string;
7
8
  }
8
- export declare function ColumnSettings<T>({ table, tooltipText, hiddenColumns, allToggleText }: ColumnSettingsProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ColumnSettings<T>({ table, tooltipText, menuIconTooltipText, hiddenColumns, allToggleText }: ColumnSettingsProps<T>): import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -59,18 +59,23 @@ var defaultHiddenColumnSettings = ['select', 'actions', 'expand'];
59
59
  function ColumnSettings(_ref) {
60
60
  var table = _ref.table,
61
61
  tooltipText = _ref.tooltipText,
62
+ menuIconTooltipText = _ref.menuIconTooltipText,
62
63
  _ref$hiddenColumns = _ref.hiddenColumns,
63
64
  hiddenColumns = _ref$hiddenColumns === void 0 ? [] : _ref$hiddenColumns,
64
65
  _ref$allToggleText = _ref.allToggleText,
65
66
  allToggleText = _ref$allToggleText === void 0 ? 'All' : _ref$allToggleText;
66
67
  var _useState = useState(null),
67
68
  _useState2 = _slicedToArray(_useState, 2),
68
- ref = _useState2[0],
69
- setRef = _useState2[1];
70
- var _useState3 = useState(false),
69
+ menuButtonRef = _useState2[0],
70
+ setMenuButtonRef = _useState2[1];
71
+ var _useState3 = useState(null),
71
72
  _useState4 = _slicedToArray(_useState3, 2),
72
- isOpen = _useState4[0],
73
- setIsOpen = _useState4[1];
73
+ ref = _useState4[0],
74
+ setRef = _useState4[1];
75
+ var _useState5 = useState(false),
76
+ _useState6 = _slicedToArray(_useState5, 2),
77
+ isOpen = _useState6[0],
78
+ setIsOpen = _useState6[1];
74
79
  var closeUserMenu = function closeUserMenu() {
75
80
  setIsOpen(false);
76
81
  };
@@ -87,8 +92,14 @@ function ColumnSettings(_ref) {
87
92
  var hiddenColumnSettings = defaultHiddenColumnSettings.concat(hiddenColumns);
88
93
  return /*#__PURE__*/React.createElement("div", {
89
94
  ref: setRef
90
- }, /*#__PURE__*/React.createElement(Button, {
95
+ }, menuIconTooltipText && /*#__PURE__*/React.createElement(Tooltip, {
96
+ position: Positions.TOP_CENTER,
97
+ text: menuIconTooltipText,
98
+ id: "column-settings-menu-icon"
99
+ }), /*#__PURE__*/React.createElement(Button, {
100
+ refHandler: setMenuButtonRef,
91
101
  type: "secondary",
102
+ id: "column-settings-menu-icon",
92
103
  iconProps: {
93
104
  Component: IconSettings
94
105
  },
@@ -102,7 +113,8 @@ function ColumnSettings(_ref) {
102
113
  position: "top-left",
103
114
  onClose: closeUserMenu,
104
115
  isOpen: isOpen,
105
- parentRef: ref
116
+ parentRef: ref,
117
+ additionalRef: menuButtonRef
106
118
  }, /*#__PURE__*/React.createElement("div", {
107
119
  className: "settings-menu__dropdown"
108
120
  }, /*#__PURE__*/React.createElement("div", {
@@ -48,7 +48,9 @@ import '../Tooltip/Tooltip.js';
48
48
  import '../SVGIcons/IconCheckmark.js';
49
49
 
50
50
  var Menu = function Menu(props) {
51
- var _props$menuItems = props.menuItems,
51
+ var _props$additionalRef = props.additionalRef,
52
+ additionalRef = _props$additionalRef === void 0 ? null : _props$additionalRef,
53
+ _props$menuItems = props.menuItems,
52
54
  menuItems = _props$menuItems === void 0 ? [] : _props$menuItems,
53
55
  parentRef = props.parentRef,
54
56
  onClose = props.onClose,
@@ -64,7 +66,7 @@ var Menu = function Menu(props) {
64
66
  _useState2 = _slicedToArray(_useState, 2),
65
67
  menuRef = _useState2[0],
66
68
  setMenuRef = _useState2[1];
67
- useOnOutsideClick(menuRef, onClose, isOpen, useId());
69
+ useOnOutsideClick([menuRef, additionalRef], onClose, isOpen, useId());
68
70
  useHideOnScroll(onClose);
69
71
  var _useGetElemPositions = useGetElemPositions(parentRef),
70
72
  left = _useGetElemPositions.left,
@@ -17,6 +17,7 @@ export type TMenuProps = {
17
17
  isOpen: boolean;
18
18
  withTitleOption?: boolean;
19
19
  children?: ReactNode;
20
+ additionalRef?: HTMLButtonElement | null;
20
21
  };
21
22
  export type TNestedMenuItemProps = {
22
23
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ab-ui-library",
3
- "version": "1.44.0",
3
+ "version": "1.44.1",
4
4
  "description": "UI library for AM",
5
5
  "main": "./index.js",
6
6
  "module": "./index.js",