@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.
Files changed (141) hide show
  1. package/README.md +29 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +15 -0
  3. package/assets/Appearance/light/mode/Component_LightMode.module.css +15 -0
  4. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +15 -0
  5. package/es/ColorSelect/ColorMultiSelect.js +38 -0
  6. package/es/ColorSelect/ColorSelect.module.css +3 -0
  7. package/es/ColorSelect/ColorSingleSelect.js +83 -0
  8. package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +71 -0
  9. package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +80 -0
  10. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  11. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  12. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +33 -0
  13. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  14. package/es/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +79 -0
  15. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  16. package/es/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +8 -0
  17. package/es/ColorSelect/_shared/ColorIndicator/props/propTypes.js +10 -0
  18. package/es/ColorSelect/_shared/ColoredTag/ColoredTag.js +33 -0
  19. package/es/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +50 -0
  20. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  21. package/es/ColorSelect/_shared/ColoredTag/props/propTypes.js +10 -0
  22. package/es/ColorSelect/_shared/helpers/renderHelpers.js +43 -0
  23. package/es/ColorSelect/props/defaultProps.js +12 -0
  24. package/es/ColorSelect/props/propTypes.js +17 -0
  25. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  26. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  27. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  28. package/es/ListItem/ListItem.js +6 -1
  29. package/es/ListItem/ListItem.module.css +6 -0
  30. package/es/ListItem/__tests__/ListItem.spec.js +8 -0
  31. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  32. package/es/ListItem/props/propTypes.js +1 -0
  33. package/es/MultiSelect/MultiSelect.js +11 -5
  34. package/es/MultiSelect/SelectedOptions.js +24 -1
  35. package/es/MultiSelect/Suggestions.js +4 -1
  36. package/es/MultiSelect/__tests__/MultiSelect.spec.js +38 -0
  37. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +13 -0
  38. package/es/MultiSelect/__tests__/Suggestions.spec.js +12 -0
  39. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  40. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  41. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  42. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  43. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  44. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  45. package/es/MultiSelect/props/propTypes.js +6 -0
  46. package/es/Select/Select.js +67 -5
  47. package/es/Select/__tests__/Select.spec.js +10 -0
  48. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  49. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  50. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  51. package/es/Select/props/defaultProps.js +2 -1
  52. package/es/Select/props/propTypes.js +3 -1
  53. package/es/TextBox/__tests__/TextBox.spec.js +1 -1
  54. package/es/TextBoxIcon/TextBoxIcon.js +17 -12
  55. package/es/TextBoxIcon/TextBoxIcon.module.css +3 -38
  56. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  57. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  58. package/es/TextBoxIcon/props/propTypes.js +1 -2
  59. package/es/shared/ArrowIcon/ArrowIcon.js +51 -0
  60. package/es/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  61. package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +100 -0
  62. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  63. package/es/shared/ArrowIcon/props/defaultProps.js +11 -0
  64. package/es/shared/ArrowIcon/props/propTypes.js +17 -0
  65. package/es/shared/InputFieldLine/InputFieldLine.js +45 -0
  66. package/es/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  67. package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +114 -0
  68. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  69. package/es/shared/InputFieldLine/props/defaultProps.js +16 -0
  70. package/es/shared/InputFieldLine/props/propTypes.js +22 -0
  71. package/es/utils/Common.js +3 -2
  72. package/es/utils/dropDownUtils.js +7 -1
  73. package/lib/ColorSelect/ColorMultiSelect.js +71 -0
  74. package/lib/ColorSelect/ColorSelect.module.css +3 -0
  75. package/lib/ColorSelect/ColorSingleSelect.js +111 -0
  76. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +82 -0
  77. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +91 -0
  78. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  79. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  80. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +47 -0
  81. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  82. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +86 -0
  83. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  84. package/lib/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +15 -0
  85. package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +21 -0
  86. package/lib/ColorSelect/_shared/ColoredTag/ColoredTag.js +69 -0
  87. package/lib/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +58 -0
  88. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  89. package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +29 -0
  90. package/lib/ColorSelect/_shared/helpers/renderHelpers.js +63 -0
  91. package/lib/ColorSelect/props/defaultProps.js +32 -0
  92. package/lib/ColorSelect/props/propTypes.js +39 -0
  93. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  94. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  95. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  96. package/lib/ListItem/ListItem.js +6 -1
  97. package/lib/ListItem/ListItem.module.css +6 -0
  98. package/lib/ListItem/__tests__/ListItem.spec.js +12 -4
  99. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  100. package/lib/ListItem/props/propTypes.js +1 -0
  101. package/lib/MultiSelect/MultiSelect.js +11 -5
  102. package/lib/MultiSelect/SelectedOptions.js +24 -1
  103. package/lib/MultiSelect/Suggestions.js +5 -1
  104. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +42 -2
  105. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +15 -0
  106. package/lib/MultiSelect/__tests__/Suggestions.spec.js +16 -2
  107. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  108. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  109. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  110. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  111. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  112. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  113. package/lib/MultiSelect/props/propTypes.js +6 -0
  114. package/lib/Select/Select.js +67 -4
  115. package/lib/Select/__tests__/Select.spec.js +12 -0
  116. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  117. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  118. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  119. package/lib/Select/props/defaultProps.js +2 -1
  120. package/lib/Select/props/propTypes.js +3 -1
  121. package/lib/TextBox/__tests__/TextBox.spec.js +36 -36
  122. package/lib/TextBoxIcon/TextBoxIcon.js +18 -13
  123. package/lib/TextBoxIcon/TextBoxIcon.module.css +3 -38
  124. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  125. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  126. package/lib/TextBoxIcon/props/propTypes.js +1 -2
  127. package/lib/shared/ArrowIcon/ArrowIcon.js +65 -0
  128. package/lib/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  129. package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +107 -0
  130. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  131. package/lib/shared/ArrowIcon/props/defaultProps.js +18 -0
  132. package/lib/shared/ArrowIcon/props/propTypes.js +28 -0
  133. package/lib/shared/InputFieldLine/InputFieldLine.js +57 -0
  134. package/lib/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  135. package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +122 -0
  136. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  137. package/lib/shared/InputFieldLine/props/defaultProps.js +23 -0
  138. package/lib/shared/InputFieldLine/props/propTypes.js +39 -0
  139. package/lib/utils/Common.js +8 -4
  140. package/lib/utils/dropDownUtils.js +10 -1
  141. 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,3 @@
1
+ .placeholder {
2
+ color: var(--zdt_colorSelect_placeholder_text);
3
+ }
@@ -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
+ });