linear-react-components-ui 0.4.76-beta.12 → 0.4.76-beta.15

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 (102) 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 +3 -1
  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 +116 -75
  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/Phone.js +10 -1
  52. package/lib/inputs/mask/imaskHOC.js +2 -1
  53. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  54. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  55. package/lib/inputs/multiSelect/helper.js +18 -0
  56. package/lib/inputs/multiSelect/index.js +343 -0
  57. package/lib/inputs/number/BaseNumber.js +1 -1
  58. package/lib/inputs/number/index.js +7 -5
  59. package/lib/inputs/period/Dialog.js +38 -0
  60. package/lib/inputs/period/Dropdown.js +90 -0
  61. package/lib/inputs/period/PeriodList.js +79 -0
  62. package/lib/inputs/period/helper.js +118 -0
  63. package/lib/inputs/period/index.js +490 -0
  64. package/lib/inputs/select/Dropdown.js +9 -6
  65. package/lib/inputs/select/index.js +26 -3
  66. package/lib/inputs/select/multiple/index.js +9 -7
  67. package/lib/inputs/select/simple/index.js +30 -18
  68. package/lib/internals/withTooltip.js +85 -81
  69. package/lib/labels/DefaultLabel.js +7 -4
  70. package/lib/list/Item.js +3 -3
  71. package/lib/list/index.js +20 -10
  72. package/lib/list/list.spec.js +129 -85
  73. package/lib/menus/float/MenuItem.js +25 -8
  74. package/lib/menus/sidenav/NavMenuItem.js +2 -2
  75. package/lib/menus/sidenav/index.js +7 -3
  76. package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
  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 +12 -9
  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 +467 -36
  101. package/package.json +9 -8
  102. package/lib/inputs/date/helper.js +0 -16
@@ -0,0 +1,65 @@
1
+ @import "commons.scss";
2
+ @import "effects.scss";
3
+ .periodpicker-component {
4
+ height: auto;
5
+ position: relative;
6
+ display: flex;
7
+ border-radius: 2px;
8
+ border: 1px solid #dae1e8;
9
+
10
+ .inputwrapper {
11
+ border: none;
12
+ }
13
+
14
+ .separation_icon {
15
+ font-size: 16px;
16
+ flex: 0 0 10px;
17
+ }
18
+
19
+ .calendar-button {
20
+ flex: 0 0 20px;
21
+ padding: 4px;
22
+ border: none;
23
+ }
24
+
25
+ .input-base-component {
26
+ flex: 1;
27
+ }
28
+
29
+ }
30
+
31
+ .dropdown-period>.item {
32
+ margin: 0;
33
+ padding: 6px 10px;
34
+ display: flex;
35
+ cursor: pointer;
36
+ justify-content: stretch;
37
+ border-bottom: solid 1px #e1e1e1;
38
+
39
+ &:hover {
40
+ background-color: $default-hover-color;
41
+ }
42
+ &.-selected {
43
+ background-color: $default-hover-color;
44
+ }
45
+ &.-disabled {
46
+ @extend %component-menu-disabled;
47
+ &:hover {
48
+ background-color: transparent;
49
+ }
50
+ }
51
+ }
52
+
53
+ .dropdown-period {
54
+ width: 100%;
55
+ /* animation: 0.5s ease-in 0s 1 slideDown; */
56
+ background-color: #FFF;
57
+ border: #dae1e8;
58
+ display: grid;
59
+ grid-template-rows: auto;
60
+ height: auto;
61
+ overflow-y: auto;
62
+ overflow-x: hidden;
63
+ /* margin-top: 2px; */
64
+ z-index: 99999999999;
65
+ }
@@ -1,14 +1,15 @@
1
1
  @import "colors.scss";
2
2
  @import "commons.scss";
3
+
3
4
  .container-progress {
4
5
  display: flex;
5
6
  overflow: hidden;
6
- height: 24px;
7
7
  margin-bottom: 20px;
8
8
  background-color: #f5f5f5;
9
9
  border-radius: 4px;
10
10
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
11
11
  box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
12
+ position: relative;
12
13
  }
13
14
 
14
15
  .bar {
@@ -50,6 +51,12 @@
50
51
  -o-animation: progress-bar-stripes 2s linear infinite;
51
52
  animation: progress-bar-stripes 2s linear infinite;
52
53
  }
