@zohodesk/components 1.4.21 → 1.4.23

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 (153) hide show
  1. package/README.md +34 -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/Typography/Typography.js +9 -2
  60. package/es/Typography/__tests__/Typography.spec.js +427 -0
  61. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  62. package/es/Typography/props/defaultProps.js +2 -1
  63. package/es/Typography/props/propTypes.js +24 -5
  64. package/es/Typography/utils/textHighlighter.js +139 -0
  65. package/es/shared/ArrowIcon/ArrowIcon.js +51 -0
  66. package/es/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  67. package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +100 -0
  68. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  69. package/es/shared/ArrowIcon/props/defaultProps.js +11 -0
  70. package/es/shared/ArrowIcon/props/propTypes.js +17 -0
  71. package/es/shared/InputFieldLine/InputFieldLine.js +45 -0
  72. package/es/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  73. package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +114 -0
  74. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  75. package/es/shared/InputFieldLine/props/defaultProps.js +16 -0
  76. package/es/shared/InputFieldLine/props/propTypes.js +22 -0
  77. package/es/utils/Common.js +3 -2
  78. package/es/utils/dropDownUtils.js +7 -1
  79. package/lib/ColorSelect/ColorMultiSelect.js +71 -0
  80. package/lib/ColorSelect/ColorSelect.module.css +3 -0
  81. package/lib/ColorSelect/ColorSingleSelect.js +111 -0
  82. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +82 -0
  83. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +91 -0
  84. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  85. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  86. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +47 -0
  87. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  88. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +86 -0
  89. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  90. package/lib/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +15 -0
  91. package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +21 -0
  92. package/lib/ColorSelect/_shared/ColoredTag/ColoredTag.js +69 -0
  93. package/lib/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +58 -0
  94. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  95. package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +29 -0
  96. package/lib/ColorSelect/_shared/helpers/renderHelpers.js +63 -0
  97. package/lib/ColorSelect/props/defaultProps.js +32 -0
  98. package/lib/ColorSelect/props/propTypes.js +39 -0
  99. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  100. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  101. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  102. package/lib/ListItem/ListItem.js +6 -1
  103. package/lib/ListItem/ListItem.module.css +6 -0
  104. package/lib/ListItem/__tests__/ListItem.spec.js +12 -4
  105. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  106. package/lib/ListItem/props/propTypes.js +1 -0
  107. package/lib/MultiSelect/MultiSelect.js +11 -5
  108. package/lib/MultiSelect/SelectedOptions.js +24 -1
  109. package/lib/MultiSelect/Suggestions.js +5 -1
  110. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +42 -2
  111. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +15 -0
  112. package/lib/MultiSelect/__tests__/Suggestions.spec.js +16 -2
  113. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  114. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  115. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  116. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  117. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  118. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  119. package/lib/MultiSelect/props/propTypes.js +6 -0
  120. package/lib/Select/Select.js +67 -4
  121. package/lib/Select/__tests__/Select.spec.js +12 -0
  122. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  123. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  124. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  125. package/lib/Select/props/defaultProps.js +2 -1
  126. package/lib/Select/props/propTypes.js +3 -1
  127. package/lib/TextBox/__tests__/TextBox.spec.js +36 -36
  128. package/lib/TextBoxIcon/TextBoxIcon.js +18 -13
  129. package/lib/TextBoxIcon/TextBoxIcon.module.css +3 -38
  130. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  131. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  132. package/lib/TextBoxIcon/props/propTypes.js +1 -2
  133. package/lib/Typography/Typography.js +9 -2
  134. package/lib/Typography/__tests__/Typography.spec.js +436 -0
  135. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  136. package/lib/Typography/props/defaultProps.js +2 -1
  137. package/lib/Typography/props/propTypes.js +31 -6
  138. package/lib/Typography/utils/textHighlighter.js +160 -0
  139. package/lib/shared/ArrowIcon/ArrowIcon.js +65 -0
  140. package/lib/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  141. package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +107 -0
  142. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  143. package/lib/shared/ArrowIcon/props/defaultProps.js +18 -0
  144. package/lib/shared/ArrowIcon/props/propTypes.js +28 -0
  145. package/lib/shared/InputFieldLine/InputFieldLine.js +57 -0
  146. package/lib/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  147. package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +122 -0
  148. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  149. package/lib/shared/InputFieldLine/props/defaultProps.js +23 -0
  150. package/lib/shared/InputFieldLine/props/propTypes.js +39 -0
  151. package/lib/utils/Common.js +8 -4
  152. package/lib/utils/dropDownUtils.js +10 -1
  153. package/package.json +9 -7
