linear-react-components-ui 0.4.75 → 0.4.76-beta.11

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 (131) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +8 -9
  4. package/README.md +33 -0
  5. package/config/jest/cssTransform.js +14 -0
  6. package/config/jest/fileTransform.js +12 -0
  7. package/config/jest/storageMock.js +40 -0
  8. package/jest.config.js +18 -0
  9. package/lib/alerts/alert.spec.js +133 -0
  10. package/lib/assets/styles/dropdown.scss +28 -2
  11. package/lib/assets/styles/effects.scss +12 -0
  12. package/lib/assets/styles/floatMenu.scss +0 -1
  13. package/lib/assets/styles/multiSelect.scss +105 -0
  14. package/lib/assets/styles/panel.scss +0 -1
  15. package/lib/assets/styles/periodpicker.scss +65 -0
  16. package/lib/assets/styles/popover.scss +9 -11
  17. package/lib/assets/styles/progress.scss +8 -1
  18. package/lib/assets/styles/select.scss +1 -0
  19. package/lib/assets/styles/table.scss +13 -5
  20. package/lib/assets/styles/tabs.scss +79 -44
  21. package/lib/assets/styles/treeview.scss +32 -0
  22. package/lib/avatar/avatar.spec.js +190 -0
  23. package/lib/avatar/index.js +6 -2
  24. package/lib/badge/badge.spec.js +127 -0
  25. package/lib/badge/index.js +3 -5
  26. package/lib/buttons/DefaultButton.js +7 -1
  27. package/lib/buttons/buttons.spec.js +504 -0
  28. package/lib/calendar/calendar.spec.js +171 -0
  29. package/lib/checkbox/Label.js +37 -0
  30. package/lib/checkbox/checkbox.spec.js +215 -0
  31. package/lib/checkbox/index.js +21 -6
  32. package/lib/dialog/Custom.js +7 -1
  33. package/lib/dialog/base/index.js +18 -6
  34. package/lib/dialog/dialog.spec.js +488 -0
  35. package/lib/dialog/form/index.js +23 -4
  36. package/lib/drawer/Drawer.js +3 -0
  37. package/lib/drawer/Drawer.spec.js +258 -0
  38. package/lib/drawer/Header.js +4 -1
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +1 -0
  41. package/lib/dropdown/dropdown.spec.js +168 -0
  42. package/lib/dropdown/withDropdown.js +10 -4
  43. package/lib/fieldset/fieldset.spec.js +329 -0
  44. package/lib/form/Field.js +2 -0
  45. package/lib/form/FieldNumber.js +10 -2
  46. package/lib/form/FieldPeriod.js +100 -0
  47. package/lib/form/form.spec.js +285 -0
  48. package/lib/form/helpers.js +9 -1
  49. package/lib/form/index.js +209 -222
  50. package/lib/form/withFieldHOC.js +2 -0
  51. package/lib/form/withFormSecurity.js +106 -0
  52. package/lib/gridlayout/GridRow.js +1 -1
  53. package/lib/gridlayout/gridLayout.spec.js +169 -0
  54. package/lib/icons/helper.js +16 -0
  55. package/lib/icons/icons.spec.js +86 -0
  56. package/lib/icons/index.js +2 -0
  57. package/lib/inputs/base/InputTextBase.js +24 -5
  58. package/lib/inputs/base/base.spec.js +690 -0
  59. package/lib/inputs/base/helpers.js +19 -3
  60. package/lib/inputs/color/color_input.spec.js +174 -0
  61. package/lib/inputs/color/index.js +2 -2
  62. package/lib/inputs/date/Dropdown.js +3 -3
  63. package/lib/inputs/date/date.spec.js +344 -0
  64. package/lib/inputs/date/helpers.js +36 -0
  65. package/lib/inputs/date/index.js +11 -9
  66. package/lib/inputs/mask/Cpf.js +9 -9
  67. package/lib/inputs/mask/input_mask.spec.js +590 -0
  68. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  69. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  70. package/lib/inputs/multiSelect/helper.js +18 -0
  71. package/lib/inputs/multiSelect/index.js +343 -0
  72. package/lib/inputs/number/BaseNumber.js +1 -1
  73. package/lib/inputs/number/index.js +7 -5
  74. package/lib/inputs/number/numberfield.spec.js +215 -0
  75. package/lib/inputs/period/Dialog.js +38 -0
  76. package/lib/inputs/period/Dropdown.js +90 -0
  77. package/lib/inputs/period/PeriodList.js +79 -0
  78. package/lib/inputs/period/helper.js +118 -0
  79. package/lib/inputs/period/index.js +490 -0
  80. package/lib/inputs/search/search_input.spec.js +209 -0
  81. package/lib/inputs/select/Dropdown.js +4 -4
  82. package/lib/inputs/select/index.js +26 -3
  83. package/lib/inputs/select/multiple/index.js +9 -7
  84. package/lib/inputs/select/select.spec.js +391 -0
  85. package/lib/inputs/select/simple/index.js +30 -18
  86. package/lib/inputs/text/textfield.spec.js +215 -0
  87. package/lib/inputs/textarea/textarea.spec.js +59 -0
  88. package/lib/internals/withTooltip.js +86 -82
  89. package/lib/labelMessages/index.js +3 -2
  90. package/lib/labelMessages/labelMessages.spec.js +176 -0
  91. package/lib/labels/label.spec.js +162 -0
  92. package/lib/list/Item.js +3 -3
  93. package/lib/list/index.js +21 -10
  94. package/lib/list/list.spec.js +611 -0
  95. package/lib/menus/float/MenuItem.js +25 -8
  96. package/lib/menus/float/float-menu.spec.js +221 -0
  97. package/lib/menus/sidenav/index.js +7 -3
  98. package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
  99. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  100. package/lib/noPermission/index.js +2 -1
  101. package/lib/panel/panel.spec.js +216 -0
  102. package/lib/popover/index.js +2 -1
  103. package/lib/popover/popover.spec.js +146 -0
  104. package/lib/progress/Bar.js +40 -9
  105. package/lib/progress/index.js +12 -4
  106. package/lib/progress/progress.spec.js +86 -0
  107. package/lib/radio/radio.spec.js +189 -0
  108. package/lib/spinner/SpinnerLoading.js +14 -24
  109. package/lib/spinner/index.js +6 -1
  110. package/lib/spinner/spinner.spec.js +152 -0
  111. package/lib/split/Split.js +10 -12
  112. package/lib/split/split.spec.js +151 -0
  113. package/lib/table/Header.js +3 -1
  114. package/lib/table/Row.js +2 -5
  115. package/lib/table/index.js +1 -4
  116. package/lib/table/table.spec.js +352 -0
  117. package/lib/tabs/DropdownItems.js +84 -0
  118. package/lib/tabs/Menu.js +18 -5
  119. package/lib/tabs/MenuItems.js +7 -7
  120. package/lib/tabs/Panel.js +1 -3
  121. package/lib/tabs/index.js +151 -20
  122. package/lib/tabs/tabs.spec.js +349 -0
  123. package/lib/toolbar/index.js +8 -4
  124. package/lib/toolbar/toolbar.spec.js +394 -0
  125. package/lib/tooltip/index.js +20 -6
  126. package/lib/tooltip/tooltip.spec.js +203 -0
  127. package/lib/treeview/Node.js +347 -48
  128. package/lib/treeview/index.js +456 -35
  129. package/lib/treeview/treeview.spec.js +261 -0
  130. package/package.json +19 -9
  131. package/.DS_Store +0 -0
