linear-react-components-ui 0.4.75-beta.12 → 0.4.75-beta.13

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 (78) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.vscode/settings.json +9 -9
  3. package/config/jest/cssTransform.js +14 -0
  4. package/config/jest/fileTransform.js +12 -0
  5. package/config/jest/storageMock.js +40 -0
  6. package/jest.config.js +18 -0
  7. package/lib/alerts/alert.spec.js +133 -0
  8. package/lib/assets/styles/effects.scss +0 -10
  9. package/lib/assets/styles/popover.scss +9 -11
  10. package/lib/assets/styles/progress.scss +1 -8
  11. package/lib/avatar/avatar.spec.js +190 -0
  12. package/lib/avatar/index.js +6 -2
  13. package/lib/badge/badge.spec.js +127 -0
  14. package/lib/badge/index.js +3 -5
  15. package/lib/buttons/buttons.spec.js +504 -0
  16. package/lib/calendar/calendar.spec.js +171 -0
  17. package/lib/checkbox/checkbox.spec.js +215 -0
  18. package/lib/checkbox/index.js +1 -0
  19. package/lib/dialog/Custom.js +7 -1
  20. package/lib/dialog/base/index.js +3 -0
  21. package/lib/dialog/dialog.spec.js +488 -0
  22. package/lib/dialog/form/index.js +7 -1
  23. package/lib/drawer/Drawer.js +3 -0
  24. package/lib/drawer/Drawer.spec.js +258 -0
  25. package/lib/drawer/Header.js +4 -1
  26. package/lib/dropdown/Popup.js +1 -0
  27. package/lib/dropdown/dropdown.spec.js +168 -0
  28. package/lib/dropdown/withDropdown.js +10 -4
  29. package/lib/fieldset/fieldset.spec.js +329 -0
  30. package/lib/form/form.spec.js +285 -0
  31. package/lib/gridlayout/GridRow.js +1 -1
  32. package/lib/gridlayout/gridLayout.spec.js +169 -0
  33. package/lib/icons/icons.spec.js +86 -0
  34. package/lib/icons/index.js +2 -0
  35. package/lib/inputs/base/InputTextBase.js +2 -0
  36. package/lib/inputs/base/base.spec.js +690 -0
  37. package/lib/inputs/color/color_input.spec.js +174 -0
  38. package/lib/inputs/color/index.js +2 -2
  39. package/lib/inputs/date/date.spec.js +344 -0
  40. package/lib/inputs/date/index.js +7 -6
  41. package/lib/inputs/mask/Cpf.js +9 -9
  42. package/lib/inputs/mask/input_mask.spec.js +590 -0
  43. package/lib/inputs/number/numberfield.spec.js +215 -0
  44. package/lib/inputs/search/search_input.spec.js +209 -0
  45. package/lib/inputs/select/multiple/index.js +7 -9
  46. package/lib/inputs/select/select.spec.js +391 -0
  47. package/lib/inputs/text/textfield.spec.js +215 -0
  48. package/lib/inputs/textarea/textarea.spec.js +59 -0
  49. package/lib/labelMessages/index.js +3 -2
  50. package/lib/labelMessages/labelMessages.spec.js +176 -0
  51. package/lib/labels/label.spec.js +162 -0
  52. package/lib/list/Item.js +3 -3
  53. package/lib/list/index.js +17 -8
  54. package/lib/list/list.spec.js +609 -0
  55. package/lib/menus/float/float-menu.spec.js +221 -0
  56. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  57. package/lib/noPermission/index.js +2 -1
  58. package/lib/panel/panel.spec.js +216 -0
  59. package/lib/popover/index.js +2 -1
  60. package/lib/popover/popover.spec.js +146 -0
  61. package/lib/progress/Bar.js +9 -40
  62. package/lib/progress/index.js +4 -12
  63. package/lib/progress/progress.spec.js +86 -0
  64. package/lib/radio/radio.spec.js +189 -0
  65. package/lib/spinner/SpinnerLoading.js +14 -24
  66. package/lib/spinner/spinner.spec.js +152 -0
  67. package/lib/split/Split.js +5 -1
  68. package/lib/split/split.spec.js +151 -0
  69. package/lib/table/Header.js +3 -1
  70. package/lib/table/Row.js +1 -4
  71. package/lib/table/index.js +1 -4
  72. package/lib/table/table.spec.js +352 -0
  73. package/lib/tabs/tabs.spec.js +346 -0
  74. package/lib/toolbar/toolbar.spec.js +394 -0
  75. package/lib/tooltip/index.js +1 -0
  76. package/lib/tooltip/tooltip.spec.js +203 -0
  77. package/lib/treeview/treeview.spec.js +261 -0
  78. package/package.json +11 -2
