linear-react-components-ui 0.4.76-beta.24 → 0.4.76-beta.27

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.
Files changed (87) hide show
  1. package/lib/alerts/AlertProvider.js +1 -1
  2. package/lib/alerts/BaseAlert.js +1 -1
  3. package/lib/assets/styles/effects.scss +20 -0
  4. package/lib/assets/styles/sidenav.scss +7 -1
  5. package/lib/assets/styles/table.scss +13 -0
  6. package/lib/assets/styles/uitour.scss +112 -0
  7. package/lib/buttons/DefaultButton.js +1 -1
  8. package/lib/buttons/index.js +28 -28
  9. package/lib/calendar/base/helpers.js +6 -6
  10. package/lib/calendar/base/index.js +1 -1
  11. package/lib/calendar/index.js +10 -10
  12. package/lib/checkbox/index.js +1 -1
  13. package/lib/dialog/index.js +6 -6
  14. package/lib/drawer/Drawer.js +1 -1
  15. package/lib/drawer/index.js +4 -4
  16. package/lib/dropdown/withDropdown.js +2 -2
  17. package/lib/fieldset/index.js +1 -1
  18. package/lib/form/Field.js +1 -1
  19. package/lib/form/helpers.js +1 -1
  20. package/lib/form/index.js +5 -5
  21. package/lib/form/withFieldHOC.js +1 -1
  22. package/lib/form/withFormSecurity.js +2 -2
  23. package/lib/index.js +12 -12
  24. package/lib/inputs/base/InputTextBase.js +24 -4
  25. package/lib/inputs/base/helpers.js +1 -1
  26. package/lib/inputs/color/index.js +1 -1
  27. package/lib/inputs/date/Dropdown.js +1 -1
  28. package/lib/inputs/date/helper.js +16 -0
  29. package/lib/inputs/date/helpers.js +1 -1
  30. package/lib/inputs/date/index.js +1 -1
  31. package/lib/inputs/inputHOC.js +1 -1
  32. package/lib/inputs/mask/Cnpj.js +1 -1
  33. package/lib/inputs/mask/Cpf.js +1 -1
  34. package/lib/inputs/mask/helpers.js +2 -2
  35. package/lib/inputs/mask/imaskHOC.js +1 -1
  36. package/lib/inputs/mask/index.js +4 -4
  37. package/lib/inputs/multiSelect/Dropdown.js +1 -1
  38. package/lib/inputs/multiSelect/index.js +1 -1
  39. package/lib/inputs/number/format_number.js +1 -1
  40. package/lib/inputs/period/Dropdown.js +1 -1
  41. package/lib/inputs/period/helper.js +1 -1
  42. package/lib/inputs/period/index.js +1 -1
  43. package/lib/inputs/search/index.js +1 -1
  44. package/lib/inputs/select/Dropdown.js +1 -1
  45. package/lib/inputs/select/helper.js +1 -1
  46. package/lib/inputs/select/multiple/index.js +3 -3
  47. package/lib/inputs/select/simple/index.js +3 -3
  48. package/lib/internals/constants.js +5 -4
  49. package/lib/internals/withTooltip.js +1 -1
  50. package/lib/labelMessages/index.js +1 -1
  51. package/lib/labels/DefaultLabel.js +1 -1
  52. package/lib/labels/index.js +10 -10
  53. package/lib/list/Item.js +32 -8
  54. package/lib/list/index.js +89 -11
  55. package/lib/list/list.spec.js +230 -102
  56. package/lib/menus/sidenav/NavMenuItem.js +13 -5
  57. package/lib/menus/sidenav/NavSubMenuItem.js +1 -1
  58. package/lib/menus/sidenav/helpers.js +1 -1
  59. package/lib/menus/sidenav/index.js +56 -90
  60. package/lib/menus/sidenav/popup_menu_search/index.js +22 -16
  61. package/lib/menus/sidenav/sidenav.spec.js +86 -19
  62. package/lib/panel/Default.js +1 -1
  63. package/lib/panel/helpers.js +1 -1
  64. package/lib/panel/index.js +14 -14
  65. package/lib/permissionValidations.js +1 -1
  66. package/lib/radio/index.js +1 -1
  67. package/lib/skeleton/SkeletonContainer.js +1 -1
  68. package/lib/spinner/index.js +1 -1
  69. package/lib/split/Split.js +1 -1
  70. package/lib/table/Body.js +41 -7
  71. package/lib/table/Header.js +12 -1
  72. package/lib/table/HeaderColumn.js +4 -2
  73. package/lib/table/Row.js +14 -7
  74. package/lib/table/RowColumn.js +4 -3
  75. package/lib/table/helpers.js +11 -1
  76. package/lib/table/index.js +41 -17
  77. package/lib/tabs/Panel.js +1 -1
  78. package/lib/tabs/index.js +1 -1
  79. package/lib/tabs/tabHelpers.js +2 -3
  80. package/lib/toolbar/index.js +8 -8
  81. package/lib/treeview/Node.js +1 -1
  82. package/lib/treeview/index.js +1 -1
  83. package/lib/treeview_old/Node.js +1 -1
  84. package/lib/uitour/helpers.js +15 -0
  85. package/lib/uitour/index.js +271 -0
  86. package/lib/uitour/uitour.spec.js +176 -0
  87. package/package.json +1 -1
