linear-react-components-ui 1.0.10-beta.20 → 1.0.10-beta.21

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 (84) hide show
  1. package/lib/alerts/AlertContainer.js +69 -41
  2. package/lib/alerts/AlertProvider.js +2 -7
  3. package/lib/alerts/alert.spec.js +133 -0
  4. package/lib/avatar/avatar.spec.js +190 -0
  5. package/lib/avatar/index.js +3 -7
  6. package/lib/badge/badge.spec.js +127 -0
  7. package/lib/buttons/DefaultButton.js +1 -6
  8. package/lib/buttons/SpinnerLoading.js +230 -0
  9. package/lib/buttons/button_container/index.js +2 -7
  10. package/lib/buttons/buttons.spec.js +504 -0
  11. package/lib/calendar/calendar.spec.js +171 -0
  12. package/lib/checkbox/checkbox.spec.js +215 -0
  13. package/lib/dialog/dialog.spec.js +488 -0
  14. package/lib/dialog/form/index.js +2 -7
  15. package/lib/drawer/Drawer.js +2 -7
  16. package/lib/drawer/Drawer.spec.js +258 -0
  17. package/lib/dropdown/dropdown.spec.js +169 -0
  18. package/lib/fieldset/fieldset.spec.js +329 -0
  19. package/lib/fieldset/index.js +2 -6
  20. package/lib/form/Field.js +1 -6
  21. package/lib/form/FieldArray.js +4 -6
  22. package/lib/form/FieldNumber.js +2 -7
  23. package/lib/form/form.spec.js +293 -0
  24. package/lib/form/helpers.d.ts +1 -1
  25. package/lib/form/helpers.js +7 -10
  26. package/lib/form/index.js +6 -8
  27. package/lib/gridlayout/gridLayout.spec.js +169 -0
  28. package/lib/icons/icons.spec.js +86 -0
  29. package/lib/inputs/base/InputTextBase.js +3 -8
  30. package/lib/inputs/base/base.spec.js +690 -0
  31. package/lib/inputs/base/index.js +1 -0
  32. package/lib/inputs/color/color_input.spec.js +174 -0
  33. package/lib/inputs/date/date.spec.js +354 -0
  34. package/lib/inputs/mask/BaseMask.js +4 -10
  35. package/lib/inputs/mask/helpers.js +2 -7
  36. package/lib/inputs/mask/imaskHOC.js +15 -11
  37. package/lib/inputs/mask/input_mask.spec.js +607 -0
  38. package/lib/inputs/multiSelect/Dropdown.js +2 -6
  39. package/lib/inputs/multiSelect/index.js +1 -6
  40. package/lib/inputs/number/BaseNumber.js +2 -9
  41. package/lib/inputs/number/format_number.js +1 -1
  42. package/lib/inputs/number/numberfield.spec.js +215 -0
  43. package/lib/inputs/period/index.js +3 -8
  44. package/lib/inputs/search/index.js +2 -7
  45. package/lib/inputs/search/search_input.spec.js +209 -0
  46. package/lib/inputs/select/Dropdown.js +3 -7
  47. package/lib/inputs/select/select.spec.js +395 -0
  48. package/lib/inputs/text/textfield.spec.js +215 -0
  49. package/lib/inputs/textarea/index.js +1 -1
  50. package/lib/inputs/textarea/textarea.spec.js +59 -0
  51. package/lib/labelMessages/labelMessages.spec.js +176 -0
  52. package/lib/labels/label.spec.js +162 -0
  53. package/lib/list/list.spec.js +769 -0
  54. package/lib/menus/float/float-menu.spec.js +221 -0
  55. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  56. package/lib/panel/panel.spec.js +216 -0
  57. package/lib/popover/popover.spec.js +146 -0
  58. package/lib/progress/index.js +2 -7
  59. package/lib/progress/progress.spec.js +94 -0
  60. package/lib/radio/index.js +2 -7
  61. package/lib/radio/radio.spec.js +189 -0
  62. package/lib/skeleton/index.js +2 -7
  63. package/lib/spinner/spinner.spec.js +152 -0
  64. package/lib/split/Split.js +17 -21
  65. package/lib/split/split.spec.js +163 -0
  66. package/lib/table/Row.js +3 -7
  67. package/lib/table/RowColumn.js +3 -7
  68. package/lib/table/index.js +2 -6
  69. package/lib/table/table.spec.js +352 -0
  70. package/lib/tabs/tabs.spec.js +321 -0
  71. package/lib/toolbar/ButtonBar.js +2 -6
  72. package/lib/toolbar/LabelBar.js +3 -7
  73. package/lib/toolbar/index.js +2 -7
  74. package/lib/toolbar/toolbar.spec.js +394 -0
  75. package/lib/tooltip/tooltip.spec.js +215 -0
  76. package/lib/treetable/Row.js +5 -10
  77. package/lib/treetable/index.js +1 -7
  78. package/lib/treeview/Node.js +3 -7
  79. package/lib/treeview/index.js +2 -6
  80. package/lib/treeview/treeview.spec.js +279 -0
  81. package/lib/treeview_old/Node.js +12 -8
  82. package/lib/uitour/index.js +5 -9
  83. package/lib/uitour/uitour.spec.js +176 -0
  84. package/package.json +1 -1
