@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
@@ -0,0 +1,194 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`InputFieldLine Should be render hasEffect is false 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
7
+ data-selector-id="container"
8
+ data-title=""
9
+ />
10
+ </DocumentFragment>
11
+ `;
12
+
13
+ exports[`InputFieldLine Should be render hasPadding is true 1`] = `
14
+ <DocumentFragment>
15
+ <div
16
+ class="varClass customContainer medium border_bottom effect borderColor_default hasBorder flex rowdir"
17
+ data-selector-id="container"
18
+ data-title=""
19
+ />
20
+ </DocumentFragment>
21
+ `;
22
+
23
+ exports[`InputFieldLine Should be render isActive is true 1`] = `
24
+ <DocumentFragment>
25
+ <div
26
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder active flex rowdir"
27
+ data-selector-id="container"
28
+ data-title=""
29
+ />
30
+ </DocumentFragment>
31
+ `;
32
+
33
+ exports[`InputFieldLine Should be render isDisabled is true 1`] = `
34
+ <DocumentFragment>
35
+ <div
36
+ class="varClass customContainer border_bottom disabled borderColor_default hasBorder flex rowdir"
37
+ data-selector-id="container"
38
+ data-title=""
39
+ />
40
+ </DocumentFragment>
41
+ `;
42
+
43
+ exports[`InputFieldLine Should be render isReadOnly is true 1`] = `
44
+ <DocumentFragment>
45
+ <div
46
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
47
+ data-selector-id="container"
48
+ data-title=""
49
+ />
50
+ </DocumentFragment>
51
+ `;
52
+
53
+ exports[`InputFieldLine Should be render with title 1`] = `
54
+ <DocumentFragment>
55
+ <div
56
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
57
+ data-selector-id="container"
58
+ data-title="InputFieldLine Test Title"
59
+ />
60
+ </DocumentFragment>
61
+ `;
62
+
63
+ exports[`InputFieldLine Should render border - all 1`] = `
64
+ <DocumentFragment>
65
+ <div
66
+ class="varClass customContainer border_all effect borderColor_default hasBorder flex rowdir"
67
+ data-selector-id="container"
68
+ data-title=""
69
+ />
70
+ </DocumentFragment>
71
+ `;
72
+
73
+ exports[`InputFieldLine Should render border - bottom 1`] = `
74
+ <DocumentFragment>
75
+ <div
76
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
77
+ data-selector-id="container"
78
+ data-title=""
79
+ />
80
+ </DocumentFragment>
81
+ `;
82
+
83
+ exports[`InputFieldLine Should render border - none 1`] = `
84
+ <DocumentFragment>
85
+ <div
86
+ class="varClass customContainer effect flex rowdir"
87
+ data-selector-id="container"
88
+ data-title=""
89
+ />
90
+ </DocumentFragment>
91
+ `;
92
+
93
+ exports[`InputFieldLine Should render borderColor - dark 1`] = `
94
+ <DocumentFragment>
95
+ <div
96
+ class="varClass customContainer border_bottom effect borderColor_dark hasBorder flex rowdir"
97
+ data-selector-id="container"
98
+ data-title=""
99
+ />
100
+ </DocumentFragment>
101
+ `;
102
+
103
+ exports[`InputFieldLine Should render borderColor - default 1`] = `
104
+ <DocumentFragment>
105
+ <div
106
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
107
+ data-selector-id="container"
108
+ data-title=""
109
+ />
110
+ </DocumentFragment>
111
+ `;
112
+
113
+ exports[`InputFieldLine Should render borderColor - error 1`] = `
114
+ <DocumentFragment>
115
+ <div
116
+ class="varClass customContainer border_bottom effect borderColor_error hasBorder flex rowdir"
117
+ data-selector-id="container"
118
+ data-title=""
119
+ />
120
+ </DocumentFragment>
121
+ `;
122
+
123
+ exports[`InputFieldLine Should render borderColor - transparent 1`] = `
124
+ <DocumentFragment>
125
+ <div
126
+ class="varClass customContainer border_bottom effect borderColor_transparent hasBorder flex rowdir"
127
+ data-selector-id="container"
128
+ data-title=""
129
+ />
130
+ </DocumentFragment>
131
+ `;
132
+
133
+ exports[`InputFieldLine Should render customClass 1`] = `
134
+ <DocumentFragment>
135
+ <div
136
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder inputFieldLine-custom-class flex rowdir"
137
+ data-selector-id="container"
138
+ data-title=""
139
+ />
140
+ </DocumentFragment>
141
+ `;
142
+
143
+ exports[`InputFieldLine Should render customProps 1`] = `
144
+ <DocumentFragment>
145
+ <div
146
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
147
+ data-selector-id="container"
148
+ data-test="inputFieldLine-test"
149
+ data-title=""
150
+ />
151
+ </DocumentFragment>
152
+ `;
153
+
154
+ exports[`InputFieldLine Should render dataId 1`] = `
155
+ <DocumentFragment>
156
+ <div
157
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
158
+ data-id="inputFieldLine-test-id"
159
+ data-selector-id="container"
160
+ data-test-id="inputFieldLine-test-id"
161
+ data-title=""
162
+ />
163
+ </DocumentFragment>
164
+ `;
165
+
166
+ exports[`InputFieldLine Should render size - medium 1`] = `
167
+ <DocumentFragment>
168
+ <div
169
+ class="varClass customContainer medium border_bottom effect borderColor_default hasBorder flex rowdir"
170
+ data-selector-id="container"
171
+ data-title=""
172
+ />
173
+ </DocumentFragment>
174
+ `;
175
+
176
+ exports[`InputFieldLine Should render size - xmedium 1`] = `
177
+ <DocumentFragment>
178
+ <div
179
+ class="varClass customContainer xmedium border_bottom effect borderColor_default hasBorder flex rowdir"
180
+ data-selector-id="container"
181
+ data-title=""
182
+ />
183
+ </DocumentFragment>
184
+ `;
185
+
186
+ exports[`InputFieldLine rendering the defult props 1`] = `
187
+ <DocumentFragment>
188
+ <div
189
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder flex rowdir"
190
+ data-selector-id="container"
191
+ data-title=""
192
+ />
193
+ </DocumentFragment>
194
+ `;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ isDisabled: false,
3
+ isReadOnly: false,
4
+ hasEffect: true,
5
+ isActive: false,
6
+ hasPadding: false,
7
+ title: '',
8
+ dataId: '',
9
+ customClass: '',
10
+ customProps: {},
11
+ size: 'medium',
12
+ borderColor: 'default',
13
+ border: 'bottom',
14
+ a11yAttributes: {},
15
+ tagAttribute: {}
16
+ };
@@ -0,0 +1,22 @@
1
+ import PropTypes from 'prop-types';
2
+ import { ContainerProps } from "../../../Layout/props/propTypes";
3
+ export default {
4
+ isActive: PropTypes.bool,
5
+ isDisabled: PropTypes.bool,
6
+ isReadOnly: PropTypes.bool,
7
+ hasEffect: PropTypes.bool,
8
+ hasPadding: PropTypes.bool,
9
+ title: PropTypes.string,
10
+ dataId: PropTypes.string,
11
+ customClass: PropTypes.string,
12
+ customProps: PropTypes.shape({ ...ContainerProps
13
+ }),
14
+ onClick: PropTypes.func,
15
+ size: PropTypes.oneOf(['medium', 'xmedium']),
16
+ border: PropTypes.oneOf(['bottom', 'all', 'none']),
17
+ borderColor: PropTypes.oneOf(['default', 'dark', 'error', 'transparent']),
18
+ children: PropTypes.node,
19
+ onKeyDown: PropTypes.func,
20
+ a11yAttributes: PropTypes.object,
21
+ tagAttributes: PropTypes.object
22
+ };
@@ -413,5 +413,6 @@ export function isTextSelected() {
413
413
 
414
414
  return false;
415
415
  }
