linear-react-components-ui 0.4.77-beta.27 → 0.4.77-beta.28

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 (246) hide show
  1. package/.eslintrc.json +3 -76
  2. package/.husky/pre-commit +4 -0
  3. package/.vscode/settings.json +2 -2
  4. package/jest.config.js +3 -3
  5. package/lib/alerts/AlertContainer.js +19 -14
  6. package/lib/alerts/AlertProvider.js +9 -4
  7. package/lib/alerts/BaseAlert.js +8 -5
  8. package/lib/alerts/Message.js +40 -31
  9. package/lib/alerts/alert.spec.js +133 -0
  10. package/lib/alerts/helpers.js +5 -2
  11. package/lib/alerts/withAlert.js +2 -2
  12. package/lib/assets/styles/commons.scss +10 -0
  13. package/lib/assets/styles/dropdown.scss +36 -2
  14. package/lib/assets/styles/effects.scss +11 -0
  15. package/lib/assets/styles/list.scss +8 -0
  16. package/lib/assets/styles/table.scss +2 -7
  17. package/lib/avatar/avatar.spec.js +190 -0
  18. package/lib/avatar/index.js +58 -13
  19. package/lib/badge/badge.spec.js +127 -0
  20. package/lib/badge/index.js +22 -6
  21. package/lib/buttons/ActivateButton.js +3 -3
  22. package/lib/buttons/AddButton.js +1 -1
  23. package/lib/buttons/Button.js +11 -19
  24. package/lib/buttons/ButtonGroups.js +5 -0
  25. package/lib/buttons/CancelButton.js +3 -16
  26. package/lib/buttons/DangerButton.js +19 -14
  27. package/lib/buttons/DefaultButton.js +127 -65
  28. package/lib/buttons/DestroyButton.js +3 -12
  29. package/lib/buttons/EditButton.js +3 -3
  30. package/lib/buttons/InactivateButton.js +3 -3
  31. package/lib/buttons/InfoButton.js +19 -14
  32. package/lib/buttons/PrimaryButton.js +19 -14
  33. package/lib/buttons/RestoreButton.js +3 -3
  34. package/lib/buttons/SaveButton.js +2 -15
  35. package/lib/buttons/SpinnerLoading.js +230 -0
  36. package/lib/buttons/SuccessButton.js +18 -13
  37. package/lib/buttons/WarningButton.js +18 -13
  38. package/lib/buttons/button_container/index.js +18 -5
  39. package/lib/buttons/buttons.spec.js +504 -0
  40. package/lib/buttons/index.js +28 -28
  41. package/lib/buttons/split_button/index.js +30 -13
  42. package/lib/calendar/DangerCalendar.js +2 -11
  43. package/lib/calendar/InfoCalendar.js +2 -11
  44. package/lib/calendar/PrimaryCalendar.js +2 -11
  45. package/lib/calendar/SuccessCalendar.js +2 -11
  46. package/lib/calendar/WarningCalendar.js +2 -11
  47. package/lib/calendar/base/Day.js +8 -2
  48. package/lib/calendar/base/Month.js +5 -0
  49. package/lib/calendar/base/Week.js +6 -0
  50. package/lib/calendar/base/helpers.js +9 -9
  51. package/lib/calendar/base/index.js +36 -33
  52. package/lib/calendar/calendar.spec.js +171 -0
  53. package/lib/calendar/index.js +10 -10
  54. package/lib/checkbox/Label.js +12 -2
  55. package/lib/checkbox/checkbox.spec.js +215 -0
  56. package/lib/checkbox/index.js +79 -42
  57. package/lib/dialog/Alert.js +8 -3
  58. package/lib/dialog/Custom.js +25 -17
  59. package/lib/dialog/Error.js +6 -1
  60. package/lib/dialog/Information.js +6 -1
  61. package/lib/dialog/Question.js +17 -6
  62. package/lib/dialog/Warning.js +6 -1
  63. package/lib/dialog/base/Content.js +9 -0
  64. package/lib/dialog/base/Footer.js +8 -2
  65. package/lib/dialog/base/Header.js +22 -8
  66. package/lib/dialog/base/index.js +28 -6
  67. package/lib/dialog/dialog.spec.js +488 -0
  68. package/lib/dialog/form/index.js +32 -22
  69. package/lib/dialog/index.js +6 -6
  70. package/lib/drawer/Content.js +10 -1
  71. package/lib/drawer/Drawer.js +50 -29
  72. package/lib/drawer/Drawer.spec.js +258 -0
  73. package/lib/drawer/Header.js +31 -12
  74. package/lib/drawer/helpers.js +1 -1
  75. package/lib/drawer/index.js +4 -4
  76. package/lib/dropdown/Popup.js +16 -32
  77. package/lib/dropdown/dropdown.spec.js +169 -0
  78. package/lib/dropdown/helper.js +2 -2
  79. package/lib/dropdown/withDropdown.js +43 -18
  80. package/lib/fieldset/fieldset.spec.js +329 -0
  81. package/lib/fieldset/index.js +43 -12
  82. package/lib/form/Field.js +41 -14
  83. package/lib/form/FieldArray.js +50 -20
  84. package/lib/form/FieldNumber.js +44 -12
  85. package/lib/form/FieldPeriod.js +41 -19
  86. package/lib/form/form.spec.js +293 -0
  87. package/lib/form/helpers.js +16 -10
  88. package/lib/form/index.js +92 -57
  89. package/lib/form/withFieldHOC.js +120 -40
  90. package/lib/form/withFormSecurity.js +38 -17
  91. package/lib/gridlayout/GridCol.js +18 -3
  92. package/lib/gridlayout/GridRow.js +24 -4
  93. package/lib/gridlayout/gridLayout.spec.js +169 -0
  94. package/lib/icons/helper.js +571 -560
  95. package/lib/icons/icons.spec.js +86 -0
  96. package/lib/icons/index.js +40 -23
  97. package/lib/index.js +12 -12
  98. package/lib/inputs/base/InputTextBase.js +149 -40
  99. package/lib/inputs/base/base.spec.js +690 -0
  100. package/lib/inputs/base/helpers.js +4 -4
  101. package/lib/inputs/base/index.js +1 -0
  102. package/lib/inputs/color/color_input.spec.js +174 -0
  103. package/lib/inputs/color/index.js +29 -31
  104. package/lib/inputs/date/Dialog.js +8 -1
  105. package/lib/inputs/date/Dropdown.js +70 -18
  106. package/lib/inputs/date/date.spec.js +354 -0
  107. package/lib/inputs/date/helpers.js +1 -1
  108. package/lib/inputs/date/index.js +411 -255
  109. package/lib/inputs/inputHOC.js +96 -44
  110. package/lib/inputs/mask/BaseMask.js +45 -16
  111. package/lib/inputs/mask/Cnpj.js +19 -12
  112. package/lib/inputs/mask/Cpf.js +22 -14
  113. package/lib/inputs/mask/Phone.js +9 -1
  114. package/lib/inputs/mask/ZipCode.js +1 -1
  115. package/lib/inputs/mask/helpers.js +36 -21
  116. package/lib/inputs/mask/imaskHOC.js +255 -186
  117. package/lib/inputs/mask/index.js +4 -4
  118. package/lib/inputs/mask/input_mask.spec.js +607 -0
  119. package/lib/inputs/multiSelect/ActionButtons.js +14 -2
  120. package/lib/inputs/multiSelect/Dropdown.js +70 -43
  121. package/lib/inputs/multiSelect/index.js +80 -60
  122. package/lib/inputs/number/BaseNumber.js +62 -27
  123. package/lib/inputs/number/Currency.js +14 -4
  124. package/lib/inputs/number/format_number.js +1 -1
  125. package/lib/inputs/number/index.js +15 -9
  126. package/lib/inputs/number/numberfield.spec.js +215 -0
  127. package/lib/inputs/period/Dialog.js +8 -1
  128. package/lib/inputs/period/Dropdown.js +70 -16
  129. package/lib/inputs/period/PeriodList.js +19 -6
  130. package/lib/inputs/period/helper.js +71 -30
  131. package/lib/inputs/period/index.js +160 -112
  132. package/lib/inputs/search/index.js +261 -129
  133. package/lib/inputs/search/search_input.spec.js +209 -0
  134. package/lib/inputs/select/ActionButtons.js +20 -14
  135. package/lib/inputs/select/Dropdown.js +63 -30
  136. package/lib/inputs/select/helper.js +16 -18
  137. package/lib/inputs/select/index.js +13 -14
  138. package/lib/inputs/select/multiple/Selecteds.js +13 -5
  139. package/lib/inputs/select/multiple/index.js +414 -289
  140. package/lib/inputs/select/select.spec.js +395 -0
  141. package/lib/inputs/select/simple/index.js +461 -322
  142. package/lib/inputs/text/index.js +0 -1
  143. package/lib/inputs/text/textfield.spec.js +215 -0
  144. package/lib/inputs/textarea/index.js +15 -5
  145. package/lib/inputs/textarea/textarea.spec.js +59 -0
  146. package/lib/internals/constants.js +1 -1
  147. package/lib/internals/withTooltip.js +34 -26
  148. package/lib/labelMessages/index.js +45 -27
  149. package/lib/labelMessages/labelMessages.spec.js +176 -0
  150. package/lib/labels/DangerLabel.js +4 -13
  151. package/lib/labels/DefaultLabel.js +57 -25
  152. package/lib/labels/InfoLabel.js +4 -13
  153. package/lib/labels/PrimaryLabel.js +4 -13
  154. package/lib/labels/SuccessLabel.js +4 -13
  155. package/lib/labels/WarningLabel.js +4 -13
  156. package/lib/labels/index.js +10 -10
  157. package/lib/labels/label.spec.js +162 -0
  158. package/lib/labels/label_container/index.js +12 -2
  159. package/lib/list/Header.js +13 -0
  160. package/lib/list/Item.js +65 -27
  161. package/lib/list/helpers.js +2 -2
  162. package/lib/list/index.js +51 -31
  163. package/lib/list/list.spec.js +769 -0
  164. package/lib/menus/float/MenuItem.js +42 -10
  165. package/lib/menus/float/SubMenuContainer.js +95 -0
  166. package/lib/menus/float/float-menu.spec.js +221 -0
  167. package/lib/menus/float/helpers.js +1 -1
  168. package/lib/menus/float/index.js +39 -9
  169. package/lib/menus/sidenav/ExpandMenu.js +13 -1
  170. package/lib/menus/sidenav/MenuLink.js +14 -0
  171. package/lib/menus/sidenav/NavMenuGroup.js +12 -1
  172. package/lib/menus/sidenav/NavMenuItem.js +45 -19
  173. package/lib/menus/sidenav/NavSubMenuItem.js +15 -4
  174. package/lib/menus/sidenav/helpers.js +3 -3
  175. package/lib/menus/sidenav/index.js +60 -30
  176. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +11 -2
  177. package/lib/menus/sidenav/popup_menu_search/index.js +11 -14
  178. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  179. package/lib/panel/Content.js +18 -6
  180. package/lib/panel/DangerPanel.js +1 -1
  181. package/lib/panel/Default.js +45 -18
  182. package/lib/panel/Header.js +29 -7
  183. package/lib/panel/InfoPanel.js +1 -1
  184. package/lib/panel/PrimaryPanel.js +1 -1
  185. package/lib/panel/SuccessPanel.js +1 -1
  186. package/lib/panel/ToolBar.js +5 -0
  187. package/lib/panel/WarningPanel.js +1 -1
  188. package/lib/panel/helpers.js +3 -7
  189. package/lib/panel/index.js +14 -14
  190. package/lib/panel/panel.spec.js +216 -0
  191. package/lib/permissionValidations.js +12 -14
  192. package/lib/popover/PopoverText.js +5 -0
  193. package/lib/popover/PopoverTitle.js +5 -0
  194. package/lib/popover/index.js +40 -26
  195. package/lib/popover/popover.spec.js +146 -0
  196. package/lib/progress/Bar.js +47 -37
  197. package/lib/progress/index.js +18 -8
  198. package/lib/progress/progress.spec.js +94 -0
  199. package/lib/radio/index.js +46 -22
  200. package/lib/radio/radio.spec.js +189 -0
  201. package/lib/skeleton/SkeletonContainer.js +13 -0
  202. package/lib/skeleton/index.js +26 -7
  203. package/lib/spinner/SpinnerLoading.js +12 -4
  204. package/lib/spinner/index.js +29 -24
  205. package/lib/spinner/spinner.spec.js +152 -0
  206. package/lib/split/Split.js +62 -45
  207. package/lib/split/SplitSide.js +21 -1
  208. package/lib/split/helpers.js +1 -1
  209. package/lib/split/split.spec.js +163 -0
  210. package/lib/table/Body.js +16 -9
  211. package/lib/table/Header.js +19 -40
  212. package/lib/table/HeaderColumn.js +20 -6
  213. package/lib/table/Row.js +28 -7
  214. package/lib/table/RowColumn.js +30 -12
  215. package/lib/table/helpers.js +3 -3
  216. package/lib/table/index.js +53 -15
  217. package/lib/table/table.spec.js +352 -0
  218. package/lib/tabs/DropdownItems.js +53 -39
  219. package/lib/tabs/Menu.js +20 -16
  220. package/lib/tabs/MenuItems.js +39 -25
  221. package/lib/tabs/Panel.js +51 -18
  222. package/lib/tabs/index.js +75 -81
  223. package/lib/tabs/tabHelpers.js +8 -10
  224. package/lib/tabs/tabs.spec.js +321 -0
  225. package/lib/toolbar/ButtonBar.js +13 -32
  226. package/lib/toolbar/LabelBar.js +18 -31
  227. package/lib/toolbar/ToolBarGroup.js +12 -6
  228. package/lib/toolbar/helpers.js +1 -1
  229. package/lib/toolbar/index.js +33 -25
  230. package/lib/toolbar/toolbar.spec.js +394 -0
  231. package/lib/tooltip/index.js +34 -25
  232. package/lib/tooltip/tooltip.spec.js +215 -0
  233. package/lib/treeview/Header.js +12 -0
  234. package/lib/treeview/Node.js +387 -261
  235. package/lib/treeview/constants.js +2 -1
  236. package/lib/treeview/index.js +548 -363
  237. package/lib/treeview/treeview.spec.js +279 -0
  238. package/lib/treeview_old/Node.js +6 -6
  239. package/lib/uitour/helpers.js +1 -1
  240. package/lib/uitour/index.js +32 -15
  241. package/lib/uitour/uitour.spec.js +176 -0
  242. package/package.json +16 -40
  243. package/.husky/pre-push +0 -4
  244. package/babel.config.json +0 -11
  245. package/tsconfig.json +0 -32
  246. package/tsup.config.ts +0 -10
