@zohodesk/components 1.0.0-temp-199.18 → 1.0.0-temp-246

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 (107) hide show
  1. package/README.md +15 -1
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +2 -0
  3. package/assets/Appearance/light/mode/Component_LightMode.module.css +2 -0
  4. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +2 -0
  5. package/es/CheckBox/CheckBox.js +21 -10
  6. package/es/CheckBox/CheckBox.module.css +21 -6
  7. package/es/CheckBox/__tests__/CheckBox.spec.js +9 -0
  8. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +162 -93
  9. package/es/CheckBox/props/propTypes.js +4 -1
  10. package/es/ColorSelect/ColorSingleSelect.js +0 -1
  11. package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +15 -3
  12. package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +15 -3
  13. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +2 -2
  14. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +8 -8
  15. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +7 -3
  16. package/es/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +17 -4
  17. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +3 -3
  18. package/es/ColorSelect/_shared/ColorIndicator/props/propTypes.js +1 -1
  19. package/es/ColorSelect/_shared/ColoredTag/props/propTypes.js +1 -0
  20. package/es/ColorSelect/_shared/helpers/renderHelpers.js +14 -10
  21. package/es/ColorSelect/props/propTypes.js +1 -0
  22. package/es/Label/Label.js +19 -1
  23. package/es/Label/__tests__/Label.spec.js +58 -0
  24. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +66 -0
  25. package/es/Label/props/defaultProps.js +1 -0
  26. package/es/Label/props/propTypes.js +7 -1
  27. package/es/MultiSelect/AdvancedGroupMultiSelect.js +2 -6
  28. package/es/MultiSelect/MultiSelect.js +2 -2
  29. package/es/MultiSelect/Suggestions.js +2 -7
  30. package/es/MultiSelect/props/defaultProps.js +0 -2
  31. package/es/MultiSelect/props/propTypes.js +3 -11
  32. package/es/Radio/Radio.js +20 -9
  33. package/es/Radio/Radio.module.css +38 -5
  34. package/es/Radio/__tests__/Radio.spec.js +10 -0
  35. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +238 -81
  36. package/es/Radio/props/propTypes.js +4 -1
  37. package/es/Select/GroupSelect.js +1 -1
  38. package/es/Select/SelectWithAvatar.js +3 -3
  39. package/es/Select/SelectWithIcon.js +3 -10
  40. package/es/Select/props/defaultProps.js +2 -4
  41. package/es/Select/props/propTypes.js +3 -11
  42. package/es/Typography/Typography.js +9 -2
  43. package/es/Typography/__tests__/Typography.spec.js +427 -0
  44. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  45. package/es/Typography/props/defaultProps.js +2 -1
  46. package/es/Typography/props/propTypes.js +24 -5
  47. package/es/Typography/utils/textHighlighter.js +139 -0
  48. package/es/common/common.module.css +1 -1
  49. package/es/shared/ArrowIcon/ArrowIcon.js +6 -3
  50. package/es/shared/ArrowIcon/ArrowIcon.module.css +9 -0
  51. package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +24 -0
  52. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +70 -7
  53. package/es/shared/ArrowIcon/props/defaultProps.js +2 -0
  54. package/es/shared/ArrowIcon/props/propTypes.js +3 -1
  55. package/es/utils/dropDownUtils.js +3 -3
  56. package/lib/CheckBox/CheckBox.js +23 -9
  57. package/lib/CheckBox/CheckBox.module.css +21 -6
  58. package/lib/CheckBox/__tests__/CheckBox.spec.js +21 -12
  59. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +162 -93
  60. package/lib/CheckBox/props/propTypes.js +5 -1
  61. package/lib/ColorSelect/ColorSingleSelect.js +1 -2
  62. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +15 -3
  63. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +15 -3
  64. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +2 -2
  65. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +8 -8
  66. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +10 -4
  67. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +17 -4
  68. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +3 -3
  69. package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +1 -1
  70. package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +1 -0
  71. package/lib/ColorSelect/_shared/helpers/renderHelpers.js +19 -13
  72. package/lib/ColorSelect/props/propTypes.js +1 -0
  73. package/lib/Label/Label.js +21 -1
  74. package/lib/Label/__tests__/Label.spec.js +58 -0
  75. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +66 -0
  76. package/lib/Label/props/defaultProps.js +1 -0
  77. package/lib/Label/props/propTypes.js +8 -1
  78. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +3 -8
  79. package/lib/MultiSelect/MultiSelect.js +2 -2
  80. package/lib/MultiSelect/Suggestions.js +2 -6
  81. package/lib/MultiSelect/props/defaultProps.js +0 -2
  82. package/lib/MultiSelect/props/propTypes.js +5 -13
  83. package/lib/Radio/Radio.js +22 -8
  84. package/lib/Radio/Radio.module.css +38 -5
  85. package/lib/Radio/__tests__/Radio.spec.js +10 -0
  86. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +238 -81
  87. package/lib/Radio/props/propTypes.js +5 -1
  88. package/lib/Select/GroupSelect.js +1 -2
  89. package/lib/Select/SelectWithAvatar.js +3 -4
  90. package/lib/Select/SelectWithIcon.js +3 -10
  91. package/lib/Select/props/defaultProps.js +3 -5
  92. package/lib/Select/props/propTypes.js +3 -11
  93. package/lib/Typography/Typography.js +9 -2
  94. package/lib/Typography/__tests__/Typography.spec.js +436 -0
  95. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  96. package/lib/Typography/props/defaultProps.js +2 -1
  97. package/lib/Typography/props/propTypes.js +31 -6
  98. package/lib/Typography/utils/textHighlighter.js +160 -0
  99. package/lib/common/common.module.css +1 -1
  100. package/lib/shared/ArrowIcon/ArrowIcon.js +6 -3
  101. package/lib/shared/ArrowIcon/ArrowIcon.module.css +9 -0
  102. package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +34 -10
  103. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +70 -7
  104. package/lib/shared/ArrowIcon/props/defaultProps.js +2 -0
  105. package/lib/shared/ArrowIcon/props/propTypes.js +3 -1
  106. package/lib/utils/dropDownUtils.js +3 -3
  107. package/package.json +2 -2