@@ -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); }
@@ -35,7 +37,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
35
37
 
36
38
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
39
 
38
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
40
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
41
 
40
42
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
43
 
@@ -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),
@@ -93,6 +96,7 @@ var NavMenuItem = function NavMenuItem(props) {
93
96
  return /*#__PURE__*/_react["default"].createElement(_helpers.SubMenuContext.Provider, {
94
97
  value: contextValues()
95
98
  }, /*#__PURE__*/_react["default"].createElement("li", {
99
+ ref: targetRef,
96
100
  className: "item ".concat(url && !disabled && '-withlink', " ").concat(customClass, " ").concat(disabled && '-disabled'),
97
101
  onMouseEnter: function onMouseEnter(e) {
98
102
  _onMouseEnter(e);
@@ -136,7 +140,8 @@ NavMenuItem.propTypes = {
136
140
  permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
137
141
  minWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
138
142
  maxWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
139
- columnsQtty: _propTypes["default"].number
143
+ columnsQtty: _propTypes["default"].number,
144
+ targetRef: _propTypes["default"].func
140
145
  };
141
146
  NavMenuItem.defaultProps = {
142
147
  childrenIsSubMenu: true,
@@ -148,7 +153,10 @@ NavMenuItem.defaultProps = {
148
153
  permissionAttr: undefined,
149
154
  minWidth: 500,
150
155
  maxWidth: '90%',
151
- columnsQtty: 2
156
+ columnsQtty: 2,
157
+ targetRef: undefined
152
158
  };
153
- var _default = NavMenuItem;
159
+
160
+ var _default = (0, _withTooltip["default"])(NavMenuItem);
161
+
154
162
  exports["default"] = _default;
@@ -31,7 +31,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
31
31
 
32
32
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
33
 
34
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
34
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
35
35
 
36
36
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
37
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.SubMenuContext = exports.SideNavContext = void 0;
6
+ exports["default"] = exports.SideNavContext = exports.SubMenuContext = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -5,28 +5,28 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "ExpandedMenu", {
8
+ Object.defineProperty(exports, "NavMenuItem", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _ExpandMenu["default"];
11
+ return _NavMenuItem["default"];
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "NavMenuGroup", {
14
+ Object.defineProperty(exports, "NavSubMenuItem", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _NavMenuGroup["default"];
17
+ return _NavSubMenuItem["default"];
18
18
  }
19
19
  });
20
- Object.defineProperty(exports, "NavMenuItem", {
20
+ Object.defineProperty(exports, "NavMenuGroup", {
21
21
  enumerable: true,
22
22
  get: function get() {
23
- return _NavMenuItem["default"];
23
+ return _NavMenuGroup["default"];
24
24
  }
25
25
  });
26
- Object.defineProperty(exports, "NavSubMenuItem", {
26
+ Object.defineProperty(exports, "ExpandedMenu", {
27
27
  enumerable: true,
28
28
  get: function get() {
29
- return _NavSubMenuItem["default"];
29
+ return _ExpandMenu["default"];
30
30
  }
31
31
  });
32
32
  exports["default"] = void 0;
@@ -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 }; }
@@ -79,7 +79,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
79
79
 
80
80
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
81
81
 
82
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
82
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
83
83
 
84
84
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
85
85
 
@@ -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,
@@ -184,8 +139,6 @@ var SideNav = function SideNav(props) {
184
139
 
185
140
  var closeSearchMenuPopup = function closeSearchMenuPopup() {
186
141
  setOpenSearchMenuPopup(false);
187
- setSearchContent('');
188
- setSearchFieldHasNoFocus(true);
189
142
  };
190
143
 
191
144
  var compareChild = function compareChild(child) {
@@ -194,6 +147,7 @@ var SideNav = function SideNav(props) {
194
147
 
195
148
  if ((type === _NavMenuItem["default"] || type === _NavSubMenuItem["default"]) && !child.props.children) {
196
149
  menuItemsContent.push({
150
+ id: "".concat(child.props.title, "-").concat(_uuid["default"].v1()),
197
151
  content: child.props.title,
198
152
  url: child.props.url
199
153
  });
@@ -217,6 +171,24 @@ var SideNav = function SideNav(props) {
217
171
  }
218
172
  };
219
173
 
174
+ var openSearchMenu = function openSearchMenu() {
175
+ setOpenSearchMenuPopup(true);
176
+ if (searchFieldRef.current) searchFieldRef.current.focus();
177
+ };
178
+
179
+ var onKeyDown = function onKeyDown(e) {
180
+ if ([constants.keyCodes.F].includes(e.keyCode) && e.ctrlKey && e.shiftKey) {
181
+ e.preventDefault();
182
+ openSearchMenu();
183
+ }
184
+ };
185
+
186
+ (0, _react.useEffect)(function () {
187
+ document.addEventListener('keydown', onKeyDown);
188
+ return function () {
189
+ document.removeEventListener('keydown', onKeyDown);
190
+ };
191
+ }, []);
220
192
  (0, _react.useEffect)(function () {
221
193
  if (enableMenuSearch && sideNavRef && sideNavRef.current) {
222
194
  setSideNavDimensions(sideNavRef.current.getBoundingClientRect());
@@ -239,30 +211,24 @@ var SideNav = function SideNav(props) {
239
211
  key: "popup-menusearch-".concat(_uuid["default"].v1())
240
212
  }, /*#__PURE__*/_react["default"].createElement(_NavMenuItem["default"], {
241
213
  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());
214
+ customClass: "-customsidenavitem",
215
+ tooltip: "Pesquisar funcionalidades (CTRL+SHIFT+F)",
216
+ tooltipPosition: "right"
217
+ }, /*#__PURE__*/_react["default"].createElement("div", {
218
+ key: "searchMenuIcon",
219
+ className: "searchmenubutton",
220
+ role: "button",
221
+ tabIndex: "-1",
222
+ onKeyDown: function onKeyDown() {},
223
+ onClick: function onClick() {
224
+ if (!openSearchMenuPopup) openSearchMenu();else closeSearchMenuPopup();
262
225
  }
263
- }, returnLeftElements())), openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement(_popup_menu_search["default"], _extends({}, props, {
226
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
227
+ name: "search",
228
+ customClass: "searchmenuicon",
229
+ size: menuSize === 'small' && 16 || menuSize === 'medium' && 22 || menuSize === 'large' && 32
230
+ })), openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement(_popup_menu_search["default"], _extends({}, props, {
264
231
  style: getPopupMenuSearchStyle(),
265
- searchContent: searchContent,
266
232
  handlerClose: closeSearchMenuPopup,
267
233
  menuItemsContent: menuItemsContent && returnMenuItems()
268
234
  }))));
@@ -308,7 +274,7 @@ SideNav.defaultProps = {
308
274
  showExpandMenu: false,
309
275
  onExpandMenuClick: undefined,
310
276
  enableMenuSearch: false,
311
- menuSearchEmptyMessage: undefined
277
+ menuSearchEmptyMessage: ''
312
278
  };
313
279
  var _default = SideNav;
314
280
  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"));
@@ -35,7 +33,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
35
33
 
36
34
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
35
 
38
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
36
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
37
 
40
38
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
39
 
@@ -43,12 +41,11 @@ 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
46
  menuSearchEmptyMessage = props.menuSearchEmptyMessage;
50
47
 
51
- var _useState = (0, _react.useState)(searchContent),
48
+ var _useState = (0, _react.useState)(''),
52
49
  _useState2 = _slicedToArray(_useState, 2),
53
50
  searchFieldContent = _useState2[0],
54
51
  setSearchFieldContent = _useState2[1];
@@ -58,6 +55,11 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
58
55
  searchResult = _useState4[0],
59
56
  setSearchResult = _useState4[1];
60
57
 
58
+ var _useState5 = (0, _react.useState)(''),
59
+ _useState6 = _slicedToArray(_useState5, 2),
60
+ defaultSelectedItemId = _useState6[0],
61
+ setDefaultSelectedItemId = _useState6[1];
62
+
61
63
  var searchFieldRef = (0, _react.useRef)(null);
62
64
  var popupRef = (0, _react.useRef)(document.createElement('div'));
63
65
  popupRef.current.className = 'searchmenu';
@@ -81,35 +83,39 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
81
83
  (0, _react.useEffect)(function () {
82
84
  popupRef.current.style = style;
83
85
  }, [style]);
86
+ (0, _react.useEffect)(function () {
87
+ if (searchResult.length > 0) setDefaultSelectedItemId(searchResult[0].id);
88
+ }, []);
84
89
 
85
90
  var search = function search(value) {
86
91
  var filter = value.toLowerCase();
87
92
  var result = menuItemsContent && menuItemsContent.filter(function (item) {
88
93
  return item.content.toLowerCase().includes(filter);
89
94
  });
95
+ if (result.length > 0) setDefaultSelectedItemId(result[0].id);
90
96
  setSearchFieldContent(value);
91
97
  setSearchResult(result);
92
98
  };
93
99
 
94
- (0, _react.useEffect)(function () {
95
- setSearchFieldContent(searchContent);
96
- search(searchContent);
97
- }, [searchContent]);
98
-
99
100
  var returnList = function returnList() {
100
101
  if (searchResult && searchResult.length > 0) {
101
102
  return /*#__PURE__*/_react["default"].createElement(_list["default"], {
102
103
  condensed: true,
103
104
  transparent: true,
105
+ selectable: true,
106
+ onSelectItem: handlerClose,
107
+ selectedItemId: defaultSelectedItemId,
104
108
  style: {
105
- margin: '25px 0px'
109
+ margin: '25px 0px',
110
+ border: 'none',
111
+ boxShadow: 'none'
106
112
  }
107
- }, searchResult && searchResult.map(function (item) {
113
+ }, searchResult.map(function (item) {
108
114
  return /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
109
- key: "".concat(item.content, "-").concat(_uuid["default"].v1()),
115
+ key: item.id,
116
+ itemId: item.id,
110
117
  url: item.url,
111
- text: item.content,
112
- onClick: handlerClose
118
+ text: item.content
113
119
  });
114
120
  }));
115
121
  }
@@ -137,7 +143,7 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
137
143
  inputRef: searchFieldRef,
138
144
  value: searchFieldContent,
139
145
  onReset: function onReset() {
140
- setSearchFieldContent('');
146
+ search('');
141
147
  }
142
148
  }), /*#__PURE__*/_react["default"].createElement("div", {
143
149
  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
  });
@@ -35,7 +35,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
35
35
 
36
36
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
37
 
38
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
38
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
39
 
40
40
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
41
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
6
  exports.numberAroundZeroAndOne = numberAroundZeroAndOne;
7
+ exports["default"] = void 0;
8
8
 
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
 
@@ -3,46 +3,46 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "DangerPanel", {
6
+ Object.defineProperty(exports, "PrimaryPanel", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _DangerPanel["default"];
9
+ return _PrimaryPanel["default"];
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "InfoPanel", {
12
+ Object.defineProperty(exports, "DangerPanel", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _InfoPanel["default"];
15
+ return _DangerPanel["default"];
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "PanelContent", {
18
+ Object.defineProperty(exports, "WarningPanel", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _Content["default"];
21
+ return _WarningPanel["default"];
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "PanelHeader", {
24
+ Object.defineProperty(exports, "SuccessPanel", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _Header["default"];
27
+ return _SuccessPanel["default"];
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "PrimaryPanel", {
30
+ Object.defineProperty(exports, "InfoPanel", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _PrimaryPanel["default"];
33
+ return _InfoPanel["default"];
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "SuccessPanel", {
36
+ Object.defineProperty(exports, "PanelHeader", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _SuccessPanel["default"];
39
+ return _Header["default"];
40
40
  }
41
41
  });
42
- Object.defineProperty(exports, "WarningPanel", {
42
+ Object.defineProperty(exports, "PanelContent", {
43
43
  enumerable: true,
44
44
  get: function get() {
45
- return _WarningPanel["default"];
45
+ return _Content["default"];
46
46
  }
47
47
  });
48
48
  exports["default"] = void 0;