@zohodesk/components 1.0.0-temp-248 → 1.0.0-temp-199.21
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/README.md +6 -7
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +2 -0
- package/assets/Appearance/light/mode/Component_LightMode.module.css +2 -0
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +2 -0
- package/es/ListItem/ListItem.module.css +30 -20
- package/es/ListItem/ListItemWithAvatar.js +4 -2
- package/es/ListItem/ListItemWithCheckBox.js +4 -2
- package/es/ListItem/ListItemWithIcon.js +4 -2
- package/es/ListItem/ListItemWithRadio.js +4 -2
- package/es/ListItem/props/propTypes.js +3 -3
- package/es/Modal/Portal/Portal.js +11 -10
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +6 -2
- package/es/MultiSelect/MultiSelect.js +2 -2
- package/es/MultiSelect/Suggestions.js +7 -2
- package/es/MultiSelect/props/defaultProps.js +2 -0
- package/es/MultiSelect/props/propTypes.js +11 -3
- package/es/Select/GroupSelect.js +1 -1
- package/es/Select/Select.js +3 -5
- package/es/Select/SelectWithAvatar.js +3 -3
- package/es/Select/SelectWithIcon.js +10 -3
- package/es/Select/__tests__/Select.spec.js +0 -5
- package/es/Select/props/defaultProps.js +4 -2
- package/es/Select/props/propTypes.js +12 -5
- package/es/TextBoxIcon/TextBoxIcon.js +1 -0
- package/es/common/common.module.css +1 -1
- package/es/shared/InputFieldLine/InputFieldLine.js +1 -2
- package/es/shared/InputFieldLine/InputFieldLine.module.css +7 -13
- package/lib/ListItem/ListItem.module.css +30 -20
- package/lib/ListItem/ListItemWithAvatar.js +5 -3
- package/lib/ListItem/ListItemWithCheckBox.js +4 -2
- package/lib/ListItem/ListItemWithIcon.js +5 -3
- package/lib/ListItem/ListItemWithRadio.js +4 -2
- package/lib/ListItem/props/propTypes.js +3 -3
- package/lib/Modal/Portal/Portal.js +17 -10
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -3
- package/lib/MultiSelect/MultiSelect.js +2 -2
- package/lib/MultiSelect/Suggestions.js +6 -2
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +13 -5
- package/lib/Select/GroupSelect.js +2 -1
- package/lib/Select/Select.js +5 -8
- package/lib/Select/SelectWithAvatar.js +4 -3
- package/lib/Select/SelectWithIcon.js +10 -3
- package/lib/Select/__tests__/Select.spec.js +0 -5
- package/lib/Select/props/defaultProps.js +5 -3
- package/lib/Select/props/propTypes.js +12 -5
- package/lib/TextBoxIcon/TextBoxIcon.js +1 -0
- package/lib/common/common.module.css +1 -1
- package/lib/shared/InputFieldLine/InputFieldLine.js +1 -2
- package/lib/shared/InputFieldLine/InputFieldLine.module.css +7 -13
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development across projects.
|
|
4
4
|
|
|
5
|
-
# 1.5.
|
|
6
|
-
- **InputFieldline**
|
|
7
|
-
- changed the handling of conditional logic for padding and size properties.
|
|
5
|
+
# 1.5.8
|
|
8
6
|
|
|
9
|
-
- **
|
|
10
|
-
- added support for `InputFieldLineProps` via the customProps object.
|
|
7
|
+
- Memoized **Portal** logic to improve performance.
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
# 1.5.7
|
|
10
|
+
|
|
11
|
+
- **ListContainer, ListItem, ListItemWithIcon**
|
|
12
|
+
- `danger` value supported for the **palette** prop.
|
|
14
13
|
|
|
15
14
|
# 1.5.6
|
|
16
15
|
|
|
@@ -183,6 +183,8 @@
|
|
|
183
183
|
--zdt_listitem_active_border: var(--zdt_cta_primary_border);
|
|
184
184
|
--zdt_listitem_primary_bg: var(--dot_listItemActive);
|
|
185
185
|
--zdt_listitem_secondary_bg: var(--zdtm_cta_primary_bg_default);
|
|
186
|
+
--zdt_listitem_danger_bg: rgba(255, 107, 107, 0.05);
|
|
187
|
+
--zdt_listitem_danger_text: hsla(0, 100.00%, calc(70.98% + var(--zdc_default_inverse_lower)), calc(1 + var(--zdc_alpha_low)));
|
|
186
188
|
--zdt_listitem_secondary_text: hsla(0, 0.00%, calc(12.94% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
187
189
|
|
|
188
190
|
/* ribbon */
|
|
@@ -183,6 +183,8 @@
|
|
|
183
183
|
--zdt_listitem_active_border: var(--zdt_cta_primary_border);
|
|
184
184
|
--zdt_listitem_primary_bg: var(--dot_listItemActive);
|
|
185
185
|
--zdt_listitem_secondary_bg: var(--zdtm_cta_primary_bg_default);
|
|
186
|
+
--zdt_listitem_danger_bg: rgb(253,243,243);
|
|
187
|
+
--zdt_listitem_danger_text: hsla(0, 71.91%, calc(53.92% + var(--zdc_default_inverse_lower)), calc(1 + var(--zdc_alpha_low)));
|
|
186
188
|
--zdt_listitem_secondary_text: hsla(0, 0.00%, calc(100.00% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
187
189
|
|
|
188
190
|
/* ribbon */
|
|
@@ -183,6 +183,8 @@
|
|
|
183
183
|
--zdt_listitem_active_border: var(--zdt_cta_primary_border);
|
|
184
184
|
--zdt_listitem_primary_bg: var(--dot_listItemActive);
|
|
185
185
|
--zdt_listitem_secondary_bg: var(--zdtm_cta_primary_bg_default);
|
|
186
|
+
--zdt_listitem_danger_bg: rgba(255, 107, 107, 0.05);
|
|
187
|
+
--zdt_listitem_danger_text: hsla(0, 100.00%, calc(70.98% + var(--zdc_default_inverse_lower)), calc(1 + var(--zdc_alpha_low)));
|
|
186
188
|
--zdt_listitem_secondary_text: hsla(0, 0.00%, calc(12.94% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
187
189
|
|
|
188
190
|
/* ribbon */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* css:lineheight-validation:ignore */
|
|
1
2
|
.varClass {
|
|
2
3
|
/* listitem default variables */
|
|
3
4
|
--listitem_font_size: var(--zd_font_size13);
|
|
@@ -15,9 +16,14 @@
|
|
|
15
16
|
|
|
16
17
|
/* listitem tick icon default variables */
|
|
17
18
|
--listitem_tickicon_color: var(--zdt_listitem_default_tickicon);
|
|
18
|
-
|
|
19
|
+
|
|
20
|
+
/* multiLine value for list item */
|
|
21
|
+
--listitem_multiline_lineheight: 1.5385;
|
|
22
|
+
}
|
|
23
|
+
[dir=ltr] .varClass {
|
|
19
24
|
--listitem_avatar_margin: 0 var(--zd_size15) 0 0;
|
|
20
|
-
}
|
|
25
|
+
}
|
|
26
|
+
[dir=rtl] .varClass {
|
|
21
27
|
--listitem_avatar_margin: 0 0 0 var(--zd_size15);
|
|
22
28
|
}
|
|
23
29
|
.list {
|
|
@@ -76,8 +82,9 @@
|
|
|
76
82
|
[dir=rtl] .beforeChild{
|
|
77
83
|
margin-left: var(--zd_size10) ;
|
|
78
84
|
}
|
|
85
|
+
/* css:lineheight-validation:ignore */
|
|
79
86
|
.value, .multiLineValue {
|
|
80
|
-
line-height:
|
|
87
|
+
line-height: var(--listitem_multiline_lineheight);
|
|
81
88
|
}
|
|
82
89
|
.multiLineValue,.multiLine{
|
|
83
90
|
composes: lineClamp from '../common/common.module.css';
|
|
@@ -115,28 +122,20 @@
|
|
|
115
122
|
composes: justifyFend from '../common/common.module.css';
|
|
116
123
|
}
|
|
117
124
|
|
|
125
|
+
.contentWrapper {
|
|
126
|
+
composes: dflex flexrow alignVertical from '../common/common.module.css';
|
|
127
|
+
width: 100% ;
|
|
128
|
+
}
|
|
118
129
|
.lhsBox {
|
|
119
130
|
composes: dflex from '../common/common.module.css';
|
|
120
131
|
align-self: stretch;
|
|
121
132
|
}
|
|
122
|
-
.
|
|
123
|
-
.lhsBox_medium,
|
|
124
|
-
.lhsBox_large{
|
|
125
|
-
composes: varClass;
|
|
126
|
-
--listitem_doubleline_content_height: calc(var(--listitem_font_size) * 2 );
|
|
127
|
-
height: 100% ;
|
|
133
|
+
.lhsBoxInner{
|
|
128
134
|
composes: dflex alignVertical from '../common/common.module.css';
|
|
135
|
+
height: 100% ;
|
|
136
|
+
max-height: calc((var(--listitem_font_size) * var(--listitem_multiline_lineheight)) * 2 );
|
|
129
137
|
}
|
|
130
|
-
.
|
|
131
|
-
max-height: calc(var(--listitem_doubleline_content_height) + var(--zd_size7)); /* 7px = listitem min-height - (top + bottom padding) - doubleLine content height */
|
|
132
|
-
}
|
|
133
|
-
.lhsBox_medium {
|
|
134
|
-
max-height: calc(var(--listitem_doubleline_content_height) + var(--zd_size8)); /* 8px = listitem min-height - (top + bottom padding) - doubleLine content height */
|
|
135
|
-
}
|
|
136
|
-
.lhsBox_large {
|
|
137
|
-
max-height: calc(var(--listitem_doubleline_content_height) + var(--zd_size15)); /* 15px = listitem min-height - (top + bottom padding) - doubleLine content height */
|
|
138
|
-
}
|
|
139
|
-
.defaultHover, .primaryHover, .secondaryHover, .darkHover {
|
|
138
|
+
.defaultHover, .primaryHover, .dangerHover, .secondaryHover, .darkHover {
|
|
140
139
|
background-color: var(--listitem_highlight_bg_color);
|
|
141
140
|
}
|
|
142
141
|
.activewithBorder {
|
|
@@ -155,6 +154,13 @@
|
|
|
155
154
|
{
|
|
156
155
|
--listitem_bg_color: var(--zdt_listitem_highlight_bg);
|
|
157
156
|
}
|
|
157
|
+
.activedanger,
|
|
158
|
+
.dangerHover,
|
|
159
|
+
.dangerEffect:hover {
|
|
160
|
+
--listitem_bg_color: var(--zdt_listitem_danger_bg);
|
|
161
|
+
--listitem_highlight_bg_color: var(--zdt_listitem_danger_bg);
|
|
162
|
+
--listitem_text_color: var(--zdt_listitem_danger_text)
|
|
163
|
+
}
|
|
158
164
|
.primaryHover,
|
|
159
165
|
.primaryEffect:hover
|
|
160
166
|
/* .primaryEffect:focus */
|
|
@@ -177,7 +183,7 @@
|
|
|
177
183
|
--listitem_bg_color: var(--zdt_listitem_dark_effect_bg);
|
|
178
184
|
--listitem_highlight_bg_color: var(--zdt_listitem_dark_effect_bg);
|
|
179
185
|
}
|
|
180
|
-
.activedefault, .activeprimary, .activesecondary, .activedark {
|
|
186
|
+
.activedefault, .activeprimary, .activedanger, .activesecondary, .activedark {
|
|
181
187
|
background-color: var(--listitem_active_bg_color);
|
|
182
188
|
}
|
|
183
189
|
.activedefault,
|
|
@@ -186,6 +192,10 @@
|
|
|
186
192
|
.activeprimary:hover {
|
|
187
193
|
--listitem_active_bg_color: var(--zdt_listitem_primary_bg);
|
|
188
194
|
}
|
|
195
|
+
.activedanger,
|
|
196
|
+
.activedanger:hover {
|
|
197
|
+
--listitem_active_bg_color: var(--zdt_listitem_danger_bg);
|
|
198
|
+
}
|
|
189
199
|
.activesecondary {
|
|
190
200
|
--listitem_active_bg_color: var(--zdt_listitem_secondary_bg);
|
|
191
201
|
--listitem_text_color: var(--zdt_listitem_secondary_text);
|
|
@@ -124,11 +124,13 @@ export default class ListItemWithAvatar extends React.PureComponent {
|
|
|
124
124
|
title: null,
|
|
125
125
|
customProps: ListItemProps,
|
|
126
126
|
...ContainerProps
|
|
127
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
128
|
+
className: style.contentWrapper
|
|
127
129
|
}, name || imgSrc ? /*#__PURE__*/React.createElement(Box, {
|
|
128
130
|
className: `${style.leftAvatar} ${lhsAlignContent !== 'center' ? `${style.lhsBox}` : ''}`
|
|
129
131
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
130
132
|
align: lhsAlignContent,
|
|
131
|
-
className: style
|
|
133
|
+
className: style.lhsBoxInner
|
|
132
134
|
}, isTeam ? /*#__PURE__*/React.createElement(AvatarTeam, {
|
|
133
135
|
name: name,
|
|
134
136
|
size: "small",
|
|
@@ -174,7 +176,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
|
|
|
174
176
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
175
177
|
name: "ZD-ticknew",
|
|
176
178
|
size: "8"
|
|
177
|
-
})) : null);
|
|
179
|
+
})) : null));
|
|
178
180
|
}
|
|
179
181
|
|
|
180
182
|
}
|
|
@@ -100,12 +100,14 @@ export default class ListItemWithCheckBox extends React.Component {
|
|
|
100
100
|
title: null,
|
|
101
101
|
customProps: ListItemProps,
|
|
102
102
|
...ContainerProps
|
|
103
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
104
|
+
className: style.contentWrapper
|
|
103
105
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
104
106
|
className: `${style.iconBox} ${style.lhsBox} ${style[`lhsJustifyContent_${lhsJustifyContent}`]}`,
|
|
105
107
|
dataId: `${dataId ? dataId : value}_checkBox`
|
|
106
108
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
107
109
|
align: lhsAlignContent,
|
|
108
|
-
className: lhsAlignContent !== 'center' ? style
|
|
110
|
+
className: lhsAlignContent !== 'center' ? style.lhsBoxInner : ''
|
|
109
111
|
}, /*#__PURE__*/React.createElement(CheckBox, {
|
|
110
112
|
checked: checked,
|
|
111
113
|
a11y: {
|
|
@@ -130,7 +132,7 @@ export default class ListItemWithCheckBox extends React.Component {
|
|
|
130
132
|
}, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
|
|
131
133
|
"data-title": isDisabled ? null : secondaryValue,
|
|
132
134
|
className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
|
|
133
|
-
}, secondaryValue) : null));
|
|
135
|
+
}, secondaryValue) : null)));
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
}
|
|
@@ -116,6 +116,8 @@ export default class ListItemWithIcon extends React.Component {
|
|
|
116
116
|
title: null,
|
|
117
117
|
customProps: ListItemProps,
|
|
118
118
|
...ContainerProps
|
|
119
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
120
|
+
className: style.contentWrapper
|
|
119
121
|
}, iconName && /*#__PURE__*/React.createElement(Box, {
|
|
120
122
|
"aria-hidden": true,
|
|
121
123
|
align: lhsAlignContent,
|
|
@@ -123,7 +125,7 @@ export default class ListItemWithIcon extends React.Component {
|
|
|
123
125
|
dataId: dataId ? `${dataId}_Icon` : `${value.toLowerCase().replace("'", '_')}_Icon`
|
|
124
126
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
125
127
|
align: lhsAlignContent,
|
|
126
|
-
className: lhsAlignContent !== 'center' ? style
|
|
128
|
+
className: lhsAlignContent !== 'center' ? style.lhsBoxInner : ''
|
|
127
129
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
128
130
|
iconClass: iconClass,
|
|
129
131
|
name: iconName,
|
|
@@ -154,7 +156,7 @@ export default class ListItemWithIcon extends React.Component {
|
|
|
154
156
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
155
157
|
name: "ZD-ticknew",
|
|
156
158
|
size: "8"
|
|
157
|
-
})) : null);
|
|
159
|
+
})) : null));
|
|
158
160
|
}
|
|
159
161
|
|
|
160
162
|
}
|
|
@@ -101,13 +101,15 @@ export default class ListItemWithRadio extends React.Component {
|
|
|
101
101
|
title: null,
|
|
102
102
|
customProps: ListItemProps,
|
|
103
103
|
...ContainerProps
|
|
104
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
105
|
+
className: style.contentWrapper
|
|
104
106
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
105
107
|
align: lhsAlignContent,
|
|
106
108
|
className: `${style.iconBox} ${style.lhsBox} ${style[`lhsJustifyContent_${lhsJustifyContent}`]}`,
|
|
107
109
|
dataId: `${dataId}_radio`
|
|
108
110
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
109
111
|
align: lhsAlignContent,
|
|
110
|
-
className: lhsAlignContent !== 'center' ? style
|
|
112
|
+
className: lhsAlignContent !== 'center' ? style.lhsBoxInner : ''
|
|
111
113
|
}, /*#__PURE__*/React.createElement(Radio, {
|
|
112
114
|
checked: checked,
|
|
113
115
|
id: id,
|
|
@@ -133,7 +135,7 @@ export default class ListItemWithRadio extends React.Component {
|
|
|
133
135
|
}, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
|
|
134
136
|
"data-title": isDisabled ? null : secondaryValue,
|
|
135
137
|
className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
|
|
136
|
-
}, secondaryValue) : null));
|
|
138
|
+
}, secondaryValue) : null)));
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
}
|
|
@@ -17,7 +17,7 @@ export const ListContainer_Props = {
|
|
|
17
17
|
onClick: PropTypes.func,
|
|
18
18
|
onMouseEnter: PropTypes.func,
|
|
19
19
|
onMouseOver: PropTypes.func,
|
|
20
|
-
palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark']),
|
|
20
|
+
palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark', 'danger']),
|
|
21
21
|
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
|
22
22
|
target: PropTypes.oneOf(['blank', 'self']),
|
|
23
23
|
title: PropTypes.string,
|
|
@@ -48,7 +48,7 @@ export const ListItem_Props = {
|
|
|
48
48
|
needTick: PropTypes.bool,
|
|
49
49
|
onClick: PropTypes.func,
|
|
50
50
|
onMouseEnter: PropTypes.func,
|
|
51
|
-
palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark']),
|
|
51
|
+
palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark', 'danger']),
|
|
52
52
|
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
|
53
53
|
target: PropTypes.oneOf(['blank', 'self']),
|
|
54
54
|
title: PropTypes.string,
|
|
@@ -172,7 +172,7 @@ export const ListItemWithIcon_Props = {
|
|
|
172
172
|
needTick: PropTypes.bool,
|
|
173
173
|
onClick: PropTypes.func,
|
|
174
174
|
onMouseEnter: PropTypes.func,
|
|
175
|
-
palette: PropTypes.
|
|
175
|
+
palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark', 'danger']),
|
|
176
176
|
size: PropTypes.string,
|
|
177
177
|
title: PropTypes.string,
|
|
178
178
|
value: PropTypes.string,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useCallback, useMemo } from "react";
|
|
2
2
|
import BasePortal from '@zohodesk/dotkit/es/react/components/Portal/Portal';
|
|
3
3
|
import { getLibraryConfig } from "../../Provider/Config";
|
|
4
4
|
import { defaultProps } from "./props/defaultProps";
|
|
@@ -8,13 +8,11 @@ export default function Portal(_ref) {
|
|
|
8
8
|
children,
|
|
9
9
|
portalId
|
|
10
10
|
} = _ref;
|
|
11
|
-
const
|
|
11
|
+
const getPortalContainer = useCallback(() => {
|
|
12
|
+
const getConfigPortalContainer = getLibraryConfig('getPortalContainer');
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (getPortalContainer && typeof getPortalContainer === 'function') {
|
|
17
|
-
const portal = getPortalContainer();
|
|
14
|
+
if (getConfigPortalContainer && typeof getConfigPortalContainer === 'function') {
|
|
15
|
+
const portal = getConfigPortalContainer();
|
|
18
16
|
|
|
19
17
|
if (portal) {
|
|
20
18
|
return portal;
|
|
@@ -22,10 +20,13 @@ export default function Portal(_ref) {
|
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
return null;
|
|
25
|
-
};
|
|
26
|
-
|
|
23
|
+
}, []);
|
|
24
|
+
const memoizedPortalId = useMemo(() => {
|
|
25
|
+
const portalPrefix = getLibraryConfig("portalPrefix");
|
|
26
|
+
return `${portalPrefix ? `${portalPrefix}` : ''}${portalId}`;
|
|
27
|
+
}, [portalId]);
|
|
27
28
|
return /*#__PURE__*/React.createElement(BasePortal, {
|
|
28
|
-
portalId:
|
|
29
|
+
portalId: memoizedPortalId,
|
|
29
30
|
getFallbackElement: getPortalContainer
|
|
30
31
|
}, children);
|
|
31
32
|
}
|
|
@@ -889,8 +889,12 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
889
889
|
autoComplete,
|
|
890
890
|
getTargetRef,
|
|
891
891
|
isFocus,
|
|
892
|
-
limit
|
|
892
|
+
limit,
|
|
893
|
+
customProps
|
|
893
894
|
} = this.props;
|
|
895
|
+
const {
|
|
896
|
+
SuggestionsProps = {}
|
|
897
|
+
} = customProps;
|
|
894
898
|
let {
|
|
895
899
|
clearText = MULTISELECT_I18N_KEYS.clearText,
|
|
896
900
|
limitReachedMessage = MULTISELECT_I18N_KEYS.limitReachedMessage
|
|
@@ -1059,7 +1063,7 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
1059
1063
|
a11y: {
|
|
1060
1064
|
role: 'heading'
|
|
1061
1065
|
}
|
|
1062
|
-
})), /*#__PURE__*/React.createElement(Suggestions, {
|
|
1066
|
+
})), /*#__PURE__*/React.createElement(Suggestions, { ...SuggestionsProps,
|
|
1063
1067
|
suggestions: suggestions,
|
|
1064
1068
|
selectedOptions: selectedOptionIds,
|
|
1065
1069
|
getRef: this.suggestionItemRef,
|
|
@@ -1095,9 +1095,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
1095
1095
|
isLoading,
|
|
1096
1096
|
selectAllText,
|
|
1097
1097
|
needSelectAll,
|
|
1098
|
-
customProps,
|
|
1099
1098
|
isVirtualizerEnabled,
|
|
1100
|
-
limit
|
|
1099
|
+
limit,
|
|
1100
|
+
customProps
|
|
1101
1101
|
} = this.props;
|
|
1102
1102
|
const {
|
|
1103
1103
|
selectedOptions,
|
|
@@ -193,18 +193,23 @@ export default class Suggestions extends React.PureComponent {
|
|
|
193
193
|
htmlId,
|
|
194
194
|
a11y,
|
|
195
195
|
getVirtualizerPublicMethods,
|
|
196
|
-
setVirtualizerContainerRefFunction
|
|
196
|
+
setVirtualizerContainerRefFunction,
|
|
197
|
+
customClass
|
|
197
198
|
} = this.props;
|
|
198
199
|
const {
|
|
199
200
|
ariaParentRole,
|
|
200
201
|
ariaMultiselectable
|
|
201
202
|
} = a11y;
|
|
203
|
+
const {
|
|
204
|
+
containerClass = ''
|
|
205
|
+
} = customClass;
|
|
202
206
|
return /*#__PURE__*/React.createElement(Container, {
|
|
203
207
|
isCover: false,
|
|
204
208
|
role: ariaParentRole,
|
|
205
209
|
id: htmlId,
|
|
206
210
|
tabindex: "0",
|
|
207
|
-
"aria-multiselectable": ariaMultiselectable
|
|
211
|
+
"aria-multiselectable": ariaMultiselectable,
|
|
212
|
+
className: containerClass
|
|
208
213
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
209
214
|
dataId: `${dataId}`,
|
|
210
215
|
className: className ? className : ''
|
|
@@ -38,6 +38,7 @@ export const AdvancedGroupMultiSelect_defaultProps = {
|
|
|
38
38
|
palette: 'default',
|
|
39
39
|
isLoading: false,
|
|
40
40
|
dataSelectorId: 'advancedGroupMultiSelect',
|
|
41
|
+
customProps: {},
|
|
41
42
|
allowValueFallback: true
|
|
42
43
|
};
|
|
43
44
|
export const AdvancedMultiSelect_defaultProps = {
|
|
@@ -169,5 +170,6 @@ export const SelectedOptions_defaultProps = {
|
|
|
169
170
|
export const Suggestions_defaultProps = {
|
|
170
171
|
a11y: {},
|
|
171
172
|
isVirtualizerEnabled: false,
|
|
173
|
+
customClass: {},
|
|
172
174
|
needMultiLineText: false
|
|
173
175
|
};
|
|
@@ -114,7 +114,8 @@ export const MultiSelect_propTypes = {
|
|
|
114
114
|
setAriaId: PropTypes.string,
|
|
115
115
|
ariaErrorId: PropTypes.string,
|
|
116
116
|
customProps: PropTypes.shape({
|
|
117
|
-
TextBoxIconProps: PropTypes.object
|
|
117
|
+
TextBoxIconProps: PropTypes.object,
|
|
118
|
+
SuggestionsProps: PropTypes.object
|
|
118
119
|
}),
|
|
119
120
|
isFocus: PropTypes.bool,
|
|
120
121
|
allowValueFallback: PropTypes.bool,
|
|
@@ -199,7 +200,11 @@ export const Suggestions_propTypes = {
|
|
|
199
200
|
})),
|
|
200
201
|
renderBeforeChildren: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
|
|
201
202
|
limit: PropTypes.number,
|
|
202
|
-
limitReachedMessage: PropTypes.string
|
|
203
|
+
limitReachedMessage: PropTypes.string,
|
|
204
|
+
customClass: PropTypes.shape({
|
|
205
|
+
containerClass: PropTypes.string
|
|
206
|
+
}),
|
|
207
|
+
needMultiLineText: PropTypes.bool
|
|
203
208
|
};
|
|
204
209
|
export const AdvancedGroupMultiSelect_propTypes = {
|
|
205
210
|
animationStyle: PropTypes.string,
|
|
@@ -273,7 +278,10 @@ export const AdvancedGroupMultiSelect_propTypes = {
|
|
|
273
278
|
dataSelectorId: PropTypes.string,
|
|
274
279
|
isFocus: PropTypes.bool,
|
|
275
280
|
allowValueFallback: PropTypes.bool,
|
|
276
|
-
limit: PropTypes.number
|
|
281
|
+
limit: PropTypes.number,
|
|
282
|
+
customProps: PropTypes.shape({
|
|
283
|
+
SuggestionsProps: PropTypes.object
|
|
284
|
+
})
|
|
277
285
|
};
|
|
278
286
|
export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
|
|
279
287
|
selectedOptionDetails: PropTypes.string,
|
package/es/Select/GroupSelect.js
CHANGED
|
@@ -623,7 +623,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
623
623
|
let {
|
|
624
624
|
TextBoxIconProps = {},
|
|
625
625
|
TextBoxProps = {},
|
|
626
|
-
SuggestionsProps
|
|
626
|
+
SuggestionsProps = {}
|
|
627
627
|
} = customProps;
|
|
628
628
|
return /*#__PURE__*/React.createElement("div", {
|
|
629
629
|
className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
|
package/es/Select/Select.js
CHANGED
|
@@ -835,8 +835,7 @@ export class SelectComponent extends Component {
|
|
|
835
835
|
TextBoxProps = {},
|
|
836
836
|
DropdownSearchTextBoxProps = {},
|
|
837
837
|
SuggestionsProps = {},
|
|
838
|
-
TextBoxIconProps = {}
|
|
839
|
-
InputFieldLineProps = {}
|
|
838
|
+
TextBoxIconProps = {}
|
|
840
839
|
} = customProps;
|
|
841
840
|
const inputFieldLineA11yAttributes = this.getInputFieldLineA11y({
|
|
842
841
|
setAriaId,
|
|
@@ -856,15 +855,14 @@ export class SelectComponent extends Component {
|
|
|
856
855
|
"data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
|
|
857
856
|
"data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`
|
|
858
857
|
}, isRenderable(renderCustomSelectedValue) ? /*#__PURE__*/React.createElement(InputFieldLine, {
|
|
859
|
-
border: needBorder ? 'bottom' : 'none',
|
|
860
|
-
hasPadding: true,
|
|
861
|
-
...InputFieldLineProps,
|
|
862
858
|
isActive: isPopupReady,
|
|
859
|
+
border: needBorder ? 'bottom' : 'none',
|
|
863
860
|
size: size,
|
|
864
861
|
borderColor: borderColor,
|
|
865
862
|
isDisabled: isDisabled,
|
|
866
863
|
isReadOnly: isReadOnly,
|
|
867
864
|
onKeyDown: this.handleKeyDown,
|
|
865
|
+
hasPadding: true,
|
|
868
866
|
a11yAttributes: inputFieldLineA11yAttributes
|
|
869
867
|
}, renderNode(renderCustomSelectedValue, {
|
|
870
868
|
isDisabled,
|
|
@@ -169,8 +169,8 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
169
169
|
needEffect,
|
|
170
170
|
isLoading,
|
|
171
171
|
dataSelectorId,
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
getTargetRef,
|
|
173
|
+
customProps
|
|
174
174
|
} = this.props;
|
|
175
175
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
176
176
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -195,7 +195,7 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
195
195
|
let {
|
|
196
196
|
TextBoxProps,
|
|
197
197
|
DropdownSearchTextBoxProps,
|
|
198
|
-
SuggestionsProps
|
|
198
|
+
SuggestionsProps = {}
|
|
199
199
|
} = customProps;
|
|
200
200
|
return /*#__PURE__*/React.createElement("div", {
|
|
201
201
|
className: `${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''} ${className ? className : ''}`,
|
|
@@ -357,7 +357,8 @@ class SelectWithIcon extends Component {
|
|
|
357
357
|
htmlId,
|
|
358
358
|
isLoading,
|
|
359
359
|
dataSelectorId,
|
|
360
|
-
customProps
|
|
360
|
+
customProps,
|
|
361
|
+
customClass
|
|
361
362
|
} = this.props;
|
|
362
363
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
363
364
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -375,8 +376,11 @@ class SelectWithIcon extends Component {
|
|
|
375
376
|
TextBoxProps = {},
|
|
376
377
|
DropdownSearchTextBoxProps = {},
|
|
377
378
|
TextBoxIconProps = {},
|
|
378
|
-
ListItemProps
|
|
379
|
+
ListItemProps = {}
|
|
379
380
|
} = customProps;
|
|
381
|
+
const {
|
|
382
|
+
dropBoxClass = ''
|
|
383
|
+
} = customClass;
|
|
380
384
|
return /*#__PURE__*/React.createElement("div", {
|
|
381
385
|
className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''}`,
|
|
382
386
|
"data-title": isDisabled ? title : null,
|
|
@@ -473,7 +477,10 @@ class SelectWithIcon extends Component {
|
|
|
473
477
|
size: boxSize,
|
|
474
478
|
isPadding: false,
|
|
475
479
|
isResponsivePadding: true,
|
|
476
|
-
alignBox: "row"
|
|
480
|
+
alignBox: "row",
|
|
481
|
+
customClass: {
|
|
482
|
+
customDropBox: dropBoxClass
|
|
483
|
+
}
|
|
477
484
|
}, isLoading ? /*#__PURE__*/React.createElement(Container, {
|
|
478
485
|
align: "both",
|
|
479
486
|
className: style.loader
|
|
@@ -102,7 +102,8 @@ export const SelectWithAvatar_defaultProps = {
|
|
|
102
102
|
i18nKeys: {},
|
|
103
103
|
customProps: {},
|
|
104
104
|
needEffect: true,
|
|
105
|
-
isLoading: false
|
|
105
|
+
isLoading: false,
|
|
106
|
+
customProps: {}
|
|
106
107
|
};
|
|
107
108
|
export const SelectWithIcon_defaultProps = {
|
|
108
109
|
isReadOnly: false,
|
|
@@ -131,5 +132,6 @@ export const SelectWithIcon_defaultProps = {
|
|
|
131
132
|
isLoading: false,
|
|
132
133
|
isAbsolutePositioningNeeded: true,
|
|
133
134
|
isRestrictScroll: false,
|
|
134
|
-
customProps: {}
|
|
135
|
+
customProps: {},
|
|
136
|
+
customClass: {}
|
|
135
137
|
};
|
|
@@ -87,8 +87,7 @@ export const Select_propTypes = {
|
|
|
87
87
|
TextBoxIconProps: PropTypes.object,
|
|
88
88
|
DropdownSearchTextBoxProps: PropTypes.object,
|
|
89
89
|
listItemProps: PropTypes.object,
|
|
90
|
-
SuggestionsProps: PropTypes.object
|
|
91
|
-
InputFieldLineProps: PropTypes.object
|
|
90
|
+
SuggestionsProps: PropTypes.object
|
|
92
91
|
}),
|
|
93
92
|
isLoading: PropTypes.bool,
|
|
94
93
|
dataSelectorId: PropTypes.string,
|
|
@@ -187,7 +186,8 @@ export const GroupSelect_propTypes = {
|
|
|
187
186
|
isDefaultSelectValue: PropTypes.bool,
|
|
188
187
|
customProps: PropTypes.shape({
|
|
189
188
|
TextBoxProps: PropTypes.object,
|
|
190
|
-
TextBoxIconProps: PropTypes.object
|
|
189
|
+
TextBoxIconProps: PropTypes.object,
|
|
190
|
+
SuggestionsProps: PropTypes.object
|
|
191
191
|
}),
|
|
192
192
|
allowValueFallback: PropTypes.bool
|
|
193
193
|
};
|
|
@@ -250,7 +250,10 @@ export const SelectWithAvatar_propTypes = { ...Select_propTypes,
|
|
|
250
250
|
htmlId: PropTypes.string,
|
|
251
251
|
needEffect: PropTypes.bool,
|
|
252
252
|
isLoading: PropTypes.bool,
|
|
253
|
-
dataSelectorId: PropTypes.string
|
|
253
|
+
dataSelectorId: PropTypes.string,
|
|
254
|
+
customProps: PropTypes.shape({
|
|
255
|
+
SuggestionsProps: PropTypes.object
|
|
256
|
+
})
|
|
254
257
|
};
|
|
255
258
|
export const SelectWithIcon_propTypes = {
|
|
256
259
|
animationStyle: PropTypes.oneOf(['default', 'bounce']),
|
|
@@ -315,6 +318,10 @@ export const SelectWithIcon_propTypes = {
|
|
|
315
318
|
TextBoxProps: PropTypes.object,
|
|
316
319
|
DropdownSearchTextBoxProps: PropTypes.object,
|
|
317
320
|
SuggestionsProps: PropTypes.object,
|
|
318
|
-
TextBoxIconProps: PropTypes.object
|
|
321
|
+
TextBoxIconProps: PropTypes.object,
|
|
322
|
+
ListItemProps: PropTypes.object
|
|
323
|
+
}),
|
|
324
|
+
customClass: PropTypes.shape({
|
|
325
|
+
dropBoxClass: PropTypes.string
|
|
319
326
|
})
|
|
320
327
|
};
|
|
@@ -130,6 +130,7 @@ export default class TextBoxIcon extends React.Component {
|
|
|
130
130
|
return /*#__PURE__*/React.createElement(InputFieldLine, {
|
|
131
131
|
isActive: isActive || isFocus,
|
|
132
132
|
border: needBorder ? 'bottom' : 'none',
|
|
133
|
+
size: size,
|
|
133
134
|
borderColor: borderColor,
|
|
134
135
|
hasEffect: needEffect,
|
|
135
136
|
isDisabled: isDisabled,
|
|
@@ -36,8 +36,7 @@ function InputFieldLine(props) {
|
|
|
36
36
|
dataId: dataId,
|
|
37
37
|
onClick: onClick,
|
|
38
38
|
onKeyDown: onKeyDown,
|
|
39
|
-
|
|
40
|
-
className: `${style.varClass} ${style.customContainer} ${!!size ? style[size] : ''} ${hasPadding ? style[`padding_${size}`] : ''} ${borderClass} ${isDisabled ? style.disabled : isReadOnly ? hasEffect ? style.effect : style.readonly : style.effect} ${border !== 'none' ? `${borderColorClass} ${style.hasBorder}` : ''} ${isActive && !(isDisabled || isReadOnly) ? style.active : ''} ${customClass}`
|
|
39
|
+
className: `${style.varClass} ${style.customContainer} ${hasPadding ? style[size] : ''} ${borderClass} ${isDisabled ? style.disabled : isReadOnly ? hasEffect ? style.effect : style.readonly : style.effect} ${border !== 'none' ? `${borderColorClass} ${style.hasBorder}` : ''} ${isActive && !(isDisabled || isReadOnly) ? style.active : ''} ${customClass}`
|
|
41
40
|
}, children);
|
|
42
41
|
}
|
|
43
42
|
|