@zohodesk/components 1.4.21 → 1.4.22
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 +29 -0
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +15 -0
- package/assets/Appearance/light/mode/Component_LightMode.module.css +15 -0
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +15 -0
- package/es/ColorSelect/ColorMultiSelect.js +38 -0
- package/es/ColorSelect/ColorSelect.module.css +3 -0
- package/es/ColorSelect/ColorSingleSelect.js +83 -0
- package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +71 -0
- package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +80 -0
- package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
- package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
- package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +33 -0
- package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
- package/es/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +79 -0
- package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
- package/es/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +8 -0
- package/es/ColorSelect/_shared/ColorIndicator/props/propTypes.js +10 -0
- package/es/ColorSelect/_shared/ColoredTag/ColoredTag.js +33 -0
- package/es/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +50 -0
- package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
- package/es/ColorSelect/_shared/ColoredTag/props/propTypes.js +10 -0
- package/es/ColorSelect/_shared/helpers/renderHelpers.js +43 -0
- package/es/ColorSelect/props/defaultProps.js +12 -0
- package/es/ColorSelect/props/propTypes.js +17 -0
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
- package/es/ListItem/ListItem.js +6 -1
- package/es/ListItem/ListItem.module.css +6 -0
- package/es/ListItem/__tests__/ListItem.spec.js +8 -0
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
- package/es/ListItem/props/propTypes.js +1 -0
- package/es/MultiSelect/MultiSelect.js +11 -5
- package/es/MultiSelect/SelectedOptions.js +24 -1
- package/es/MultiSelect/Suggestions.js +4 -1
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +38 -0
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +13 -0
- package/es/MultiSelect/__tests__/Suggestions.spec.js +12 -0
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
- package/es/MultiSelect/props/propTypes.js +6 -0
- package/es/Select/Select.js +67 -5
- package/es/Select/__tests__/Select.spec.js +10 -0
- package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
- package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
- package/es/Select/props/defaultProps.js +2 -1
- package/es/Select/props/propTypes.js +3 -1
- package/es/TextBox/__tests__/TextBox.spec.js +1 -1
- package/es/TextBoxIcon/TextBoxIcon.js +17 -12
- package/es/TextBoxIcon/TextBoxIcon.module.css +3 -38
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
- package/es/TextBoxIcon/props/propTypes.js +1 -2
- package/es/shared/ArrowIcon/ArrowIcon.js +51 -0
- package/es/shared/ArrowIcon/ArrowIcon.module.css +43 -0
- package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +100 -0
- package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
- package/es/shared/ArrowIcon/props/defaultProps.js +11 -0
- package/es/shared/ArrowIcon/props/propTypes.js +17 -0
- package/es/shared/InputFieldLine/InputFieldLine.js +45 -0
- package/es/shared/InputFieldLine/InputFieldLine.module.css +88 -0
- package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +114 -0
- package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
- package/es/shared/InputFieldLine/props/defaultProps.js +16 -0
- package/es/shared/InputFieldLine/props/propTypes.js +22 -0
- package/es/utils/Common.js +3 -2
- package/es/utils/dropDownUtils.js +7 -1
- package/lib/ColorSelect/ColorMultiSelect.js +71 -0
- package/lib/ColorSelect/ColorSelect.module.css +3 -0
- package/lib/ColorSelect/ColorSingleSelect.js +111 -0
- package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +82 -0
- package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +91 -0
- package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
- package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
- package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +47 -0
- package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
- package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +86 -0
- package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
- package/lib/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +15 -0
- package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +21 -0
- package/lib/ColorSelect/_shared/ColoredTag/ColoredTag.js +69 -0
- package/lib/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +58 -0
- package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
- package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +29 -0
- package/lib/ColorSelect/_shared/helpers/renderHelpers.js +63 -0
- package/lib/ColorSelect/props/defaultProps.js +32 -0
- package/lib/ColorSelect/props/propTypes.js +39 -0
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
- package/lib/ListItem/ListItem.js +6 -1
- package/lib/ListItem/ListItem.module.css +6 -0
- package/lib/ListItem/__tests__/ListItem.spec.js +12 -4
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
- package/lib/ListItem/props/propTypes.js +1 -0
- package/lib/MultiSelect/MultiSelect.js +11 -5
- package/lib/MultiSelect/SelectedOptions.js +24 -1
- package/lib/MultiSelect/Suggestions.js +5 -1
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +42 -2
- package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +15 -0
- package/lib/MultiSelect/__tests__/Suggestions.spec.js +16 -2
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
- package/lib/MultiSelect/props/propTypes.js +6 -0
- package/lib/Select/Select.js +67 -4
- package/lib/Select/__tests__/Select.spec.js +12 -0
- package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
- package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
- package/lib/Select/props/defaultProps.js +2 -1
- package/lib/Select/props/propTypes.js +3 -1
- package/lib/TextBox/__tests__/TextBox.spec.js +36 -36
- package/lib/TextBoxIcon/TextBoxIcon.js +18 -13
- package/lib/TextBoxIcon/TextBoxIcon.module.css +3 -38
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
- package/lib/TextBoxIcon/props/propTypes.js +1 -2
- package/lib/shared/ArrowIcon/ArrowIcon.js +65 -0
- package/lib/shared/ArrowIcon/ArrowIcon.module.css +43 -0
- package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +107 -0
- package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
- package/lib/shared/ArrowIcon/props/defaultProps.js +18 -0
- package/lib/shared/ArrowIcon/props/propTypes.js +28 -0
- package/lib/shared/InputFieldLine/InputFieldLine.js +57 -0
- package/lib/shared/InputFieldLine/InputFieldLine.module.css +88 -0
- package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +122 -0
- package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
- package/lib/shared/InputFieldLine/props/defaultProps.js +23 -0
- package/lib/shared/InputFieldLine/props/propTypes.js +39 -0
- package/lib/utils/Common.js +8 -4
- package/lib/utils/dropDownUtils.js +10 -1
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
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.4.22
|
|
6
|
+
|
|
7
|
+
- **New Components**
|
|
8
|
+
- ColorSingleSelect
|
|
9
|
+
- ColorMultiSelect
|
|
10
|
+
|
|
11
|
+
- **Components in Shared folder**
|
|
12
|
+
- InputFieldLine
|
|
13
|
+
- ArrowIcon
|
|
14
|
+
|
|
15
|
+
- **Components in ColorSelect's _shared**
|
|
16
|
+
- ColoredTag
|
|
17
|
+
- ColorIndicator
|
|
18
|
+
|
|
19
|
+
- **TextBoxIcon**
|
|
20
|
+
- `InputFieldLine` adopted in TextBoxIcon
|
|
21
|
+
|
|
22
|
+
- **ListItem, Suggestions**
|
|
23
|
+
- `renderBeforeChildren` prop added.
|
|
24
|
+
|
|
25
|
+
- **Select, MultiSelect, SelectedOptions**
|
|
26
|
+
- `renderCustomSelectedValue` prop added.
|
|
27
|
+
|
|
28
|
+
- **dropDownUtils**
|
|
29
|
+
- `colorConfig` option added in makeFormatOptions method.
|
|
30
|
+
|
|
31
|
+
- **common/utils**
|
|
32
|
+
- `DUMMY_ARRAY`, `DUMMY_OBJECT` and `DUMMY_FUNCTION` constants added.
|
|
33
|
+
|
|
5
34
|
# 1.4.21
|
|
6
35
|
|
|
7
36
|
- `Common Css`
|
|
@@ -365,4 +365,19 @@
|
|
|
365
365
|
|
|
366
366
|
/* popover */
|
|
367
367
|
--zdt_popover_default_bg: hsla(217, 23.08%, calc(17.84% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
|
|
368
|
+
|
|
369
|
+
/* inputFieldLine */
|
|
370
|
+
--zdt_inputField_default_border: var(--dot_inputLine);
|
|
371
|
+
--zdt_inputField_dark_border: hsla(228, 16.20%, calc(35.10% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
372
|
+
--zdt_inputField_error_border: hsla(1, 63.86%, calc(48.82% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
373
|
+
--zdt_inputField_hover_border: var(--dot_inputLineHover);
|
|
374
|
+
--zdt_inputField_dark_active_border: hsla(229, 8.25%, calc(61.96% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
375
|
+
--zdt_inputField_focus_border: var(--dot_inputLineFocus);
|
|
376
|
+
|
|
377
|
+
/* arrowIcon */
|
|
378
|
+
--zdt_arrowicon_default_icon: hsla(217, 7.76%, calc(54.51% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
379
|
+
--zdt_arrowicon_hover_icon: hsla(210, 7.41%, calc(89.41% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
380
|
+
|
|
381
|
+
/* colorSelect */
|
|
382
|
+
--zdt_colorSelect_placeholder_text: var(--dot_inputPlaceholder);
|
|
368
383
|
}
|
|
@@ -365,4 +365,19 @@
|
|
|
365
365
|
|
|
366
366
|
/* popover */
|
|
367
367
|
--zdt_popover_default_bg: hsla(0, 0.00%, calc(100.00% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
|
|
368
|
+
|
|
369
|
+
/* inputFieldLine */
|
|
370
|
+
--zdt_inputField_default_border: var(--dot_inputLine);
|
|
371
|
+
--zdt_inputField_dark_border: hsla(228, 16.20%, calc(35.10% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
372
|
+
--zdt_inputField_error_border: hsla(1, 75.38%, calc(38.24% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
373
|
+
--zdt_inputField_hover_border: var(--dot_inputLineHover);
|
|
374
|
+
--zdt_inputField_dark_active_border: hsla(229, 8.25%, calc(61.96% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
375
|
+
--zdt_inputField_focus_border: var(--dot_inputLineFocus);
|
|
376
|
+
|
|
377
|
+
/* arrowIcon */
|
|
378
|
+
--zdt_arrowicon_default_icon: hsla(218, 9.76%, calc(51.76% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
379
|
+
--zdt_arrowicon_hover_icon: hsla(0, 0.00%, calc(0.00% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
380
|
+
|
|
381
|
+
/* colorSelect */
|
|
382
|
+
--zdt_colorSelect_placeholder_text: var(--dot_inputPlaceholder);
|
|
368
383
|
}
|
|
@@ -365,4 +365,19 @@
|
|
|
365
365
|
|
|
366
366
|
/* popover */
|
|
367
367
|
--zdt_popover_default_bg: hsla(0, 0.00%, calc(12.94% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
|
|
368
|
+
|
|
369
|
+
/* inputFieldLine */
|
|
370
|
+
--zdt_inputField_default_border: var(--dot_inputLine);
|
|
371
|
+
--zdt_inputField_dark_border: hsla(228, 16.20%, calc(35.10% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
372
|
+
--zdt_inputField_error_border: hsla(1, 63.86%, calc(48.82% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
373
|
+
--zdt_inputField_hover_border: var(--dot_inputLineHover);
|
|
374
|
+
--zdt_inputField_dark_active_border: hsla(229, 8.25%, calc(61.96% + var(--zdc_default_inverse_medium)), calc(1 + var(--zdc_alpha_low)));
|
|
375
|
+
--zdt_inputField_focus_border: var(--dot_inputLineFocus);
|
|
376
|
+
|
|
377
|
+
/* arrowIcon */
|
|
378
|
+
--zdt_arrowicon_default_icon: hsla(217, 7.76%, calc(54.51% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
379
|
+
--zdt_arrowicon_hover_icon: hsla(210, 7.41%, calc(89.41% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
|
|
380
|
+
|
|
381
|
+
/* colorSelect */
|
|
382
|
+
--zdt_colorSelect_placeholder_text: var(--dot_inputPlaceholder);
|
|
368
383
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import MultiSelect from "../MultiSelect/MultiSelect";
|
|
3
|
+
import { ColorMultiSelect_propTypes } from "./props/propTypes";
|
|
4
|
+
import { ColorMultiSelect_defaultProps } from "./props/defaultProps";
|
|
5
|
+
import { renderColoredTag, renderColorIndicator } from "./_shared/helpers/renderHelpers";
|
|
6
|
+
|
|
7
|
+
function ColorMultiSelect(props) {
|
|
8
|
+
const {
|
|
9
|
+
options,
|
|
10
|
+
renderCustomColorIndicator,
|
|
11
|
+
renderCustomSelectedValue,
|
|
12
|
+
customProps,
|
|
13
|
+
...rest
|
|
14
|
+
} = props;
|
|
15
|
+
const renderSelectedValue = renderCustomSelectedValue || renderColoredTag;
|
|
16
|
+
const colorIndicator = renderCustomColorIndicator || renderColorIndicator;
|
|
17
|
+
const optionsWithOptionType = useMemo(() => {
|
|
18
|
+
return options.map(option => {
|
|
19
|
+
if (typeof option !== "object") return option;
|
|
20
|
+
return { ...option,
|
|
21
|
+
optionType: "custom"
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}, [options]);
|
|
25
|
+
return /*#__PURE__*/React.createElement(MultiSelect, { ...rest,
|
|
26
|
+
options: optionsWithOptionType,
|
|
27
|
+
renderCustomSelectedValue: renderSelectedValue,
|
|
28
|
+
customProps: { ...customProps,
|
|
29
|
+
SuggestionsProps: { ...customProps.SuggestionsProps,
|
|
30
|
+
renderBeforeChildren: colorIndicator
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ColorMultiSelect.propTypes = ColorMultiSelect_propTypes;
|
|
37
|
+
ColorMultiSelect.defaultProps = ColorMultiSelect_defaultProps;
|
|
38
|
+
export default ColorMultiSelect;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Select from "../Select/Select";
|
|
3
|
+
import { ColorSingleSelect_propTypes } from "./props/propTypes";
|
|
4
|
+
import { ColorSingleSelect_defaultProps } from "./props/defaultProps";
|
|
5
|
+
import { renderColoredTag, renderColorIndicator } from "./_shared/helpers/renderHelpers";
|
|
6
|
+
import Box from "../Layout/Box";
|
|
7
|
+
import Container from "../Layout/Container";
|
|
8
|
+
import ArrowIcon from "../shared/ArrowIcon/ArrowIcon";
|
|
9
|
+
import Typography from "../Typography/Typography";
|
|
10
|
+
import arrowIconStyle from "../shared/ArrowIcon/ArrowIcon.module.css";
|
|
11
|
+
import style from "./ColorSelect.module.css";
|
|
12
|
+
const fontSizes = {
|
|
13
|
+
xmedium: '14',
|
|
14
|
+
medium: '14',
|
|
15
|
+
small: '12',
|
|
16
|
+
xsmall: '13'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
function ColorSingleSelect(props) {
|
|
20
|
+
const {
|
|
21
|
+
options,
|
|
22
|
+
renderCustomColorIndicator,
|
|
23
|
+
renderCustomSelectedValue,
|
|
24
|
+
customClass,
|
|
25
|
+
customProps,
|
|
26
|
+
borderColor,
|
|
27
|
+
children,
|
|
28
|
+
dataId,
|
|
29
|
+
renderRightPlaceholderNode,
|
|
30
|
+
placeholder,
|
|
31
|
+
renderCustomToggleIndicator,
|
|
32
|
+
...rest
|
|
33
|
+
} = props;
|
|
34
|
+
const {
|
|
35
|
+
select: selectClass
|
|
36
|
+
} = customClass;
|
|
37
|
+
|
|
38
|
+
function renderSelectedValue(data) {
|
|
39
|
+
const {
|
|
40
|
+
isPopupOpen,
|
|
41
|
+
selectedId,
|
|
42
|
+
isDisabled,
|
|
43
|
+
isReadOnly
|
|
44
|
+
} = data;
|
|
45
|
+
const {
|
|
46
|
+
size
|
|
47
|
+
} = props;
|
|
48
|
+
const fontSize = fontSizes[size] || 14;
|
|
49
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
50
|
+
alignBox: "row"
|
|
51
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
52
|
+
flexible: true
|
|
53
|
+
}, selectedId ? renderCustomSelectedValue ? renderCustomSelectedValue(data) : renderColoredTag(data) : /*#__PURE__*/React.createElement(Typography, {
|
|
54
|
+
$ui_size: fontSize,
|
|
55
|
+
$ui_className: `${style.placeholder}`,
|
|
56
|
+
$flag_dotted: true
|
|
57
|
+
}, placeholder)), /*#__PURE__*/React.createElement(ArrowIcon, {
|
|
58
|
+
isRotated: isPopupOpen,
|
|
59
|
+
isDisabled: isDisabled,
|
|
60
|
+
isReadOnly: isReadOnly,
|
|
61
|
+
renderCustomToggleIndicator: renderCustomToggleIndicator
|
|
62
|
+
}), renderRightPlaceholderNode ? renderRightPlaceholderNode : null);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const colorIndicator = renderCustomColorIndicator || renderColorIndicator;
|
|
66
|
+
return /*#__PURE__*/React.createElement(Select, { ...rest,
|
|
67
|
+
placeHolder: placeholder,
|
|
68
|
+
dataId: dataId,
|
|
69
|
+
borderColor: borderColor,
|
|
70
|
+
className: `${borderColor === 'transparent' ? arrowIconStyle.transparentContainer : ''} ${arrowIconStyle.arrowContainer} ${selectClass ? selectClass : ''}`,
|
|
71
|
+
options: options,
|
|
72
|
+
renderCustomSelectedValue: renderSelectedValue,
|
|
73
|
+
customProps: { ...customProps,
|
|
74
|
+
SuggestionsProps: { ...customProps.SuggestionsProps,
|
|
75
|
+
renderBeforeChildren: colorIndicator
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
ColorSingleSelect.propTypes = ColorSingleSelect_propTypes;
|
|
82
|
+
ColorSingleSelect.defaultProps = ColorSingleSelect_defaultProps;
|
|
83
|
+
export default ColorSingleSelect;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import ColorMultiSelect from "../ColorMultiSelect";
|
|
4
|
+
const options = [{
|
|
5
|
+
id: 1,
|
|
6
|
+
text: 'Red',
|
|
7
|
+
colorConfig: {
|
|
8
|
+
text: 'black',
|
|
9
|
+
background: '#ff6e6e',
|
|
10
|
+
border: 'black'
|
|
11
|
+
}
|
|
12
|
+
}, {
|
|
13
|
+
id: 2,
|
|
14
|
+
text: 'Green',
|
|
15
|
+
colorConfig: {
|
|
16
|
+
text: 'black',
|
|
17
|
+
background: '#77d779',
|
|
18
|
+
border: 'black'
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
id: 3,
|
|
22
|
+
text: 'Blue',
|
|
23
|
+
colorConfig: {
|
|
24
|
+
text: 'black',
|
|
25
|
+
background: '#649cff',
|
|
26
|
+
border: 'black'
|
|
27
|
+
}
|
|
28
|
+
}];
|
|
29
|
+
describe('ColorMultiSelect', () => {
|
|
30
|
+
test('rendering the defult props', () => {
|
|
31
|
+
const {
|
|
32
|
+
asFragment
|
|
33
|
+
} = render( /*#__PURE__*/React.createElement(ColorMultiSelect, null));
|
|
34
|
+
expect(asFragment()).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
test('Should render the default selected value', () => {
|
|
37
|
+
const {
|
|
38
|
+
asFragment
|
|
39
|
+
} = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
|
|
40
|
+
options: options
|
|
41
|
+
}));
|
|
42
|
+
expect(asFragment()).toMatchSnapshot();
|
|
43
|
+
});
|
|
44
|
+
test('Should render the selected value', () => {
|
|
45
|
+
const {
|
|
46
|
+
asFragment
|
|
47
|
+
} = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
|
|
48
|
+
options: options,
|
|
49
|
+
selectedOptions: [1, 2]
|
|
50
|
+
}));
|
|
51
|
+
expect(asFragment()).toMatchSnapshot();
|
|
52
|
+
});
|
|
53
|
+
test('renders with renderCustomColorIndicator', () => {
|
|
54
|
+
const {
|
|
55
|
+
asFragment
|
|
56
|
+
} = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
|
|
57
|
+
options: options,
|
|
58
|
+
renderCustomColorIndicator: () => /*#__PURE__*/React.createElement("div", null, " custom color indicator")
|
|
59
|
+
}));
|
|
60
|
+
expect(asFragment()).toMatchSnapshot();
|
|
61
|
+
});
|
|
62
|
+
test('renders with renderCustomSelectedValue', () => {
|
|
63
|
+
const {
|
|
64
|
+
asFragment
|
|
65
|
+
} = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
|
|
66
|
+
options: options,
|
|
67
|
+
renderCustomSelectedValue: () => /*#__PURE__*/React.createElement("span", null, "custom selected value")
|
|
68
|
+
}));
|
|
69
|
+
expect(asFragment()).toMatchSnapshot();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import ColorSingleSelect from "../ColorSingleSelect";
|
|
4
|
+
const options = [{
|
|
5
|
+
id: 1,
|
|
6
|
+
text: 'Red',
|
|
7
|
+
colorConfig: {
|
|
8
|
+
text: 'black',
|
|
9
|
+
background: '#ff6e6e',
|
|
10
|
+
border: 'black'
|
|
11
|
+
}
|
|
12
|
+
}, {
|
|
13
|
+
id: 2,
|
|
14
|
+
text: 'Green',
|
|
15
|
+
colorConfig: {
|
|
16
|
+
text: 'black',
|
|
17
|
+
background: '#77d779',
|
|
18
|
+
border: 'black'
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
id: 3,
|
|
22
|
+
text: 'Blue',
|
|
23
|
+
colorConfig: {
|
|
24
|
+
text: 'black',
|
|
25
|
+
background: '#649cff',
|
|
26
|
+
border: 'black'
|
|
27
|
+
}
|
|
28
|
+
}];
|
|
29
|
+
describe('ColorSingleSelect', () => {
|
|
30
|
+
test('rendering the defult props', () => {
|
|
31
|
+
const {
|
|
32
|
+
asFragment
|
|
33
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, null));
|
|
34
|
+
expect(asFragment()).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
test('Should render the default selected value', () => {
|
|
37
|
+
const {
|
|
38
|
+
asFragment
|
|
39
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
|
|
40
|
+
options: options
|
|
41
|
+
}));
|
|
42
|
+
expect(asFragment()).toMatchSnapshot();
|
|
43
|
+
});
|
|
44
|
+
test('Should render the selected value', () => {
|
|
45
|
+
const {
|
|
46
|
+
asFragment
|
|
47
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
|
|
48
|
+
options: options,
|
|
49
|
+
selectedValue: "green"
|
|
50
|
+
}));
|
|
51
|
+
expect(asFragment()).toMatchSnapshot();
|
|
52
|
+
});
|
|
53
|
+
test('rendering with isDefaultSelectValue is false', () => {
|
|
54
|
+
const {
|
|
55
|
+
asFragment
|
|
56
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
|
|
57
|
+
isDefaultSelectValue: false,
|
|
58
|
+
placeholder: "placeholder Text"
|
|
59
|
+
}));
|
|
60
|
+
expect(asFragment()).toMatchSnapshot();
|
|
61
|
+
});
|
|
62
|
+
test('renders with renderCustomColorIndicator', () => {
|
|
63
|
+
const {
|
|
64
|
+
asFragment
|
|
65
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
|
|
66
|
+
options: options,
|
|
67
|
+
renderCustomColorIndicator: () => /*#__PURE__*/React.createElement("div", null, " custom color indicator")
|
|
68
|
+
}));
|
|
69
|
+
expect(asFragment()).toMatchSnapshot();
|
|
70
|
+
});
|
|
71
|
+
test('renders with renderCustomSelectedValue', () => {
|
|
72
|
+
const {
|
|
73
|
+
asFragment
|
|
74
|
+
} = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
|
|
75
|
+
options: options,
|
|
76
|
+
renderCustomSelectedValue: () => /*#__PURE__*/React.createElement("span", null, "custom selected value")
|
|
77
|
+
}));
|
|
78
|
+
expect(asFragment()).toMatchSnapshot();
|
|
79
|
+
});
|
|
80
|
+
});
|