54
+ &.-indeterminate {
55
+ animation: slideWithPositionFromLeft infinite;
56
+ position: absolute;
57
+ left: -100%;
58
+ top: 0;
59
+ }
53
60
  >.progressbar-label {
54
61
  display: flex;
55
62
  align-items: center;
@@ -89,3 +89,22 @@ $radio-button-ripple-size: 15px;
89
89
  -webkit-transform: scale(1);
90
90
  transform: scale(1);
91
91
  }
92
+
93
+ .radio-button.-skeletonized {
94
+ > .radio-component:not(:checked) +.description,
95
+ > .radio-component:checked +.description {
96
+ cursor: initial;
97
+ }
98
+
99
+ > .radio-component:checked + .description:before,
100
+ > .radio-component:checked +.description:after,
101
+ > .radio-component:not(:checked) + .description:before,
102
+ > .radio-component:not(:checked) +.description:after {
103
+ @extend %skeleton-component;
104
+ border-color: transparent;
105
+ }
106
+
107
+ > .description > span {
108
+ @extend %skeleton-component;
109
+ }
110
+ }
@@ -3,6 +3,7 @@
3
3
  .select-component {
4
4
  width: 100%;
5
5
  display: block;
6
+ position: relative;
6
7
  .selectwrapper {
7
8
  height: auto;
8
9
  }
@@ -0,0 +1,48 @@
1
+ @import "commons.scss";
2
+ @import "colors.scss";
3
+ @import "effects.scss";
4
+
5
+ .skeletoncontainer-component {
6
+ width: 100%;
7
+ height: 100%;
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 10px;
11
+
12
+ &.-row {
13
+ flex-direction: row;
14
+ }
15
+ }
16
+
17
+ .skeleton-component {
18
+ width: 100%;
19
+ height: 100%;
20
+ flex-grow: 1;
21
+ margin-bottom: 10px;
22
+ @extend %skeleton-component;
23
+
24
+ &.-round {
25
+ flex-grow: 0;
26
+ margin: 0;
27
+ padding: 0;
28
+ box-sizing: border-box;
29
+ border-radius: 50%;
30
+
31
+ &.-mini {
32
+ width: 36px;
33
+ height: 36px;
34
+ }
35
+ &.-small {
36
+ width: 48px;
37
+ height: 48px;
38
+ }
39
+ &.-medium {
40
+ width: 64px;
41
+ height: 64px;
42
+ }
43
+ &.-large {
44
+ width: 96px;
45
+ height: 96px;
46
+ }
47
+ }
48
+ }
@@ -1,5 +1,6 @@
1
1
  @import "colors.scss";
2
2
  @import "effects.scss";
3
+
3
4
  .table-component {
4
5
  width: 100%;
5
6
  max-width: 100%;
@@ -8,7 +9,8 @@
8
9
  font-size: 14px;
9
10
  max-height: 20em;
10
11
  position: relative;
11
- > .headercontainer, .bodycontainer {
12
+ > .headercontainer,
13
+ .bodycontainer {
12
14
  width: 100%;
13
15
  .innertable {
14
16
  width: 100%;
@@ -31,7 +33,8 @@
31
33
  vertical-align: middle;
32
34
  border-bottom: 1px solid $component-border-color-soft;
33
35
  line-height: 18px;
34
- > .hidden, > .rowhover {
36
+ > .hidden,
37
+ > .rowhover {
35
38
  display: none;
36
39
  animation: revealelement 0.2s forwards ease-in-out;
37
40
  }
@@ -39,7 +42,7 @@
39
42
  border-bottom: 0;
40
43
  }
41
44
  }
42
-
45
+
43
46
  > .bodycontainer > .innertable > .tbody > .trow,
44
47
  > .tbody > .trow {
45
48
  &.-selected {
@@ -48,7 +51,7 @@
48
51
  }
49
52
  &:hover {
50
53
  > .rowcolumn > .rowhover {
51
- display: table
54
+ display: table;
52
55
  }
53
56
  }
54
57
  }
@@ -84,7 +87,7 @@
84
87
  background: $header-container-bg;
85
88
  }
86
89
  > .headercontainer > .innertable > .theader,
87
- > .theader {
90
+ > .theader {
88
91
  background: $header-container-bg;
89
92
  }
90
93
  }
@@ -115,3 +118,9 @@
115
118
  }
116
119
  }
117
120
  }