@@ -0,0 +1,285 @@
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("babel-polyfill");
10
+
11
+ require("@testing-library/jest-dom");
12
+
13
+ var _ = _interopRequireWildcard(require("."));
14
+
15
+ var _text = _interopRequireDefault(require("../inputs/text"));
16
+
17
+ var _checkbox = _interopRequireDefault(require("../checkbox"));
18
+
19
+ var _select = _interopRequireDefault(require("../inputs/select"));
20
+
21
+ var _number = _interopRequireDefault(require("../inputs/number"));
22
+
23
+ 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); }
24
+
25
+ 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; }
26
+
27
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
28
+
29
+ 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); } }
30
+
31
+ 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); }); }; }
32
+
33
+ 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); }
34
+
35
+ var mockOnSubmit = jest.fn();
36
+ var mockHandlerSubmit = jest.fn();
37
+ var data = {
38
+ status: [0],
39
+ nome: 'Gustavo',
40
+ idade: '4'
41
+ };
42
+ var mockSelectOptions = [{
43
+ id: 0,
44
+ name: 'Ativo'
45
+ }, {
46
+ id: 1,
47
+ name: 'Inativo'
48
+ }, {
49
+ id: 2,
50
+ name: 'Excluído'
51
+ }];
52
+
53
+ var mockForm = function mockForm(props, fieldProps, fieldArrayProps) {
54
+ return /*#__PURE__*/_react["default"].createElement(_["default"], _extends({
55
+ dataSource: data,
56
+ onSubmit: mockOnSubmit,
57
+ handlerSubmit: mockHandlerSubmit,
58
+ customClass: "mock-form",
59
+ style: {
60
+ marginBottom: '10px'
61
+ }
62
+ }, props), /*#__PURE__*/_react["default"].createElement(_.Field, _extends({
63
+ label: "Nome",
64
+ component: _text["default"],
65
+ name: "nome",
66
+ externalMessagesErrors: ['External Message Errors']
67
+ }, fieldProps)), /*#__PURE__*/_react["default"].createElement(_.Field, {
68
+ label: "Endereco Valido",
69
+ component: _checkbox["default"],
70
+ name: "endereco.valido",
71
+ componentType: "Checkbox",
72
+ fieldId: "fooo"
73
+ }), /*#__PURE__*/_react["default"].createElement(_.FieldArray, _extends({
74
+ label: "Status",
75
+ name: "status",
76
+ idKey: "id",
77
+ descriptionKey: "name",
78
+ multiple: true,
79
+ labelContainerStyle: {
80
+ height: 200
81
+ },
82
+ dataSource: mockSelectOptions,
83
+ component: _select["default"],
84
+ valuePropName: "values",
85
+ changePropName: "onChange",
86
+ bordered: true
87
+ }, fieldArrayProps)), /*#__PURE__*/_react["default"].createElement(_.FieldNumber, {
88
+ label: "Idade",
89
+ component: _number["default"],
90
+ scale: 3,
91
+ name: "idade"
92
+ }));
93
+ };
94
+
95
+ describe('Form', function () {
96
+ it('should render correctly', function () {
97
+ var _render = (0, _react2.render)(mockForm()),
98
+ container = _render.container;
99
+
100
+ expect(container.firstChild).toBeTruthy();
101
+ });
102
+ it('should apply custom class', function () {
103
+ var _render2 = (0, _react2.render)(mockForm()),
104
+ container = _render2.container;
105
+
106
+ expect(container.firstChild).toHaveClass('mock-form');
107
+ });
108
+ it('should apply style', function () {
109
+ var _render3 = (0, _react2.render)(mockForm()),
110
+ container = _render3.container;
111
+
112
+ expect(container.firstChild).toHaveStyle('margin-bottom: 10px;');
113
+ });
114
+ it('should render with dataSource', function () {
115
+ var mockOnDataChange = jest.fn();
116
+
117
+ var _render4 = (0, _react2.render)(mockForm({
118
+ onDataChange: mockOnDataChange
119
+ })),
120
+ getByDisplayValue = _render4.getByDisplayValue;
121
+
122
+ _react2.fireEvent.change(getByDisplayValue('Gustavo'), {
123
+ target: {
124
+ value: 'Foo'
125
+ }
126
+ });
127
+
128
+ expect(mockOnDataChange).toHaveBeenCalledWith(_extends({}, data));
129
+ });
130
+ it('should submit form', function () {
131
+ var _render5 = (0, _react2.render)(mockForm()),
132
+ container = _render5.container;
133
+
134
+ _react2.fireEvent.submit(container.querySelector('.form-component'));
135
+
136
+ expect(mockHandlerSubmit).toHaveBeenCalled();
137
+ });
138
+ it('should submit on press enter', function () {
139
+ var _render6 = (0, _react2.render)(mockForm()),
140
+ container = _render6.container;
141
+
142
+ _react2.fireEvent.keyUp(container.querySelector('.form-component'), {
143
+ key: 'Enter',
144
+ code: 'Enter',
145
+ keyCode: '13',
146
+ charCode: '13'
147
+ });
148
+
149
+ expect(mockHandlerSubmit).toHaveBeenCalled();
150
+ });
151
+ it('should change form data', function () {
152
+ var mockOnDataChange = jest.fn();
153
+
154
+ var _render7 = (0, _react2.render)(mockForm({
155
+ onDataChange: mockOnDataChange
156
+ })),
157
+ getByDisplayValue = _render7.getByDisplayValue;
158
+
159
+ _react2.fireEvent.change(getByDisplayValue('Foo'), {
160
+ target: {
161
+ value: 'Gustavo'
162
+ }
163
+ });
164
+
165
+ expect(mockOnDataChange).toHaveBeenCalledWith(_extends({}, data));
166
+ });
167
+ it('should execute handlerValidates', function () {
168
+ var mockOnDataChange = jest.fn();
169
+ var mockHandlerValidates = jest.fn();
170
+
171
+ var _render8 = (0, _react2.render)(mockForm({
172
+ onDataChange: mockOnDataChange,
173
+ handlerValidates: mockHandlerValidates
174
+ })),
175
+ getByDisplayValue = _render8.getByDisplayValue;
176
+
177
+ _react2.fireEvent.change(getByDisplayValue('Gustavo'), {
178
+ target: {
179
+ value: 'XPTO'
180
+ }
181
+ });
182
+
183
+ expect(mockHandlerValidates).toHaveBeenCalled();
184
+ });
185
+ it('should execute handlerReset', function () {
186
+ var mockHandlerReset = jest.fn();
187
+ (0, _react2.render)(mockForm({
188
+ handlerReset: mockHandlerReset
189
+ }));
190
+ expect(mockHandlerReset).toHaveBeenCalled();
191
+ });
192
+ });
193
+ describe('Field', function () {
194
+ describe('Default & Number', function () {
195
+ it('should field has name', function () {
196
+ var _render9 = (0, _react2.render)(mockForm()),
197
+ getByDisplayValue = _render9.getByDisplayValue;
198
+
199
+ expect(getByDisplayValue('XPTO')).toHaveAttribute('name', 'nome');
200
+ });
201
+ it('should render component', function () {
202
+ var _render10 = (0, _react2.render)(mockForm()),
203
+ container = _render10.container;
204
+
205
+ expect(container.firstChild).toContainElement(container.querySelector('.textinput'));
206
+ });
207
+ it('should execute callback on field change', function () {
208
+ var mockOnChange = jest.fn();
209
+
210
+ var _render11 = (0, _react2.render)(mockForm({}, {
211
+ onChange: mockOnChange
212
+ })),
213
+ getByDisplayValue = _render11.getByDisplayValue;
214
+
215
+ _react2.fireEvent.change(getByDisplayValue('XPTO'), {
216
+ target: {
217
+ value: 'Gustavo'
218
+ }
219
+ });
220
+
221
+ expect(mockOnChange).toHaveBeenCalled();
222
+ });
223
+ it('should render label', function () {
224
+ var _render12 = (0, _react2.render)(mockForm()),
225
+ container = _render12.container;
226
+
227
+ expect(container.firstChild).toHaveTextContent('Nome');
228
+ });
229
+ it('should apply validators', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
230
+ var _render13, container;
231
+
232
+ return regeneratorRuntime.wrap(function _callee$(_context) {
233
+ while (1) {
234
+ switch (_context.prev = _context.next) {
235
+ case 0:
236
+ _render13 = (0, _react2.render)(mockForm()), container = _render13.container;
237
+ expect(container.querySelector('.errormessages')).toHaveTextContent('External Message Errors');
238
+
239
+ case 2:
240
+ case "end":
241
+ return _context.stop();
242
+ }
243
+ }
244
+ }, _callee);
245
+ })));
246
+ it('should apply fieldId', function () {
247
+ var _render14 = (0, _react2.render)(mockForm()),
248
+ container = _render14.container;
249
+
250
+ expect(container.querySelector('#fooo')).toBeInTheDocument();
251
+ });
252
+ });
253
+ describe('Array', function () {
254
+ it('should apply bordered', function () {
255
+ var _render15 = (0, _react2.render)(mockForm()),
256
+ container = _render15.container;
257
+
258
+ expect(container.querySelector('.arraycontainer')).toHaveClass('-bordered');
259
+ });
260
+ it('should apply labelContainerStyle', function () {
261
+ var _render16 = (0, _react2.render)(mockForm()),
262
+ container = _render16.container;
263
+
264
+ expect(container.querySelector('.arraycontainer')).toHaveStyle('height: 200px;');
265
+ });
266
+ it('should apply grid columns', function () {
267
+ var _render17 = (0, _react2.render)(mockForm({}, {}, {
268
+ cols: '12 12 12 12'
269
+ })),
270
+ container = _render17.container;
271
+
272
+ expect(container.querySelector('.grid-container')).toBeInTheDocument();
273
+ expect(container.querySelector('.grid-container')).toHaveClass('col-xs-12 col-sm-12 col-md-12 col-lg-12');
274
+ expect(container.querySelector('.grid-container')).toContainElement(container.querySelector('.arraycontainer'));
275
+ });
276
+ it('should apply skipLabel', function () {
277
+ var _render18 = (0, _react2.render)(mockForm({}, {}, {
278
+ skipLabel: true
279
+ })),
280
+ container = _render18.container;
281
+
282
+ expect(container.querySelector('.arraycontainer')).not.toBeInTheDocument();
283
+ });
284
+ });
285
+ });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getValidatorsArray = exports.getErrorMessages = exports.withFieldContext = exports.FormContext = exports.FieldContext = void 0;
6
+ exports.getValidatorsArray = exports.getErrorMessages = exports.withFieldContext = exports.FormContext = exports.FieldContext = exports.securityBeforeUnload = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -21,6 +21,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
21
21
 
