linear-react-components-ui 0.4.75 → 0.4.76-rc.0
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/.eslintrc.js +2 -5
- package/.tool-versions +1 -0
- package/.vscode/settings.json +8 -9
- package/README.md +23 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +12 -0
- package/config/jest/storageMock.js +40 -0
- package/jest.config.js +18 -0
- package/lib/alerts/alert.spec.js +133 -0
- package/lib/assets/styles/dropdown.scss +25 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +0 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/popover.scss +9 -11
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/table.scss +13 -5
- package/lib/assets/styles/tabs.scss +77 -43
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/avatar/index.js +6 -2
- package/lib/badge/badge.spec.js +127 -0
- package/lib/badge/index.js +3 -5
- package/lib/buttons/DefaultButton.js +7 -1
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/checkbox/index.js +21 -6
- package/lib/dialog/Custom.js +7 -1
- package/lib/dialog/base/index.js +18 -6
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.js +23 -4
- package/lib/drawer/Drawer.js +3 -0
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.js +4 -1
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +1 -0
- package/lib/dropdown/dropdown.spec.js +168 -0
- package/lib/dropdown/withDropdown.js +10 -4
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +285 -0
- package/lib/form/helpers.js +9 -1
- package/lib/form/index.js +76 -10
- package/lib/form/withFieldHOC.js +2 -0
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/gridlayout/GridRow.js +1 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.js +16 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.js +2 -0
- package/lib/inputs/base/InputTextBase.js +15 -5
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +2 -2
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/index.js +7 -6
- package/lib/inputs/mask/Cpf.js +9 -9
- package/lib/inputs/mask/input_mask.spec.js +590 -0
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/number/numberfield.spec.js +215 -0
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/search_input.spec.js +209 -0
- package/lib/inputs/select/Dropdown.js +4 -4
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +9 -7
- package/lib/inputs/select/select.spec.js +391 -0
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/internals/withTooltip.js +83 -82
- package/lib/labelMessages/index.js +3 -2
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labels/label.spec.js +162 -0
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +21 -10
- package/lib/list/list.spec.js +611 -0
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/menus/sidenav/sidenav.spec.js +312 -0
- package/lib/noPermission/index.js +2 -1
- package/lib/panel/panel.spec.js +216 -0
- package/lib/popover/index.js +2 -1
- package/lib/popover/popover.spec.js +146 -0
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/progress/progress.spec.js +86 -0
- package/lib/radio/radio.spec.js +189 -0
- package/lib/spinner/SpinnerLoading.js +14 -24
- package/lib/spinner/index.js +6 -1
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/Split.js +10 -12
- package/lib/split/split.spec.js +151 -0
- package/lib/table/Header.js +3 -1
- package/lib/table/Row.js +2 -5
- package/lib/table/index.js +1 -4
- package/lib/table/table.spec.js +352 -0
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- package/lib/tabs/MenuItems.js +7 -7
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +126 -17
- package/lib/tabs/tabs.spec.js +346 -0
- package/lib/toolbar/index.js +8 -4
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +13 -0
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +288 -18
- package/lib/treeview/index.js +448 -35
- package/lib/treeview/treeview.spec.js +261 -0
- package/package.json +19 -9
- package/.DS_Store +0 -0
package/lib/list/index.js
CHANGED
|
@@ -58,27 +58,34 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
58
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
59
59
|
|
|
60
60
|
var List = function List(props) {
|
|
61
|
-
var _useState = (0, _react.useState)(''),
|
|
62
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
-
selectedItemId = _useState2[0],
|
|
64
|
-
setSelectedItemId = _useState2[1];
|
|
65
|
-
|
|
66
61
|
var children = props.children,
|
|
67
62
|
customClass = props.customClass,
|
|
68
63
|
condensed = props.condensed,
|
|
69
64
|
transparent = props.transparent,
|
|
70
65
|
style = props.style,
|
|
71
|
-
selectable = props.selectable
|
|
66
|
+
selectable = props.selectable,
|
|
67
|
+
onSelectItem = props.onSelectItem;
|
|
68
|
+
|
|
69
|
+
var _useState = (0, _react.useState)(''),
|
|
70
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
71
|
+
selectedItemId = _useState2[0],
|
|
72
|
+
setSelectedItemId = _useState2[1];
|
|
73
|
+
|
|
72
74
|
var contextValues = {
|
|
73
75
|
selectable: selectable,
|
|
74
76
|
selectedItemId: selectedItemId,
|
|
75
|
-
handleSelectItem: function handleSelectItem(selectedId) {
|
|
76
|
-
setSelectedItemId(selectedId);
|
|
77
|
+
handleSelectItem: function handleSelectItem(selectedId, onClick) {
|
|
78
|
+
if (!onSelectItem && onClick) setSelectedItemId(selectedId);
|
|
79
|
+
if (onSelectItem) onSelectItem(selectedId);
|
|
77
80
|
}
|
|
78
81
|
};
|
|
82
|
+
(0, _react.useEffect)(function () {
|
|
83
|
+
if (onSelectItem && props.selectedItemId) setSelectedItemId(props.selectedItemId);
|
|
84
|
+
}, [props.selectedItemId]);
|
|
79
85
|
return /*#__PURE__*/_react["default"].createElement(_helpers["default"].Provider, {
|
|
80
86
|
value: contextValues
|
|
81
87
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
88
|
+
"data-testid": "list-component",
|
|
82
89
|
style: style,
|
|
83
90
|
className: "list-component ".concat(condensed && '-condensed', " ").concat(customClass, " ").concat(!transparent && '-listbackground')
|
|
84
91
|
}, children));
|
|
@@ -90,14 +97,18 @@ List.propTypes = {
|
|
|
90
97
|
customClass: _propTypes["default"].string,
|
|
91
98
|
condensed: _propTypes["default"].bool,
|
|
92
99
|
selectable: _propTypes["default"].bool,
|
|
93
|
-
style: _propTypes["default"].object
|
|
100
|
+
style: _propTypes["default"].object,
|
|
101
|
+
onSelectItem: _propTypes["default"].func,
|
|
102
|
+
selectedItemId: _propTypes["default"].string
|
|
94
103
|
};
|
|
95
104
|
List.defaultProps = {
|
|
96
105
|
customClass: '',
|
|
97
106
|
condensed: false,
|
|
98
107
|
transparent: false,
|
|
99
108
|
selectable: false,
|
|
100
|
-
style: {}
|
|
109
|
+
style: {},
|
|
110
|
+
onSelectItem: undefined,
|
|
111
|
+
selectedItemId: ''
|
|
101
112
|
};
|
|
102
113
|
var _default = List;
|
|
103
114
|
exports["default"] = _default;
|
|
@@ -0,0 +1,611 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
10
|
+
|
|
11
|
+
var _reactRouterDom = require("react-router-dom");
|
|
12
|
+
|
|
13
|
+
var _index = _interopRequireWildcard(require("./index"));
|
|
14
|
+
|
|
15
|
+
var _buttons = _interopRequireDefault(require("../buttons"));
|
|
16
|
+
|
|
17
|
+
var _icons = _interopRequireDefault(require("../icons"));
|
|
18
|
+
|
|
19
|
+
var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
|
|
20
|
+
|
|
21
|
+
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); }
|
|
22
|
+
|
|
23
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
|
+
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
26
|
+
|
|
27
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
28
|
+
|
|
29
|
+
describe('Components', function () {
|
|
30
|
+
// O componente BrowserRouter foi adicionado devido a thread:
|
|
31
|
+
// https://stackoverflow.com/questions/48640280/you-should-not-use-link-outside-a-router
|
|
32
|
+
var list = function list(listProps, listHeaderProps, listItemProps) {
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react["default"].createElement(_index["default"], listProps, /*#__PURE__*/_react["default"].createElement(_index.ListHeader, _extends({
|
|
34
|
+
title: "defaut"
|
|
35
|
+
}, listHeaderProps), /*#__PURE__*/_react["default"].createElement("p", {
|
|
36
|
+
className: "listheader-child"
|
|
37
|
+
}, "saas")), /*#__PURE__*/_react["default"].createElement(_index.ListItem, listItemProps, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
38
|
+
customClass: "childbuttontest",
|
|
39
|
+
label: "Teste Child"
|
|
40
|
+
}))));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var setSessionStorageMock = function setSessionStorageMock() {
|
|
44
|
+
Object.defineProperty(window, 'sessionStorage', {
|
|
45
|
+
value: (0, _storageMock["default"])()
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
describe('List', function () {
|
|
50
|
+
it('should render correctly', function () {
|
|
51
|
+
var _render = (0, _react2.render)(list()),
|
|
52
|
+
container = _render.container;
|
|
53
|
+
|
|
54
|
+
expect(container.firstChild).toHaveClass('list-component');
|
|
55
|
+
});
|
|
56
|
+
it('prop transparent should remove css class -listbackground', function () {
|
|
57
|
+
var _render2 = (0, _react2.render)(list({
|
|
58
|
+
transparent: true
|
|
59
|
+
})),
|
|
60
|
+
container = _render2.container;
|
|
61
|
+
|
|
62
|
+
expect(container.firstChild).not.toHaveClass('-listbackground');
|
|
63
|
+
});
|
|
64
|
+
it('should apply customClass', function () {
|
|
65
|
+
var customClass = 'teste';
|
|
66
|
+
|
|
67
|
+
var _render3 = (0, _react2.render)(list({
|
|
68
|
+
customClass: customClass
|
|
69
|
+
})),
|
|
70
|
+
container = _render3.container;
|
|
71
|
+
|
|
72
|
+
expect(container.firstChild).toHaveClass(customClass);
|
|
73
|
+
});
|
|
74
|
+
it('prop condensed should apply css class -condensed', function () {
|
|
75
|
+
var _render4 = (0, _react2.render)(list({
|
|
76
|
+
condensed: true
|
|
77
|
+
})),
|
|
78
|
+
container = _render4.container;
|
|
79
|
+
|
|
80
|
+
expect(container.firstChild).toHaveClass('-condensed');
|
|
81
|
+
});
|
|
82
|
+
it('should apply style', function () {
|
|
83
|
+
var style = {
|
|
84
|
+
marginTop: '10px',
|
|
85
|
+
paddingBottom: '2px'
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
var _render5 = (0, _react2.render)(list({
|
|
89
|
+
style: style
|
|
90
|
+
})),
|
|
91
|
+
container = _render5.container;
|
|
92
|
+
|
|
93
|
+
expect(container.firstChild).toHaveStyle(style);
|
|
94
|
+
});
|
|
95
|
+
it('should select item by id', function () {
|
|
96
|
+
var listItemProps = {
|
|
97
|
+
itemId: '1'
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var _render6 = (0, _react2.render)(list({
|
|
101
|
+
selectable: true,
|
|
102
|
+
onSelectItem: jest.fn(),
|
|
103
|
+
selectedItemId: '1'
|
|
104
|
+
}, {}, listItemProps)),
|
|
105
|
+
container = _render6.container;
|
|
106
|
+
|
|
107
|
+
var listItem = container.querySelector('.item-container');
|
|
108
|
+
expect(listItem).toHaveClass('-activedlist');
|
|
109
|
+
});
|
|
110
|
+
describe('prop selectable', function () {
|
|
111
|
+
it('should allow ListItem to be selected', function () {
|
|
112
|
+
var listItemProps = {
|
|
113
|
+
itemId: '1',
|
|
114
|
+
onClick: jest.fn()
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
var _render7 = (0, _react2.render)(list({
|
|
118
|
+
selectable: true
|
|
119
|
+
}, {}, listItemProps)),
|
|
120
|
+
container = _render7.container;
|
|
121
|
+
|
|
122
|
+
var listItem = container.querySelector('.item-container');
|
|
123
|
+
|
|
124
|
+
_react2.fireEvent.click(listItem);
|
|
125
|
+
|
|
126
|
+
expect(listItem).toHaveClass('-activedlist');
|
|
127
|
+
});
|
|
128
|
+
it('should call onSelectItem', function () {
|
|
129
|
+
var mockOnSelectItem = jest.fn();
|
|
130
|
+
|
|
131
|
+
var mockList = /*#__PURE__*/_react["default"].createElement(_index["default"], {
|
|
132
|
+
selectable: true,
|
|
133
|
+
onSelectItem: function onSelectItem(itemId) {
|
|
134
|
+
return mockOnSelectItem(itemId);
|
|
135
|
+
}
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(_index.ListItem, {
|
|
137
|
+
itemId: "1",
|
|
138
|
+
text: "Teste Foo"
|
|
139
|
+
}));
|
|
140
|
+
|
|
141
|
+
var _render8 = (0, _react2.render)(mockList),
|
|
142
|
+
container = _render8.container;
|
|
143
|
+
|
|
144
|
+
var listItem = container.querySelector('.item-container');
|
|
145
|
+
|
|
146
|
+
_react2.fireEvent.click(listItem);
|
|
147
|
+
|
|
148
|
+
expect(mockOnSelectItem).toHaveBeenCalledWith('1');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe('ListHeader', function () {
|
|
153
|
+
it('should render correctly', function () {
|
|
154
|
+
var _render9 = (0, _react2.render)(list()),
|
|
155
|
+
container = _render9.container;
|
|
156
|
+
|
|
157
|
+
expect(container.querySelector('.list-header')).toBeTruthy();
|
|
158
|
+
});
|
|
159
|
+
it('should apply title', function () {
|
|
160
|
+
var title = 'Teste Header';
|
|
161
|
+
|
|
162
|
+
var _render10 = (0, _react2.render)(list({}, {
|
|
163
|
+
title: title
|
|
164
|
+
})),
|
|
165
|
+
container = _render10.container;
|
|
166
|
+
|
|
167
|
+
var listHeaderTitle = container.querySelector('.list-header > .title');
|
|
168
|
+
expect(listHeaderTitle).toBeTruthy();
|
|
169
|
+
expect(listHeaderTitle).toHaveTextContent(title);
|
|
170
|
+
});
|
|
171
|
+
it('should apply style', function () {
|
|
172
|
+
var style = {
|
|
173
|
+
marginTop: '10px',
|
|
174
|
+
paddingBottom: '2px'
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
var _render11 = (0, _react2.render)(list({}, {
|
|
178
|
+
style: style
|
|
179
|
+
})),
|
|
180
|
+
container = _render11.container;
|
|
181
|
+
|
|
182
|
+
var listHeader = container.querySelector('.list-header');
|
|
183
|
+
expect(listHeader).toHaveStyle(style);
|
|
184
|
+
});
|
|
185
|
+
it('should apply customClass', function () {
|
|
186
|
+
var customClass = 'teste-listheader';
|
|
187
|
+
|
|
188
|
+
var _render12 = (0, _react2.render)(list({}, {
|
|
189
|
+
customClass: customClass
|
|
190
|
+
})),
|
|
191
|
+
container = _render12.container;
|
|
192
|
+
|
|
193
|
+
var listHeader = container.querySelector('.list-header');
|
|
194
|
+
expect(listHeader).toHaveClass(customClass);
|
|
195
|
+
});
|
|
196
|
+
it('should render children', function () {
|
|
197
|
+
var _render13 = (0, _react2.render)(list()),
|
|
198
|
+
container = _render13.container;
|
|
199
|
+
|
|
200
|
+
var listHeaderChild = container.querySelector('.list-header > .listheader-child');
|
|
201
|
+
expect(listHeaderChild).toBeTruthy();
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe('ListItem', function () {
|
|
205
|
+
it('should render correctly', function () {
|
|
206
|
+
var _render14 = (0, _react2.render)(list()),
|
|
207
|
+
container = _render14.container;
|
|
208
|
+
|
|
209
|
+
var listItem = container.querySelector('.item-container');
|
|
210
|
+
expect(listItem).toBeTruthy();
|
|
211
|
+
});
|
|
212
|
+
it('should apply text', function () {
|
|
213
|
+
var text = 'Teste Item 1';
|
|
214
|
+
|
|
215
|
+
var _render15 = (0, _react2.render)(list({}, {}, {
|
|
216
|
+
text: text
|
|
217
|
+
})),
|
|
218
|
+
container = _render15.container;
|
|
219
|
+
|
|
220
|
+
var listItemText = container.querySelector('.item-container .text');
|
|
221
|
+
expect(listItemText).toBeTruthy();
|
|
222
|
+
expect(listItemText).toHaveTextContent(text);
|
|
223
|
+
});
|
|
224
|
+
it('should apply subtext', function () {
|
|
225
|
+
var subText = 'Teste Item 1';
|
|
226
|
+
|
|
227
|
+
var _render16 = (0, _react2.render)(list({}, {}, {
|
|
228
|
+
subText: subText
|
|
229
|
+
})),
|
|
230
|
+
container = _render16.container;
|
|
231
|
+
|
|
232
|
+
var listItemSubText = container.querySelector('.item-container .subtext');
|
|
233
|
+
expect(listItemSubText).toBeTruthy();
|
|
234
|
+
expect(listItemSubText).toHaveTextContent(subText);
|
|
235
|
+
});
|
|
236
|
+
it('should apply style', function () {
|
|
237
|
+
var style = {
|
|
238
|
+
marginTop: '10px',
|
|
239
|
+
paddingBottom: '2px'
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
var _render17 = (0, _react2.render)(list({}, {}, {
|
|
243
|
+
style: style
|
|
244
|
+
})),
|
|
245
|
+
container = _render17.container;
|
|
246
|
+
|
|
247
|
+
var listItem = container.querySelector('.item-container');
|
|
248
|
+
expect(listItem).toHaveStyle(style);
|
|
249
|
+
});
|
|
250
|
+
describe('prop separator', function () {
|
|
251
|
+
var separator = true;
|
|
252
|
+
it('apply list-separator css class to text/subtext/children container', function () {
|
|
253
|
+
var _render18 = (0, _react2.render)(list({}, {}, {
|
|
254
|
+
text: 'Teste',
|
|
255
|
+
separator: separator
|
|
256
|
+
})),
|
|
257
|
+
container = _render18.container;
|
|
258
|
+
|
|
259
|
+
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
260
|
+
expect(listItemTextContainer).toHaveClass('list-separator');
|
|
261
|
+
});
|
|
262
|
+
it('apply list-separator css class to leftIcon/leftElement container', function () {
|
|
263
|
+
var _render19 = (0, _react2.render)(list({}, {}, {
|
|
264
|
+
leftIconName: 'pencil',
|
|
265
|
+
separator: separator
|
|
266
|
+
})),
|
|
267
|
+
container = _render19.container;
|
|
268
|
+
|
|
269
|
+
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
270
|
+
expect(listItemLeftElContainer).toHaveClass('list-separator');
|
|
271
|
+
});
|
|
272
|
+
it('apply list-separator css class to rightIcon/rightElement container', function () {
|
|
273
|
+
var _render20 = (0, _react2.render)(list({}, {}, {
|
|
274
|
+
rightIconName: 'pencil',
|
|
275
|
+
separator: separator
|
|
276
|
+
})),
|
|
277
|
+
container = _render20.container;
|
|
278
|
+
|
|
279
|
+
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
280
|
+
expect(listItemRightElContainer).toHaveClass('list-separator');
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
it('prop hovered should apply css class hovered ', function () {
|
|
284
|
+
var _render21 = (0, _react2.render)(list({}, {}, {
|
|
285
|
+
hovered: true
|
|
286
|
+
})),
|
|
287
|
+
container = _render21.container;
|
|
288
|
+
|
|
289
|
+
var listItem = container.querySelector('.item-container');
|
|
290
|
+
expect(listItem).toHaveClass('hovered');
|
|
291
|
+
});
|
|
292
|
+
describe('prop disabled', function () {
|
|
293
|
+
var disabled = true;
|
|
294
|
+
it('should disable onClick event', function () {
|
|
295
|
+
var mockFunc = jest.fn();
|
|
296
|
+
|
|
297
|
+
var _render22 = (0, _react2.render)(list({}, {}, {
|
|
298
|
+
disabled: disabled,
|
|
299
|
+
onClick: mockFunc
|
|
300
|
+
})),
|
|
301
|
+
container = _render22.container;
|
|
302
|
+
|
|
303
|
+
var listItem = container.querySelector('.item-container');
|
|
304
|
+
|
|
305
|
+
_react2.fireEvent.click(listItem);
|
|
306
|
+
|
|
307
|
+
expect(mockFunc).not.toBeCalled();
|
|
308
|
+
});
|
|
309
|
+
it('apply disabled css class to text/subtext/children container', function () {
|
|
310
|
+
var _render23 = (0, _react2.render)(list({}, {}, {
|
|
311
|
+
text: 'Teste',
|
|
312
|
+
disabled: disabled
|
|
313
|
+
})),
|
|
314
|
+
container = _render23.container;
|
|
315
|
+
|
|
316
|
+
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
317
|
+
expect(listItemTextContainer).toHaveClass('disabled');
|
|
318
|
+
});
|
|
319
|
+
it('apply disabled css class to leftIcon/leftElement container', function () {
|
|
320
|
+
var _render24 = (0, _react2.render)(list({}, {}, {
|
|
321
|
+
leftIconName: 'pencil',
|
|
322
|
+
disabled: disabled
|
|
323
|
+
})),
|
|
324
|
+
container = _render24.container;
|
|
325
|
+
|
|
326
|
+
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
327
|
+
expect(listItemLeftElContainer).toHaveClass('disabled');
|
|
328
|
+
});
|
|
329
|
+
it('apply disabled css class to rightIcon/rightElement container', function () {
|
|
330
|
+
var _render25 = (0, _react2.render)(list({}, {}, {
|
|
331
|
+
rightIconName: 'pencil',
|
|
332
|
+
disabled: disabled
|
|
333
|
+
})),
|
|
334
|
+
container = _render25.container;
|
|
335
|
+
|
|
336
|
+
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
337
|
+
expect(listItemRightElContainer).toHaveClass('disabled');
|
|
338
|
+
});
|
|
339
|
+
it('should hide url', function () {
|
|
340
|
+
var _render26 = (0, _react2.render)(list({}, {}, {
|
|
341
|
+
disabled: disabled,
|
|
342
|
+
url: 'saas'
|
|
343
|
+
})),
|
|
344
|
+
container = _render26.container;
|
|
345
|
+
|
|
346
|
+
var linkitem = container.querySelector('.linkitem');
|
|
347
|
+
expect(linkitem).not.toBeInTheDocument();
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
it('prop displayCheckbox should render Checkbox within subject', function () {
|
|
351
|
+
var _render27 = (0, _react2.render)(list({}, {}, {
|
|
352
|
+
displayCheckbox: true
|
|
353
|
+
})),
|
|
354
|
+
container = _render27.container;
|
|
355
|
+
|
|
356
|
+
var checkboxComponent = container.querySelector('.item-container .item.-icon-left .checkbox-component');
|
|
357
|
+
expect(checkboxComponent).toBeTruthy();
|
|
358
|
+
expect(checkboxComponent.name).toEqual('checkbox');
|
|
359
|
+
});
|
|
360
|
+
it('should render leftElement', function () {
|
|
361
|
+
var leftElement = /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
362
|
+
customClass: "leftElTeste"
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
var _render28 = (0, _react2.render)(list({}, {}, {
|
|
366
|
+
leftElement: leftElement
|
|
367
|
+
})),
|
|
368
|
+
container = _render28.container;
|
|
369
|
+
|
|
370
|
+
var leftElementHTML = container.querySelector('.item-container .item.-icon-left .leftElTeste');
|
|
371
|
+
expect(leftElementHTML).toBeTruthy();
|
|
372
|
+
});
|
|
373
|
+
it('should render rightElement', function () {
|
|
374
|
+
var rightElement = /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
375
|
+
customClass: "rightElTeste"
|
|
376
|
+
});
|
|
377
|
+
|
|
378
|
+
var _render29 = (0, _react2.render)(list({}, {}, {
|
|
379
|
+
rightElement: rightElement
|
|
380
|
+
})),
|
|
381
|
+
container = _render29.container;
|
|
382
|
+
|
|
383
|
+
var rightElementHTML = container.querySelector('.item-container .item.-icon-right .rightElTeste');
|
|
384
|
+
expect(rightElementHTML).toBeTruthy();
|
|
385
|
+
});
|
|
386
|
+
it('should render leftIcon', function () {
|
|
387
|
+
var leftIcon = /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
388
|
+
name: "code",
|
|
389
|
+
customClass: "iconTeste",
|
|
390
|
+
size: 24,
|
|
391
|
+
color: "#000"
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
var _render30 = (0, _react2.render)(list({}, {}, {
|
|
395
|
+
leftIcon: leftIcon
|
|
396
|
+
})),
|
|
397
|
+
container = _render30.container;
|
|
398
|
+
|
|
399
|
+
var leftIconHTML = container.querySelector('.item-container .item.-icon-left .icon-component.iconTeste');
|
|
400
|
+
expect(leftIconHTML).toBeTruthy();
|
|
401
|
+
});
|
|
402
|
+
it('should render rightIcon', function () {
|
|
403
|
+
var rightIcon = /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
404
|
+
name: "code",
|
|
405
|
+
customClass: "iconTeste",
|
|
406
|
+
size: 24,
|
|
407
|
+
color: "#000"
|
|
408
|
+
});
|
|
409
|
+
|
|
410
|
+
var _render31 = (0, _react2.render)(list({}, {}, {
|
|
411
|
+
rightIcon: rightIcon
|
|
412
|
+
})),
|
|
413
|
+
container = _render31.container;
|
|
414
|
+
|
|
415
|
+
var rightIconHTML = container.querySelector('.item-container .item.-icon-right .icon-component.iconTeste');
|
|
416
|
+
expect(rightIconHTML).toBeTruthy();
|
|
417
|
+
});
|
|
418
|
+
it('prop leftIconName should render Icon', function () {
|
|
419
|
+
var _render32 = (0, _react2.render)(list({}, {}, {
|
|
420
|
+
leftIconName: 'code'
|
|
421
|
+
})),
|
|
422
|
+
container = _render32.container;
|
|
423
|
+
|
|
424
|
+
var leftIcon = container.querySelector('.item-container .item.-icon-left .icon-component');
|
|
425
|
+
expect(leftIcon).toBeTruthy();
|
|
426
|
+
});
|
|
427
|
+
it('prop rightIconName should render Icon', function () {
|
|
428
|
+
var _render33 = (0, _react2.render)(list({}, {}, {
|
|
429
|
+
rightIconName: 'code'
|
|
430
|
+
})),
|
|
431
|
+
container = _render33.container;
|
|
432
|
+
|
|
433
|
+
var rightIcon = container.querySelector('.item-container .item.-icon-right .icon-component');
|
|
434
|
+
expect(rightIcon).toBeTruthy();
|
|
435
|
+
});
|
|
436
|
+
it('should apply onClick', function () {
|
|
437
|
+
var mockFunc = jest.fn();
|
|
438
|
+
var listItemId = '1';
|
|
439
|
+
|
|
440
|
+
var mockList = /*#__PURE__*/_react["default"].createElement(_index["default"], null, /*#__PURE__*/_react["default"].createElement(_index.ListItem, {
|
|
441
|
+
itemId: listItemId,
|
|
442
|
+
text: "Teste Foo",
|
|
443
|
+
onClick: function onClick(_, itemId) {
|
|
444
|
+
return mockFunc(itemId);
|
|
445
|
+
}
|
|
446
|
+
}));
|
|
447
|
+
|
|
448
|
+
var _render34 = (0, _react2.render)(mockList),
|
|
449
|
+
container = _render34.container;
|
|
450
|
+
|
|
451
|
+
var listItem = container.querySelector('.item-container');
|
|
452
|
+
|
|
453
|
+
_react2.fireEvent.click(listItem);
|
|
454
|
+
|
|
455
|
+
expect(mockFunc).toBeCalledWith(listItemId);
|
|
456
|
+
});
|
|
457
|
+
describe('prop customClass', function () {
|
|
458
|
+
var customClass = 'customclassTeste';
|
|
459
|
+
it('apply customClass css class to text/subtext/children container', function () {
|
|
460
|
+
var _render35 = (0, _react2.render)(list({}, {}, {
|
|
461
|
+
text: 'Teste',
|
|
462
|
+
customClass: customClass
|
|
463
|
+
})),
|
|
464
|
+
container = _render35.container;
|
|
465
|
+
|
|
466
|
+
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
467
|
+
expect(listItemTextContainer).toHaveClass(customClass);
|
|
468
|
+
});
|
|
469
|
+
it('apply customClass css class to leftIcon/leftElement container', function () {
|
|
470
|
+
var _render36 = (0, _react2.render)(list({}, {}, {
|
|
471
|
+
leftIconName: 'pencil',
|
|
472
|
+
customClass: customClass
|
|
473
|
+
})),
|
|
474
|
+
container = _render36.container;
|
|
475
|
+
|
|
476
|
+
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
477
|
+
expect(listItemLeftElContainer).toHaveClass(customClass);
|
|
478
|
+
});
|
|
479
|
+
it('apply customClass css class to rightIcon/rightElement container', function () {
|
|
480
|
+
var _render37 = (0, _react2.render)(list({}, {}, {
|
|
481
|
+
rightIconName: 'pencil',
|
|
482
|
+
customClass: customClass
|
|
483
|
+
})),
|
|
484
|
+
container = _render37.container;
|
|
485
|
+
|
|
486
|
+
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
487
|
+
expect(listItemRightElContainer).toHaveClass(customClass);
|
|
488
|
+
});
|
|
489
|
+
});
|
|
490
|
+
it('prop url should render Link', function () {
|
|
491
|
+
var _render38 = (0, _react2.render)(list({}, {}, {
|
|
492
|
+
url: 'saas'
|
|
493
|
+
})),
|
|
494
|
+
container = _render38.container;
|
|
495
|
+
|
|
496
|
+
var linkComponent = container.querySelector('.item-container .linkitem');
|
|
497
|
+
expect(linkComponent).toBeTruthy();
|
|
498
|
+
});
|
|
499
|
+
describe('prop visible', function () {
|
|
500
|
+
it('when true(default) should allow subject to render', function () {
|
|
501
|
+
var _render39 = (0, _react2.render)(list({}, {}, {
|
|
502
|
+
visible: true
|
|
503
|
+
})),
|
|
504
|
+
container = _render39.container;
|
|
505
|
+
|
|
506
|
+
var listItem = container.querySelector('.item-container');
|
|
507
|
+
expect(listItem).toBeTruthy();
|
|
508
|
+
});
|
|
509
|
+
it('when false should not let subject render', function () {
|
|
510
|
+
var _render40 = (0, _react2.render)(list({}, {}, {
|
|
511
|
+
visible: false
|
|
512
|
+
})),
|
|
513
|
+
container = _render40.container;
|
|
514
|
+
|
|
515
|
+
var listItem = container.querySelector('.item-container');
|
|
516
|
+
expect(listItem).not.toBeInTheDocument();
|
|
517
|
+
});
|
|
518
|
+
});
|
|
519
|
+
it('should render children', function () {
|
|
520
|
+
var _render41 = (0, _react2.render)(list()),
|
|
521
|
+
container = _render41.container;
|
|
522
|
+
|
|
523
|
+
var listItemButtonChild = container.querySelector('.item-container .childbuttontest');
|
|
524
|
+
expect(listItemButtonChild).toBeTruthy();
|
|
525
|
+
expect(listItemButtonChild).toHaveTextContent('Teste Child');
|
|
526
|
+
});
|
|
527
|
+
describe('prop permissionAttr', function () {
|
|
528
|
+
describe('when permission granted', function () {
|
|
529
|
+
it('should render subject', function () {
|
|
530
|
+
setSessionStorageMock();
|
|
531
|
+
|
|
532
|
+
var _render42 = (0, _react2.render)(list({}, {}, {
|
|
533
|
+
permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
|
|
534
|
+
})),
|
|
535
|
+
container = _render42.container;
|
|
536
|
+
|
|
537
|
+
var listItem = container.querySelector('.item-container');
|
|
538
|
+
expect(listItem).toBeTruthy();
|
|
539
|
+
});
|
|
540
|
+
});
|
|
541
|
+
describe('when permission denied', function () {
|
|
542
|
+
it('onDenied.unvisible option should not render subject', function () {
|
|
543
|
+
setSessionStorageMock();
|
|
544
|
+
|
|
545
|
+
var _render43 = (0, _react2.render)(list({}, {}, {
|
|
546
|
+
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
|
|
547
|
+
})),
|
|
548
|
+
container = _render43.container;
|
|
549
|
+
|
|
550
|
+
var listItem = container.querySelector('.item-container');
|
|
551
|
+
expect(listItem).not.toBeInTheDocument();
|
|
552
|
+
});
|
|
553
|
+
describe('onDenied.disabled option should', function () {
|
|
554
|
+
var permissionProp = {
|
|
555
|
+
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
|
|
556
|
+
};
|
|
557
|
+
it('disable onClick event', function () {
|
|
558
|
+
var mockFunc = jest.fn();
|
|
559
|
+
|
|
560
|
+
var _render44 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
|
|
561
|
+
onClick: mockFunc
|
|
562
|
+
}))),
|
|
563
|
+
container = _render44.container;
|
|
564
|
+
|
|
565
|
+
var listItem = container.querySelector('.item-container');
|
|
566
|
+
|
|
567
|
+
_react2.fireEvent.click(listItem);
|
|
568
|
+
|
|
569
|
+
expect(mockFunc).not.toBeCalled();
|
|
570
|
+
});
|
|
571
|
+
it('apply disabled css class to text/subtext/children container', function () {
|
|
572
|
+
var _render45 = (0, _react2.render)(list({}, {}, _extends({
|
|
573
|
+
text: 'Teste'
|
|
574
|
+
}, permissionProp))),
|
|
575
|
+
container = _render45.container;
|
|
576
|
+
|
|
577
|
+
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
578
|
+
expect(listItemTextContainer).toHaveClass('disabled');
|
|
579
|
+
});
|
|
580
|
+
it('apply disabled css class to leftIcon/leftElement container', function () {
|
|
581
|
+
var _render46 = (0, _react2.render)(list({}, {}, _extends({
|
|
582
|
+
leftIconName: 'pencil'
|
|
583
|
+
}, permissionProp))),
|
|
584
|
+
container = _render46.container;
|
|
585
|
+
|
|
586
|
+
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
587
|
+
expect(listItemLeftElContainer).toHaveClass('disabled');
|
|
588
|
+
});
|
|
589
|
+
it('apply disabled css class to rightIcon/rightElement container', function () {
|
|
590
|
+
var _render47 = (0, _react2.render)(list({}, {}, _extends({
|
|
591
|
+
rightIconName: 'pencil'
|
|
592
|
+
}, permissionProp))),
|
|
593
|
+
container = _render47.container;
|
|
594
|
+
|
|
595
|
+
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
596
|
+
expect(listItemRightElContainer).toHaveClass('disabled');
|
|
597
|
+
});
|
|
598
|
+
it('hide url', function () {
|
|
599
|
+
var _render48 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
|
|
600
|
+
url: 'saas'
|
|
601
|
+
}))),
|
|
602
|
+
container = _render48.container;
|
|
603
|
+
|
|
604
|
+
var linkitem = container.querySelector('.linkitem');
|
|
605
|
+
expect(linkitem).not.toBeInTheDocument();
|
|
606
|
+
});
|
|
607
|
+
});
|
|
608
|
+
});
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
});
|