@@ -0,0 +1,189 @@
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 = require("@testing-library/react");
6
+
7
+ var _react2 = _interopRequireWildcard(require("react"));
8
+
9
+ require("babel-polyfill");
10
+
11
+ var _ = _interopRequireDefault(require("."));
12
+
13
+ var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+
17
+ 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); }
18
+
19
+ 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; }
20
+
21
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22
+
23
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
24
+
25
+ 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); }
26
+
27
+ var radioMockRender = function radioMockRender(props) {
28
+ return /*#__PURE__*/_react2["default"].createElement(_react2.Fragment, null, /*#__PURE__*/_react2["default"].createElement(_["default"], _extends({
29
+ name: "test",
30
+ label: "C#",
31
+ value: "5",
32
+ id: "c#-lang"
33
+ }, props)), /*#__PURE__*/_react2["default"].createElement(_["default"], {
34
+ name: "test",
35
+ label: "RUBY",
36
+ value: "6",
37
+ id: "ruby-lang"
38
+ }), /*#__PURE__*/_react2["default"].createElement(_["default"], {
39
+ name: "test",
40
+ label: "JAVA",
41
+ value: "7",
42
+ id: "java-lang"
43
+ }), /*#__PURE__*/_react2["default"].createElement(_["default"], {
44
+ name: "test",
45
+ label: "Disabled",
46
+ value: "8",
47
+ id: "disabled-lang"
48
+ }));
49
+ };
50
+
51
+ describe('Radio', function () {
52
+ describe('Default', function () {
53
+ it('should render without errors', function () {
54
+ var _render = (0, _react.render)(radioMockRender()),
55
+ container = _render.container;
56
+
57
+ expect(container.firstChild).toBeTruthy();
58
+ });
59
+ it('should render 4 radio buttons', function () {
60
+ var _render2 = (0, _react.render)(radioMockRender()),
61
+ container = _render2.container;
62
+
63
+ expect(container.querySelectorAll('.radio-button').length).toBe(4);
64
+ });
65
+ it('radio element should have a input and label', function () {
66
+ var _render3 = (0, _react.render)(radioMockRender()),
67
+ container = _render3.container;
68
+
69
+ expect(container.querySelector('.radio-button input')).toBeTruthy();
70
+ expect(container.querySelector('.radio-button label')).toBeTruthy();
71
+ });
72
+ it('should label text match with prop label', function () {
73
+ var _render4 = (0, _react.render)(radioMockRender()),
74
+ container = _render4.container;
75
+
76
+ expect(container.querySelector('.radio-button label')).toHaveTextContent('C#');
77
+ });
78
+ it('should input have type radio', function () {
79
+ var _render5 = (0, _react.render)(radioMockRender()),
80
+ container = _render5.container;
81
+
82
+ expect(container.querySelector('.radio-button input').type).toBe('radio');
83
+ });
84
+ it('should input have id from props', function () {
85
+ var _render6 = (0, _react.render)(radioMockRender()),
86
+ container = _render6.container;
87
+
88
+ expect(container.querySelector('.radio-button input').id).toBe('c#-lang');
89
+ });
90
+ it('should input have name test', function () {
91
+ var _render7 = (0, _react.render)(radioMockRender()),
92
+ container = _render7.container;
93
+
94
+ expect(container.querySelector('.radio-button input').name).toBe('test');
95
+ });
96
+ it('should input have value', function () {
97
+ var _render8 = (0, _react.render)(radioMockRender()),
98
+ container = _render8.container;
99
+
100
+ expect(container.querySelector('.radio-button input').value).toBe('5');
101
+ });
102
+ it('should change checked', function () {
103
+ var _render9 = (0, _react.render)(radioMockRender()),
104
+ container = _render9.container;
105
+
106
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
107
+
108
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
109
+
110
+ expect(container.querySelector('.radio-button input').checked).toEqual(true);
111
+ });
112
+ it('should start default Checked', function () {
113
+ var _render10 = (0, _react.render)(radioMockRender({
114
+ defaultChecked: true
115
+ })),
116
+ container = _render10.container;
117
+
118
+ expect(container.querySelector('.radio-button input').checked).toEqual(true);
119
+ });
120
+ it('should fire onChange callback', function () {
121
+ var mockOnClick = jest.fn();
122
+
123
+ var _render11 = (0, _react.render)(radioMockRender({
124
+ onChange: mockOnClick
125
+ })),
126
+ container = _render11.container;
127
+
128
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
129
+
130
+ expect(mockOnClick).toBeCalledTimes(1);
131
+ });
132
+ it('should disable', function () {
133
+ var _render12 = (0, _react.render)(radioMockRender({
134
+ disabled: true
135
+ })),
136
+ container = _render12.container;
137
+
138
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
139
+
140
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
141
+
142
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
143
+ });
144
+ it('should check permittion', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
145
+ var _render13, container;
146
+
147
+ return regeneratorRuntime.wrap(function _callee$(_context) {
148
+ while (1) {
149
+ switch (_context.prev = _context.next) {
150
+ case 0:
151
+ Object.defineProperty(window, 'sessionStorage', {
152
+ value: (0, _storageMock["default"])()
153
+ });
154
+ _render13 = (0, _react.render)(radioMockRender({
155
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
156
+ })), container = _render13.container;
157
+ expect(container.querySelector('.radio-button input')).not.toBeDisabled();
158
+
159
+ case 3:
160
+ case "end":
161
+ return _context.stop();
162
+ }
163
+ }
164
+ }, _callee);
165
+ })));
166
+ it('should check permission and be unavailable', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
167
+ var _render14, container;
168
+
169
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
170
+ while (1) {
171
+ switch (_context2.prev = _context2.next) {
172
+ case 0:
173
+ Object.defineProperty(window, 'sessionStorage', {
174
+ value: (0, _storageMock["default"])()
175
+ });
176
+ _render14 = (0, _react.render)(radioMockRender({
177
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
178
+ })), container = _render14.container;
179
+ expect(container.querySelector('.radio-button input')).toBeDisabled();
180
+
181
+ case 3:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }
186
+ }, _callee2);
187
+ })));
188
+ });
189
+ });
@@ -15,7 +15,9 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
15
15
  var color = _ref.color,