416
- export const DUMMY_OBJECT = {};
417
- export const DUMMY_ARRAY = [];
416
+ export const DUMMY_OBJECT = Object.freeze({});
417
+ export const DUMMY_ARRAY = Object.freeze([]);
418
+ export const DUMMY_FUNCTION = () => {};
@@ -1,6 +1,7 @@
1
1
  /***** Libraries *****/
2
2
  import { createSelector } from 'reselect';
3
3
  import { getIsEmptyValue, getSearchString } from "./Common";
4
+ import selectn from 'selectn';
4
5
  export const dummyArray = [];
5
6
  export const dummyObj = {};
6
7
  export const getOptions = props => props.options || dummyArray;
@@ -157,7 +158,8 @@ export const makeFormatOptions = () => createSelector([getOptions, getValueField
157
158
  let id = typeof option === 'object' ? option[impValueField || valueField] : option;
158
159
  const value = typeof option === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
159
160
  const secondaryValue = typeof option === 'object' ? option[impSecondaryField || secondaryField] : '';
160
- const photoURL = typeof option === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
161
+ const photoURL = typeof option === 'object' ? option[impImageField || imageField] : '';
162
+ const colorConfig = selectn('colorConfig', option); // grouping options (group select/MultiSelect)
161
163
 
162
164
  id = !getIsEmptyValue(id) ? optionIdGrouping(id, prefixText) : '';
163
165
  const additionalSearchFieldData = searchFields.reduce((value, item) => {
@@ -198,6 +200,10 @@ export const makeFormatOptions = () => createSelector([getOptions, getValueField
198
200
  optionDetails.listItemProps = listStyle || listItemProps;
199
201
  }
200
202
 
203
+ if (colorConfig) {
204
+ optionDetails.colorConfig = colorConfig;
205
+ }
206
+
201
207
  if (listStyleCustomProps || listItemCustomProps) {
202
208
  optionDetails.listItemCustomProps = listStyleCustomProps || listItemCustomProps;
203
209
  }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _MultiSelect = _interopRequireDefault(require("../MultiSelect/MultiSelect"));
11
+
12
+ var _propTypes = require("./props/propTypes");
13
+
14
+ var _defaultProps = require("./props/defaultProps");
15
+
16
+ var _renderHelpers = require("./_shared/helpers/renderHelpers");
17
+
18
+ var _excluded = ["options", "renderCustomColorIndicator", "renderCustomSelectedValue", "customProps"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ 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
+
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
35
+
36
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
37
+
38
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
+
40
+ function ColorMultiSelect(props) {
41
+ var options = props.options,
42
+ renderCustomColorIndicator = props.renderCustomColorIndicator,
43
+ renderCustomSelectedValue = props.renderCustomSelectedValue,
44
+ customProps = props.customProps,
45
+ rest = _objectWithoutProperties(props, _excluded);
46
+
47
+ var renderSelectedValue = renderCustomSelectedValue || _renderHelpers.renderColoredTag;
48
+ var colorIndicator = renderCustomColorIndicator || _renderHelpers.renderColorIndicator;
49
+ var optionsWithOptionType = (0, _react.useMemo)(function () {
50
+ return options.map(function (option) {
51
+ if (_typeof(option) !== "object") return option;
52
+ return _objectSpread(_objectSpread({}, option), {}, {
53
+ optionType: "custom"
54
+ });
55
+ });
56
+ }, [options]);
57
+ return /*#__PURE__*/_react["default"].createElement(_MultiSelect["default"], _extends({}, rest, {
58
+ options: optionsWithOptionType,
59
+ renderCustomSelectedValue: renderSelectedValue,
60
+ customProps: _objectSpread(_objectSpread({}, customProps), {}, {
61
+ SuggestionsProps: _objectSpread(_objectSpread({}, customProps.SuggestionsProps), {}, {
62
+ renderBeforeChildren: colorIndicator
63
+ })
64
+ })
65
+ }));
66
+ }
67
+
68
+ ColorMultiSelect.propTypes = _propTypes.ColorMultiSelect_propTypes;
69
+ ColorMultiSelect.defaultProps = _defaultProps.ColorMultiSelect_defaultProps;
70
+ var _default = ColorMultiSelect;
71
+ exports["default"] = _default;
@@ -0,0 +1,3 @@
1
+ .placeholder {
2
+ color: var(--zdt_colorSelect_placeholder_text);
3
+ }
@@ -0,0 +1,111 @@
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 _Select = _interopRequireDefault(require("../Select/Select"));
11
+
12
+ var _propTypes = require("./props/propTypes");
13
+
14
+ var _defaultProps = require("./props/defaultProps");
15
+
16
+ var _renderHelpers = require("./_shared/helpers/renderHelpers");
17
+
18
+ var _Box = _interopRequireDefault(require("../Layout/Box"));
19
+
20
+ var _Container = _interopRequireDefault(require("../Layout/Container"));
21
+
22
+ var _ArrowIcon = _interopRequireDefault(require("../shared/ArrowIcon/ArrowIcon"));
23
+
24
+ var _Typography = _interopRequireDefault(require("../Typography/Typography"));
25
+
26
+ var _ArrowIconModule = _interopRequireDefault(require("../shared/ArrowIcon/ArrowIcon.module.css"));
27
+
28
+ var _ColorSelectModule = _interopRequireDefault(require("./ColorSelect.module.css"));
29
+
30
+ var _excluded = ["options", "renderCustomColorIndicator", "renderCustomSelectedValue", "customClass", "customProps", "borderColor", "children", "dataId", "renderRightPlaceholderNode", "placeholder", "renderCustomToggleIndicator"];
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
+
34
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
35
+
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
+
40
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+
42
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
43
+
44
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
45
+
46
+ var fontSizes = {
47
+ xmedium: '14',
48
+ medium: '14',
49
+ small: '12',
50
+ xsmall: '13'
51
+ };
52
+
53
+ function ColorSingleSelect(props) {
54
+ var options = props.options,
55
+ renderCustomColorIndicator = props.renderCustomColorIndicator,
56
+ renderCustomSelectedValue = props.renderCustomSelectedValue,
57
+ customClass = props.customClass,
58
+ customProps = props.customProps,
59
+ borderColor = props.borderColor,
60
+ children = props.children,
61
+ dataId = props.dataId,
62
+ renderRightPlaceholderNode = props.renderRightPlaceholderNode,
63
+ placeholder = props.placeholder,
64
+ renderCustomToggleIndicator = props.renderCustomToggleIndicator,
65
+ rest = _objectWithoutProperties(props, _excluded);
66
+
67
+ var selectClass = customClass.select;
68
+
69
+ function renderSelectedValue(data) {
70
+ var isPopupOpen = data.isPopupOpen,
71
+ selectedId = data.selectedId,
72
+ isDisabled = data.isDisabled,
73
+ isReadOnly = data.isReadOnly;
74
+ var size = props.size;
75
+ var fontSize = fontSizes[size] || 14;
76
+ return /*#__PURE__*/_react["default"].createElement(_Container["default"], {
77
+ alignBox: "row"
78
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
79
+ flexible: true
80
+ }, selectedId ? renderCustomSelectedValue ? renderCustomSelectedValue(data) : (0, _renderHelpers.renderColoredTag)(data) : /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
81
+ $ui_size: fontSize,
82
+ $ui_className: "".concat(_ColorSelectModule["default"].placeholder),
83
+ $flag_dotted: true
84
+ }, placeholder)), /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
85
+ isRotated: isPopupOpen,
86
+ isDisabled: isDisabled,
87
+ isReadOnly: isReadOnly,
88
+ renderCustomToggleIndicator: renderCustomToggleIndicator
89
+ }), renderRightPlaceholderNode ? renderRightPlaceholderNode : null);
90
+ }
91
+
92
+ var colorIndicator = renderCustomColorIndicator || _renderHelpers.renderColorIndicator;
93
+ return /*#__PURE__*/_react["default"].createElement(_Select["default"], _extends({}, rest, {
94
+ placeHolder: placeholder,
95
+ dataId: dataId,
96
+ borderColor: borderColor,
97
+ className: "".concat(borderColor === 'transparent' ? _ArrowIconModule["default"].transparentContainer : '', " ").concat(_ArrowIconModule["default"].arrowContainer, " ").concat(selectClass ? selectClass : ''),
98
+ options: options,
99
+ renderCustomSelectedValue: renderSelectedValue,
100
+ customProps: _objectSpread(_objectSpread({}, customProps), {}, {
101
+ SuggestionsProps: _objectSpread(_objectSpread({}, customProps.SuggestionsProps), {}, {
102
+ renderBeforeChildren: colorIndicator
103
+ })
104
+ })
105
+ }));
106
+ }
107
+
108
+ ColorSingleSelect.propTypes = _propTypes.ColorSingleSelect_propTypes;
109
+ ColorSingleSelect.defaultProps = _defaultProps.ColorSingleSelect_defaultProps;
110
+ var _default = ColorSingleSelect;
111
+ exports["default"] = _default;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ColorMultiSelect = _interopRequireDefault(require("../ColorMultiSelect"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ var options = [{
12
+ id: 1,
13
+ text: 'Red',
14
+ colorConfig: {
15
+ text: 'black',
16
+ background: '#ff6e6e',
17
+ border: 'black'
18
+ }
19
+ }, {
20
+ id: 2,
21
+ text: 'Green',
22
+ colorConfig: {
23
+ text: 'black',
24
+ background: '#77d779',
25
+ border: 'black'
26
+ }
27
+ }, {
28
+ id: 3,
29
+ text: 'Blue',
30
+ colorConfig: {
31
+ text: 'black',
32
+ background: '#649cff',
33
+ border: 'black'
34
+ }
35
+ }];
36
+ describe('ColorMultiSelect', function () {
37
+ test('rendering the defult props', function () {
38
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorMultiSelect["default"], null)),
39
+ asFragment = _render.asFragment;
40
+
41
+ expect(asFragment()).toMatchSnapshot();
42
+ });
43
+ test('Should render the default selected value', function () {
44
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorMultiSelect["default"], {
45
+ options: options
46
+ })),
47
+ asFragment = _render2.asFragment;
48
+
49
+ expect(asFragment()).toMatchSnapshot();
50
+ });
51
+ test('Should render the selected value', function () {
52
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorMultiSelect["default"], {
53
+ options: options,
54
+ selectedOptions: [1, 2]
55
+ })),
56
+ asFragment = _render3.asFragment;
57
+
58
+ expect(asFragment()).toMatchSnapshot();
59
+ });
60
+ test('renders with renderCustomColorIndicator', function () {
61
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorMultiSelect["default"], {
62
+ options: options,
63
+ renderCustomColorIndicator: function renderCustomColorIndicator() {
64
+ return /*#__PURE__*/_react["default"].createElement("div", null, " custom color indicator");
65
+ }
66
+ })),
67
+ asFragment = _render4.asFragment;
68
+
69
+ expect(asFragment()).toMatchSnapshot();
70
+ });
71
+ test('renders with renderCustomSelectedValue', function () {
72
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorMultiSelect["default"], {
73
+ options: options,
74
+ renderCustomSelectedValue: function renderCustomSelectedValue() {
75
+ return /*#__PURE__*/_react["default"].createElement("span", null, "custom selected value");
76
+ }
77
+ })),
78
+ asFragment = _render5.asFragment;
79
+
80
+ expect(asFragment()).toMatchSnapshot();
81
+ });
82
+ });
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ColorSingleSelect = _interopRequireDefault(require("../ColorSingleSelect"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ var options = [{
12
+ id: 1,
13
+ text: 'Red',
14
+ colorConfig: {
15
+ text: 'black',
16
+ background: '#ff6e6e',
17
+ border: 'black'
18
+ }
19
+ }, {
20
+ id: 2,
21
+ text: 'Green',
22
+ colorConfig: {
23
+ text: 'black',
24
+ background: '#77d779',
25
+ border: 'black'
26
+ }
27
+ }, {
28
+ id: 3,
29
+ text: 'Blue',
30
+ colorConfig: {
31
+ text: 'black',
32
+ background: '#649cff',
33
+ border: 'black'
34
+ }
35
+ }];
36
+ describe('ColorSingleSelect', function () {
37
+ test('rendering the defult props', function () {
38
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], null)),
39
+ asFragment = _render.asFragment;
40
+
41
+ expect(asFragment()).toMatchSnapshot();
42
+ });
43
+ test('Should render the default selected value', function () {
44
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], {
45
+ options: options
46
+ })),
47
+ asFragment = _render2.asFragment;
48
+
49
+ expect(asFragment()).toMatchSnapshot();
50
+ });
51
+ test('Should render the selected value', function () {
52
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], {
53
+ options: options,
54
+ selectedValue: "green"
55
+ })),
56
+ asFragment = _render3.asFragment;
57
+
58
+ expect(asFragment()).toMatchSnapshot();
59
+ });
60
+ test('rendering with isDefaultSelectValue is false', function () {
61
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], {
62
+ isDefaultSelectValue: false,
63
+ placeholder: "placeholder Text"
64
+ })),
65
+ asFragment = _render4.asFragment;
66
+
67
+ expect(asFragment()).toMatchSnapshot();
68
+ });
69
+ test('renders with renderCustomColorIndicator', function () {
70
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], {
71
+ options: options,
72
+ renderCustomColorIndicator: function renderCustomColorIndicator() {
73
+ return /*#__PURE__*/_react["default"].createElement("div", null, " custom color indicator");
74
+ }
75
+ })),
76
+ asFragment = _render5.asFragment;
77
+
78
+ expect(asFragment()).toMatchSnapshot();
79
+ });
80
+ test('renders with renderCustomSelectedValue', function () {
81
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorSingleSelect["default"], {
82
+ options: options,
83
+ renderCustomSelectedValue: function renderCustomSelectedValue() {
84
+ return /*#__PURE__*/_react["default"].createElement("span", null, "custom selected value");
85
+ }
86
+ })),
87
+ asFragment = _render6.asFragment;
88
+
89
+ expect(asFragment()).toMatchSnapshot();
90
+ });
91
+ });