@@ -1,6 +1,8 @@
1
1
  @import "commons.scss";
2
2
  @import "effects.scss";
3
+ @import "colors.scss";
3
4
  .dropdown-component {
5
+ min-width: 200px;
4
6
  position: absolute;
5
7
  animation: 0.3s ease-in 0s 1 slideDown, revealelement 0.3s forwards ease-in-out;
6
8
  box-shadow: -6px 6px 50px -12px rgba(51, 51, 51, 0.4);
@@ -75,12 +77,44 @@
75
77
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
76
78
  animation: revealelement 0.3s forwards ease-in-out;
77
79
  margin-right: 7px;
78
- > .floatmenuitem {
80
+ > .floatmenuitem,
81
+ > .floatsubmenu .floatmenuitem {
79
82
  text-decoration: none;
80
83
  color: #666666;
81
84
  text-align: center;
82
85
  }
83
- > .floatmenuitem .-items {
86
+ > .floatsubmenu {
87
+ position: relative;
88
+ animation: slideWithPositionRightToLeft 0.4s;
89
+ }
90
+ > .floatsubmenu {
91
+ width: 100%;
92
+ > .submenuheader {
93
+ color: $font-color-soft;
94
+ display: flex;
95
+ align-items: center;
96
+ gap: 10px;
97
+ margin-bottom: 10px;
98
+ span {
99
+ font-weight: 500;
100
+ }
101
+ }
102
+ > .submenucontent {
103
+ display: -webkit-box;
104
+ display: -ms-flexbox;
105
+ display: flex;
106
+ -webkit-box-orient: horizontal;
107
+ -webkit-box-direction: normal;
108
+ -ms-flex-flow: row wrap;
109
+ flex-flow: row wrap;
110
+
111
+ svg {
112
+ margin: 0 auto;
113
+ }
114
+ }
115
+ }
116
+ > .floatmenuitem .-items,
117
+ > .floatsubmenu .floatmenuitem .-items {
84
118
  border: solid 1px $default-hover-color;
85
119
  margin: 0 5px 5px 0;
86
120
  font-size: 12px;
@@ -732,6 +732,17 @@
732
732
  }
733
733
  }
734
734
 
735
+ @keyframes slideWithPositionRightToLeft {
736
+ from {
737
+ left: 100%;
738
+ opacity: 0;
739
+ }
740
+ to {
741
+ left: 0;
742
+ opacity: 1;
743
+ }
744
+ }
745
+
735
746
  @keyframes slideRightToLeftWithFade {
736
747
  from {
737
748
  opacity: 0;
@@ -20,6 +20,14 @@ $item-height: 48px;
20
20
  line-height: 40px!important;
21
21
  }
22
22
  }
23
+ > .skeleton-transparency {
24
+ position: relative;
25
+ &::after {
26
+ @extend %skeleton-transparency;
27
+ top: 0;
28
+ left: 0;
29
+ }
30
+ }
23
31
  }
24
32
 
25
33
  .item-container {
@@ -1,5 +1,6 @@
1
1
  @import "colors.scss";
2
2
  @import "effects.scss";
3
+ @import "commons.scss";
3
4
 
4
5
  .table-component {
5
6
  width: 100%;
@@ -23,13 +24,7 @@
23
24
  > .tbody {
24
25
  position: relative;
25
26
  &.skeleton-transparency::before {
26
- content: '';
27
- position: absolute;
28
- width: 100%;
29
- height: 100%;
30
- background: rgb(255,255,255);
31
- background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 30%,
32
- rgba(255,255,255,0.6) 70%,rgba(255,255,255,0.8) 100%);
27
+ @extend %skeleton-transparency;
33
28
  }
34
29
  }
35
30
  > .headercontainer > .innertable > .theader > .trow,
@@ -0,0 +1,190 @@
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
+ require("babel-polyfill");
8
+
9
+ require("@testing-library/jest-dom/extend-expect");
10
+
11
+ var _react2 = require("@testing-library/react");
12
+
13
+ var _ = _interopRequireDefault(require("."));
14
+
15
+ var _icons = _interopRequireDefault(require("../icons"));
16
+
17
+ var _list = _interopRequireWildcard(require("../list"));
18
+
19
+ 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); }
20
+
21
+ 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; }
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ 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); } }
26
+
27
+ 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); }); }; }
28
+
29
+ describe('Avatar', function () {
30
+ it('should render correctly', function () {
31
+ var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
32
+ label: "B"
33
+ })),
34
+ container = _render.container;
35
+
36
+ expect(container.firstChild).toHaveClass('avatar-component -default');
37
+ expect(container.firstChild).toHaveTextContent('B');
38
+ expect(_react2.screen.getByRole('button')).toBeInTheDocument();
39
+ });
40
+ it('should apply customClass', function () {
41
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
42
+ label: "B",
43
+ customClass: "avatarteste"
44
+ })),
45
+ container = _render2.container;
46
+
47
+ expect(container.firstChild).toHaveClass('avatarteste');
48
+ });
49
+ it('should change color', function () {
50
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
51
+ label: "B",
52
+ color: "#333"
53
+ })),
54
+ container = _render3.container;
55
+
56
+ expect(container.firstChild).toHaveStyle('background-color: #333');
57
+ });
58
+ it('should change to square', function () {
59
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
60
+ label: "B",
61
+ square: true
62
+ })),
63
+ container = _render4.container;
64
+
65
+ expect(container.firstChild).toHaveClass('-square');
66
+ });
67
+ it('should change to mini', function () {
68
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
69
+ label: "B",
70
+ size: "mini"
71
+ })),
72
+ container = _render5.container;
73
+
74
+ expect(container.firstChild).toHaveClass('-mini');
75
+ });
76
+ it('should render icon with iconName', function () {
77
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
78
+ iconName: "calc"
79
+ })),
80
+ container = _render6.container;
81
+
82
+ expect(container.firstChild).toContainElement(_react2.screen.getByTestId('icon'));
83
+ });
84
+ it('should render Icon with icon', function () {
85
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
86
+ icon: /*#__PURE__*/_react.default.createElement(_icons.default, {
87
+ name: "user"
88
+ })
89
+ })),
90
+ container = _render7.container;
91
+
92
+ expect(container.firstChild).toContainElement(_react2.screen.getByTestId('icon'));
93
+ });
94
+ it('should render with image', function () {
95
+ var mockAvatar = /*#__PURE__*/_react.default.createElement(_.default, {
96
+ src: "https://yt3.ggpht.com/a-/AAuE7mDGQh9L3n_EULfeZEO9rs_JR4BY376CSrlxdw=s900-mo-c-c0xffffffff-rj-k-no",
97
+ srcAlt: "Avatar Teste"
98
+ });
99
+
100
+ var _render8 = (0, _react2.render)(mockAvatar),
101
+ container = _render8.container;
102
+
103
+ expect(container.firstChild).toContainElement(_react2.screen.getByAltText('Avatar Teste'));
104
+ expect(_react2.screen.getByAltText('Avatar Teste')).toHaveClass('imgavatar');
105
+ });
106
+ it('should not render icon if has image', function () {
107
+ var mockAvatar = /*#__PURE__*/_react.default.createElement(_.default, {
108
+ src: "https://yt3.ggpht.com/a-/AAuE7mDGQh9L3n_EULfeZEO9rs_JR4BY376CSrlxdw=s900-mo-c-c0xffffffff-rj-k-no",
109
+ srcAlt: "Avatar Teste"
110
+ });
111
+
112
+ var _render9 = (0, _react2.render)(mockAvatar),
113
+ container = _render9.container;
114
+
115
+ expect(container.firstChild).not.toContainElement(document.querySelector('.icon-component'));
116
+ });
117
+ it('should change size', function () {
118
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
119
+ label: "B",
120
+ width: "56px",
121
+ height: "56px"
122
+ })),
123
+ container = _render10.container;
124
+
125
+ expect(container.firstChild).toHaveStyle('width: 56px; height:56px');
126
+ });
127
+ it('should open dropdown and render chilren', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
128
+ var mockAvatar, _render11, container;
129
+
130
+ return regeneratorRuntime.wrap(function _callee$(_context) {
131
+ while (1) {
132
+ switch (_context.prev = _context.next) {
133
+ case 0:
134
+ mockAvatar = /*#__PURE__*/_react.default.createElement(_.default, {
135
+ label: "B",
136
+ dropdown: true
137
+ }, /*#__PURE__*/_react.default.createElement(_list.default, null, /*#__PURE__*/_react.default.createElement(_list.ListItem, {
138
+ rightIconName: "exclamation",
139
+ text: "Icone na direita"
140
+ }), /*#__PURE__*/_react.default.createElement(_list.ListItem, {
141
+ rightIconName: "user",
142
+ text: "Icone na direita"
143
+ }), /*#__PURE__*/_react.default.createElement(_list.ListItem, {
144
+ text: "Itemlist sem \xEDcone"
145
+ }), /*#__PURE__*/_react.default.createElement(_list.ListItem, {
146
+ text: "Itemlist sem \xEDcone Disabled",
147
+ disabled: true
148
+ })));
149
+ _render11 = (0, _react2.render)(mockAvatar), container = _render11.container;
150
+
151
+ _react2.fireEvent.click(container.firstChild);
152
+
153
+ _context.next = 5;
154
+ return (0, _react2.waitFor)(function () {
155
+ return _react2.screen.getByTestId('dropdown-component');
156
+ });
157
+
158
+ case 5:
159
+ expect(container.firstChild).toHaveTextContent('B');
160
+ expect(_react2.screen.getByTestId('dropdown-component')).toBeInTheDocument();
161
+
162
+ case 7:
163
+ case "end":
164
+ return _context.stop();
165
+ }
166
+ }
167
+ }, _callee);
168
+ })));
169
+ it('should callback function onClick', function () {
170
+ var mockOnClick = jest.fn();
171
+
172
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
173
+ label: "B",
174
+ onClick: mockOnClick
175
+ })),
176
+ container = _render12.container;
177
+
178
+ _react2.fireEvent.click(container.firstChild);
179
+
180
+ expect(mockOnClick).toBeCalledTimes(1);
181
+ });
182
+ it('should use targetRef', function () {
183
+ var mockTargetRef = jest.fn();
184
+ (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, {
185
+ label: "B",
186
+ targetRef: mockTargetRef
187
+ }));
188
+ expect(mockTargetRef).toBeCalledTimes(1);
189
+ });
190
+ });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- 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); }
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
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  var _icons = _interopRequireDefault(require("../../lib/icons"));
13
15
 