16
16
  size = _ref.size;
17
17
  return /*#__PURE__*/_react["default"].createElement("svg", {
18
+ "data-testid": "spinner",
18
19
  className: "lds-spinner spinnerloading",
20
+ fill: color,
19
21
  width: size,
20
22
  viewBox: "0 0 100 100",
21
23
  preserveAspectRatio: "xMidYMid",
@@ -31,8 +33,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
31
33
  rx: "9.4",
32
34
  ry: "4.8",
33
35
  width: "6",
34
- height: "12",
35
- fill: color
36
+ height: "12"
36
37
  }, /*#__PURE__*/_react["default"].createElement("animate", {
37
38
  attributeName: "opacity",
38
39
  values: "1;0",
@@ -48,8 +49,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
48
49
  rx: "9.4",
49
50
  ry: "4.8",
50
51
  width: "6",
51
- height: "12",
52
- fill: color
52
+ height: "12"
53
53
  }, /*#__PURE__*/_react["default"].createElement("animate", {
54
54
  attributeName: "opacity",
55
55
  values: "1;0",
@@ -65,8 +65,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
65
65
  rx: "9.4",
66
66
  ry: "4.8",
67
67
  width: "6",
68
- height: "12",
69
- fill: color
68
+ height: "12"
70
69
  }, /*#__PURE__*/_react["default"].createElement("animate", {
71
70
  attributeName: "opacity",
72
71
  values: "1;0",
@@ -82,8 +81,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
82
81
  rx: "9.4",
83
82
  ry: "4.8",
84
83
  width: "6",
85
- height: "12",
86
- fill: color
84
+ height: "12"
87
85
  }, /*#__PURE__*/_react["default"].createElement("animate", {
88
86
  attributeName: "opacity",
89
87
  values: "1;0",
@@ -99,8 +97,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
99
97
  rx: "9.4",
100
98
  ry: "4.8",
101
99
  width: "6",
102
- height: "12",
103
- fill: color
100
+ height: "12"
104
101
  }, /*#__PURE__*/_react["default"].createElement("animate", {
105
102
  attributeName: "opacity",
106
103
  values: "1;0",
@@ -116,8 +113,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
116
113
  rx: "9.4",
117
114
  ry: "4.8",
118
115
  width: "6",
119
- height: "12",
120
- fill: color
116
+ height: "12"
121
117
  }, /*#__PURE__*/_react["default"].createElement("animate", {
122
118
  attributeName: "opacity",
123
119
  values: "1;0",
@@ -133,8 +129,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
133
129
  rx: "9.4",
134
130
  ry: "4.8",
135
131
  width: "6",
136
- height: "12",
137
- fill: color
132
+ height: "12"
138
133
  }, /*#__PURE__*/_react["default"].createElement("animate", {
139
134
  attributeName: "opacity",
140
135
  values: "1;0",
@@ -150,8 +145,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
150
145
  rx: "9.4",
151
146
  ry: "4.8",
152
147
  width: "6",
153
- height: "12",
154
- fill: color
148
+ height: "12"
155
149
  }, /*#__PURE__*/_react["default"].createElement("animate", {
156
150
  attributeName: "opacity",
157
151
  values: "1;0",
@@ -167,8 +161,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
167
161
  rx: "9.4",
168
162
  ry: "4.8",
169
163
  width: "6",
170
- height: "12",
171
- fill: color
164
+ height: "12"
172
165
  }, /*#__PURE__*/_react["default"].createElement("animate", {
173
166
  attributeName: "opacity",
174
167
  values: "1;0",
@@ -184,8 +177,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
184
177
  rx: "9.4",
185
178
  ry: "4.8",
186
179
  width: "6",
187
- height: "12",
188
- fill: color
180
+ height: "12"
189
181
  }, /*#__PURE__*/_react["default"].createElement("animate", {
190
182
  attributeName: "opacity",
191
183
  values: "1;0",
@@ -201,8 +193,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
201
193
  rx: "9.4",
202
194
  ry: "4.8",
203
195
  width: "6",
204
- height: "12",
205
- fill: color
196
+ height: "12"
206
197
  }, /*#__PURE__*/_react["default"].createElement("animate", {
207
198
  attributeName: "opacity",
208
199
  values: "1;0",
@@ -218,8 +209,7 @@ var SpinnerLoading = function SpinnerLoading(_ref) {
218
209
  rx: "9.4",
219
210
  ry: "4.8",
220
211
  width: "6",
221
- height: "12",
222
- fill: color
212
+ height: "12"
223
213
  }, /*#__PURE__*/_react["default"].createElement("animate", {
224
214
  attributeName: "opacity",
225
215
  values: "1;0",
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ require("babel-polyfill");
6
+
7
+ require("@testing-library/jest-dom/extend-expect");
8
+
9
+ var _react2 = require("@testing-library/react");
10
+
11
+ var _ = _interopRequireDefault(require("."));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+
15
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
16
+
17
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
18
+
19
+ 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); }
20
+
21
+ var mockSpinner = function mockSpinner(props) {
22
+ return /*#__PURE__*/_react["default"].createElement(_["default"], _extends({
23
+ customClass: "mockspinner-component",
24
+ size: "100px",
25
+ text: "Carregando",
26
+ style: {
27
+ marginBottom: '10px'
28
+ },
29
+ color: "#f00"
30
+ }, props));
31
+ };
32
+
33
+ describe('Spinner Loading', function () {
34
+ it('should render with delay', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
35
+ var _render, container;
36
+
37
+ return regeneratorRuntime.wrap(function _callee$(_context) {
38
+ while (1) {
39
+ switch (_context.prev = _context.next) {
40
+ case 0:
41
+ _render = (0, _react2.render)(mockSpinner({
42
+ delayTime: 500
43
+ })), container = _render.container;
44
+ _context.next = 3;
45
+ return (0, _react2.waitFor)(function () {
46
+ return _react2.screen.getByTestId('spinner');
47
+ });
48
+
49
+ case 3:
50
+ expect(container.firstChild).toBeTruthy();
51
+
52
+ case 4:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }
57
+ }, _callee);
58
+ })));
59
+ it('should render without delay', function () {
60
+ var _render2 = (0, _react2.render)(mockSpinner({
61
+ delayTime: 0
62
+ })),
63
+ container = _render2.container;
64
+
65
+ expect(container.firstChild).toBeTruthy();
66
+ });
67
+ it('should render text', function () {
68
+ var _render3 = (0, _react2.render)(mockSpinner({
69
+ delayTime: 0
70
+ })),
71
+ container = _render3.container;
72
+
73
+ expect(container.firstChild).toHaveTextContent('Carregando');
74
+ });
75
+ it('should render spinner icon', function () {
76
+ var _render4 = (0, _react2.render)(mockSpinner({
77
+ delayTime: 0
78
+ })),
79
+ container = _render4.container,
80
+ getByTestId = _render4.getByTestId;
81
+
82
+ expect(container.firstChild).toContainElement(getByTestId('spinner'));
83
+ });
84
+ it('should apply custom class', function () {
85
+ var _render5 = (0, _react2.render)(mockSpinner({
86
+ delayTime: 0
87
+ })),
88
+ container = _render5.container;
89
+
90
+ expect(container.firstChild).toHaveClass('mockspinner-component');
91
+ });
92
+ it('should apply style', function () {
93
+ var _render6 = (0, _react2.render)(mockSpinner({
94
+ delayTime: 0
95
+ })),
96
+ container = _render6.container;
97
+
98
+ expect(container.firstChild).toHaveStyle('margin-bottom: 10px;');
99
+ });
100
+ it('should apply color', function () {
101
+ var _render7 = (0, _react2.render)(mockSpinner({
102
+ delayTime: 0
103
+ })),
104
+ getByTestId = _render7.getByTestId;
105
+
106
+ expect(getByTestId('spinner')).toHaveAttribute('fill', '#f00');
107
+ });
108
+ it('should apply height auto', function () {
109
+ var _render8 = (0, _react2.render)(mockSpinner({
110
+ delayTime: 0,
111
+ heightAuto: true
112
+ })),
113
+ container = _render8.container;
114
+
115
+ expect(container.firstChild).toHaveClass('-heightauto');
116
+ });
117
+ it('should apply align center', function () {
118
+ var _render9 = (0, _react2.render)(mockSpinner({
119
+ delayTime: 0
120
+ })),
121
+ container = _render9.container;
122
+
123
+ expect(container.firstChild).toHaveClass('-center');
124
+ });
125
+ it('should apply align right', function () {
126
+ var _render10 = (0, _react2.render)(mockSpinner({
127
+ delayTime: 0,
128
+ align: 'right'
129
+ })),
130
+ container = _render10.container;
131
+
132
+ expect(container.firstChild).toHaveClass('-right');
133
+ });
134
+ it('should apply align left', function () {
135
+ var _render11 = (0, _react2.render)(mockSpinner({
136
+ delayTime: 0,
137
+ align: 'left'
138
+ })),
139
+ container = _render11.container;
140
+
141
+ expect(container.firstChild).toHaveClass('-left');
142
+ });
143
+ it('should hide component when visible is false', function () {
144
+ var _render12 = (0, _react2.render)(mockSpinner({
145
+ delayTime: 0,
146
+ visible: false
147
+ })),
148
+ container = _render12.container;
149
+
150
+ expect(container.firstChild).not.toBeInTheDocument();
151
+ });
152
+ });
@@ -58,7 +58,8 @@ var Split = function Split(props) {
58
58
  secondaryMinSize = props.secondaryMinSize,
59
59
  customClass = props.customClass,
60
60
  children = props.children,
61
- hideSplitSideOnToggleClick = props.hideSplitSideOnToggleClick;
61
+ hideSplitSideOnToggleClick = props.hideSplitSideOnToggleClick,
62
+ style = props.style;
62
63
 
63
64
  var getSecondaryPaneSize = function getSecondaryPaneSize(containerRect, splitterRect, clientPosition, offsetMouse) {
64
65
  var totalSize = vertical ? containerRect.height : containerRect.width;
@@ -309,6 +310,7 @@ var Split = function Split(props) {
309
310
  value: getChildContext()
310
311
  }, /*#__PURE__*/_react["default"].createElement("div", {
311
312
  className: containerClasses,
313
+ style: style,
312
314
  ref: function ref(r) {
313
315
  container.current = r;
314
316
  }
@@ -342,6 +344,7 @@ var Split = function Split(props) {
342
344
  };
343
345
 
344
346
  Split.propTypes = {
347
+ style: _propTypes["default"].object,
345
348
  customClass: _propTypes["default"].string,
346
349
  vertical: _propTypes["default"].bool,
347
350
  percentage: _propTypes["default"].bool,
@@ -357,6 +360,7 @@ Split.propTypes = {
357
360
  children: _propTypes["default"].arrayOf(_propTypes["default"].node)
358
361
  };
359
362
  Split.defaultProps = {
363
+ style: {},
360
364
  customClass: '',
361
365
  vertical: false,
362
366
  percentage: false,
@@ -0,0 +1,151 @@
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 = require("@testing-library/react");
6
+
7
+ var _react2 = _interopRequireDefault(require("react"));
8
+
9
+ require("babel-polyfill");
10
+
11
+ require("@testing-library/jest-dom");
12
+
13
+ var _ = _interopRequireWildcard(require("."));
14
+
15
+ 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); }
16
+
17
+ 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; }
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
+
21
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22
+
23
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
24
+
25
+ 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); }
26
+
27
+ var splitMockRender = function splitMockRender(props, propsSplitSide) {
28
+ return /*#__PURE__*/_react2["default"].createElement("div", {
29
+ style: {
30
+ height: '600px',
31
+ width: '500px',
32
+ marginTop: '2px',
33
+ border: '1px solid #a8a8a8'
34
+ }
35
+ }, /*#__PURE__*/_react2["default"].createElement(_["default"], _extends({
36
+ percentage: true,
37
+ secondaryInitialSize: 50
38
+ }, props), /*#__PURE__*/_react2["default"].createElement(_.SplitSide, _extends({
39
+ style: {
40
+ backgroundColor: '#5bcc65',
41
+ color: '#fff',
42
+ fontSize: '13px'
43
+ },
44
+ primary: true
45
+ }, propsSplitSide), /*#__PURE__*/_react2["default"].createElement("p", null, "Aliquam at mauris porta libero mattis convallis et posuere leo. Vivamus vehicula libero lacus, ac molestie mi varius eu. Nam vel libero odio. Nulla sollicitudin dignissim pellentesque. Praesent eleifend tortor ac dapibus efficitur. Nunc eleifend augue vel laoreet rutrum.")), /*#__PURE__*/_react2["default"].createElement(_.SplitSide, {
46
+ style: {
47
+ backgroundColor: '#8a2c75',
48
+ color: '#fff',
49
+ fontSize: '13px'
50
+ }
51
+ }, /*#__PURE__*/_react2["default"].createElement("p", null, "Painel 01 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam a orci ac diam pharetra viverra sit amet eget arcu. Ut sit amet efficitur elit. Suspendisse pulvinar pulvinar lectus ac malesuada. Curabitur ac dictum elit. Nam lectus ex, suscipit nec aliquet vel, molestie. Nullam commodo dui viverra sem hendrerit, eget iaculis nisi commodo."))));
52
+ };
53
+
54
+ describe('Split', function () {
55
+ describe('Default', function () {
56
+ it('should apply secondaryInitialSize with 50%', function () {
57
+ var _render = (0, _react.render)(splitMockRender()),
58
+ container = _render.container;
59
+
60
+ var secondSplit = container.querySelectorAll('.layout-pane')[1];
61
+ expect(secondSplit).toHaveStyle('width: 50%');
62
+ });
63
+ it('should apply SplitSide style from props', function () {
64
+ var _render2 = (0, _react.render)(splitMockRender()),
65
+ container = _render2.container;
66
+
67
+ var secondSplit = container.querySelectorAll('.layout-pane')[1];
68
+ expect(secondSplit).toHaveStyle('backgroundColor: #8a2c75');
69
+ expect(secondSplit).toHaveStyle('color: #fff');
70
+ expect(secondSplit).toHaveStyle('fontSize: 13px');
71
+ });
72
+ it('should apply customClass', function () {
73
+ var _render3 = (0, _react.render)(splitMockRender({
74
+ customClass: 'customClass'
75
+ })),
76
+ container = _render3.container;
77
+
78
+ var split = container.querySelector('.split-component');
79
+ expect(split).toHaveClass('customClass');
80
+ });
81
+ it('should apply style', function () {
82
+ var _render4 = (0, _react.render)(splitMockRender({
83
+ style: {
84
+ color: '#8a2c75'
85
+ }
86
+ })),
87
+ container = _render4.container;
88
+
89
+ var split = container.querySelector('.split-component');
90
+ expect(split).toHaveStyle('color: #8a2c75');
91
+ });
92
+ it('should use pixels for width', function () {
93
+ var _render5 = (0, _react.render)(splitMockRender({
94
+ percentage: false
95
+ })),
96
+ container = _render5.container;
97
+
98
+ var secondSplit = container.querySelectorAll('.layout-pane')[1];
99
+ expect(secondSplit).toHaveStyle('width: 50px');
100
+ });
101
+ it('should apply class for vertical', function () {
102
+ var _render6 = (0, _react.render)(splitMockRender({
103
+ vertical: true
104
+ })),
105
+ container = _render6.container;
106
+
107
+ expect(container.firstChild.firstChild).toHaveClass('splitter-layout-vertical');
108
+ });
109
+ it('should hide first panel', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
110
+ var _render7, container, layoutSpliter;
111
+
112
+ return regeneratorRuntime.wrap(function _callee$(_context) {
113
+ while (1) {
114
+ switch (_context.prev = _context.next) {
115
+ case 0:
116
+ _render7 = (0, _react.render)(splitMockRender()), container = _render7.container;
117
+ layoutSpliter = container.querySelector('.toggler-horizontal');
118
+
119
+ _react.fireEvent.doubleClick(layoutSpliter);
120
+
121
+ expect(container.querySelector('.layout-pane.layout-pane-primary')).not.toBeTruthy();
122
+
123
+ case 4:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee);
129
+ })));
130
+ it('should apply splitSide customClass', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
131
+ var _render8, container, secondSplit;
132
+
133
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
134
+ while (1) {
135
+ switch (_context2.prev = _context2.next) {
136
+ case 0:
137
+ _render8 = (0, _react.render)(splitMockRender({}, {
138
+ customClass: 'customClass'
139
+ })), container = _render8.container;
140
+ secondSplit = container.querySelectorAll('.layout-pane')[0];
141
+ expect(secondSplit).toHaveClass('customClass');
142
+
143
+ case 3:
144
+ case "end":
145
+ return _context2.stop();
146
+ }
147
+ }
148
+ }, _callee2);
149
+ })));
150
+ });
151
+ });
@@ -50,7 +50,9 @@ var Header = function Header(_ref) {
50
50
  bodyScrollable = _useContext.bodyScrollable,
51
51
  handlerSetColumnsWidth = _useContext.handlerSetColumnsWidth;
52
52
 
53
- handlerSetColumnsWidth(getColumnsWidth(children));
53
+ (0, _react.useEffect)(function () {
54
+ handlerSetColumnsWidth(getColumnsWidth(children));
55
+ }, []);
54
56
  return bodyScrollable ? /*#__PURE__*/_react["default"].createElement("div", {
55
57
  className: "headercontainer",
56
58
  style: {