linear-react-components-ui 0.4.76-beta.32 → 0.4.76-beta.35

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.
@@ -19,6 +19,8 @@ var _helpers = require("./helpers");
19
19
 
20
20
  var _permissionValidations = require("../../permissionValidations");
21
21
 
22
+ var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
25
 
24
26
  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); }
@@ -49,7 +51,8 @@ var NavMenuItem = function NavMenuItem(props) {
49
51
  permissionAttr = props.permissionAttr,
50
52
  maxWidth = props.maxWidth,
51
53
  minWidth = props.minWidth,
52
- columnsQtty = props.columnsQtty;
54
+ columnsQtty = props.columnsQtty,
55
+ targetRef = props.targetRef;
53
56
 
54
57
  var _useState = (0, _react.useState)(false),
55
58
  _useState2 = _slicedToArray(_useState, 2),
@@ -69,7 +72,8 @@ var NavMenuItem = function NavMenuItem(props) {
69
72
 
70
73
  var _useContext = (0, _react.useContext)(_helpers.SideNavContext),
71
74
  isExpanded = _useContext.isExpanded,
72
- menuSize = _useContext.menuSize;
75
+ menuSize = _useContext.menuSize,
76
+ openSearchMenuPopup = _useContext.openSearchMenuPopup;
73
77
 
74
78
  var unvisible = onDenied.unvisible,
75
79
  disabled = onDenied.disabled;
@@ -93,6 +97,7 @@ var NavMenuItem = function NavMenuItem(props) {
93
97
  return /*#__PURE__*/_react["default"].createElement(_helpers.SubMenuContext.Provider, {
94
98
  value: contextValues()
95
99
  }, /*#__PURE__*/_react["default"].createElement("li", {
100
+ ref: targetRef,
96
101
  className: "item ".concat(url && !disabled && '-withlink', " ").concat(customClass, " ").concat(disabled && '-disabled'),
97
102
  onMouseEnter: function onMouseEnter(e) {
98
103
  _onMouseEnter(e);
@@ -108,7 +113,7 @@ var NavMenuItem = function NavMenuItem(props) {
108
113
  customClass: "menuicon"
109
114
  }), isExpanded && /*#__PURE__*/_react["default"].createElement("span", {
110
115
  className: "title"
111
- }, title), !childrenIsSubMenu && children)), showSubMenu && children && childrenIsSubMenu && !disabled && /*#__PURE__*/_react["default"].createElement("div", {
116
+ }, title), !childrenIsSubMenu && children)), showSubMenu && children && childrenIsSubMenu && !disabled && !openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement("div", {
112
117
  className: "submenu-container",
113
118
  style: {
114
119
  marginLeft: targetDimensions.width,
@@ -136,7 +141,8 @@ NavMenuItem.propTypes = {
136
141
  permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
137
142
  minWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
138
143
  maxWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
139
- columnsQtty: _propTypes["default"].number
144
+ columnsQtty: _propTypes["default"].number,
145
+ targetRef: _propTypes["default"].func
140
146
  };
141
147
  NavMenuItem.defaultProps = {
142
148
  childrenIsSubMenu: true,
@@ -148,7 +154,10 @@ NavMenuItem.defaultProps = {
148
154
  permissionAttr: undefined,
149
155
  minWidth: 500,
150
156
  maxWidth: '90%',
151
- columnsQtty: 2
157
+ columnsQtty: 2,
158
+ targetRef: undefined
152
159
  };
153
- var _default = NavMenuItem;
160
+
161
+ var _default = (0, _withTooltip["default"])(NavMenuItem);
162
+
154
163
  exports["default"] = _default;
@@ -43,8 +43,6 @@ var _NavSubMenuItem = _interopRequireDefault(require("./NavSubMenuItem"));
43
43
 
44
44
  var _NavMenuGroup = _interopRequireDefault(require("./NavMenuGroup"));
45
45
 
46
- var _text = _interopRequireDefault(require("../../inputs/text"));
47
-
48
46
  var _ExpandMenu = _interopRequireDefault(require("./ExpandMenu"));
49
47
 
50
48
  require("../../assets/styles/sidenav.scss");
@@ -53,6 +51,8 @@ var _helpers = require("./helpers");
53
51
 
54
52
  var _icons = _interopRequireDefault(require("../../icons"));
55
53
 
54
+ var constants = _interopRequireWildcard(require("../../internals/constants"));
55
+
56
56
  var _popup_menu_search = _interopRequireDefault(require("./popup_menu_search"));
57
57
 
58
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -98,30 +98,20 @@ var SideNav = function SideNav(props) {
98
98
  isExpanded = _useState2[0],
99
99
  setIsExpanded = _useState2[1];
100
100
 
101
- var _useState3 = (0, _react.useState)(true),
101
+ var _useState3 = (0, _react.useState)([]),
102
102
  _useState4 = _slicedToArray(_useState3, 2),
103
- searchFieldHasNoFocus = _useState4[0],
104
- setSearchFieldHasNoFocus = _useState4[1];
103
+ menuItemsContent = _useState4[0],
104
+ setMenuItemsContent = _useState4[1];
105
105
 
106
- var _useState5 = (0, _react.useState)([]),
106
+ var _useState5 = (0, _react.useState)({}),
107
107
  _useState6 = _slicedToArray(_useState5, 2),
108
- menuItemsContent = _useState6[0],
109
- setMenuItemsContent = _useState6[1];
108
+ sideNavDimensions = _useState6[0],
109
+ setSideNavDimensions = _useState6[1];
110
110
 
111
- var _useState7 = (0, _react.useState)(''),
111
+ var _useState7 = (0, _react.useState)(false),
112
112
  _useState8 = _slicedToArray(_useState7, 2),
113
- searchContent = _useState8[0],
114
- setSearchContent = _useState8[1];
115
-
116
- var _useState9 = (0, _react.useState)({}),
117
- _useState10 = _slicedToArray(_useState9, 2),
118
- sideNavDimensions = _useState10[0],
119
- setSideNavDimensions = _useState10[1];
120
-
121
- var _useState11 = (0, _react.useState)(false),
122
- _useState12 = _slicedToArray(_useState11, 2),
123
- openSearchMenuPopup = _useState12[0],
124
- setOpenSearchMenuPopup = _useState12[1];
113
+ openSearchMenuPopup = _useState8[0],
114
+ setOpenSearchMenuPopup = _useState8[1];
125
115
 
126
116
  var searchFieldRef = (0, _react.useRef)(null);
127
117
  var sideNavRef = (0, _react.useRef)(null);
@@ -131,41 +121,6 @@ var SideNav = function SideNav(props) {
131
121
  if (onExpandMenuClick) onExpandMenuClick(!isExpanded);
132
122
  };
133
123
 
134
- var returnLeftElements = function returnLeftElements() {
135
- var propsTextField = {};
136
-
137
- if (searchFieldHasNoFocus) {
138
- propsTextField = {
139
- leftElements: [/*#__PURE__*/_react["default"].createElement("div", {
140
- key: "searchMenuIcon",
141
- role: "button",
142
- tabIndex: "-1",
143
- style: {
144
- width: '100%',
145
- height: '100%',
146
- display: 'flex',
147
- justifyContent: 'center'
148
- },
149
- onKeyDown: function onKeyDown() {},
150
- onClick: function onClick() {
151
- if (searchFieldRef && searchFieldRef.current) {
152
- setSearchFieldHasNoFocus(false);
153
- setTimeout(function () {
154
- searchFieldRef.current.focus();
155
- }, 150);
156
- }
157
- }
158
- }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
159
- name: "search",
160
- customClass: "searchmenuicon",
161
- size: menuSize === 'small' && 16 || menuSize === 'medium' && 22 || menuSize === 'large' && 32
162
- }))]
163
- };
164
- }
165
-
166
- return propsTextField;
167
- };
168
-
169
124
  var getPopupMenuSearchStyle = function getPopupMenuSearchStyle() {
170
125
  var left = sideNavDimensions.left,
171
126
  top = sideNavDimensions.top,
@@ -178,14 +133,13 @@ var SideNav = function SideNav(props) {
178
133
  var getContextValues = function getContextValues() {
179
134
  return {
180
135
  isExpanded: isExpanded,
181
- menuSize: menuSize
136
+ menuSize: menuSize,
137
+ openSearchMenuPopup: openSearchMenuPopup
182
138
  };
183
139
  };
184
140
 
185
141
  var closeSearchMenuPopup = function closeSearchMenuPopup() {
186
142
  setOpenSearchMenuPopup(false);
187
- setSearchContent('');
188
- setSearchFieldHasNoFocus(true);
189
143
  };
190
144
 
191
145
  var compareChild = function compareChild(child) {
@@ -194,6 +148,7 @@ var SideNav = function SideNav(props) {
194
148
 
195
149
  if ((type === _NavMenuItem["default"] || type === _NavSubMenuItem["default"]) && !child.props.children) {
196
150
  menuItemsContent.push({
151
+ id: "".concat(child.props.title, "-").concat(_uuid["default"].v1()),
197
152
  content: child.props.title,
198
153
  url: child.props.url
199
154
  });
@@ -217,6 +172,24 @@ var SideNav = function SideNav(props) {
217
172
  }
218
173
  };
219
174
 
175
+ var openSearchMenu = function openSearchMenu() {
176
+ setOpenSearchMenuPopup(true);
177
+ if (searchFieldRef.current) searchFieldRef.current.focus();
178
+ };
179
+
180
+ var onKeyDown = function onKeyDown(e) {
181
+ if ([constants.keyCodes.F].includes(e.keyCode) && e.ctrlKey && e.shiftKey) {
182
+ e.preventDefault();
183
+ openSearchMenu();
184
+ }
185
+ };
186
+
187
+ (0, _react.useEffect)(function () {
188
+ document.addEventListener('keydown', onKeyDown);
189
+ return function () {
190
+ document.removeEventListener('keydown', onKeyDown);
191
+ };
192
+ }, []);
220
193
  (0, _react.useEffect)(function () {
221
194
  if (enableMenuSearch && sideNavRef && sideNavRef.current) {
222
195
  setSideNavDimensions(sideNavRef.current.getBoundingClientRect());
@@ -239,30 +212,24 @@ var SideNav = function SideNav(props) {
239
212
  key: "popup-menusearch-".concat(_uuid["default"].v1())
240
213
  }, /*#__PURE__*/_react["default"].createElement(_NavMenuItem["default"], {
241
214
  childrenIsSubMenu: false,
242
- customClass: "-customsidenavitem"
243
- }, /*#__PURE__*/_react["default"].createElement(_text["default"], _extends({
244
- value: searchContent,
245
- customClassForWrapper: "-customsizes",
246
- customClass: "-customsizes",
247
- customClassForSideButtons: "-iconcenter",
248
- tooltip: "Pesquisar funcionalidades",
249
- tooltipPosition: "right",
250
- customClassForInputContent: searchFieldHasNoFocus ? '-hidden' : '',
251
- onFocus: function onFocus() {
252
- return setSearchFieldHasNoFocus(false);
253
- },
254
- onBlur: function onBlur(e) {
255
- if (e.target.value === '') setSearchFieldHasNoFocus(true);
256
- },
257
- inputRef: searchFieldRef,
258
- onChange: function onChange(e) {
259
- setSearchContent(e.target.value);
260
- setOpenSearchMenuPopup(e.target.value !== '');
261
- setSideNavDimensions(sideNavRef.current.getBoundingClientRect());
215
+ customClass: "-customsidenavitem",
216
+ tooltip: "Pesquisar funcionalidades (CTRL+SHIFT+F)",
217
+ tooltipPosition: "right"
218
+ }, /*#__PURE__*/_react["default"].createElement("div", {
219
+ key: "searchMenuIcon",
220
+ className: "searchmenubutton",
221
+ role: "button",
222
+ tabIndex: "-1",
223
+ onKeyDown: function onKeyDown() {},
224
+ onClick: function onClick() {
225
+ openSearchMenu();
262
226
  }
263
- }, returnLeftElements())), openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement(_popup_menu_search["default"], _extends({}, props, {
227
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
228
+ name: "search",
229
+ customClass: "searchmenuicon",
230
+ size: menuSize === 'small' && 16 || menuSize === 'medium' && 22 || menuSize === 'large' && 32
231
+ })), openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement(_popup_menu_search["default"], _extends({}, props, {
264
232
  style: getPopupMenuSearchStyle(),
265
- searchContent: searchContent,
266
233
  handlerClose: closeSearchMenuPopup,
267
234
  menuItemsContent: menuItemsContent && returnMenuItems()
268
235
  }))));
@@ -280,7 +247,7 @@ var SideNav = function SideNav(props) {
280
247
  return /*#__PURE__*/_react["default"].createElement(_helpers.SideNavContext.Provider, {
281
248
  value: getContextValues()
282
249
  }, /*#__PURE__*/_react["default"].createElement("div", {
283
- className: "sidenav-component ".concat(customClass),
250
+ className: "sidenav-component ".concat(openSearchMenuPopup ? '-blocked' : '', " ").concat(customClass),
284
251
  ref: sideNavRef
285
252
  }, showExpandMenu && /*#__PURE__*/_react["default"].createElement(_ExpandMenu["default"], {
286
253
  expandMenuCustomClass: "".concat(isExpanded && 'closefromexpanded', " ").concat(expandMenuCustomClass),
@@ -298,7 +265,8 @@ SideNav.propTypes = {
298
265
  showExpandMenu: _propTypes["default"].bool,
299
266
  children: _propTypes["default"].arrayOf(_propTypes["default"].element).isRequired,
300
267
  enableMenuSearch: _propTypes["default"].bool,
301
- menuSearchEmptyMessage: _propTypes["default"].string
268
+ menuSearchEmptyMessage: _propTypes["default"].string,
269
+ menuSearchPlaceholder: _propTypes["default"].string
302
270
  };
303
271
  SideNav.defaultProps = {
304
272
  expanded: true,
@@ -308,7 +276,8 @@ SideNav.defaultProps = {
308
276
  showExpandMenu: false,
309
277
  onExpandMenuClick: undefined,
310
278
  enableMenuSearch: false,
311
- menuSearchEmptyMessage: undefined
279
+ menuSearchEmptyMessage: '',
280
+ menuSearchPlaceholder: ''
312
281
  };
313
282
  var _default = SideNav;
314
283
  exports["default"] = _default;
@@ -9,8 +9,6 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _uuid = _interopRequireDefault(require("uuid"));
13
-
14
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
15
13
 
16
14
  var _search = _interopRequireDefault(require("../../../inputs/search"));
@@ -43,12 +41,12 @@ var body = document.getElementsByTagName('body')[0];
43
41
 
44
42
  var PopupMenuSearch = function PopupMenuSearch(props) {
45
43
  var style = props.style,
46
- searchContent = props.searchContent,
47
44
  menuItemsContent = props.menuItemsContent,
48
45
  handlerClose = props.handlerClose,
49
- menuSearchEmptyMessage = props.menuSearchEmptyMessage;
46
+ menuSearchEmptyMessage = props.menuSearchEmptyMessage,
47
+ menuSearchPlaceholder = props.menuSearchPlaceholder;
50
48
 
51
- var _useState = (0, _react.useState)(searchContent),
49
+ var _useState = (0, _react.useState)(''),
52
50
  _useState2 = _slicedToArray(_useState, 2),
53
51
  searchFieldContent = _useState2[0],
54
52
  setSearchFieldContent = _useState2[1];
@@ -58,6 +56,11 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
58
56
  searchResult = _useState4[0],
59
57
  setSearchResult = _useState4[1];
60
58
 
59
+ var _useState5 = (0, _react.useState)(''),
60
+ _useState6 = _slicedToArray(_useState5, 2),
61
+ defaultSelectedItemId = _useState6[0],
62
+ setDefaultSelectedItemId = _useState6[1];
63
+
61
64
  var searchFieldRef = (0, _react.useRef)(null);
62
65
  var popupRef = (0, _react.useRef)(document.createElement('div'));
63
66
  popupRef.current.className = 'searchmenu';
@@ -81,35 +84,39 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
81
84
  (0, _react.useEffect)(function () {
82
85
  popupRef.current.style = style;
83
86
  }, [style]);
87
+ (0, _react.useEffect)(function () {
88
+ if (searchResult.length > 0) setDefaultSelectedItemId(searchResult[0].id);
89
+ }, []);
84
90
 
85
91
  var search = function search(value) {
86
92
  var filter = value.toLowerCase();
87
93
  var result = menuItemsContent && menuItemsContent.filter(function (item) {
88
94
  return item.content.toLowerCase().includes(filter);
89
95
  });
96
+ if (result.length > 0) setDefaultSelectedItemId(result[0].id);
90
97
  setSearchFieldContent(value);
91
98
  setSearchResult(result);
92
99
  };
93
100
 
94
- (0, _react.useEffect)(function () {
95
- setSearchFieldContent(searchContent);
96
- search(searchContent);
97
- }, [searchContent]);
98
-
99
101
  var returnList = function returnList() {
100
102
  if (searchResult && searchResult.length > 0) {
101
103
  return /*#__PURE__*/_react["default"].createElement(_list["default"], {
102
104
  condensed: true,
103
105
  transparent: true,
106
+ selectable: true,
107
+ onSelectItem: handlerClose,
108
+ selectedItemId: defaultSelectedItemId,
104
109
  style: {
105
- margin: '25px 0px'
110
+ margin: '25px 0px',
111
+ border: 'none',
112
+ boxShadow: 'none'
106
113
  }
107
- }, searchResult && searchResult.map(function (item) {
114
+ }, searchResult.map(function (item) {
108
115
  return /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
109
- key: "".concat(item.content, "-").concat(_uuid["default"].v1()),
116
+ key: item.id,
117
+ itemId: item.id,
110
118
  url: item.url,
111
- text: item.content,
112
- onClick: handlerClose
119
+ text: item.content
113
120
  });
114
121
  }));
115
122
  }
@@ -136,8 +143,9 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
136
143
  },
137
144
  inputRef: searchFieldRef,
138
145
  value: searchFieldContent,
146
+ placeHolder: menuSearchPlaceholder,
139
147
  onReset: function onReset() {
140
- setSearchFieldContent('');
148
+ search('');
141
149
  }
142
150
  }), /*#__PURE__*/_react["default"].createElement("div", {
143
151
  style: {
@@ -206,38 +206,30 @@ describe('SideNav Menu', function () {
206
206
 
207
207
  expect(container.querySelector('.openclosemenu')).toBeInTheDocument();
208
208
  });
209
- it('should enable menu search', function () {
210
- var _render4 = (0, _react2.render)(sidebarNavMockRender({
211
- enableMenuSearch: true
212
- })),
213
- container = _render4.container;
214
-
215
- expect(container.querySelector('.inputwrapper')).toBeInTheDocument();
216
- });
217
209
  it('should render all items', function () {
218
- var _render5 = (0, _react2.render)(sidebarNavMockRender()),
219
- container = _render5.container;
210
+ var _render4 = (0, _react2.render)(sidebarNavMockRender()),
211
+ container = _render4.container;
220
212
  /* primeiro item é o float menu */
221
213
 
222
214
 
223
215
  expect(container.querySelectorAll('li.item').length - 1).toBe(menuDataMock.length);
224
216
  });
225
217
  it('should be rendering 3 items SVGs', function () {
226
- var _render6 = (0, _react2.render)(sidebarNavMockRender()),
227
- container = _render6.container;
218
+ var _render5 = (0, _react2.render)(sidebarNavMockRender()),
219
+ container = _render5.container;
228
220
 
229
221
  expect(container.querySelectorAll('li.item .icon-component').length).toBe(3);
230
222
  });
231
223
  it('should open submenu on over', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
232
- var _render7, container;
224
+ var _render6, container;
233
225
 
234
226
  return regeneratorRuntime.wrap(function _callee$(_context) {
235
227
  while (1) {
236
228
  switch (_context.prev = _context.next) {
237
229
  case 0:
238
- _render7 = (0, _react2.render)(sidebarNavMockRender({
230
+ _render6 = (0, _react2.render)(sidebarNavMockRender({
239
231
  menuSize: 'large'
240
- })), container = _render7.container;
232
+ })), container = _render6.container;
241
233
 
242
234
  _react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
243
235
 
@@ -257,13 +249,13 @@ describe('SideNav Menu', function () {
257
249
  }, _callee);
258
250
  })));
259
251
  it('submenu should render all items', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
260
- var _render8, container;
252
+ var _render7, container;
261
253
 
262
254
  return regeneratorRuntime.wrap(function _callee2$(_context2) {
263
255
  while (1) {
264
256
  switch (_context2.prev = _context2.next) {
265
257
  case 0:
266
- _render8 = (0, _react2.render)(sidebarNavMockRender()), container = _render8.container;
258
+ _render7 = (0, _react2.render)(sidebarNavMockRender()), container = _render7.container;
267
259
 
268
260
  _react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
269
261
 
@@ -283,13 +275,13 @@ describe('SideNav Menu', function () {
283
275
  }, _callee2);
284
276
  })));
285
277
  it('submenu should have title', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
286
- var _render9, container;
278
+ var _render8, container;
287
279
 
288
280
  return regeneratorRuntime.wrap(function _callee3$(_context3) {
289
281
  while (1) {
290
282
  switch (_context3.prev = _context3.next) {
291
283
  case 0:
292
- _render9 = (0, _react2.render)(sidebarNavMockRender()), container = _render9.container;
284
+ _render8 = (0, _react2.render)(sidebarNavMockRender()), container = _render8.container;
293
285
 
294
286
  _react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
295
287
 
@@ -308,5 +300,80 @@ describe('SideNav Menu', function () {
308
300
  }
309
301
  }, _callee3);
310
302
  })));
303
+ describe('Popup Search Menu', function () {
304
+ it('should enable menu search', function () {
305
+ var _render9 = (0, _react2.render)(sidebarNavMockRender({
306
+ enableMenuSearch: true
307
+ })),
308
+ container = _render9.container;
309
+
310
+ expect(container.querySelector('.searchmenubutton')).toBeInTheDocument();
311
+ });
312
+ it('should render tooltip on over menu search item', function () {
313
+ var _render10 = (0, _react2.render)(sidebarNavMockRender({
314
+ enableMenuSearch: true
315
+ })),
316
+ container = _render10.container;
317
+
318
+ var navitem = container.querySelector('.-customsidenavitem');
319
+
320
+ _react2.fireEvent.mouseOver(navitem);
321
+
322
+ expect(document.querySelector('.tooltip-component')).toBeInTheDocument();
323
+ });
324
+ it('should open popup menu when pressed HotKey', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
325
+ var _render11, container;
326
+
327
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
328
+ while (1) {
329
+ switch (_context4.prev = _context4.next) {
330
+ case 0:
331
+ _render11 = (0, _react2.render)(sidebarNavMockRender({
332
+ enableMenuSearch: true
333
+ })), container = _render11.container;
334
+
335
+ _react2.fireEvent.keyDown(container, {
336
+ key: 'F',
337
+ code: 'keyF',
338
+ keyCode: 70,
339
+ ctrlKey: true,
340
+ shiftKey: true
341
+ });
342
+
343
+ expect(document.querySelector('.searchmenu')).toBeInTheDocument();
344
+
345
+ case 3:
346
+ case "end":
347
+ return _context4.stop();
348
+ }
349
+ }
350
+ }, _callee4);
351
+ })));
352
+ it('should search on input change', function () {
353
+ var _render12 = (0, _react2.render)(sidebarNavMockRender({
354
+ enableMenuSearch: true
355
+ })),
356
+ container = _render12.container;
357
+
358
+ _react2.fireEvent.keyDown(container, {
359
+ key: 'F',
360
+ code: 'keyF',
361
+ keyCode: 70,
362
+ ctrlKey: true,
363
+ shiftKey: true
364
+ });
365
+
366
+ var input = document.querySelector('.searchmenu .inputwrapper .inputcontent .textinput');
367
+
368
+ _react2.fireEvent.change(input, {
369
+ target: {
370
+ value: 'A'
371
+ }
372
+ });
373
+
374
+ expect(document.querySelector('.searchmenu')).toBeInTheDocument();
375
+ expect(document.querySelectorAll('.searchmenu .list-component .item').length).toBe(5);
376
+ });
377
+ });
311
378
  });
312
379
  });
package/lib/table/Body.js CHANGED
@@ -63,7 +63,9 @@ var TableBody = function TableBody(_ref2) {
63
63
  skeletonize = context.skeletonize,
64
64
  skeletonInRows = context.skeletonInRows,
65
65
  strict = context.strict,
66
- vertical = context.vertical;
66
+ vertical = context.vertical,
67
+ columnsCount = context.columnsCount;
68
+ var isSkeletonized = skeletonize && !vertical && skeletonInRows && columnsCount;
67
69
  return bodyScrollable ? /*#__PURE__*/_react["default"].createElement("div", {
68
70
  className: "bodycontainer",
69
71
  ref: bodyContainerRef
@@ -74,11 +76,11 @@ var TableBody = function TableBody(_ref2) {
74
76
  contain: strict ? 'strict' : 'size layout style'
75
77
  }
76
78
  }, /*#__PURE__*/_react["default"].createElement("tbody", {
77
- className: "tbody ".concat(skeletonize && !vertical && skeletonInRows ? 'skeleton-transparency' : '', " ").concat(customClass)
79
+ className: "tbody ".concat(isSkeletonized ? 'skeleton-transparency' : '', " ").concat(customClass)
78
80
  }, renderChildren(_extends({}, context, {
79
81
  children: children
80
82
  }))))) : /*#__PURE__*/_react["default"].createElement("tbody", {
81
- className: "tbody ".concat(skeletonize && !vertical && skeletonInRows ? 'skeleton-transparency' : '', " ").concat(customClass)
83
+ className: "tbody ".concat(isSkeletonized ? 'skeleton-transparency' : '', " ").concat(customClass)
82
84
  }, renderChildren(_extends({}, context, {
83
85
  children: children
84
86
  })));
@@ -42,12 +42,14 @@ var getColumnsWidth = function getColumnsWidth(children) {
42
42
  };
43
43
 
44
44
  var getColumnsCount = function getColumnsCount(children) {
45
+ var columnsCount = 0;
46
+
45
47
  if (_lodash["default"].isArray(children) && children.length > 0 && children[0].props) {
46
- return children[0].props.children.length;
48
+ columnsCount = children[0].props.children.length;
47
49
  }
48
50
 
49
- if (children && children.props) return children.props.children.length;
50
- return undefined;
51
+ if (children && children.props) columnsCount = children.props.children.length;
52
+ return columnsCount;
51
53
  };
52
54
 
53
55
  var Header = function Header(_ref) {
@@ -260,11 +260,7 @@ var _initialiseProps = function _initialiseProps() {
260
260
  onKeyPress: null,
261
261
  tabIndex: 0,
262
262
  role: "button",
263
- style: isLoading ? {
264
- marginLeft: '-30px',
265
- marginTop: '-5px'
266
- } : null,
267
- className: "opencloseicon",
263
+ className: isLoading ? 'loading' : 'opencloseicon',
268
264
  onClick: function onClick() {
269
265
  return _this3.openCloseTree(node);
270
266
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "0.4.76-beta.32",
3
+ "version": "0.4.76-beta.35",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {