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