@@ -30,10 +30,8 @@ exports[`SelectWithIcon rendering the defult props 1`] = `
30
30
  data-test-id="boxComponent"
31
31
  >
32
32
  <div
33
- class="container effect input iconSelect flex rowdir"
34
- data-id="containerComponent"
33
+ class="varClass customContainer border_bottom effect borderColor_default hasBorder container input iconSelect flex rowdir"
35
34
  data-selector-id="textBoxIcon"
36
- data-test-id="containerComponent"
37
35
  >
38
36
  <div
39
37
  class="grow basis shrinkOff"
@@ -96,9 +94,6 @@ exports[`SelectWithIcon rendering the defult props 1`] = `
96
94
  </div>
97
95
  </div>
98
96
  </div>
99
- <div
100
- class="line borderColor_default "
101
- />
102
97
  </div>
103
98
  </div>
104
99
  </div>
@@ -36,7 +36,8 @@ export const Select_defaultProps = {
36
36
  customProps: {},
37
37
  isLoading: false,
38
38
  isAbsolutePositioningNeeded: true,
39
- allowValueFallback: true
39
+ allowValueFallback: true,
40
+ inputFieldLineA11y: {}
40
41
  };
41
42
  export const GroupSelect_defaultProps = {
42
43
  animationStyle: 'bounce',
@@ -100,7 +100,9 @@ export const Select_propTypes = {
100
100
  dropBoxPortalId: PropTypes.string,
101
101
  allowValueFallback: PropTypes.bool,
102
102
  renderCustomToggleIndicator: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
103
- renderCustomSearchClearComponent: PropTypes.func
103
+ renderCustomSearchClearComponent: PropTypes.func,
104
+ renderCustomSelectedValue: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
105
+ inputFieldLineA11y: PropTypes.object
104
106
  };
105
107
  export const GroupSelect_propTypes = {
106
108
  groupedOptions: PropTypes.arrayOf(PropTypes.shape({
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Textbox from "../Textbox";
2
+ import Textbox from "../TextBox";
3
3
  import { render } from "@testing-library/react";
4
4
  describe('Textbox component', () => {
5
5
  const type = ['text', 'password', 'number'];
@@ -3,6 +3,7 @@ import { defaultProps } from "./props/defaultProps";
3
3
  import { propTypes } from "./props/propTypes";
4
4
  import TextBox from "../TextBox/TextBox";
5
5
  import { Container, Box } from "../Layout";
6
+ import InputFieldLine from "../shared/InputFieldLine/InputFieldLine";
6
7
  import { Icon } from '@zohodesk/icons';
7
8
  import btnStyle from "../semantic/Button/semanticButton.module.css";
8
9
  import style from "./TextBoxIcon.module.css";
@@ -118,8 +119,7 @@ export default class TextBoxIcon extends React.Component {
118
119
  const {
119
120
  customTBoxWrap = '',
120
121
  customTextBox = '',
121
- customTBoxIcon = '',
122
- customTBoxLine = ''
122
+ customTBoxIcon = ''
123
123
  } = customClass;
124
124
  const {
125
125
  clearText = 'Clear'
@@ -127,13 +127,20 @@ export default class TextBoxIcon extends React.Component {
127
127
  let {
128
128
  TextBoxProps = {}
129
129
  } = customProps;
130
- return /*#__PURE__*/React.createElement(Container, {
131
- alignBox: "row",
132
- isCover: false,
133
- className: `${style.container} ${isDisabled ? style.disabled : isReadOnly ? needEffect ? style.effect : style.readonly : style.effect} ${isActive || isFocus ? style.effectFocused : ''} ${customTBoxWrap} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
134
- dataSelectorId: dataSelectorId,
135
- "data-title": isDisabled ? title : null,
136
- onClick: needInputFocusOnWrapperClick && !isDisabled ? this.handleInputFocusOnClick : null
130
+ return /*#__PURE__*/React.createElement(InputFieldLine, {
131
+ isActive: isActive || isFocus,
132
+ border: needBorder ? 'bottom' : 'none',
133
+ size: size,
134
+ borderColor: borderColor,
135
+ hasEffect: needEffect,
136
+ isDisabled: isDisabled,
137
+ isReadOnly: isReadOnly && needReadOnlyStyle,
138
+ customClass: ` ${style.container} ${customTBoxWrap} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
139
+ title: isDisabled ? title : null,
140
+ onClick: needInputFocusOnWrapperClick && !isDisabled ? this.handleInputFocusOnClick : null,
141
+ customProps: {
142
+ dataSelectorId: dataSelectorId
143
+ }
137
144
  }, /*#__PURE__*/React.createElement(Box, {
138
145
  flexible: true
139
146
  }, /*#__PURE__*/React.createElement(TextBox, { ...this.props,
@@ -186,9 +193,7 @@ export default class TextBoxIcon extends React.Component {
186
193
  size: "14"
187
194
  }))) : null, children ? /*#__PURE__*/React.createElement(Box, {
188
195
  className: `${style.icon} ${iconRotated ? style.rotated : ''}`
189
- }, children) : null, renderRightPlaceholderNode ? /*#__PURE__*/React.createElement(Box, null, renderRightPlaceholderNode) : null)), needBorder && /*#__PURE__*/React.createElement("div", {
190
- className: `${style.line} ${style[`borderColor_${borderColor}`]} ${customTBoxLine}`
191
- }));
196
+ }, children) : null, renderRightPlaceholderNode ? /*#__PURE__*/React.createElement(Box, null, renderRightPlaceholderNode) : null)));
192
197
  }
193
198
 
194
199
  }
@@ -1,6 +1,6 @@
1
1
  .varClass {
2
2
  /* textboxicon default variables */
3
- --textboxicon_line_height: var(--zd_size1);
3
+ --textboxicon_line_height: 1px;
4
4
  --textboxicon_line_color: var(--zdt_textboxicon_default_line_bg);
5
5
 
6
6
  /* textboxicon icon default variables */
@@ -11,13 +11,12 @@
11
11
  .container {
12
12
  composes: varClass;
13
13
  position: relative;
14
+ --local_inputFieldLine_border_width: var(--textboxicon_line_height);
15
+ --local_inputFieldLine_border_color: var(--textboxicon_line_color);
14
16
  }
15
17
  .disabled,.readonly {
16
18
  --textboxicon_icon_cursor: not-allowed;
17
19
  }
18
- .disabled, .readonly {
19
- cursor: not-allowed;
20
- }
21
20
  .icon {
22
21
  composes: offSelection from '../common/common.module.css';
23
22
  margin: var(--textboxicon_icon_margin);
@@ -33,40 +32,6 @@
33
32
  .rotated {
34
33
  transform: rotateX(180deg);
35
34
  }
36
- .line {
37
- position: absolute;
38
- bottom: 0 ;
39
- /* Variable:Ignore */
40
- min-height: 1px;
41
- transition: var(--zd_transition2);
42
- height: var(--textboxicon_line_height);
43
- transform: perspective(1px);
44
- }
45
- [dir=ltr] .line {
46
- left: 0 ;
47
- right: 0 ;
48
- }
49
- [dir=rtl] .line {
50
- right: 0 ;
51
- left: 0 ;
52
- }
53
- .line, .borderColor_default {
54
- background-color: var(--textboxicon_line_color);
55
- }
56
- .borderColor_transparent {
57
- --textboxicon_line_color: var(--zdt_textboxicon_transparent_line_bg);
58
- }
59
- .effect:hover .line {
60
- --textboxicon_line_color: var(--zdt_textboxicon_hover_line_bg);
61
- }
62
- .effectFocused .line,
63
- .effectFocused:hover .line {
64
- --textboxicon_line_color: var(--zdt_textboxicon_focus_line_bg);
65
- }
66
- .borderColor_error,
67
- .effect:hover .borderColor_error {
68
- --textboxicon_line_color: var(--zdt_textboxicon_error_line_bg);
69
- }
70
35
  .iconOnHoverStyle .icon,
71
36
  .iconOnHoverReadonly .icon,
72
37
  .iconOnHoverReadonly:hover .icon {
@@ -232,8 +232,7 @@ describe('TextBoxIcon component', () => {
232
232
  customClass: {
233
233
  customTBoxWrap: 'customTBoxWrapTextBoxIcon',
234
234
  customTextBox: 'customTextBoxTextBoxIcon',
235
- customTBoxIcon: 'customTBoxIconTextBox',
236
- customTBoxLine: 'customTBoxLineTextBox'
235
+ customTBoxIcon: 'customTBoxIconTextBox'
237
236
  }
238
237
  }));
239
238
  expect(asFragment()).toMatchSnapshot();
@@ -265,4 +264,12 @@ describe('TextBoxIcon component', () => {
265
264
  }));
266
265
  expect(asFragment()).toMatchSnapshot();
267
266
  });
267
+ test('Should be render with dataSelectorId', () => {
268
+ const {
269
+ asFragment
270
+ } = render( /*#__PURE__*/React.createElement(TextBoxIcon, {
271
+ dataSelectorId: "textBoxIcon_data_selector_id"
272
+ }));
273
+ expect(asFragment()).toMatchSnapshot();
274
+ });
268
275
  });