@@ -0,0 +1,174 @@
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");
10
+
11
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
12
+
13
+ var _index = _interopRequireDefault(require("./index"));
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 _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); }
22
+
23
+ var colorField = function colorField(props) {
24
+ return /*#__PURE__*/_react.default.createElement(_index.default, _extends({}, props, {
25
+ value: "#AAAAAA",
26
+ onChange: function onChange() {}
27
+ }));
28
+ };
29
+
30
+ describe('ColorField', function () {
31
+ it('should render correctly', function () {
32
+ var _render = (0, _react2.render)(colorField()),
33
+ container = _render.container;
34
+
35
+ expect(container.firstChild).toBeTruthy();
36
+ });
37
+ it('should be apply value', function () {
38
+ var value = '#AAAAAA';
39
+
40
+ var _render2 = (0, _react2.render)(colorField({
41
+ value: value
42
+ })),
43
+ container = _render2.container;
44
+
45
+ var inputHTML = container.querySelector('.textinput');
46
+ expect(inputHTML.value).toBe(value);
47
+ });
48
+ it('should be apply asTextField', function () {
49
+ var _render3 = (0, _react2.render)(colorField({
50
+ asTextField: true
51
+ })),
52
+ container = _render3.container;
53
+
54
+ expect(container.querySelector('.input-base-component')).toBeTruthy();
55
+ expect(container.querySelector('.sidebuttons .colorpicker-colormirror')).toBeTruthy();
56
+ expect(container.querySelector('.button-component.colorpicker-palettebutton')).toBeTruthy();
57
+ });
58
+ it('should call onButtonClick', function () {
59
+ var onButtonClick = jest.fn();
60
+
61
+ var _render4 = (0, _react2.render)(colorField({
62
+ onButtonClick: onButtonClick
63
+ })),
64
+ container = _render4.container;
65
+
66
+ _react2.fireEvent.click(container.querySelector('.button-component.colorpicker-palettebutton'));
67
+
68
+ expect(onButtonClick).toBeCalled();
69
+ });
70
+ describe('Permission', function () {
71
+ var setSessionStorageMock = function setSessionStorageMock() {
72
+ Object.defineProperty(window, 'sessionStorage', {
73
+ value: (0, _storageMock.default)()
74
+ });
75
+ };
76
+
77
+ it('should render subject when permission granted', function () {
78
+ setSessionStorageMock();
79
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
80
+
81
+ var _render5 = (0, _react2.render)(colorField({
82
+ permissionAttr: permissionAttr
83
+ })),
84
+ container = _render5.container;
85
+
86
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
87
+ });
88
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
89
+ setSessionStorageMock();
90
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
91
+
92
+ var _render6 = (0, _react2.render)(colorField({
93
+ permissionAttr: permissionAttr
94
+ })),
95
+ container = _render6.container;
96
+
97
+ expect(container.querySelector('.input-base-component')).toBeNull();
98
+ });
99
+ it('should check permission, be unavaible and onDenied is disabled', function () {
100
+ setSessionStorageMock();
101
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
102
+ var onChange = jest.fn();
103
+
104
+ var _render7 = (0, _react2.render)(colorField({
105
+ permissionAttr: permissionAttr,
106
+ onChange: onChange
107
+ })),
108
+ container = _render7.container;
109
+
110
+ var inputHTML = container.querySelector('.textinput');
111
+ var inputWrapper = container.querySelector('.inputwrapper');
112
+
113
+ _react2.fireEvent.change(inputHTML, {
114
+ target: {
115
+ value: '#000000'
116
+ }
117
+ });
118
+
119
+ expect(inputHTML.disabled).toBeTruthy();
120
+ expect(onChange).not.toBeCalled();
121
+ expect(inputWrapper).toHaveClass('-disabled');
122
+ });
123
+ it('should check permission, be unavaible and onDenied is readOnly', function () {
124
+ setSessionStorageMock();
125
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
126
+ var onChange = jest.fn();
127
+
128
+ var _render8 = (0, _react2.render)(colorField({
129
+ permissionAttr: permissionAttr,
130
+ onChange: onChange
131
+ })),
132
+ container = _render8.container;
133
+
134
+ var inputHTML = container.querySelector('.textinput');
135
+ var inputWrapper = container.querySelector('.inputwrapper');
136
+
137
+ _react2.fireEvent.change(inputHTML, {
138
+ target: {
139
+ value: '#000000'
140
+ }
141
+ });
142
+
143
+ expect(inputHTML.disabled).toBeTruthy();
144
+ expect(onChange).not.toBeCalled();
145
+ expect(inputWrapper).toHaveClass('-disabled');
146
+ });
147
+ it('should check permission, be unavaible and onDenied is hideContent', function () {
148
+ setSessionStorageMock();
149
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
150
+ var onChange = jest.fn();
151
+
152
+ var _render9 = (0, _react2.render)(colorField({
153
+ permissionAttr: permissionAttr,
154
+ onChange: onChange,
155
+ value: '#000000'
156
+ })),
157
+ container = _render9.container;
158
+
159
+ var inputHTML = container.querySelector('.textinput');
160
+ var inputWrapper = container.querySelector('.inputwrapper');
161
+
162
+ _react2.fireEvent.change(inputHTML, {
163
+ target: {
164
+ value: '#000000'
165
+ }
166
+ });
167
+
168
+ expect(inputHTML.value).toBe('');
169
+ expect(inputHTML.disabled).toBeTruthy();
170
+ expect(onChange).not.toBeCalled();
171
+ expect(inputWrapper).toHaveClass('-disabled');
172
+ });
173
+ });
174
+ });
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _moment = _interopRequireDefault(require("moment"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ require("@testing-library/jest-dom/extend-expect");
10
+
11
+ var _index = _interopRequireDefault(require("./index"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ describe('DatePicker', function () {
16
+ var datePicker = function datePicker(datePickerProps) {
17
+ return /*#__PURE__*/_react.default.createElement(_index.default, datePickerProps);
18
+ };
19
+
20
+ describe('prop value should', function () {
21
+ it('apply valid date string', function () {
22
+ var value = '12/12/2001';
23
+
24
+ var _render = (0, _react2.render)(datePicker({
25
+ value: value
26
+ })),
27
+ container = _render.container;
28
+
29
+ var inputContent = container.querySelector('.textinput');
30
+ expect(inputContent.value).toBe(value);
31
+ });
32
+ it('apply moment object', function () {
33
+ var value = (0, _moment.default)();
34
+
35
+ var _render2 = (0, _react2.render)(datePicker({
36
+ value: value
37
+ })),
38
+ container = _render2.container;
39
+
40
+ var inputContent = container.querySelector('.textinput');
41
+ expect(inputContent.value).toBe(value.format('DD/MM/YYYY'));
42
+ });
43
+ it('not apply invalid string date', function () {
44
+ var value = '29/29/2001';
45
+
46
+ var _render3 = (0, _react2.render)(datePicker({
47
+ value: value
48
+ })),
49
+ container = _render3.container;
50
+
51
+ var inputContent = container.querySelector('.textinput');
52
+ expect(inputContent.value).toBe('__/__/____');
53
+ });
54
+ });
55
+ describe('prop showButtonOpen should', function () {
56
+ it('render calendar button when true', function () {
57
+ var _render4 = (0, _react2.render)(datePicker({
58
+ showButtonOpen: true
59
+ })),
60
+ container = _render4.container;
61
+
62
+ var calendarButton = container.querySelector('.calendar-button');
63
+ expect(calendarButton).toBeTruthy();
64
+ });
65
+ it('not render calendar button when false', function () {
66
+ var _render5 = (0, _react2.render)(datePicker({
67
+ showButtonOpen: false
68
+ })),
69
+ container = _render5.container;
70
+
71
+ var calendarButton = container.querySelector('.calendar-button');
72
+ expect(calendarButton).not.toBeTruthy();
73
+ });
74
+ it('show calendar when click', function () {
75
+ var _render6 = (0, _react2.render)(datePicker()),
76
+ container = _render6.container;
77
+
78
+ var calendarButton = container.querySelector('.calendar-button');
79
+
80
+ _react2.fireEvent.click(calendarButton);
81
+
82
+ expect(document.querySelector('.datepicker-component')).toBeInTheDocument();
83
+ });
84
+ });
85
+ describe('prop shouldCloseOnSelect', function () {
86
+ it('when false should not close Calendar after date beeing chosed', function () {
87
+ var _render7 = (0, _react2.render)(datePicker({
88
+ shouldCloseOnSelect: false
89
+ })),
90
+ container = _render7.container;
91
+
92
+ var inputContent = container.querySelector('.textinput');
93
+ var calendarComponent = document.querySelector('.calendar-component');
94
+ expect(calendarComponent).not.toBeInTheDocument();
95
+
96
+ _react2.fireEvent.focus(inputContent);
97
+
98
+ calendarComponent = document.querySelector('.calendar-component');
99
+ var dayButtons = document.querySelectorAll('.daybutton');
100
+
101
+ _react2.fireEvent.click(dayButtons[0]);
102
+
103
+ expect(calendarComponent).toBeInTheDocument();
104
+ });
105
+ it('when true should close Calendar after date beeing chosed', function () {
106
+ var _render8 = (0, _react2.render)(datePicker({
107
+ shouldCloseOnSelect: true
108
+ })),
109
+ container = _render8.container;
110
+
111
+ var inputContent = container.querySelector('.textinput');
112
+ var calendarComponent = document.querySelector('.calendar-component');
113
+ expect(calendarComponent).not.toBeInTheDocument();
114
+
115
+ _react2.fireEvent.focus(inputContent);
116
+
117
+ calendarComponent = document.querySelector('.calendar-component');
118
+ var dayButtons = document.querySelectorAll('.daybutton');
119
+
120
+ _react2.fireEvent.click(dayButtons[0]);
121
+
122
+ expect(calendarComponent).not.toBeInTheDocument();
123
+ });
124
+ });
125
+ describe('prop openOnFocus', function () {
126
+ it('when false should not open Calendar when input receive focus', function () {
127
+ var _render9 = (0, _react2.render)(datePicker({
128
+ openOnFocus: false
129
+ })),
130
+ container = _render9.container;
131
+
132
+ var inputContent = container.querySelector('.textinput');
133
+
134
+ _react2.fireEvent.focus(inputContent);
135
+
136
+ var calendarComponent = document.querySelector('.calendar-component');
137
+ expect(calendarComponent).not.toBeInTheDocument();
138
+ });
139
+ it('when true should open Calendar when input receive focus', function () {
140
+ var _render10 = (0, _react2.render)(datePicker({
141
+ openOnFocus: true
142
+ })),
143
+ container = _render10.container;
144
+
145
+ var inputContent = container.querySelector('.textinput');
146
+
147
+ _react2.fireEvent.focus(inputContent);
148
+
149
+ var calendarComponent = document.querySelector('.calendar-component');
150
+ expect(calendarComponent).toBeInTheDocument();
151
+ });
152
+ });
153
+ describe('prop showCalendarInDialog', function () {
154
+ it('when true should render Calendar within Dialog', function () {
155
+ var _render11 = (0, _react2.render)(datePicker({
156
+ showCalendarInDialog: true
157
+ })),
158
+ container = _render11.container;
159
+
160
+ var inputContent = container.querySelector('.textinput');
161
+
162
+ _react2.fireEvent.focus(inputContent);
163
+
164
+ var calendarComponent = document.querySelector('.dialog .calendar-component');
165
+ expect(calendarComponent).toBeTruthy();
166
+ });
167
+ it('when false should render Calendar within Dropdown', function () {
168
+ var _render12 = (0, _react2.render)(datePicker({
169
+ showCalendarInDialog: false
170
+ })),
171
+ container = _render12.container;
172
+
173
+ var inputContent = container.querySelector('.textinput');
174
+
175
+ _react2.fireEvent.focus(inputContent);
176
+
177
+ var calendarComponent = document.querySelector('.datepicker-component > .calendar-component');
178
+ expect(calendarComponent).toBeTruthy();
179
+ });
180
+ });
181
+ it('should apply dialogSize', function () {
182
+ var dialogSize = {
183
+ width: '750px',
184
+ height: '600px'
185
+ };
186
+
187
+ var _render13 = (0, _react2.render)(datePicker({
188
+ showCalendarInDialog: true,
189
+ dialogSize: dialogSize
190
+ })),
191
+ container = _render13.container;
192
+
193
+ var inputContent = container.querySelector('.textinput');
194
+
195
+ _react2.fireEvent.focus(inputContent);
196
+
197
+ var dialogWrapper = _react2.screen.getByTestId('dialog-wrapper');
198
+
199
+ expect(dialogWrapper).toHaveStyle(dialogSize);
200
+ });
201
+ describe('prop calendarColorStyle', function () {
202
+ it('when receive "primary" add -primary css class to Calendar', function () {
203
+ var _render14 = (0, _react2.render)(datePicker({
204
+ calendarColorStyle: 'primary'
205
+ })),
206
+ container = _render14.container;
207
+
208
+ var inputContent = container.querySelector('.textinput');
209
+
210
+ _react2.fireEvent.focus(inputContent);
211
+
212
+ var calendarComponent = document.querySelector('.calendar-component');
213
+ expect(calendarComponent).toHaveClass('-primary');
214
+ });
215
+ it('when receive "success" add -success css class to Calendar', function () {
216
+ var _render15 = (0, _react2.render)(datePicker({
217
+ calendarColorStyle: 'success'
218
+ })),
219
+ container = _render15.container;
220
+
221
+ var inputContent = container.querySelector('.textinput');
222
+
223
+ _react2.fireEvent.focus(inputContent);
224
+
225
+ var calendarComponent = document.querySelector('.calendar-component');
226
+ expect(calendarComponent).toHaveClass('-success');
227
+ });
228
+ it('when receive "danger" add -danger css class to Calendar', function () {
229
+ var _render16 = (0, _react2.render)(datePicker({
230
+ calendarColorStyle: 'danger'
231
+ })),
232
+ container = _render16.container;
233
+
234
+ var inputContent = container.querySelector('.textinput');
235
+
236
+ _react2.fireEvent.focus(inputContent);
237
+
238
+ var calendarComponent = document.querySelector('.calendar-component');
239
+ expect(calendarComponent).toHaveClass('-danger');
240
+ });
241
+ it('when receive "info" add -info css class to Calendar', function () {
242
+ var _render17 = (0, _react2.render)(datePicker({
243
+ calendarColorStyle: 'info'
244
+ })),
245
+ container = _render17.container;
246
+
247
+ var inputContent = container.querySelector('.textinput');
248
+
249
+ _react2.fireEvent.focus(inputContent);
250
+
251
+ var calendarComponent = document.querySelector('.calendar-component');
252
+ expect(calendarComponent).toHaveClass('-info');
253
+ });
254
+ it('when receive "warning" add -warning css class to Calendar', function () {
255
+ var _render18 = (0, _react2.render)(datePicker({
256
+ calendarColorStyle: 'warning'
257
+ })),
258
+ container = _render18.container;
259
+
260
+ var inputContent = container.querySelector('.textinput');
261
+
262
+ _react2.fireEvent.focus(inputContent);
263
+
264
+ var calendarComponent = document.querySelector('.calendar-component');
265
+ expect(calendarComponent).toHaveClass('-warning');
266
+ });
267
+ });
268
+ it('prop required should render span for required field', function () {
269
+ var _render19 = (0, _react2.render)(datePicker({
270
+ label: 'teste',
271
+ required: true
272
+ })),
273
+ container = _render19.container;
274
+
275
+ var requiredLabel = container.querySelector('.input-base-component > .labelcontainer > .label > .-requiredlabel');
276
+ expect(requiredLabel).toBeTruthy();
277
+ expect(requiredLabel).toHaveTextContent('*');
278
+ });
279
+ it('should apply onComplete', function () {
280
+ var onComplete = jest.fn();
281
+
282
+ var _render20 = (0, _react2.render)(datePicker({
283
+ onComplete: onComplete
284
+ })),
285
+ container = _render20.container;
286
+
287
+ var inputContent = container.querySelector('.textinput');
288
+
289
+ _react2.fireEvent.change(inputContent, {
290
+ target: {
291
+ value: (0, _moment.default)()
292
+ }
293
+ });
294
+
295
+ expect(onComplete).toBeCalled();
296
+ });
297
+ it('should apply onBlur', function () {
298
+ var onBlur = jest.fn();
299
+
300
+ var _render21 = (0, _react2.render)(datePicker({
301
+ onBlur: onBlur
302
+ })),
303
+ container = _render21.container;
304
+
305
+ var inputContent = container.querySelector('.textinput');
306
+
307
+ _react2.fireEvent.blur(inputContent);
308
+
309
+ expect(onBlur).toBeCalled();
310
+ });
311
+ it('should apply onFocus', function () {
312
+ var onFocus = jest.fn();
313
+
314
+ var _render22 = (0, _react2.render)(datePicker({
315
+ onFocus: onFocus
316
+ })),
317
+ container = _render22.container;
318
+
319
+ var inputContent = container.querySelector('.textinput');
320
+
321
+ _react2.fireEvent.focus(inputContent);
322
+
323
+ expect(onFocus).toBeCalled();
324
+ });
325
+ it('should apply onChange', function () {
326
+ var onChange = jest.fn();
327
+
328
+ var _render23 = (0, _react2.render)(datePicker({
329
+ onChange: onChange
330
+ })),
331
+ container = _render23.container;
332
+
333
+ var inputContent = container.querySelector('.textinput');
334
+
335
+ _react2.fireEvent.change(inputContent, {
336
+ target: {
337
+ value: (0, _moment.default)()
338
+ }
339
+ });
340
+
341
+ expect(onChange).toBeCalled();
342
+ });
343
+ it('should apply name', function () {
344
+ var name = 'sus';
345
+
346
+ var _render24 = (0, _react2.render)(datePicker({
347
+ name: name
348
+ })),
349
+ container = _render24.container;
350
+
351
+ var inputContent = container.querySelector('.textinput');
352
+ expect(inputContent.name).toBe(name);
353
+ });
354
+ });
@@ -10,15 +10,9 @@ var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
10
10
  var _format_number = require("../number/format_number");
11
11
  var _excluded = ["inputRef"];
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14
- function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
15
13
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
14
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
21
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
22
16
  var returnEventFormattedValue = function returnEventFormattedValue(props, event) {
23
17
  if (props.returnFormattedValueOnBlur || props.returnFormattedValueOnKeyDown) {
24
18
  // Retornando um objeto com a mesma estrutura do Proxy original
@@ -27,7 +21,7 @@ var returnEventFormattedValue = function returnEventFormattedValue(props, event)
27
21
  // mantido o path até a propriedade value e name.
28
22
  var name = event.target.name;
29
23
  var value = props.defaultValue || '';
30
- return _objectSpread(_objectSpread({}, event), {}, {
24
+ return _extends({}, event, {
31
25
  target: {
32
26
  value: (0, _format_number.numberToEnUS)(value),
33
27
  name: name
@@ -43,7 +37,7 @@ var getEventProps = function getEventProps(props) {
43
37
  if (props.onBlur) {
44
38
  var value = e.target.value;
45
39
  var formatedValue = (0, _format_number.formatOnlyNumbers)(value);
46
- var eventWithFormatedValue = _objectSpread(_objectSpread({}, e), {}, {
40
+ var eventWithFormatedValue = _extends({}, e, {
47
41
  target: {
48
42
  value: formatedValue
49
43
  }
@@ -57,7 +51,7 @@ var getEventProps = function getEventProps(props) {
57
51
  var _ref = e.target,
58
52
  value = _ref.value;
59
53
  var formatedValue = (0, _format_number.formatOnlyNumbers)(value);
60
- var eventWithFormatedValue = _objectSpread(_objectSpread({}, e), {}, {
54
+ var eventWithFormatedValue = _extends({}, e, {
61
55
  target: {
62
56
  value: formatedValue
63
57
  }
@@ -7,15 +7,10 @@ exports.CNPJValidation = CNPJValidation;
7
7
  exports.CPFValidation = CPFValidation;
8
8
  exports.extractNonMaskProps = extractNonMaskProps;
9
9
  var _lodash = require("lodash");
10
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); } /* eslint-disable @typescript-eslint/no-explicit-any */
16
11
  /* eslint-disable no-plusplus */
17
12
  function extractNonMaskProps(props, maskProps) {
18
- var nonMask = _objectSpread({}, props);
13
+ var nonMask = _extends({}, props);
19
14
  Object.keys(maskProps).forEach(function (maskProp) {
20
15
  delete nonMask[maskProp];
21
16
  });
@@ -9,7 +9,6 @@ var _imask = _interopRequireDefault(require("imask"));
9
9
  var helpers = _interopRequireWildcard(require("./helpers"));
10
10
  var _permissionValidations = require("../../permissionValidations");
11
11
  var _format_number = require("../number/format_number");
12
- var _this = void 0;
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
  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); }
15
14
  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; }
@@ -100,7 +99,7 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
100
99
  maskRef.current.value = String(newValue);
101
100
  }
102
101
  };
103
- var onAccept = function onAccept() {
102
+ var onAccept = (0, _react.useCallback)(function () {
104
103
  if (onChange && !disableCallbacks && maskRef.current) {
105
104
  var _maskRef$current = maskRef.current,
106
105
  unmaskedValue = _maskRef$current.unmaskedValue,
@@ -113,8 +112,8 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
113
112
  }
114
113
  }, props.unmask ? unmaskedValue : maskRef.current.value);
115
114
  }
116
- };
117
- var onComplete = function onComplete() {
115
+ }, [onChange]);
116
+ var onComplete = (0, _react.useCallback)(function () {
118
117
  if (props.onComplete && !disableCallbacks && maskRef.current) {
119
118
  var _maskRef$current2 = maskRef.current,
120
119
  unmaskedValue = _maskRef$current2.unmaskedValue,
@@ -127,13 +126,14 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
127
126
  }
128
127
  }, props.unmask ? unmaskedValue : maskRef.current.value);
129
128
  }
130
- };
129
+ }, [props.onComplete]);
131
130
  var getMask = function getMask() {
132
131
  var element = elementRef.current;
133
132
  if (element) {
134
133
  var maskCurrent = maskRef.current;
135
134
  if (!maskCurrent) {
136
- maskRef.current = (0, _imask.default)(element, maskOptions).on('accept', onAccept.bind(_this)).on('complete', onComplete.bind(_this));
135
+ maskRef.current = (0, _imask.default)(element, maskOptions);
136
+ if (value && typeof value !== 'number' && value.trim() !== '' || value && typeof value === 'number') onAccept();
137
137
  setValue(value);
138
138
  } else {
139
139
  maskCurrent.updateOptions(maskOptions);
@@ -150,14 +150,19 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
150
150
  if (props.handlerSetOnDenied) props.handlerSetOnDenied(onDenied);
151
151
  if (!props.mask || dontInitMask) return;
152
152
  getMask();
153
+ }, [maskOptions]);
154
+ (0, _react.useEffect)(function () {
155
+ if (!maskRef.current) return;
156
+ var maskCurrent = maskRef.current;
157
+ maskCurrent.on('accept', onAccept);
158
+ maskCurrent.on('complete', onComplete);
153
159
 
154
160
  // eslint-disable-next-line consistent-return
155
161
  return function () {
156
- var _maskRef$current3, _maskRef$current4;
157
- (_maskRef$current3 = maskRef.current) === null || _maskRef$current3 === void 0 ? void 0 : _maskRef$current3.off('accept', onAccept);
158
- (_maskRef$current4 = maskRef.current) === null || _maskRef$current4 === void 0 ? void 0 : _maskRef$current4.off('complete', onComplete);
162
+ maskCurrent.off('accept', onAccept);
163
+ maskCurrent.off('complete', onComplete);
159
164
  };
160
- }, [maskOptions]);
165
+ }, [onAccept, onComplete]);
161
166
  (0, _react.useEffect)(function () {
162
167
  if (maskOptions.mask && !dontInitMask) {
163
168
  if (maskRef.current) {
@@ -182,7 +187,6 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
182
187
  },
183
188
  inputRef: function inputRef(el) {
184
189
  elementRef.current = el;
185
- // Propagate the input ref for who call it
186
190
  if (_inputRef) {
187
191
  if (_typeof(_inputRef) === 'object') _inputRef.current = el;else _inputRef(el);
188
192
  }