14
16
  require("../assets/styles/avatar.scss");
@@ -21,21 +23,20 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
23
 
22
24
  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; }
23
25
 
24
- 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); }
26
+ 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); }
25
27
 
26
28
  var getClass = function getClass(_ref) {
27
29
  var className = _ref.className,
28
30
  square = _ref.square,
29
31
  disabled = _ref.disabled,
30
- _ref$size = _ref.size,
31
- size = _ref$size === void 0 ? 'default' : _ref$size;
32
+ size = _ref.size;
32
33
  return "avatar-component ".concat(className).concat(disabled && '-disabled', " \n ").concat(square && '-square', " ").concat(size && "-".concat(size));
33
34
  };
34
35
 
35
36
  var getIcon = function getIcon(iconName, icon) {
36
- if (icon) {
37
+ if (icon !== null) {
37
38
  return icon;
38
- } else if (iconName) {
39
+ } else if (iconName !== null) {
39
40
  return /*#__PURE__*/_react.default.createElement(_icons.default, {
40
41
  name: iconName,
41
42
  size: 16
@@ -53,8 +54,7 @@ var Avatar = function Avatar(props) {
53
54
  iconName = props.iconName,
54
55
  icon = props.icon,
55
56
  src = props.src,
56
- _props$srcAlt = props.srcAlt,
57
- srcAlt = _props$srcAlt === void 0 ? 'Avatar' : _props$srcAlt,
57
+ srcAlt = props.srcAlt,
58
58
  customClass = props.customClass,
59
59
  targetRef = props.targetRef,
60
60
  label = props.label,
@@ -67,12 +67,12 @@ var Avatar = function Avatar(props) {
67
67
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
68
68
  "data-testid": "avatar",
69
69
  id: id,
70
- onKeyPress: function onKeyPress() {},
70
+ onKeyPress: null,
71
71
  role: "button",
72
72
  tabIndex: -1,
73
- onClick: function onClick(event) {
74
- if (_onClick) _onClick(event);
75
- if (dropdown && showDropdown) showDropdown();
73
+ onClick: function onClick() {
74
+ if (_onClick) _onClick();
75
+ if (dropdown) showDropdown();
76
76
  },
77
77
  ref: function ref(r) {
78
78
  if (targetRef) targetRef(r);
@@ -93,7 +93,52 @@ var Avatar = function Avatar(props) {
93
93
  },
94
94
  src: src,
95
95
  alt: srcAlt
96
- }), label), dropdown && getDropdownPopup && getDropdownPopup(dropdownRef.current));
96
+ }), label), dropdown && getDropdownPopup(dropdownRef.current));
97
+ };
98
+
99
+ Avatar.propTypes = {
100
+ onClick: _propTypes.default.func,
101
+ size: _propTypes.default.string,
102
+ width: _propTypes.default.string,
103
+ height: _propTypes.default.string,
104
+ color: _propTypes.default.string,
105
+ iconName: _propTypes.default.string,
106
+ icon: _propTypes.default.instanceOf(Object),
107
+ src: _propTypes.default.string,
108
+ srcAlt: _propTypes.default.string,
109
+ children: _propTypes.default.element,
110
+ square: _propTypes.default.bool,
111
+ customClass: _propTypes.default.string,
112
+ dropdown: _propTypes.default.bool,
113
+ dropdownOnHover: _propTypes.default.bool,
114
+ targetRef: _propTypes.default.func,
115
+ label: _propTypes.default.string,
116
+ showDropdown: _propTypes.default.func,
117
+ getDropdownPopup: _propTypes.default.func,
118
+ style: _propTypes.default.object,
119
+ id: _propTypes.default.string
120
+ };
121
+ Avatar.defaultProps = {
122
+ label: '',
123
+ size: 'default',
124
+ width: '',
125
+ height: '',
126
+ color: '',
127
+ iconName: '',
128
+ icon: null,
129
+ src: '',
130
+ srcAlt: 'Avatar',
131
+ customClass: '',
132
+ children: null,
133
+ square: false,
134
+ dropdown: false,
135
+ dropdownOnHover: false,
136
+ targetRef: undefined,
137
+ showDropdown: undefined,
138
+ getDropdownPopup: undefined,
139
+ onClick: undefined,
140
+ style: {},
141
+ id: undefined
97
142
  };
