tenjin-ui-kit 0.3.19 → 0.3.20

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.
@@ -7,8 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
10
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
11
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
10
12
  var _fa = require("react-icons/fa");
11
- var _text = _interopRequireDefault(require("../text"));
13
+ var _tenjinUiKit = require("tenjin-ui-kit");
12
14
  var _excluded = ["options", "onChange", "value", "defaultValue", "fullWidth"];
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -32,10 +34,10 @@ var GroupedSelect = function GroupedSelect(_ref) {
32
34
  _React$useState2 = _slicedToArray(_React$useState, 2),
33
35
  searchTerm = _React$useState2[0],
34
36
  setSearchTerm = _React$useState2[1];
35
- var _React$useState3 = React.useState(false),
37
+ var _React$useState3 = React.useState(null),
36
38
  _React$useState4 = _slicedToArray(_React$useState3, 2),
37
- isOpen = _React$useState4[0],
38
- setIsOpen = _React$useState4[1];
39
+ anchorEl = _React$useState4[0],
40
+ setAnchorEl = _React$useState4[1];
39
41
  var _React$useState5 = React.useState(propValue || defaultValue),
40
42
  _React$useState6 = _slicedToArray(_React$useState5, 2),
41
43
  value = _React$useState6[0],
@@ -57,18 +59,22 @@ var GroupedSelect = function GroupedSelect(_ref) {
57
59
  return option.label.toLowerCase().includes(searchTerm) || option.pageTitle.toLowerCase().includes(searchTerm);
58
60
  });
59
61
  var groupedOptions = groupOptionsByPageTitle(filteredOptions);
60
- var toggleDropdown = function toggleDropdown() {
61
- return setIsOpen(!isOpen);
62
+ var toggleDropdown = function toggleDropdown(event) {
63
+ setAnchorEl(event.currentTarget);
62
64
  };
63
65
  var handleOptionClick = function handleOptionClick(selectedValue) {
64
66
  setValue(selectedValue);
65
- setIsOpen(false);
67
+ setAnchorEl(null);
66
68
  onChange({
67
69
  target: {
68
70
  value: selectedValue
69
71
  }
70
72
  });
71
73
  };
74
+ var handleCloseMenu = function handleCloseMenu() {
75
+ setAnchorEl(null); // Close Menu
76
+ };
77
+
72
78
  return /*#__PURE__*/React.createElement(_FormControl.default, {
73
79
  sx: {
74
80
  m: 1,
@@ -87,7 +93,9 @@ var GroupedSelect = function GroupedSelect(_ref) {
87
93
  borderRadius: "4px",
88
94
  cursor: "pointer",
89
95
  flexDirection: "row",
90
- display: "flex"
96
+ display: "flex",
97
+ alignItems: "center",
98
+ justifyContent: "space-between"
91
99
  }
92
100
  }, /*#__PURE__*/React.createElement("div", {
93
101
  style: {
@@ -95,17 +103,28 @@ var GroupedSelect = function GroupedSelect(_ref) {
95
103
  }
96
104
  }, value ? options.find(function (opt) {
97
105
  return opt.value === value;
98
- }).label : "Select Option"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_fa.FaCaretDown, null))), isOpen && /*#__PURE__*/React.createElement("div", {
106
+ }).label : "Select Option"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_fa.FaCaretDown, null))), /*#__PURE__*/React.createElement(_Menu.default, {
107
+ anchorEl: anchorEl,
108
+ open: Boolean(anchorEl),
109
+ onClose: handleCloseMenu,
110
+ PaperProps: {
111
+ style: {
112
+ maxHeight: 200,
113
+ minHeight: 150,
114
+ width: anchorEl ? anchorEl.offsetWidth : "26%"
115
+ }
116
+ },
117
+ anchorOrigin: {
118
+ vertical: "bottom",
119
+ horizontal: "left"
120
+ },
121
+ transformOrigin: {
122
+ vertical: "top",
123
+ horizontal: "left"
124
+ }
125
+ }, /*#__PURE__*/React.createElement("div", {
99
126
  style: {
100
- position: "absolute",
101
- top: "100%",
102
- left: 0,
103
- right: 0,
104
- border: "1px solid #ccc",
105
- borderTop: "none",
106
- borderRadius: "4px",
107
- backgroundColor: "#fff",
108
- zIndex: 1
127
+ padding: "10px"
109
128
  }
110
129
  }, /*#__PURE__*/React.createElement("input", {
111
130
  type: "text",
@@ -133,14 +152,14 @@ var GroupedSelect = function GroupedSelect(_ref) {
133
152
  options = _ref3[1];
134
153
  return /*#__PURE__*/React.createElement("div", {
135
154
  key: pageTitle
136
- }, /*#__PURE__*/React.createElement(_text.default, {
155
+ }, /*#__PURE__*/React.createElement(_tenjinUiKit.Text, {
137
156
  style: {
138
157
  padding: "5px 10px",
139
158
  backgroundColor: "#f5f5f5"
140
159
  },
141
160
  semibold: true
142
161
  }, pageTitle), options.map(function (option) {
143
- return /*#__PURE__*/React.createElement("div", {
162
+ return /*#__PURE__*/React.createElement(_MenuItem.default, {
144
163
  key: option.value,
145
164
  onClick: function onClick() {
146
165
  return handleOptionClick(option.value);
@@ -151,7 +170,7 @@ var GroupedSelect = function GroupedSelect(_ref) {
151
170
  }
152
171
  }, option.label);
153
172
  }));
154
- }))));
173
+ })))));
155
174
  };
156
175
  var _default = GroupedSelect;
157
176
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tenjin-ui-kit",
3
- "version": "0.3.19",
3
+ "version": "0.3.20",
4
4
  "repository": {
5
5
  "url": "https://gitlab.com/yethi/react/tenjin-ui-kit.git"
6
6
  },