linear-react-components-ui 0.4.76-rc.9 → 0.4.76
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.
- package/.husky/pre-commit +2 -2
- package/.tool-versions +1 -0
- package/.vscode/settings.json +1 -2
- package/README.md +40 -5
- package/lib/assets/styles/button.scss +19 -10
- package/lib/assets/styles/checkbox.scss +92 -70
- package/lib/assets/styles/commons.scss +36 -0
- package/lib/assets/styles/drawers.scss +22 -6
- package/lib/assets/styles/dropdown.scss +28 -2
- package/lib/assets/styles/effects.scss +32 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/gridlayout.scss +2 -1
- package/lib/assets/styles/input.scss +21 -0
- package/lib/assets/styles/label.scss +9 -1
- package/lib/assets/styles/list.scss +8 -0
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +3 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/select.scss +4 -3
- package/lib/assets/styles/sidenav.scss +11 -1
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +25 -5
- package/lib/assets/styles/tabs.scss +116 -75
- package/lib/assets/styles/treeview.scss +41 -0
- package/lib/assets/styles/uitour.scss +112 -0
- package/lib/avatar/avatar.spec.js +17 -6
- package/lib/avatar/index.js +1 -1
- package/lib/buttons/DefaultButton.js +13 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +33 -12
- package/lib/dialog/base/index.js +15 -6
- package/lib/dialog/form/index.js +24 -4
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +3 -2
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +11 -3
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +8 -0
- package/lib/form/helpers.js +20 -1
- package/lib/form/index.js +220 -218
- package/lib/form/withFieldHOC.js +5 -1
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/icons/helper.js +24 -0
- package/lib/inputs/base/InputTextBase.js +30 -5
- package/lib/inputs/base/helpers.js +13 -9
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +46 -36
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +12 -10
- package/lib/inputs/mask/Phone.js +10 -1
- package/lib/inputs/mask/imaskHOC.js +2 -1
- package/lib/inputs/mask/input_mask.spec.js +21 -4
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/index.js +2 -0
- package/lib/inputs/select/Dropdown.js +55 -65
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +16 -11
- package/lib/inputs/select/simple/index.js +39 -24
- package/lib/internals/constants.js +4 -3
- package/lib/internals/withTooltip.js +86 -82
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/list/Item.js +35 -9
- package/lib/list/helpers.js +8 -3
- package/lib/list/index.js +172 -14
- package/lib/list/list.spec.js +290 -89
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/sidenav/NavMenuItem.js +17 -8
- package/lib/menus/sidenav/index.js +59 -86
- package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
- package/lib/menus/sidenav/sidenav.spec.js +86 -19
- package/lib/panel/Header.js +4 -3
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/spinner/index.js +6 -1
- package/lib/split/Split.js +5 -11
- package/lib/table/Body.js +55 -11
- package/lib/table/Header.js +14 -1
- package/lib/table/HeaderColumn.js +26 -3
- package/lib/table/Row.js +19 -8
- package/lib/table/RowColumn.js +23 -3
- package/lib/table/helpers.js +11 -1
- package/lib/table/index.js +41 -8
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +12 -9
- package/lib/tabs/MenuItems.js +15 -9
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +156 -22
- package/lib/tabs/tabs.spec.js +8 -5
- package/lib/toolbar/ButtonBar.js +30 -24
- package/lib/toolbar/LabelBar.js +22 -27
- package/lib/toolbar/helpers.js +12 -0
- package/lib/toolbar/index.js +24 -9
- package/lib/tooltip/index.js +20 -7
- package/lib/treeview/Node.js +364 -49
- package/lib/treeview/index.js +475 -36
- package/lib/treeview/treeview.spec.js +18 -0
- package/lib/uitour/helpers.js +15 -0
- package/lib/uitour/index.js +271 -0
- package/lib/uitour/uitour.spec.js +176 -0
- package/package.json +9 -8
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
margin-left: -20px;
|
|
16
16
|
cursor: pointer;
|
|
17
17
|
}
|
|
18
|
+
.loading {
|
|
19
|
+
margin-left: -30px;
|
|
20
|
+
position: absolute;
|
|
21
|
+
margin-top: -5px;
|
|
22
|
+
}
|
|
18
23
|
}
|
|
19
24
|
}
|
|
20
25
|
|
|
@@ -42,8 +47,31 @@
|
|
|
42
47
|
animation: revealelement 0.3s forwards ease-in-out;
|
|
43
48
|
> .label {
|
|
44
49
|
width: auto;
|
|
50
|
+
display: flex;
|
|
51
|
+
justify-content: flex-start;
|
|
52
|
+
align-items: center;
|
|
53
|
+
min-height: 25px;
|
|
54
|
+
color: $font-color-soft;
|
|
55
|
+
>.node-menu {
|
|
56
|
+
animation: revealelement 0.3s forwards ease-in-out;
|
|
57
|
+
margin-left: 10px;
|
|
58
|
+
}
|
|
59
|
+
>.node-rightelements {
|
|
60
|
+
animation: revealelement 0.3s forwards ease-in-out;
|
|
61
|
+
display: flex;
|
|
62
|
+
justify-content: flex-start;
|
|
63
|
+
align-items: center;
|
|
64
|
+
}
|
|
65
|
+
>.node-toolbarelements {
|
|
66
|
+
animation: revealelement 0.3s forwards ease-in-out;
|
|
67
|
+
width: auto;
|
|
68
|
+
height: 100%;
|
|
69
|
+
margin-left: 10px;
|
|
70
|
+
}
|
|
45
71
|
&:hover {
|
|
72
|
+
cursor: pointer;
|
|
46
73
|
background-color: rgb(209, 209, 209);
|
|
74
|
+
text-decoration: underline;
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
77
|
> .nodelist {
|
|
@@ -53,3 +81,16 @@
|
|
|
53
81
|
float: left;
|
|
54
82
|
}
|
|
55
83
|
}
|
|
84
|
+
|
|
85
|
+
.nodelist > .treeviewitem > .label > .node-rightelements > .element,
|
|
86
|
+
.treeview-component > .treeviewcontainer > .treeviewitem > .label > .node-rightelements > .element {
|
|
87
|
+
margin-left: 10px;
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
height: 100%;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.nodelist > .treeviewitem > .label > .node-toolbarelements > .toolbar-group > .buttonbar,
|
|
94
|
+
.treeview-component > .treeviewcontainer > .treeviewitem > .label > .node-toolbarelements > .toolbar-group > .buttonbar {
|
|
95
|
+
border: none;
|
|
96
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
@import "commons.scss";
|
|
2
|
+
@import "colors.scss";
|
|
3
|
+
@import "effects.scss";
|
|
4
|
+
|
|
5
|
+
$step-arrow-size: 22px;
|
|
6
|
+
$step-arrow-shadow-size: 26px;
|
|
7
|
+
%step-arrow {
|
|
8
|
+
content: '';
|
|
9
|
+
position: absolute;
|
|
10
|
+
border-bottom: $step-arrow-size solid transparent;
|
|
11
|
+
border-right: $step-arrow-size solid #fff;
|
|
12
|
+
border-top: $step-arrow-size solid transparent;
|
|
13
|
+
}
|
|
14
|
+
%step-arrow-shadow {
|
|
15
|
+
content: '';
|
|
16
|
+
position: absolute;
|
|
17
|
+
border-bottom: $step-arrow-shadow-size solid transparent;
|
|
18
|
+
border-right: $step-arrow-shadow-size solid rgba(0, 0, 0, 0.6);
|
|
19
|
+
border-top: $step-arrow-shadow-size solid transparent;
|
|
20
|
+
}
|
|
21
|
+
.uitour-component {
|
|
22
|
+
position: absolute;
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100vh;
|
|
25
|
+
left: 0;
|
|
26
|
+
top: 0;
|
|
27
|
+
z-index: 99999999999999999999;
|
|
28
|
+
> .step {
|
|
29
|
+
background-color: #fff;
|
|
30
|
+
position: relative;
|
|
31
|
+
max-width: 450px;
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
border: 3px solid rgba(0, 0, 0, 0.6);
|
|
35
|
+
border-radius: 8px;
|
|
36
|
+
padding: 5px 0;
|
|
37
|
+
&.-left {
|
|
38
|
+
animation: slideRightToLeftWithFade 0.5s;
|
|
39
|
+
&:before {
|
|
40
|
+
@extend %step-arrow-shadow;
|
|
41
|
+
top: 6px;
|
|
42
|
+
left: -$step-arrow-shadow-size;
|
|
43
|
+
}
|
|
44
|
+
&:after {
|
|
45
|
+
@extend %step-arrow;
|
|
46
|
+
top: 10px;
|
|
47
|
+
left: -$step-arrow-size;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
&.-right {
|
|
51
|
+
animation: slideLeftToRightWithFade 0.5s;
|
|
52
|
+
&:before {
|
|
53
|
+
@extend %step-arrow-shadow;
|
|
54
|
+
top: 6px;
|
|
55
|
+
right: -$step-arrow-shadow-size;
|
|
56
|
+
transform: rotate(180deg);
|
|
57
|
+
}
|
|
58
|
+
&:after {
|
|
59
|
+
@extend %step-arrow;
|
|
60
|
+
top: 10px;
|
|
61
|
+
right: -$step-arrow-size;
|
|
62
|
+
transform: rotate(180deg);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
> .closebutton {
|
|
66
|
+
align-self: flex-end;
|
|
67
|
+
padding: 0 5px 5px;
|
|
68
|
+
line-height: 0;
|
|
69
|
+
}
|
|
70
|
+
> .content {
|
|
71
|
+
width: 100%;
|
|
72
|
+
padding: 0px 20px;
|
|
73
|
+
margin-bottom: 0;
|
|
74
|
+
display: flex;
|
|
75
|
+
> .number {
|
|
76
|
+
display: flex;
|
|
77
|
+
width: 40px;
|
|
78
|
+
height: 40px;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
border-radius: 50%;
|
|
82
|
+
background-color: $success-color;
|
|
83
|
+
color: #fff;
|
|
84
|
+
margin-right: 10px;
|
|
85
|
+
font-weight: bold;
|
|
86
|
+
font-size: 20px;
|
|
87
|
+
line-height: 0;
|
|
88
|
+
}
|
|
89
|
+
> .about {
|
|
90
|
+
flex: 1;
|
|
91
|
+
margin-bottom: 10px;
|
|
92
|
+
> h3 {
|
|
93
|
+
font-size: 16px;
|
|
94
|
+
font-weight: bold;
|
|
95
|
+
}
|
|
96
|
+
> .description {
|
|
97
|
+
font-size: 14px;
|
|
98
|
+
line-height: 18px;
|
|
99
|
+
strong {
|
|
100
|
+
font-weight: bold;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
> .footer {
|
|
106
|
+
display: flex;
|
|
107
|
+
justify-content: flex-end;
|
|
108
|
+
gap: 10px;
|
|
109
|
+
padding: 5px 10px 10px;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -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
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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
|
|
172
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_["default"], {
|
|
162
173
|
label: "B",
|
|
163
174
|
onClick: mockOnClick
|
|
164
175
|
})),
|
|
165
|
-
container =
|
|
176
|
+
container = _render12.container;
|
|
166
177
|
|
|
167
178
|
_react2.fireEvent.click(container.firstChild);
|
|
168
179
|
|
package/lib/avatar/index.js
CHANGED
|
@@ -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;
|
|
@@ -54,31 +54,31 @@ describe('CheckBox', function () {
|
|
|
54
54
|
var _render2 = (0, _react.render)(CheckBoxTest()),
|
|
55
55
|
container = _render2.container;
|
|
56
56
|
|
|
57
|
-
expect(container.firstChild).toContainElement(container.querySelector('.
|
|
57
|
+
expect(container.firstChild).toContainElement(container.querySelector('.hint'));
|
|
58
58
|
});
|
|
59
59
|
it('should label text match with prop label', function () {
|
|
60
60
|
var _render3 = (0, _react.render)(CheckBoxTest()),
|
|
61
61
|
container = _render3.container;
|
|
62
62
|
|
|
63
|
-
expect(container.querySelector('.
|
|
63
|
+
expect(container.querySelector('.description')).toHaveTextContent('testLabel');
|
|
64
64
|
});
|
|
65
65
|
it('should checkbox have id ', function () {
|
|
66
66
|
var _render4 = (0, _react.render)(CheckBoxTest()),
|
|
67
67
|
container = _render4.container;
|
|
68
68
|
|
|
69
|
-
expect(container.querySelector('.
|
|
69
|
+
expect(container.querySelector('.input').id).toBe('1');
|
|
70
70
|
});
|
|
71
71
|
it('should checkbox have name test', function () {
|
|
72
72
|
var _render5 = (0, _react.render)(CheckBoxTest()),
|
|
73
73
|
container = _render5.container;
|
|
74
74
|
|
|
75
|
-
expect(container.querySelector('.
|
|
75
|
+
expect(container.querySelector('.input').name).toBe('test');
|
|
76
76
|
});
|
|
77
77
|
it('should checkbox have value', function () {
|
|
78
78
|
var _render6 = (0, _react.render)(CheckBoxTest()),
|
|
79
79
|
container = _render6.container;
|
|
80
80
|
|
|
81
|
-
expect(container.querySelector('.
|
|
81
|
+
expect(container.querySelector('.input').value).toBe('1');
|
|
82
82
|
});
|
|
83
83
|
it('should change checked', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
84
84
|
var _render7, container;
|
|
@@ -88,11 +88,11 @@ describe('CheckBox', function () {
|
|
|
88
88
|
switch (_context.prev = _context.next) {
|
|
89
89
|
case 0:
|
|
90
90
|
_render7 = (0, _react.render)(CheckBoxTest()), container = _render7.container;
|
|
91
|
-
expect(container.querySelector('.
|
|
91
|
+
expect(container.querySelector('.input').checked).toEqual(false);
|
|
92
92
|
|
|
93
|
-
_react.fireEvent.click(container.querySelector('.
|
|
93
|
+
_react.fireEvent.click(container.querySelector('.input'));
|
|
94
94
|
|
|
95
|
-
expect(container.querySelector('.
|
|
95
|
+
expect(container.querySelector('.input').checked).toEqual(true);
|
|
96
96
|
|
|
97
97
|
case 4:
|
|
98
98
|
case "end":
|
|
@@ -111,11 +111,11 @@ describe('CheckBox', function () {
|
|
|
111
111
|
_render8 = (0, _react.render)(CheckBoxTest({
|
|
112
112
|
disabled: true
|
|
113
113
|
})), container = _render8.container;
|
|
114
|
-
expect(container.querySelector('.
|
|
114
|
+
expect(container.querySelector('.input').checked).toEqual(false);
|
|
115
115
|
|
|
116
|
-
_react.fireEvent.click(container.querySelector('.
|
|
116
|
+
_react.fireEvent.click(container.querySelector('.input'));
|
|
117
117
|
|
|
118
|
-
expect(container.querySelector('.
|
|
118
|
+
expect(container.querySelector('.input').checked).toEqual(false);
|
|
119
119
|
|
|
120
120
|
case 4:
|
|
121
121
|
case "end":
|
|
@@ -134,7 +134,7 @@ describe('CheckBox', function () {
|
|
|
134
134
|
_render9 = (0, _react.render)(CheckBoxTest({
|
|
135
135
|
required: true
|
|
136
136
|
})), container = _render9.container;
|
|
137
|
-
expect(container.querySelector('.
|
|
137
|
+
expect(container.querySelector('.input').required).toEqual(true);
|
|
138
138
|
|
|
139
139
|
case 2:
|
|
140
140
|
case "end":
|
|
@@ -153,8 +153,8 @@ describe('CheckBox', function () {
|
|
|
153
153
|
_render10 = (0, _react.render)(CheckBoxTest({
|
|
154
154
|
autoFocus: true
|
|
155
155
|
})), container = _render10.container;
|
|
156
|
-
container.querySelector('.
|
|
157
|
-
expect(container.querySelector('.
|
|
156
|
+
container.querySelector('.input').focus();
|
|
157
|
+
expect(container.querySelector('.input')).toHaveFocus();
|
|
158
158
|
|
|
159
159
|
case 3:
|
|
160
160
|
case "end":
|
|
@@ -197,8 +197,8 @@ describe('CheckBox', function () {
|
|
|
197
197
|
|
|
198
198
|
_react.fireEvent.click(container.firstChild);
|
|
199
199
|
|
|
200
|
-
expect(getByTestId('checkbox-container')).
|
|
201
|
-
expect(container.querySelector('.
|
|
200
|
+
expect(getByTestId('checkbox-container')).toBeVisible();
|
|
201
|
+
expect(container.querySelector('.input')).toBeDisabled();
|
|
202
202
|
expect(mockOnClick).toBeCalledTimes(0);
|
|
203
203
|
});
|
|
204
204
|
it('should check permission, be unavaible and onDenied is unvisible', function () {
|
package/lib/checkbox/index.js
CHANGED
|
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _gridlayout = _interopRequireDefault(require("../gridlayout"));
|
|
15
15
|
|
|
16
|
+
var _Label = _interopRequireDefault(require("./Label"));
|
|
17
|
+
|
|
16
18
|
require("../assets/styles/checkbox.scss");
|
|
17
19
|
|
|
18
20
|
var _permissionValidations = require("../permissionValidations");
|
|
@@ -23,6 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
23
25
|
|
|
24
26
|
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; }
|
|
25
27
|
|
|
28
|
+
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); }
|
|
29
|
+
|
|
26
30
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
31
|
|
|
28
32
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -52,7 +56,11 @@ var CheckBox = function CheckBox(props) {
|
|
|
52
56
|
id = props.id,
|
|
53
57
|
gridLayout = props.gridLayout,
|
|
54
58
|
checked = props.checked,
|
|
55
|
-
permissionAttr = props.permissionAttr
|
|
59
|
+
permissionAttr = props.permissionAttr,
|
|
60
|
+
tooltip = props.tooltip,
|
|
61
|
+
tooltipPosition = props.tooltipPosition,
|
|
62
|
+
tooltipWidth = props.tooltipWidth,
|
|
63
|
+
skeletonize = props.skeletonize;
|
|
56
64
|
|
|
57
65
|
var _useState = (0, _react.useState)(checked),
|
|
58
66
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -100,10 +108,12 @@ var CheckBox = function CheckBox(props) {
|
|
|
100
108
|
};
|
|
101
109
|
|
|
102
110
|
var renderInput = function renderInput() {
|
|
103
|
-
return /*#__PURE__*/_react["default"].createElement("div",
|
|
111
|
+
return /*#__PURE__*/_react["default"].createElement("div", _extends({}, getProps(), {
|
|
112
|
+
className: "checkbox-component ".concat(skeletonize ? '-skeletonized' : '')
|
|
113
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
104
114
|
"data-testid": "checkbox-container",
|
|
105
|
-
className:
|
|
106
|
-
onClick: !shouldDisable() ? function () {
|
|
115
|
+
className: "inputcontent",
|
|
116
|
+
onClick: !shouldDisable() && !skeletonize ? function () {
|
|
107
117
|
return setIsChecked(!isChecked);
|
|
108
118
|
} : null,
|
|
109
119
|
tabIndex: "-1",
|
|
@@ -112,7 +122,7 @@ var CheckBox = function CheckBox(props) {
|
|
|
112
122
|
onKeyPress: null
|
|
113
123
|
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
114
124
|
ref: inputRef,
|
|
115
|
-
className: "
|
|
125
|
+
className: "input",
|
|
116
126
|
type: "checkbox",
|
|
117
127
|
autoFocus: autofocus,
|
|
118
128
|
checked: isChecked,
|
|
@@ -122,11 +132,14 @@ var CheckBox = function CheckBox(props) {
|
|
|
122
132
|
value: value,
|
|
123
133
|
id: id,
|
|
124
134
|
onChange: function onChange() {}
|
|
125
|
-
}), /*#__PURE__*/_react["default"].createElement("span", null), label && /*#__PURE__*/_react["default"].createElement("
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
}), /*#__PURE__*/_react["default"].createElement("span", null), label && /*#__PURE__*/_react["default"].createElement(_Label["default"], {
|
|
136
|
+
label: label,
|
|
137
|
+
tooltip: tooltip,
|
|
138
|
+
tooltipWidth: tooltipWidth,
|
|
139
|
+
tooltipPosition: tooltipPosition
|
|
140
|
+
})), hint && /*#__PURE__*/_react["default"].createElement("div", {
|
|
141
|
+
className: "hint"
|
|
142
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, hint)));
|
|
130
143
|
};
|
|
131
144
|
|
|
132
145
|
if (onDenied.unvisible) return null;
|
|
@@ -149,7 +162,11 @@ CheckBox.propTypes = {
|
|
|
149
162
|
autofocus: _propTypes["default"].bool,
|
|
150
163
|
hint: _propTypes["default"].string,
|
|
151
164
|
gridLayout: _propTypes["default"].string,
|
|
152
|
-
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
|
|
165
|
+
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
166
|
+
tooltip: _propTypes["default"].string,
|
|
167
|
+
tooltipPosition: _propTypes["default"].string,
|
|
168
|
+
tooltipWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
169
|
+
skeletonize: _propTypes["default"].bool
|
|
153
170
|
};
|
|
154
171
|
CheckBox.defaultProps = {
|
|
155
172
|
label: '',
|
|
@@ -164,7 +181,11 @@ CheckBox.defaultProps = {
|
|
|
164
181
|
hint: undefined,
|
|
165
182
|
id: undefined,
|
|
166
183
|
gridLayout: undefined,
|
|
167
|
-
permissionAttr: undefined
|
|
184
|
+
permissionAttr: undefined,
|
|
185
|
+
tooltip: '',
|
|
186
|
+
tooltipPosition: 'top',
|
|
187
|
+
tooltipWidth: 'auto',
|
|
188
|
+
skeletonize: false
|
|
168
189
|
};
|
|
169
190
|
var _default = CheckBox;
|
|
170
191
|
exports["default"] = _default;
|
package/lib/dialog/base/index.js
CHANGED
|
@@ -31,7 +31,8 @@ var BaseDialog = function BaseDialog(props) {
|
|
|
31
31
|
handlerClose = props.handlerClose,
|
|
32
32
|
closeOnOutsideClick = props.closeOnOutsideClick,
|
|
33
33
|
wrapperClassName = props.wrapperClassName,
|
|
34
|
-
children = props.children
|
|
34
|
+
children = props.children,
|
|
35
|
+
zIndex = props.zIndex;
|
|
35
36
|
var dialogEl = (0, _react.useRef)(document.createElement('div'));
|
|
36
37
|
dialogEl.current.className = 'dialog';
|
|
37
38
|
dialogEl.current.dataset.testid = 'dialog-component';
|
|
@@ -48,25 +49,30 @@ var BaseDialog = function BaseDialog(props) {
|
|
|
48
49
|
|
|
49
50
|
var handleClickOutside = function handleClickOutside(event) {
|
|
50
51
|
var target = event.target;
|
|
52
|
+
var dialogAlert = document.getElementsByClassName('dialog-alert-wrapper');
|
|
51
53
|
|
|
52
54
|
if (wrapperEl !== null && wrapperEl.current !== null && target !== wrapperEl.current && !wrapperEl.current.contains(target)) {
|
|
55
|
+
if (dialogAlert.length > 0 && dialogAlert[dialogAlert.length - 1].contains(target) || target.classList.contains('button-component')) return;
|
|
53
56
|
handlerClose();
|
|
54
57
|
}
|
|
55
58
|
};
|
|
56
59
|
|
|
57
60
|
var handleCloseOnEsc = function handleCloseOnEsc(event) {
|
|
58
|
-
if (event.keyCode === 27 || event.key === 'ESC')
|
|
61
|
+
if (event.keyCode === 27 || event.key === 'ESC') {
|
|
62
|
+
handlerClose();
|
|
63
|
+
}
|
|
59
64
|
};
|
|
60
65
|
|
|
61
66
|
var setModalContainer = function setModalContainer() {
|
|
62
67
|
modalContainerEl.current.className = 'modalcontainer';
|
|
68
|
+
if (zIndex) modalContainerEl.current.style.zIndex = zIndex;
|
|
63
69
|
body.appendChild(modalContainerEl.current);
|
|
64
70
|
modalContainerEl.current.appendChild(dialogEl.current);
|
|
65
71
|
};
|
|
66
72
|
|
|
67
73
|
var removeModalContainer = function removeModalContainer() {
|
|
68
|
-
var modalComponent = document.getElementsByClassName('modalcontainer')
|
|
69
|
-
document.body.removeChild(modalComponent);
|
|
74
|
+
var modalComponent = document.getElementsByClassName('modalcontainer');
|
|
75
|
+
document.body.removeChild(modalComponent[modalComponent.length - 1]);
|
|
70
76
|
};
|
|
71
77
|
|
|
72
78
|
var removeOverlay = function removeOverlay() {
|
|
@@ -108,15 +114,18 @@ BaseDialog.propTypes = {
|
|
|
108
114
|
closeOnEsc: _propTypes["default"].bool,
|
|
109
115
|
closeOnOutsideClick: _propTypes["default"].bool,
|
|
110
116
|
overlay: _propTypes["default"].bool,
|
|
117
|
+
changedData: _propTypes["default"].bool,
|
|
111
118
|
children: _propTypes["default"].any.isRequired,
|
|
112
|
-
textAlign: _propTypes["default"].string
|
|
119
|
+
textAlign: _propTypes["default"].string,
|
|
120
|
+
zIndex: _propTypes["default"].string
|
|
113
121
|
};
|
|
114
122
|
BaseDialog.defaultProps = {
|
|
115
123
|
closeOnEsc: false,
|
|
116
124
|
closeOnOutsideClick: false,
|
|
117
125
|
overlay: true,
|
|
118
126
|
handlerClose: null,
|
|
119
|
-
textAlign: 'justify'
|
|
127
|
+
textAlign: 'justify',
|
|
128
|
+
zIndex: null
|
|
120
129
|
};
|
|
121
130
|
var _default = BaseDialog;
|
|
122
131
|
exports["default"] = _default;
|