98
143
 
99
144
  var _default = (0, _withDropdown.default)(Avatar);
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ require("@testing-library/jest-dom/extend-expect");
8
+
9
+ var _ = _interopRequireDefault(require("."));
10
+
11
+ var _icons = _interopRequireDefault(require("../icons"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ 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); }
16
+
17
+ var mockBadge = function mockBadge(props) {
18
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
19
+ customClass: "mockBadge",
20
+ customClassForBadge: "classforbadge",
21
+ content: "10"
22
+ }, props), /*#__PURE__*/_react.default.createElement(_icons.default, {
23
+ name: "bell_alert"
24
+ }));
25
+ };
26
+
27
+ describe('Badges', function () {
28
+ it('should render correctly', function () {
29
+ var _render = (0, _react2.render)(mockBadge()),
30
+ container = _render.container;
31
+
32
+ expect(container.firstChild).toBeTruthy();
33
+ });
34
+ it('should render children', function () {
35
+ var _render2 = (0, _react2.render)(mockBadge()),
36
+ container = _render2.container,
37
+ getByTestId = _render2.getByTestId;
38
+
39
+ expect(container.firstChild).toContainElement(getByTestId('icon'));
40
+ });
41
+ it('should render content', function () {
42
+ var _render3 = (0, _react2.render)(mockBadge()),
43
+ container = _render3.container;
44
+
45
+ expect(container.firstChild).toHaveTextContent('10');
46
+ });
47
+ it('should apply custom class', function () {
48
+ var _render4 = (0, _react2.render)(mockBadge()),
49
+ container = _render4.container;
50
+
51
+ expect(container.firstChild).toHaveClass('mockBadge');
52
+ });
53
+ it('should apply custom class', function () {
54
+ var _render5 = (0, _react2.render)(mockBadge()),
55
+ container = _render5.container;
56
+
57
+ expect(container.firstChild).toHaveClass('mockBadge');
58
+ });
59
+ it('should apply custom class for badge', function () {
60
+ var _render6 = (0, _react2.render)(mockBadge()),
61
+ container = _render6.container;
62
+
63
+ expect(container.querySelector('.badge')).toHaveClass('classforbadge');
64
+ });
65
+ it('should apply custom top', function () {
66
+ var _render7 = (0, _react2.render)(mockBadge({
67
+ top: '10px'
68
+ })),
69
+ container = _render7.container;
70
+
71
+ expect(container.querySelector('.badge')).toHaveStyle('top: 10px;');
72
+ });
73
+ it('should apply custom right', function () {
74
+ var _render8 = (0, _react2.render)(mockBadge({
75
+ right: '10px'
76
+ })),
77
+ container = _render8.container;
78
+
79
+ expect(container.querySelector('.badge')).toHaveStyle('right: 10px;');
80
+ });
81
+ it('should apply default color', function () {
82
+ var _render9 = (0, _react2.render)(mockBadge()),
83
+ container = _render9.container;
84
+
85
+ expect(container.querySelector('.badge')).toHaveClass('-default');
86
+ });
87
+ it('should apply primary color', function () {
88
+ var _render10 = (0, _react2.render)(mockBadge({
89
+ color: 'primary'
90
+ })),
91
+ container = _render10.container;
92
+
93
+ expect(container.querySelector('.badge')).toHaveClass('-primary');
94
+ });
95
+ it('should apply danger color', function () {
96
+ var _render11 = (0, _react2.render)(mockBadge({
97
+ color: 'danger'
98
+ })),
99
+ container = _render11.container;
100
+
101
+ expect(container.querySelector('.badge')).toHaveClass('-danger');
102
+ });
103
+ it('should apply warning color', function () {
104
+ var _render12 = (0, _react2.render)(mockBadge({
105
+ color: 'warning'
106
+ })),
107
+ container = _render12.container;
108
+
109
+ expect(container.querySelector('.badge')).toHaveClass('-warning');
110
+ });
111
+ it('should apply success color', function () {
112
+ var _render13 = (0, _react2.render)(mockBadge({
113
+ color: 'success'
114
+ })),
115
+ container = _render13.container;
116
+
117
+ expect(container.querySelector('.badge')).toHaveClass('-success');
118
+ });
119
+ it('should apply info color', function () {
120
+ var _render14 = (0, _react2.render)(mockBadge({
121
+ color: 'info'
122
+ })),
123
+ container = _render14.container;
124
+
125
+ expect(container.querySelector('.badge')).toHaveClass('-info');
126
+ });
127
+ });
@@ -7,21 +7,20 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
10
12
  require("../assets/styles/badge.scss");
