linear-react-components-ui 0.4.76-rc.7 → 0.4.76
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/.husky/pre-commit +2 -2
- package/README.md +19 -7
- package/lib/assets/styles/button.scss +19 -10
- package/lib/assets/styles/checkbox.scss +92 -70
- package/lib/assets/styles/commons.scss +36 -0
- package/lib/assets/styles/drawers.scss +22 -6
- package/lib/assets/styles/dropdown.scss +3 -0
- package/lib/assets/styles/effects.scss +20 -0
- package/lib/assets/styles/gridlayout.scss +2 -1
- package/lib/assets/styles/input.scss +21 -0
- package/lib/assets/styles/label.scss +9 -1
- package/lib/assets/styles/list.scss +8 -0
- package/lib/assets/styles/panel.scss +4 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/select.scss +3 -3
- package/lib/assets/styles/sidenav.scss +11 -1
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +17 -5
- package/lib/assets/styles/tabs.scss +51 -44
- package/lib/assets/styles/treeview.scss +9 -0
- package/lib/assets/styles/uitour.scss +112 -0
- package/lib/buttons/DefaultButton.js +7 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +1 -1
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +16 -9
- package/lib/dialog/form/index.js +10 -3
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/dropdown/Popup.js +3 -2
- package/lib/form/FieldNumber.js +1 -1
- package/lib/form/FieldPeriod.js +1 -1
- package/lib/form/form.spec.js +8 -0
- package/lib/form/helpers.js +12 -1
- package/lib/form/index.js +61 -47
- package/lib/form/withFieldHOC.js +3 -1
- package/lib/icons/helper.js +8 -0
- package/lib/inputs/base/InputTextBase.js +40 -6
- package/lib/inputs/base/helpers.js +15 -3
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +46 -36
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +12 -10
- package/lib/inputs/mask/Phone.js +10 -1
- package/lib/inputs/mask/imaskHOC.js +2 -1
- package/lib/inputs/mask/input_mask.spec.js +21 -4
- package/lib/inputs/search/index.js +2 -0
- package/lib/inputs/select/Dropdown.js +51 -61
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/multiple/index.js +8 -5
- package/lib/inputs/select/simple/index.js +9 -6
- package/lib/internals/constants.js +4 -3
- package/lib/internals/withTooltip.js +14 -11
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/list/Item.js +35 -9
- package/lib/list/helpers.js +8 -3
- package/lib/list/index.js +161 -13
- package/lib/list/list.spec.js +259 -102
- package/lib/menus/sidenav/NavMenuItem.js +17 -8
- package/lib/menus/sidenav/index.js +53 -84
- package/lib/menus/sidenav/popup_menu_search/index.js +25 -16
- package/lib/menus/sidenav/sidenav.spec.js +86 -19
- package/lib/panel/Header.js +4 -3
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/table/Body.js +55 -11
- package/lib/table/Header.js +14 -1
- package/lib/table/HeaderColumn.js +26 -3
- package/lib/table/Row.js +18 -7
- package/lib/table/RowColumn.js +23 -3
- package/lib/table/helpers.js +11 -1
- package/lib/table/index.js +41 -8
- package/lib/tabs/Menu.js +1 -11
- package/lib/tabs/MenuItems.js +9 -3
- package/lib/tabs/index.js +78 -53
- package/lib/tabs/tabs.spec.js +8 -5
- package/lib/toolbar/ButtonBar.js +30 -24
- package/lib/toolbar/LabelBar.js +22 -27
- package/lib/toolbar/helpers.js +12 -0
- package/lib/toolbar/index.js +23 -12
- package/lib/tooltip/index.js +8 -7
- package/lib/treeview/Node.js +248 -203
- package/lib/treeview/index.js +40 -20
- package/lib/treeview/treeview.spec.js +18 -0
- package/lib/uitour/helpers.js +15 -0
- package/lib/uitour/index.js +271 -0
- package/lib/uitour/uitour.spec.js +176 -0
- package/package.json +1 -1
- package/.DS_Store +0 -0
|
@@ -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,
|
|
@@ -134,9 +139,10 @@ NavMenuItem.propTypes = {
|
|
|
134
139
|
url: _propTypes["default"].string,
|
|
135
140
|
customClass: _propTypes["default"].string,
|
|
136
141
|
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
137
|
-
minWidth: _propTypes["default"].
|
|
138
|
-
maxWidth: _propTypes["default"].
|
|
139
|
-
columnsQtty: _propTypes["default"].number
|
|
142
|
+
minWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
143
|
+
maxWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _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
|
-
|
|
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)(
|
|
101
|
+
var _useState3 = (0, _react.useState)([]),
|
|
102
102
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
109
|
-
|
|
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
|
-
|
|
114
|
-
|
|
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
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
},
|
|
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:
|
|
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)(
|
|
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,40 @@ 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,
|
|
109
|
+
selectOnEnter: true,
|
|
104
110
|
style: {
|
|
105
|
-
margin: '25px 0px'
|
|
111
|
+
margin: '25px 0px',
|
|
112
|
+
border: 'none',
|
|
113
|
+
boxShadow: 'none'
|
|
106
114
|
}
|
|
107
|
-
}, searchResult
|
|
115
|
+
}, searchResult.map(function (item) {
|
|
108
116
|
return /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
109
|
-
key:
|
|
117
|
+
key: item.id,
|
|
118
|
+
itemId: item.id,
|
|
110
119
|
url: item.url,
|
|
111
|
-
text: item.content
|
|
112
|
-
onClick: handlerClose
|
|
120
|
+
text: item.content
|
|
113
121
|
});
|
|
114
122
|
}));
|
|
115
123
|
}
|
|
@@ -136,8 +144,9 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
|
|
|
136
144
|
},
|
|
137
145
|
inputRef: searchFieldRef,
|
|
138
146
|
value: searchFieldContent,
|
|
147
|
+
placeHolder: menuSearchPlaceholder,
|
|
139
148
|
onReset: function onReset() {
|
|
140
|
-
|
|
149
|
+
search('');
|
|
141
150
|
}
|
|
142
151
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
143
152
|
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
|
|
219
|
-
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
|
|
227
|
-
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
|
|
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
|
-
|
|
230
|
+
_render6 = (0, _react2.render)(sidebarNavMockRender({
|
|
239
231
|
menuSize: 'large'
|
|
240
|
-
})), 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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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/panel/Header.js
CHANGED
|
@@ -64,7 +64,7 @@ var PanelHeader = function PanelHeader(props) {
|
|
|
64
64
|
style: style
|
|
65
65
|
}, (icon || titleIcon) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
66
66
|
className: "".concat(icon !== null || titleIcon !== null ? 'icon-left-panel' : '')
|
|
67
|
-
}, getIcon(titleIcon, icon)), /*#__PURE__*/_react["default"].createElement("h1", {
|
|
67
|
+
}, getIcon(titleIcon, icon)), title && /*#__PURE__*/_react["default"].createElement("h1", {
|
|
68
68
|
className: "title ".concat(customClassForTitle),
|
|
69
69
|
style: styleForTitle
|
|
70
70
|
}, title), toggleable && /*#__PURE__*/_react["default"].createElement(_buttons.ButtonContainer, {
|
|
@@ -83,7 +83,7 @@ var PanelHeader = function PanelHeader(props) {
|
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
PanelHeader.propTypes = {
|
|
86
|
-
title: _propTypes["default"].string
|
|
86
|
+
title: _propTypes["default"].string,
|
|
87
87
|
children: _propTypes["default"].element,
|
|
88
88
|
icon: _propTypes["default"].instanceOf(Object),
|
|
89
89
|
titleIcon: _propTypes["default"].string,
|
|
@@ -101,7 +101,8 @@ PanelHeader.defaultProps = {
|
|
|
101
101
|
styleForTitle: {},
|
|
102
102
|
customClassForTitle: '',
|
|
103
103
|
headerColored: true,
|
|
104
|
-
children: null
|
|
104
|
+
children: null,
|
|
105
|
+
title: ''
|
|
105
106
|
};
|
|
106
107
|
var _default = PanelHeader;
|
|
107
108
|
exports["default"] = _default;
|
package/lib/radio/index.js
CHANGED
|
@@ -50,7 +50,8 @@ var Radio = function Radio(props) {
|
|
|
50
50
|
_onChange = props.onChange,
|
|
51
51
|
id = props.id,
|
|
52
52
|
checked = props.checked,
|
|
53
|
-
permissionAttr = props.permissionAttr
|
|
53
|
+
permissionAttr = props.permissionAttr,
|
|
54
|
+
skeletonize = props.skeletonize;
|
|
54
55
|
|
|
55
56
|
var _useState = (0, _react.useState)(checked),
|
|
56
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -68,7 +69,7 @@ var Radio = function Radio(props) {
|
|
|
68
69
|
}, [checked]);
|
|
69
70
|
|
|
70
71
|
var shouldDisable = function shouldDisable() {
|
|
71
|
-
return disabled || onDenied.disabled;
|
|
72
|
+
return disabled || onDenied.disabled || skeletonize;
|
|
72
73
|
};
|
|
73
74
|
|
|
74
75
|
var getCustomProps = function getCustomProps() {
|
|
@@ -96,7 +97,7 @@ var Radio = function Radio(props) {
|
|
|
96
97
|
|
|
97
98
|
if (onDenied.unvisible) return null;
|
|
98
99
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
99
|
-
className: "radio-button ".concat(disabled)
|
|
100
|
+
className: "radio-button ".concat(disabled ? 'disabled' : '', " ").concat(skeletonize ? '-skeletonized' : '')
|
|
100
101
|
}, /*#__PURE__*/_react["default"].createElement("input", _extends({}, getCustomProps(), {
|
|
101
102
|
className: "radio-component",
|
|
102
103
|
type: "radio",
|
|
@@ -108,7 +109,7 @@ var Radio = function Radio(props) {
|
|
|
108
109
|
})), /*#__PURE__*/_react["default"].createElement("label", {
|
|
109
110
|
className: "description",
|
|
110
111
|
htmlFor: id
|
|
111
|
-
}, label));
|
|
112
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, label)));
|
|
112
113
|
};
|
|
113
114
|
|
|
114
115
|
Radio.propTypes = {
|
|
@@ -121,7 +122,8 @@ Radio.propTypes = {
|
|
|
121
122
|
required: _propTypes["default"].bool,
|
|
122
123
|
onChange: _propTypes["default"].func,
|
|
123
124
|
checked: _propTypes["default"].bool,
|
|
124
|
-
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
|
|
125
|
+
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
126
|
+
skeletonize: _propTypes["default"].bool
|
|
125
127
|
};
|
|
126
128
|
Radio.defaultProps = {
|
|
127
129
|
label: null,
|
|
@@ -132,7 +134,8 @@ Radio.defaultProps = {
|
|
|
132
134
|
value: undefined,
|
|
133
135
|
checked: undefined,
|
|
134
136
|
id: undefined,
|
|
135
|
-
permissionAttr: undefined
|
|
137
|
+
permissionAttr: undefined,
|
|
138
|
+
skeletonize: false
|
|
136
139
|
};
|
|
137
140
|
var _default = Radio;
|
|
138
141
|
exports["default"] = _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
var SkeletonContainer = function SkeletonContainer(_ref) {
|
|
15
|
+
var children = _ref.children,
|
|
16
|
+
row = _ref.row,
|
|
17
|
+
customClass = _ref.customClass,
|
|
18
|
+
style = _ref.style;
|
|
19
|
+
|
|
20
|
+
var getClass = function getClass() {
|
|
21
|
+
return "skeletoncontainer-component ".concat(customClass, "\n ").concat(row && '-row');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
25
|
+
className: getClass(),
|
|
26
|
+
style: style
|
|
27
|
+
}, children);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
SkeletonContainer.propTypes = {
|
|
31
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].arrayOf(_propTypes["default"].element)]).isRequired,
|
|
32
|
+
row: _propTypes["default"].bool,
|
|
33
|
+
customClass: _propTypes["default"].string,
|
|
34
|
+
style: _propTypes["default"].object
|
|
35
|
+
};
|
|
36
|
+
SkeletonContainer.defaultProps = {
|
|
37
|
+
row: false,
|
|
38
|
+
customClass: undefined,
|
|
39
|
+
style: null
|
|
40
|
+
};
|
|
41
|
+
var _default = SkeletonContainer;
|
|
42
|
+
exports["default"] = _default;
|