22
22
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
23
 
24
+ var securityBeforeUnload = 'securityBeforeUnload';
25
+ exports.securityBeforeUnload = securityBeforeUnload;
26
+
24
27
  var FieldContext = /*#__PURE__*/_react["default"].createContext();
25
28
 
26
29
  exports.FieldContext = FieldContext;
@@ -36,6 +39,7 @@ exports.withFieldContext = withFieldContext;
36
39
  var getErrorMessages = function getErrorMessages(_ref) {
37
40
  var name = _ref.name,
38
41
  fieldErrors = _ref.fieldErrors,
42
+ externalFieldErrors = _ref.externalFieldErrors,
39
43
  externalMessagesErrors = _ref.externalMessagesErrors;
40
44
 
41
45
  var errors = _toConsumableArray(externalMessagesErrors);
@@ -44,6 +48,10 @@ var getErrorMessages = function getErrorMessages(_ref) {
44
48
  errors = [].concat(_toConsumableArray(errors), _toConsumableArray(fieldErrors[name]));
45
49
  }
46
50
 
51
+ if (externalFieldErrors && externalFieldErrors[name]) {
52
+ errors = [].concat(_toConsumableArray(errors), _toConsumableArray(externalFieldErrors[name]));
53
+ }
54
+
47
55
  return errors;
48
56
  };
49
57