11
13
 
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  var Badge = function Badge(props) {
15
- var _props$color = props.color,
16
- color = _props$color === void 0 ? 'default' : _props$color,
17
+ var color = props.color,
17
18
  customClass = props.customClass,
18
19
  customClassForBadge = props.customClassForBadge,
19
20
  children = props.children,
20
21
  content = props.content,
21
- _props$top = props.top,
22
- top = _props$top === void 0 ? '-16px' : _props$top,
23
- _props$right = props.right,
24
- right = _props$right === void 0 ? '-11px' : _props$right;
22
+ top = props.top,
23
+ right = props.right;
25
24
  return /*#__PURE__*/_react.default.createElement("div", {
26
25
  className: "badge-component ".concat(customClass)
27
26
  }, children, /*#__PURE__*/_react.default.createElement("span", {
@@ -33,5 +32,22 @@ var Badge = function Badge(props) {
33
32
  }, content));
34
33
  };
35
34
 
35
+ Badge.defaultProps = {
36
+ color: 'default',
37
+ top: '-16px',
38
+ right: '-11',
39
+ customClass: '',
40
+ customClassForBadge: '',
41
+ content: null
42
+ };
43
+ Badge.propTypes = {
44
+ color: _propTypes.default.string,
45
+ top: _propTypes.default.string,
46
+ right: _propTypes.default.string,
47
+ children: _propTypes.default.element.isRequired,
48
+ customClass: _propTypes.default.string,
49
+ customClassForBadge: _propTypes.default.string,
50
+ content: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string])
51
+ };
36
52
  var _default = Badge;
37
53
  exports.default = _default;
@@ -7,14 +7,14 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _Button = _interopRequireDefault(require("./Button"));
10
+ var _DefaultButton = _interopRequireDefault(require("./DefaultButton"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
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); }
14
+ 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); }
15
15
 
16
16
  var ActivateButton = function ActivateButton(props) {
17
- return /*#__PURE__*/_react.default.createElement(_Button.default, _extends({}, props, {
17
+ return /*#__PURE__*/_react.default.createElement(_DefaultButton.default, _extends({}, props, {
18
18
  iconName: "undo"
19
19
  }));
20
20
  };
@@ -13,7 +13,7 @@ var _icons = _interopRequireDefault(require("../icons"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- 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); }
16
+ 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); }
17
17
 
18
18
  var AddButton = function AddButton(props) {
19
19
  return /*#__PURE__*/_react.default.createElement(_SuccessButton.default, _extends({}, props, {