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
@@ -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,26 @@
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
+ min-width: 100px;
52
+ display: flex;
53
+ justify-content: space-between;
54
+ align-items: center;
26
55
  &.selected {
27
56
  border: 1px solid $component-border-color;
28
57
  background: $font-color-second;
@@ -31,40 +60,22 @@
31
60
  box-shadow: 0;
32
61
  font-weight: bold; /* z-index: 2; */
33
62
  }
34
- &.selected > .closepanel, &:hover > .closepanel {
63
+ &.selected > .closepanel,
64
+ &:hover > .closepanel {
35
65
  visibility: visible;
36
66
  }
37
67
  }
38
- .menu > .menuitem > .menubutton {
68
+ .menu > .menuitem > .menubutton {
69
+ white-space: nowrap;
70
+ text-overflow: ellipsis;
39
71
  background: transparent;
40
72
  border: 0;
41
73
  }
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
- }
74
+
75
+ .menu > .menuitem > .closepanel {
76
+ @extend %tab-closepanel;
67
77
  }
78
+
68
79
  .menubar {
69
80
  width: auto;
70
81
  border-bottom: 1px solid #dae1e8;
@@ -85,7 +96,13 @@
85
96
  display: flex;
86
97
  flex-wrap: nowrap;
87
98
  width: 100%;
99
+ min-height: 35px;
100
+ overflow: hidden;
88
101
  @extend %tab-component-menus;
102
+ > .dropdownbutton {
103
+ border-bottom: 1px solid $component-border-color;
104
+ padding: 0 0.8rem;
105
+ }
89
106
  }
90
107
  > .panel {
91
108
  background-color: $font-color-second;
@@ -111,9 +128,9 @@
111
128
  justify-content: center;
112
129
  }
113
130
  > .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;
131
+ border-radius: 5px 0px 0px 5px;
132
+ -moz-border-radius: 5px 0px 0px 5px;
133
+ -webkit-border-radius: 5px 0px 0px 5px;
117
134
  &.selected {
118
135
  border: 1px solid $component-border-color;
119
136
  border-right: 1px solid $font-color-second;
@@ -121,8 +138,8 @@
121
138
  width: 100%;
122
139
  }
123
140
  }
124
- > .menu > .menuitem > .closepanel {
125
- float: left
141
+ > .menu > .menuitem > .closepanel {
142
+ float: left;
126
143
  }
127
144
  > .panel {
128
145
  border-top: 1px solid $component-border-color;
@@ -139,9 +156,9 @@
139
156
  box-shadow: 0 1px 1px 0px $component-border-color inset;
140
157
  }
141
158
  > .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;
159
+ border-radius: 0px 0px 5px 5px;
160
+ -moz-border-radius: 0px 0px 5px 5px;
161
+ -webkit-border-radius: 0px 0px 5px 5px;
145
162
  &.selected {
146
163
  border: 1px solid $component-border-color;
147
164
  border-top: 1px solid $font-color-second;
@@ -167,9 +184,9 @@
167
184
  justify-content: center;
168
185
  }
169
186
  > .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;
187
+ border-radius: 0px 5px 5px 0px;
188
+ -moz-border-radius: 0px 5px 5px 0px;
189
+ -webkit-border-radius: 0px 5px 5px 0px;
173
190
  &.selected {
174
191
  border: 1px solid $component-border-color;
175
192
  border-left: 1px solid $font-color-second;
@@ -182,3 +199,22 @@
182
199
  border-right: 0;
183
200
  }
184
201
  }
202
+
203
+ /*
204
+ Dropdown hide tabs
205
+ */
206
+ .dropdown-hide-tabs .menuitem {
207
+ cursor: pointer;
208
+ line-height: 20px;
209
+ margin-right: 1px;
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: space-between;
213
+ min-height: 50px;
214
+ > .closepanel {
215
+ @extend %tab-closepanel;
216
+ }
217
+ &:hover > .closepanel {
218
+ visibility: visible;
219
+ }
220
+ }
@@ -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));
@@ -22,13 +22,15 @@ var SplitButton = function SplitButton(props) {
22
22
  boxShadow = props.boxShadow,
23
23
  dropdownAlign = props.dropdownAlign,
24
24
  visible = props.visible,
25
- permissionAttr = props.permissionAttr;
25
+ permissionAttr = props.permissionAttr,
26
+ skeletonize = props.skeletonize;
26
27
  var splitProps = {
27
28
  customClass: customClass,
28
29
  size: size,
29
30
  boxShadow: boxShadow,
30
31
  visible: visible,
31
- permissionAttr: permissionAttr
32
+ permissionAttr: permissionAttr,
33
+ skeletonize: skeletonize
32
34
  };
33
35
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_DefaultButton["default"], _extends({}, props, {
34
36
  style: {
@@ -64,7 +66,8 @@ SplitButton.propTypes = {
64
66
  boxShadow: _propTypes["default"].bool,
65
67
  dropdownAlign: _propTypes["default"].string,
66
68
  visible: _propTypes["default"].bool,
67
- permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
69
+ permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
70
+ skeletonize: _propTypes["default"].bool
68
71
  };
69
72
  SplitButton.defaultProps = {
70
73
  customClass: '',
@@ -73,7 +76,8 @@ SplitButton.defaultProps = {
73
76
  boxShadow: true,
74
77
  dropdownAlign: 'left',
75
78
  visible: true,
76
- permissionAttr: undefined
79
+ permissionAttr: undefined,
80
+ skeletonize: false
77
81
  };
78
82
  var _default = SplitButton;
79
83
  exports["default"] = _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _withTooltip = _interopRequireDefault(require("../internals/withTooltip"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var Label = function Label(_ref) {
17
+ var label = _ref.label,
18
+ targetRef = _ref.targetRef;
19
+ return /*#__PURE__*/_react["default"].createElement("span", {
20
+ className: "description",
21
+ ref: function ref(r) {
22
+ return targetRef && targetRef(r);
23
+ }
24
+ }, label);
25
+ };
26
+
27
+ Label.propTypes = {
28
+ label: _propTypes["default"].string.isRequired,
29
+ targetRef: _propTypes["default"].func
30
+ };
31
+ Label.defaultProps = {
32
+ targetRef: undefined
33
+ };
34
+
35
+ var _default = (0, _withTooltip["default"])(Label);
36
+
37
+ exports["default"] = _default;