@@ -7,6 +7,8 @@ exports.propTypes = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
+ var _propTypes2 = require("../../Typography/props/propTypes");
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
 
12
14
  var propTypes = {
@@ -15,6 +17,7 @@ var propTypes = {
15
17
  checked: _propTypes["default"].bool,
16
18
  dataId: _propTypes["default"].string,
17
19
  dataSelectorId: _propTypes["default"].string,
20
+ secondaryText: _propTypes["default"].string,
18
21
  disabled: _propTypes["default"].bool,
19
22
  disabledTitle: _propTypes["default"].string,
20
23
  getRef: _propTypes["default"].func,
@@ -46,7 +49,8 @@ var propTypes = {
46
49
  }),
47
50
  customProps: _propTypes["default"].shape({
48
51
  CheckBoxProps: _propTypes["default"].object,
49
- LabelProps: _propTypes["default"].object
52
+ LabelProps: _propTypes["default"].object,
53
+ secondaryTextProps: _propTypes["default"].exact(_propTypes2.propTypes)
50
54
  }),
51
55
  renderRightPlaceholderNode: _propTypes["default"].node
52
56
  };
@@ -27,7 +27,7 @@ var _ArrowIconModule = _interopRequireDefault(require("../shared/ArrowIcon/Arrow
27
27
 
28
28
  var _ColorSelectModule = _interopRequireDefault(require("./ColorSelect.module.css"));
29
29
 
30
- var _excluded = ["options", "renderCustomColorIndicator", "renderCustomSelectedValue", "customClass", "customProps", "borderColor", "children", "dataId", "renderRightPlaceholderNode", "placeholder", "renderCustomToggleIndicator"];
30
+ var _excluded = ["options", "renderCustomColorIndicator", "renderCustomSelectedValue", "customClass", "customProps", "borderColor", "dataId", "renderRightPlaceholderNode", "placeholder", "renderCustomToggleIndicator"];
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
33
 
@@ -57,7 +57,6 @@ function ColorSingleSelect(props) {
57
57
  customClass = props.customClass,
58
58
  customProps = props.customProps,
59
59
  borderColor = props.borderColor,
60
- children = props.children,
61
60
  dataId = props.dataId,
62
61
  renderRightPlaceholderNode = props.renderRightPlaceholderNode,
63
62
  placeholder = props.placeholder,
@@ -11,15 +11,27 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
11
11
  var options = [{
12
12
  id: 1,
13
13
  text: 'Red',
14
- colorCode: '#ff6e6e'
14
+ colorConfig: {
15
+ text: 'black',
16
+ background: '#ff6e6e',
17
+ border: 'black'
18
+ }
15
19
  }, {
16
20
  id: 2,
17
21
  text: 'Green',
18
- colorCode: '#77d779'
22
+ colorConfig: {
23
+ text: 'black',
24
+ background: '#77d779',
25
+ border: 'black'
26
+ }
19
27
  }, {
20
28
  id: 3,
21
29
  text: 'Blue',
22
- colorCode: '#649cff'
30
+ colorConfig: {
31
+ text: 'black',
32
+ background: '#649cff',
33
+ border: 'black'
34
+ }
23
35
  }];
24
36
  describe('ColorMultiSelect', function () {
25
37
  test('rendering the defult props', function () {
@@ -11,15 +11,27 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
11
11
  var options = [{
12
12
  id: 1,
13
13
  text: 'Red',
14
- colorCode: '#ff6e6e'
14
+ colorConfig: {
15
+ text: 'black',
16
+ background: '#ff6e6e',
17
+ border: 'black'
18
+ }
15
19
  }, {
16
20
  id: 2,
17
21
  text: 'Green',
18
- colorCode: '#77d779'
22
+ colorConfig: {
23
+ text: 'black',
24
+ background: '#77d779',
25
+ border: 'black'
26
+ }
19
27
  }, {
20
28
  id: 3,
21
29
  text: 'Blue',
22
- colorCode: '#649cff'
30
+ colorConfig: {
31
+ text: 'black',
32
+ background: '#649cff',
33
+ border: 'black'
34
+ }
23
35
  }];
24
36
  describe('ColorSingleSelect', function () {
25
37
  test('rendering the defult props', function () {
@@ -110,7 +110,7 @@ exports[`ColorMultiSelect Should render the selected value 1`] = `
110
110
  data-selector-id="tag"
111
111
  data-test-id="tag_Tag"
112
112
  data-title="Red"
113
- style="--tag_bg_color: rgba(255, 110, 110, 0.2); --tag_text_color: #ff6e6e; --tag_border_color: #ff6e6e;"
113
+ style="--tag_bg_color: #ff6e6e; --tag_text_color: black; --tag_border_color: black;"
114
114
  tabindex="0"
115
115
  >
116
116
  <div
@@ -161,7 +161,7 @@ exports[`ColorMultiSelect Should render the selected value 1`] = `
161
161
  data-selector-id="tag"
162
162
  data-test-id="tag_Tag"
163
163
  data-title="Green"
164
- style="--tag_bg_color: rgba(119, 215, 121, 0.2); --tag_text_color: #77d779; --tag_border_color: #77d779;"
164
+ style="--tag_bg_color: #77d779; --tag_text_color: black; --tag_border_color: black;"
165
165
  tabindex="0"
166
166
  >
167
167
  <div
@@ -43,7 +43,7 @@ exports[`ColorSingleSelect Should render the default selected value 1`] = `
43
43
  data-selector-id="tag"
44
44
  data-test-id="tag_Tag"
45
45
  data-title="Red"
46
- style="--tag_bg_color: rgba(255, 110, 110, 0.2); --tag_text_color: #ff6e6e; --tag_border_color: #ff6e6e;"
46
+ style="--tag_bg_color: #ff6e6e; --tag_text_color: black; --tag_border_color: black;"
47
47
  tabindex="0"
48
48
  >
49
49
  <div
@@ -57,7 +57,7 @@ exports[`ColorSingleSelect Should render the default selected value 1`] = `
57
57
  </div>
58
58
  <div
59
59
  aria-hidden="true"
60
- class="arrowIcon inflex coldir both"
60
+ class="arrowIcon inflex coldir both"
61
61
  data-id="undefined_downIcon"
62
62
  data-selector-id="container"
63
63
  data-test-id="undefined_downIcon"
@@ -131,7 +131,7 @@ exports[`ColorSingleSelect Should render the selected value 1`] = `
131
131
  </div>
132
132
  <div
133
133
  aria-hidden="true"
134
- class="arrowIcon inflex coldir both"
134
+ class="arrowIcon inflex coldir both"
135
135
  data-id="undefined_downIcon"
136
136
  data-selector-id="container"
137
137
  data-test-id="undefined_downIcon"
@@ -194,7 +194,7 @@ exports[`ColorSingleSelect rendering the defult props 1`] = `
194
194
  </div>
195
195
  <div
196
196
  aria-hidden="true"
197
- class="arrowIcon inflex coldir both"
197
+ class="arrowIcon inflex coldir both"
198
198
  data-id="undefined_downIcon"
199
199
  data-selector-id="container"
200
200
  data-test-id="undefined_downIcon"
@@ -259,7 +259,7 @@ exports[`ColorSingleSelect rendering with isDefaultSelectValue is false 1`] = `
259
259
  </div>
260
260
  <div
261
261
  aria-hidden="true"
262
- class="arrowIcon inflex coldir both"
262
+ class="arrowIcon inflex coldir both"
263
263
  data-id="undefined_downIcon"
264
264
  data-selector-id="container"
265
265
  data-test-id="undefined_downIcon"
@@ -323,7 +323,7 @@ exports[`ColorSingleSelect renders with renderCustomColorIndicator 1`] = `
323
323
  data-selector-id="tag"
324
324
  data-test-id="tag_Tag"
325
325
  data-title="Red"
326
- style="--tag_bg_color: rgba(255, 110, 110, 0.2); --tag_text_color: #ff6e6e; --tag_border_color: #ff6e6e;"
326
+ style="--tag_bg_color: #ff6e6e; --tag_text_color: black; --tag_border_color: black;"
327
327
  tabindex="0"
328
328
  >
329
329
  <div
@@ -337,7 +337,7 @@ exports[`ColorSingleSelect renders with renderCustomColorIndicator 1`] = `
337
337
  </div>
338
338
  <div
339
339
  aria-hidden="true"
340
- class="arrowIcon inflex coldir both"
340
+ class="arrowIcon inflex coldir both"
341
341
  data-id="undefined_downIcon"
342
342
  data-selector-id="container"
343
343
  data-test-id="undefined_downIcon"
@@ -400,7 +400,7 @@ exports[`ColorSingleSelect renders with renderCustomSelectedValue 1`] = `
400
400
  </div>
401
401
  <div
402
402
  aria-hidden="true"
403
- class="arrowIcon inflex coldir both"
403
+ class="arrowIcon inflex coldir both"
404
404
  data-id="undefined_downIcon"
405
405
  data-selector-id="container"
406
406
  data-test-id="undefined_downIcon"
@@ -7,28 +7,34 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _ColorIndicatorModule = _interopRequireDefault(require("./ColorIndicator.module.css"));
11
-
12
10
  var _defaultProps = require("./props/defaultProps");
13
11
 
14
12
  var _propTypes = require("./props/propTypes");
15
13
 
14
+ var _Common = require("../../../utils/Common");
15
+
16
+ var _ColorIndicatorModule = _interopRequireDefault(require("./ColorIndicator.module.css"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  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); }
19
21
 
20
22
  function ColorIndicator(props) {
21
- var colorCode = props.colorCode,
23
+ var colorConfig = props.colorConfig,
22
24
  shape = props.shape,
23
25
  customClass = props.customClass,
24
26
  customId = props.customId,
25
27
  testId = props.testId,
26
28
  tagAttributes = props.tagAttributes,
27
29
  a11yAttributes = props.a11yAttributes;
30
+
31
+ var _ref = colorConfig || _Common.DUMMY_OBJECT,
32
+ background = _ref.background;
33
+
28
34
  return /*#__PURE__*/_react["default"].createElement("div", _extends({}, tagAttributes, a11yAttributes, {
29
35
  className: "".concat(_ColorIndicatorModule["default"].varClass, " ").concat(_ColorIndicatorModule["default"].indicator, " ").concat(_ColorIndicatorModule["default"][shape], " ").concat(customClass),
30
36
  style: {
31
- backgroundColor: colorCode
37
+ backgroundColor: background
32
38
  },
33
39
  "data-id": customId,
34
40
  "data-test-id": testId
@@ -23,11 +23,24 @@ describe('ColorIndicator', function () {
23
23
  asFragment = _render2.asFragment;
24
24
 
25
25
  expect(asFragment()).toMatchSnapshot();
26
- });
27
- var colors = ['#ff0000', '#00ff00', '#0000ff'];
28
- test.each(colors)('rendering the color of- %s', function (color) {
26
+ }); // const colors = ['#ff0000', '#00ff00', '#0000ff'];
27
+
28
+ var colorConfigurations = [{
29
+ background: '#ff0000',
30
+ text: '#000000',
31
+ border: '#ffffff'
32
+ }, {
33
+ background: '#00ff00',
34
+ text: '#000000',
35
+ border: '#ffffff'
36
+ }, {
37
+ background: '#0000ff',
38
+ text: '#ffffff',
39
+ border: '#000000'
40
+ }];
41
+ test.each(colorConfigurations)('rendering the color of- %s', function (color) {
29
42
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ColorIndicator["default"], {
30
- colorCode: color
43
+ colorConfig: color
31
44
  })),
32
45
  asFragment = _render3.asFragment;
33
46
 
@@ -1,6 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`ColorIndicator rendering the color of- #0000ff 1`] = `
3
+ exports[`ColorIndicator rendering the color of- { background: '#0000ff', text: '#ffffff', border: '#000000' } 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="varClass indicator circle "
@@ -11,7 +11,7 @@ exports[`ColorIndicator rendering the color of- #0000ff 1`] = `
11
11
  </DocumentFragment>
12
12
  `;
13
13
 
14
- exports[`ColorIndicator rendering the color of- #00ff00 1`] = `
14
+ exports[`ColorIndicator rendering the color of- { background: '#00ff00', text: '#000000', border: '#ffffff' } 1`] = `
15
15
  <DocumentFragment>
16
16
  <div
17
17
  class="varClass indicator circle "
@@ -22,7 +22,7 @@ exports[`ColorIndicator rendering the color of- #00ff00 1`] = `
22
22
  </DocumentFragment>
23
23
  `;
24
24
 
25
- exports[`ColorIndicator rendering the color of- #ff0000 1`] = `
25
+ exports[`ColorIndicator rendering the color of- { background: '#ff0000', text: '#000000', border: '#ffffff' } 1`] = `
26
26
  <DocumentFragment>
27
27
  <div
28
28
  class="varClass indicator circle "
@@ -10,7 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
11
 
12
12
  var propTypes = {
13
- colorCode: _propTypes["default"].string,
13
+ colorConfig: _propTypes["default"].object,
14
14
  shape: _propTypes["default"].oneOf(['circle', 'square']),
15
15
  customClass: _propTypes["default"].string,
16
16
  customId: _propTypes["default"].string,
@@ -18,6 +18,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
18
18
  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; }
19
19
 
20
20
  var propTypes = _objectSpread(_objectSpread({}, _propTypes2.propTypes), {}, {
21
+ isActive: _propTypes["default"].bool,
21
22
  colorConfig: _propTypes["default"].shape({
22
23
  textColor: _propTypes["default"].string,
23
24
  backgroundColor: _propTypes["default"].string,
@@ -8,12 +8,12 @@ exports.renderColoredTag = renderColoredTag;
8
8
 
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
 
11
- var _color = _interopRequireDefault(require("color"));
12
-
13
11
  var _ColoredTag = _interopRequireDefault(require("../ColoredTag/ColoredTag"));
14
12
 
15
13
  var _ColorIndicator = _interopRequireDefault(require("../ColorIndicator/ColorIndicator"));
16
14
 
15
+ var _Common = require("../../../utils/Common");
16
+
17
17
  var _excluded = ["option"];
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -25,19 +25,25 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
25
25
  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; }
26
26
 
27
27
  function renderColoredTag(data) {
28
- var option = data.option,
29
- otherData = _objectWithoutProperties(data, _excluded);
28
+ var _ref = data || _Common.DUMMY_OBJECT,
29
+ option = _ref.option,
30
+ otherData = _objectWithoutProperties(_ref, _excluded);
31
+
32
+ var _ref2 = option || _Common.DUMMY_OBJECT,
33
+ colorConfig = _ref2.colorConfig,
34
+ value = _ref2.value,
35
+ id = _ref2.id;
30
36
 
31
- var colorCode = option.colorCode,
32
- value = option.value,
33
- id = option.id;
34
- var getBgColorValue = colorCode ? (0, _color["default"])(colorCode).alpha(0.2).toString() : '';
37
+ var _ref3 = colorConfig || _Common.DUMMY_OBJECT,
38
+ text = _ref3.text,
39
+ background = _ref3.background,
40
+ border = _ref3.border;
35
41
 
36
42
  function getColorConfig() {
37
43
  return {
38
- backgroundColor: getBgColorValue,
39
- textColor: colorCode,
40
- borderColor: colorCode
44
+ backgroundColor: background,
45
+ textColor: text,
46
+ borderColor: border
41
47
  };
42
48
  }
43
49
 
@@ -50,8 +56,8 @@ function renderColoredTag(data) {
50
56
  }
51
57
 
52
58
  function renderColorIndicator(data) {
53
- var colorCode = data.colorCode;
59
+ var colorConfig = data.colorConfig;
54
60
  return /*#__PURE__*/_react["default"].createElement(_ColorIndicator["default"], {
55
- colorCode: colorCode
61
+ colorConfig: colorConfig
56
62
  });
57
63
  }
@@ -25,6 +25,7 @@ var propTypes = {
25
25
  exports.propTypes = propTypes;
26
26
 
27
27
  var ColorSingleSelect_propTypes = _objectSpread(_objectSpread(_objectSpread({}, _propTypes2.Select_propTypes), propTypes), {}, {
28
+ placeholder: _propTypes["default"].string,
28
29
  customClass: _propTypes["default"].shape({
29
30
  selectClass: _propTypes["default"].string
30
31
  }),
@@ -13,12 +13,18 @@ var _defaultProps = require("./props/defaultProps");
13
13
 
14
14
  var _propTypes = require("./props/propTypes");
15
15
 
16
+ var _Flex = _interopRequireDefault(require("@zohodesk/layout/es/Flex/Flex"));
17
+
18
+ var _utils = require("@zohodesk/utils");
19
+
16
20
  var _LabelModule = _interopRequireDefault(require("./Label.module.css"));
17
21
 
18
22
  var _LabelColorsModule = _interopRequireDefault(require("./LabelColors.module.css"));
19
23
 
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
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
+
22
28
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
29
 
24
30
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -65,12 +71,17 @@ var Label = /*#__PURE__*/function (_React$Component) {
65
71
  dataId = _this$props.dataId,
66
72
  dataSelectorId = _this$props.dataSelectorId,
67
73
  variant = _this$props.variant,
74
+ customProps = _this$props.customProps,
68
75
  customClass = _this$props.customClass,
69
76
  id = _this$props.id,
77
+ renderRightPlaceholderNode = _this$props.renderRightPlaceholderNode,
70
78
  _this$props$a11y = _this$props.a11y,
71
79
  a11y = _this$props$a11y === void 0 ? {} : _this$props$a11y;
80
+ var containerProps = customProps.containerProps,
81
+ rightPlaceholderNodeProps = customProps.rightPlaceholderNodeProps;
72
82
  var tabIndex = a11y.tabIndex;
73
- return /*#__PURE__*/_react["default"].createElement("label", {
83
+
84
+ var labelElement = /*#__PURE__*/_react["default"].createElement("label", {
74
85
  className: "".concat(_LabelModule["default"].label, " ").concat(_LabelModule["default"][type], " ").concat(_LabelModule["default"][size], " ").concat(_LabelColorsModule["default"][palette], " ").concat(_LabelModule["default"]["font_".concat(variant)], "\n ").concat(clipped ? _LabelModule["default"].dotted : '', " ").concat(onClick ? _LabelModule["default"].pointer : _LabelModule["default"].cursor, " ").concat(customClass, " "),
75
86
  htmlFor: htmlFor,
76
87
  "data-title": title,
@@ -81,6 +92,15 @@ var Label = /*#__PURE__*/function (_React$Component) {
81
92
  id: id,
82
93
  tabIndex: tabIndex
83
94
  }, text);
95
+
96
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (0, _utils.isRenderable)(renderRightPlaceholderNode) ? /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
97
+ $ui_displayMode: "flex",
98
+ $ui_direction: "row",
99
+ $ui_alignItems: "center"
100
+ }, containerProps), labelElement, /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
101
+ $ui_displayMode: "flex",
102
+ $ui_alignItems: "center"
103
+ }, rightPlaceholderNodeProps), (0, _utils.renderNode)(renderRightPlaceholderNode))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, labelElement));
84
104
  }
85
105
  }]);
86
106
 
@@ -103,4 +103,62 @@ describe('Label', function () {
103
103
 
104
104
  expect(asFragment()).toMatchSnapshot();
105
105
  });
106
+ test('rendering with renderRightPlaceholderNode', function () {
107
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], {
108
+ text: "New Feature",
109
+ id: "label_new",
110
+ renderRightPlaceholderNode: /*#__PURE__*/_react["default"].createElement("span", {
111
+ style: {
112
+ background: '#27ae60',
113
+ color: 'white',
114
+ padding: '2px 6px',
115
+ borderRadius: '3px',
116
+ fontSize: '10px',
117
+ fontWeight: 'bold'
118
+ }
119
+ }, "NEW")
120
+ })),
121
+ asFragment = _render12.asFragment;
122
+
123
+ expect(asFragment()).toMatchSnapshot();
124
+ });
125
+ test('rendering with customProps - containerProps & rightPlaceholderNodeProps', function () {
126
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], {
127
+ text: "Premium Feature",
128
+ id: "label_premium",
129
+ size: "large",
130
+ palette: "danger",
131
+ renderRightPlaceholderNode: /*#__PURE__*/_react["default"].createElement("span", {
132
+ style: {
133
+ fontSize: '10px',
134
+ background: '#f39c12',
135
+ color: 'white',
136
+ padding: '1px 4px',
137
+ borderRadius: '2px'
138
+ }
139
+ }, "PRO"),
140
+ customProps: {
141
+ containerProps: {
142
+ $ui_alignItems: 'center',
143
+ $tagAttributes_container: {
144
+ style: {
145
+ gap: '6px'
146
+ }
147
+ }
148
+ },
149
+ rightPlaceholderNodeProps: {
150
+ $ui_displayMode: 'flex',
151
+ $ui_alignItems: 'center',
152
+ $tagAttributes_container: {
153
+ style: {
154
+ gap: '6px'
155
+ }
156
+ }
157
+ }
158
+ }
159
+ })),
160
+ asFragment = _render13.asFragment;
161
+
162
+ expect(asFragment()).toMatchSnapshot();
163
+ });
106
164
  });
@@ -310,3 +310,69 @@ exports[`Label rendering the variant of- primary 1`] = `
310
310
  </label>
311
311
  </DocumentFragment>
312
312
  `;
313
+
314
+ exports[`Label rendering with customProps - containerProps & rightPlaceholderNodeProps 1`] = `
315
+ <DocumentFragment>
316
+ <div
317
+ class="flex row alignItems_center"
318
+ data-id="flex"
319
+ data-test-id="flex"
320
+ style="gap: 6px;"
321
+ >
322
+ <label
323
+ class="label title large danger font_default
324
+ cursor "
325
+ data-id="label"
326
+ data-selector-id="label"
327
+ data-test-id="label"
328
+ id="label_premium"
329
+ >
330
+ Premium Feature
331
+ </label>
332
+ <div
333
+ class="flex row alignItems_center"
334
+ data-id="flex"
335
+ data-test-id="flex"
336
+ style="gap: 6px;"
337
+ >
338
+ <span
339
+ style="font-size: 10px; background: rgb(243, 156, 18); color: white; padding: 1px 4px; border-radius: 2px;"
340
+ >
341
+ PRO
342
+ </span>
343
+ </div>
344
+ </div>
345
+ </DocumentFragment>
346
+ `;
347
+
348
+ exports[`Label rendering with renderRightPlaceholderNode 1`] = `
349
+ <DocumentFragment>
350
+ <div
351
+ class="flex row"
352
+ data-id="flex"
353
+ data-test-id="flex"
354
+ >
355
+ <label
356
+ class="label title medium default font_default
357
+ cursor "
358
+ data-id="label"
359
+ data-selector-id="label"
360
+ data-test-id="label"
361
+ id="label_new"
362
+ >
363
+ New Feature
364
+ </label>
365
+ <div
366
+ class=""
367
+ data-id="flex"
368
+ data-test-id="flex"
369
+ >
370
+ <span
371
+ style="background: rgb(39, 174, 96); color: white; padding: 2px 6px; border-radius: 3px; font-size: 10px; font-weight: bold;"
372
+ >
373
+ NEW
374
+ </span>
375
+ </div>
376
+ </div>
377
+ </DocumentFragment>
378
+ `;
@@ -12,6 +12,7 @@ var defaultProps = {
12
12
  text: 'Label',
13
13
  type: 'title',
14
14
  variant: 'default',
15
+ customProps: {},
15
16
  customClass: '',
16
17
  dataSelectorId: 'label'
17
18
  };
@@ -7,6 +7,8 @@ exports.propTypes = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
+ var _propTypes2 = _interopRequireDefault(require("@zohodesk/layout/es/Flex/props/propTypes"));
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
 
12
14
  var propTypes = {
@@ -21,10 +23,15 @@ var propTypes = {
21
23
  title: _propTypes["default"].string,
22
24
  type: _propTypes["default"].oneOf(['title', 'subtitle']),
23
25
  variant: _propTypes["default"].oneOf(['primary', 'default']),
26
+ customProps: _propTypes["default"].shape({
27
+ containerProps: _propTypes["default"].exact(_propTypes2["default"]),
28
+ rightPlaceholderNodeProps: _propTypes["default"].exact(_propTypes2["default"])
29
+ }),
24
30
  customClass: _propTypes["default"].string,
25
31
  a11y: _propTypes["default"].shape({
26
32
  tabIndex: _propTypes["default"].string
27
33
  }),
28
- id: _propTypes["default"].string
34
+ id: _propTypes["default"].string,
35
+ renderRightPlaceholderNode: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func])
29
36
  };
30
37
  exports.propTypes = propTypes;
@@ -55,8 +55,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
55
55
 
56
56
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
57
57
 
58
- 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); }
59
-
60
58
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
61
59
 
62
60
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -981,10 +979,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
981
979
  autoComplete = _this$props9.autoComplete,
982
980
  getTargetRef = _this$props9.getTargetRef,
983
981
  isFocus = _this$props9.isFocus,
984
- limit = _this$props9.limit,
985
- customProps = _this$props9.customProps;
986
- var _customProps$Suggesti = customProps.SuggestionsProps,
987
- SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti;
982
+ limit = _this$props9.limit;
988
983
  var _i18nKeys = i18nKeys,
989
984
  _i18nKeys$clearText = _i18nKeys.clearText,
990
985
  clearText = _i18nKeys$clearText === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _i18nKeys$clearText,
@@ -1150,7 +1145,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
1150
1145
  a11y: {
1151
1146
  role: 'heading'
1152
1147
  }
1153
- })), /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({}, SuggestionsProps, {
1148
+ })), /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
1154
1149
  suggestions: suggestions,
1155
1150
  selectedOptions: selectedOptionIds,
1156
1151
  getRef: _this5.suggestionItemRef,
@@ -1165,7 +1160,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
1165
1160
  limit: limit,
1166
1161
  limitReachedMessage: limitReachedMessage,
1167
1162
  dataId: "".concat(dataId, "_Options")
1168
- })));
1163
+ }));
1169
1164
  }) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
1170
1165
  options: revampedGroups,
1171
1166
  searchString: searchStr,
@@ -1171,9 +1171,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1171
1171
  isLoading = _this$props15.isLoading,
1172
1172
  selectAllText = _this$props15.selectAllText,
1173
1173
  needSelectAll = _this$props15.needSelectAll,
1174
+ customProps = _this$props15.customProps,
1174
1175
  isVirtualizerEnabled = _this$props15.isVirtualizerEnabled,
1175
- limit = _this$props15.limit,
1176
- customProps = _this$props15.customProps;
1176
+ limit = _this$props15.limit;
1177
1177
  var _this$state9 = this.state,
1178
1178
  selectedOptions = _this$state9.selectedOptions,
1179
1179
  searchStr = _this$state9.searchStr,