121
+
122
+ .table-component.-skeletonized {
123
+ > .bodycontainer {
124
+ overflow: hidden;
125
+ }
126
+ }
@@ -1,4 +1,29 @@
1
1
  @import "colors.scss";
2
+ %tab-closepanel {
3
+ background-color: transparent;
4
+ border: 0;
5
+ height: 20px;
6
+ margin-right: 5px;
7
+ padding: 0;
8
+ text-shadow: 0 1px 0 $font-color-second;
9
+ width: 20px;
10
+ visibility: hidden;
11
+ transition: all 0.2s ease-in-out;
12
+ border-radius: 4px;
13
+ &:after {
14
+ content: "×";
15
+ font-size: 20px;
16
+ text-shadow: none;
17
+ color: $font-color-soft;
18
+ transition: all 0.2s ease-in-out;
19
+ }
20
+ &:hover {
21
+ background-color: $color-light-dark;
22
+ &:after {
23
+ color: $font-color-second;
24
+ }
25
+ }
26
+ }
2
27
  %tab-component-menus {
3
28
  .menu {
4
29
  -webkit-box-shadow: 0px -1px 0px $component-border-color inset;
@@ -7,22 +32,25 @@
7
32
  display: flex;
8
33
  flex-wrap: nowrap;
9
34
  justify-content: center;
10
- flex-grow: 1;
35
+ flex: 1;
11
36
  &.-firsttabident > .menuitem:first-child {
12
37
  margin-left: 15px;
13
38
  }
14
39
  }
15
- .menu > .menuitem {
40
+ .menu > .menuitem {
16
41
  border-bottom: 0;
17
- border-radius: 5px 5px 0px 0px;
18
- -moz-border-radius: 5px 5px 0px 0px;
19
- -webkit-border-radius: 5px 5px 0px 0px;
42
+ border-radius: 5px 5px 0px 0px;
43
+ -moz-border-radius: 5px 5px 0px 0px;
44
+ -webkit-border-radius: 5px 5px 0px 0px;
20
45
  text-shadow: 0 1px $font-color-second;
21
46
  cursor: pointer;
22
47
  line-height: 20px;
23
48
  margin-right: 1px;
24
49
  padding: 0;
25
50
  width: auto;
51
+ display: flex;
52
+ justify-content: space-between;
53
+ align-items: center;
26
54
  &.selected {
27
55
  border: 1px solid $component-border-color;
28
56
  background: $font-color-second;
@@ -31,40 +59,22 @@
31
59
  box-shadow: 0;
32
60
  font-weight: bold; /* z-index: 2; */
33
61
  }
34
- &.selected > .closepanel, &:hover > .closepanel {
62
+ &.selected > .closepanel,
63
+ &:hover > .closepanel {
35
64
  visibility: visible;
36
65
  }
37
66
  }
38
- .menu > .menuitem > .menubutton {
67
+ .menu > .menuitem > .menubutton {
68
+ white-space: nowrap;
69
+ text-overflow: ellipsis;
39
70
  background: transparent;
40
71
  border: 0;
41
72
  }
42
- .menu > .menuitem > .closepanel {
43
- background-color: transparent;
44
- border: 0;
45
- float: right;
46
- height: 20px;
47
- margin: 5px 5px 0 0;
48
- padding: 0;
49
- text-shadow: 0 1px 0 $font-color-second;
50
- width: 20px;
51
- visibility: hidden;
52
- transition: all 0.2s ease-in-out;
53
- border-radius: 4px;
54
- &:after {
55
- content: "×";
56
- font-size: 20px;
57
- text-shadow: none;
58
- color: $font-color-soft;
59
- transition: all 0.2s ease-in-out;
60
- }
61
- &:hover {
62
- background-color: $color-light-dark;
63
- &:after {
64
- color: $font-color-second;
65
- }
66
- }
73
+
74
+ .menu > .menuitem > .closepanel {
75
+ @extend %tab-closepanel;
67
76
  }
77
+
68
78
  .menubar {
69
79
  width: auto;
70
80
  border-bottom: 1px solid #dae1e8;
@@ -85,7 +95,13 @@
85
95
  display: flex;
86
96
  flex-wrap: nowrap;
87
97
  width: 100%;
98
+ min-height: 35px;
99
+ overflow: hidden;
88
100
  @extend %tab-component-menus;
101
+ > .dropdownbutton {
102
+ border-bottom: 1px solid $component-border-color;
103
+ padding: 0 0.8rem;
104
+ }
89
105
  }
90
106
  > .panel {
91
107
  background-color: $font-color-second;
@@ -105,24 +121,26 @@
105
121
  .tabs-component.menu-left {
106
122
  grid-template-columns: auto 1fr;
107
123
  grid-template-rows: none;
108
- > .menu {
109
- box-shadow: -1px 0px 0px 0px $component-border-color inset;
110
- flex-direction: column;
111
- justify-content: center;
112
- }
113
- > .menu > .menuitem {
114
- border-radius: 5px 0px 0px 5px;
115
- -moz-border-radius: 5px 0px 0px 5px;
116
- -webkit-border-radius: 5px 0px 0px 5px;
117
- &.selected {
118
- border: 1px solid $component-border-color;
119
- border-right: 1px solid $font-color-second;
120
- border-left: 2px solid $component-selected-color;
121
- width: 100%;
124
+ > .menucontainer {
125
+ > .menu {
126
+ box-shadow: -1px 0px 0px 0px $component-border-color inset;
127
+ flex-direction: column;
128
+ justify-content: center;
129
+ }
130
+ > .menu > .menuitem {
131
+ border-radius: 5px 0px 0px 5px;
132
+ -moz-border-radius: 5px 0px 0px 5px;
133
+ -webkit-border-radius: 5px 0px 0px 5px;
134
+ &.selected {
135
+ border: 1px solid $component-border-color;
136
+ border-right: 1px solid $font-color-second;
137
+ border-left: 2px solid $component-selected-color;
138
+ width: 100%;
139
+ }
140
+ }
141
+ > .menu > .menuitem > .closepanel {
142
+ float: left;
122
143
  }
123
- }
124
- > .menu > .menuitem > .closepanel {
125
- float: left
126
144
  }
127
145
  > .panel {
128
146
  border-top: 1px solid $component-border-color;
@@ -135,18 +153,20 @@
135
153
  */
136
154
  .tabs-component.menu-bottom {
137
155
  grid-template-rows: 1fr auto;
138
- > .menu {
139
- box-shadow: 0 1px 1px 0px $component-border-color inset;
140
- }
141
- > .menu > .menuitem {
142
- border-radius: 0px 0px 5px 5px;
143
- -moz-border-radius: 0px 0px 5px 5px;
144
- -webkit-border-radius: 0px 0px 5px 5px;
145
- &.selected {
146
- border: 1px solid $component-border-color;
147
- border-top: 1px solid $font-color-second;
148
- border-bottom: 2px solid $component-selected-color;
149
- height: 100%;
156
+ .menucontainer {
157
+ > .menu {
158
+ box-shadow: 0 1px 1px 0px $component-border-color inset;
159
+ }
160
+ > .menu > .menuitem {
161
+ border-radius: 0px 0px 5px 5px;
162
+ -moz-border-radius: 0px 0px 5px 5px;
163
+ -webkit-border-radius: 0px 0px 5px 5px;
164
+ &.selected {
165
+ border: 1px solid $component-border-color;
166
+ border-top: 1px solid $font-color-second;
167
+ border-bottom: 2px solid $component-selected-color;
168
+ height: 100%;
169
+ }
150
170
  }
151
171
  }
152
172
  > .panel {
@@ -161,20 +181,22 @@
161
181
  .tabs-component.menu-right {
162
182
  grid-template-columns: 1fr auto;
163
183
  grid-template-rows: none;
164
- > .menu {
165
- box-shadow: 2px 0 0px -1px $component-border-color inset;
166
- flex-direction: column;
167
- justify-content: center;
168
- }
169
- > .menu > .menuitem {
170
- border-radius: 0px 5px 5px 0px;
171
- -moz-border-radius: 0px 5px 5px 0px;
172
- -webkit-border-radius: 0px 5px 5px 0px;
173
- &.selected {
174
- border: 1px solid $component-border-color;
175
- border-left: 1px solid $font-color-second;
176
- border-right: 2px solid $component-selected-color;
177
- width: 100%;
184
+ .menucontainer{
185
+ > .menu {
186
+ box-shadow: 2px 0 0px -1px $component-border-color inset;
187
+ flex-direction: column;
188
+ justify-content: center;
189
+ }
190
+ > .menu > .menuitem {
191
+ border-radius: 0px 5px 5px 0px;
192
+ -moz-border-radius: 0px 5px 5px 0px;
193
+ -webkit-border-radius: 0px 5px 5px 0px;
194
+ &.selected {
195
+ border: 1px solid $component-border-color;
196
+ border-left: 1px solid $font-color-second;
197
+ border-right: 2px solid $component-selected-color;
198
+ width: 100%;
199
+ }
178
200
  }
179
201
  }
180
202
  > .panel {
@@ -182,3 +204,22 @@
182
204
  border-right: 0;
183
205
  }
184
206
  }
207
+
208
+ /*
209
+ Dropdown hide tabs
210
+ */
211
+ .dropdown-hide-tabs .menuitem {
212
+ cursor: pointer;
213
+ line-height: 20px;
214
+ margin-right: 1px;
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: space-between;
218
+ min-height: 50px;
219
+ > .closepanel {
220
+ @extend %tab-closepanel;
221
+ }
222
+ &:hover > .closepanel {
223
+ visibility: visible;
224
+ }
225
+ }
@@ -42,6 +42,25 @@
42
42
  animation: revealelement 0.3s forwards ease-in-out;
43
43
  > .label {
44
44
  width: auto;
45
+ display: flex;
46
+ justify-content: flex-start;
47
+ align-items: center;
48
+ >.node-menu {
49
+ animation: revealelement 0.3s forwards ease-in-out;
50
+ margin-left: 10px;
51
+ }
52
+ >.node-rightelements {
53
+ animation: revealelement 0.3s forwards ease-in-out;
54
+ display: flex;
55
+ justify-content: flex-start;
56
+ align-items: center;
57
+ }
58
+ >.node-toolbarelements {
59
+ animation: revealelement 0.3s forwards ease-in-out;
60
+ width: auto;
61
+ height: 100%;
62
+ margin-left: 10px;
63
+ }
45
64
  &:hover {
46
65
  background-color: rgb(209, 209, 209);
47
66
  }
@@ -53,3 +72,16 @@
53
72
  float: left;
54
73
  }
55
74
  }
75
+
76
+ .nodelist > .treeviewitem > .label > .node-rightelements > .element,
77
+ .treeview-component > .treeviewcontainer > .treeviewitem > .label > .node-rightelements > .element {
78
+ margin-left: 10px;
79
+ display: flex;
80
+ align-items: center;
81
+ height: 100%;
82
+ }
83
+
84
+ .nodelist > .treeviewitem > .label > .node-toolbarelements > .toolbar-group > .buttonbar,
85
+ .treeview-component > .treeviewcontainer > .treeviewitem > .label > .node-toolbarelements > .toolbar-group > .buttonbar {
86
+ border: none;
87
+ }
@@ -103,18 +103,29 @@ describe('Avatar', function () {
103
103
  expect(container.firstChild).toContainElement(_react2.screen.getByAltText('Avatar Teste'));
104
104
  expect(_react2.screen.getByAltText('Avatar Teste')).toHaveClass('imgavatar');
105
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
+ });
106
117
  it('should change size', function () {
107
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_["default"], {
118
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_["default"], {
108
119
  label: "B",
109
120
  width: "56px",
110
121
  height: "56px"
111
122
  })),
112
- container = _render9.container;
123
+ container = _render10.container;
113
124
 
114
125
  expect(container.firstChild).toHaveStyle('width: 56px; height:56px');
115
126
  });
116
127
  it('should open dropdown and render chilren', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
117
- var mockAvatar, _render10, container;
128
+ var mockAvatar, _render11, container;
118
129
 
119
130
  return regeneratorRuntime.wrap(function _callee$(_context) {
120
131
  while (1) {
@@ -135,7 +146,7 @@ describe('Avatar', function () {
135
146
  text: "Itemlist sem \xEDcone Disabled",
136
147
  disabled: true
137
148
  })));
138
- _render10 = (0, _react2.render)(mockAvatar), container = _render10.container;
149
+ _render11 = (0, _react2.render)(mockAvatar), container = _render11.container;
139
150
 
140
151
  _react2.fireEvent.click(container.firstChild);
141
152
 
@@ -158,11 +169,11 @@ describe('Avatar', function () {
158
169
  it('should callback function onClick', function () {
159
170
  var mockOnClick = jest.fn();
160
171
 
161
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_["default"], {
172
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_["default"], {
162
173
  label: "B",
163
174
  onClick: mockOnClick
164
175
  })),
165
- container = _render11.container;
176
+ container = _render12.container;
166
177
 
167
178
  _react2.fireEvent.click(container.firstChild);
168
179
 
@@ -85,7 +85,7 @@ var Avatar = function Avatar(props) {
85
85
  backgroundColor: "".concat(color),
86
86
  cursor: "".concat(dropdown ? 'pointer' : 'normal')
87
87
  }, style)
88
- }, (iconName || icon) && getIcon(iconName, icon), src && /*#__PURE__*/_react["default"].createElement("img", {
88
+ }, (iconName || icon) && !src && getIcon(iconName, icon), src && /*#__PURE__*/_react["default"].createElement("img", {
89
89
  className: "imgavatar",
90
90
  style: {
91
91
  width: "".concat(width),
@@ -69,7 +69,9 @@ var DefaultButton = function DefaultButton(props) {
69
69
  boxShadow = props.boxShadow,
70
70
  transparent = props.transparent,
71
71
  round = props.round,
72
- permissionAttr = props.permissionAttr;
72
+ permissionAttr = props.permissionAttr,
73
+ _onBlur = props.onBlur,
74
+ skeletonize = props.skeletonize;
73
75
 
74
76
  var _useState = (0, _react.useState)(false),
75
77
  _useState2 = _slicedToArray(_useState, 2),
@@ -147,8 +149,11 @@ var DefaultButton = function DefaultButton(props) {
147
149
  if (dropdown) showDropdown();
148
150
  if (_onClick && toggleable) setActiveButton(!activeButton);
149
151
  },
152
+ onBlur: function onBlur(e) {
153
+ if (_onBlur) _onBlur(e);
154
+ },
150
155
  disabled: shouldDisable(),
151
- className: "".concat(getClass(), " ").concat(activeButton ? '-toggleable' : ''),
156
+ className: "".concat(getClass(), " ").concat(activeButton ? '-toggleable' : '', " ").concat(skeletonize ? '-skeletonized' : ''),
152
157
  ref: function ref(r) {
153
158
  if (targetRef) targetRef(r);
154
159
  setButtonRef(r);
@@ -176,6 +181,7 @@ DefaultButton.propTypes = {
176
181
  boxShadow: _propTypes["default"].bool,
177
182
  icon: _propTypes["default"].instanceOf(Object),
178
183
  onClick: _propTypes["default"].func,
184
+ onBlur: _propTypes["default"].func,
179
185
  targetRef: _propTypes["default"].func,
180
186
  tabIndex: _propTypes["default"].string,
181
187
  dropdown: _propTypes["default"].bool,
@@ -191,7 +197,8 @@ DefaultButton.propTypes = {
191
197
  id: _propTypes["default"].string,
192
198
  permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
193
199
  className: _propTypes["default"].string,
194
- transparent: _propTypes["default"].bool
200
+ transparent: _propTypes["default"].bool,
201
+ skeletonize: _propTypes["default"].bool
195
202
  };
196
203
  DefaultButton.defaultProps = {
197
204
  label: '',
@@ -211,6 +218,7 @@ DefaultButton.defaultProps = {
211
218
  icon: null,
212
219
  content: null,
213
220
  onClick: null,
221
+ onBlur: null,
214
222
  targetRef: undefined,
215
223
  tabIndex: undefined,
216
224
  isLoading: false,
@@ -222,7 +230,8 @@ DefaultButton.defaultProps = {
222
230
  id: undefined,
223
231
  permissionAttr: undefined,
224
232
  className: undefined,
225
- transparent: false
233
+ transparent: false,
234
+ skeletonize: false
226
235
  };
227
236
 
228
237
  var _default = (0, _withDropdown["default"])((0, _withTooltip["default"])(DefaultButton));