@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
@@ -114,8 +114,7 @@ export const MultiSelect_propTypes = {
114
114
  setAriaId: PropTypes.string,
115
115
  ariaErrorId: PropTypes.string,
116
116
  customProps: PropTypes.shape({
117
- TextBoxIconProps: PropTypes.object,
118
- SuggestionsProps: PropTypes.object
117
+ TextBoxIconProps: PropTypes.object
119
118
  }),
120
119
  isFocus: PropTypes.bool,
121
120
  allowValueFallback: PropTypes.bool,
@@ -200,11 +199,7 @@ export const Suggestions_propTypes = {
200
199
  })),
201
200
  renderBeforeChildren: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
202
201
  limit: PropTypes.number,
203
- limitReachedMessage: PropTypes.string,
204
- customClass: PropTypes.shape({
205
- containerClass: PropTypes.string
206
- }),
207
- needMultiLineText: PropTypes.bool
202
+ limitReachedMessage: PropTypes.string
208
203
  };
209
204
  export const AdvancedGroupMultiSelect_propTypes = {
210
205
  animationStyle: PropTypes.string,
@@ -278,10 +273,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
278
273
  dataSelectorId: PropTypes.string,
279
274
  isFocus: PropTypes.bool,
280
275
  allowValueFallback: PropTypes.bool,
281
- limit: PropTypes.number,
282
- customProps: PropTypes.shape({
283
- SuggestionsProps: PropTypes.object
284
- })
276
+ limit: PropTypes.number
285
277
  };
286
278
  export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
287
279
  selectedOptionDetails: PropTypes.string,
package/es/Radio/Radio.js CHANGED
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import { defaultProps } from "./props/defaultProps";
4
4
  import { propTypes } from "./props/propTypes";
5
5
  import Label from "../Label/Label";
6
+ import Typography from "../Typography/Typography";
6
7
  import { Container, Box } from "../Layout";
7
8
  import CssProvider from "../Provider/CssProvider";
8
9
  import style from "./Radio.module.css";
@@ -51,12 +52,14 @@ export default class Radio extends React.Component {
51
52
  customProps,
52
53
  children,
53
54
  a11y,
55
+ secondaryText,
54
56
  renderRightPlaceholderNode
55
57
  } = this.props;
56
58
  let {
57
59
  customRadioWrap = '',
58
60
  customRadio = '',
59
- customLabel = ''
61
+ customLabel = '',
62
+ customSecondaryText = ''
60
63
  } = customClass;
61
64
  let accessMode = isReadOnly ? style.readonly : disabled ? CssProvider('isDisabled') : style.pointer;
62
65
  let toolTip = disabled ? disabledTitle : title ? title : null;
@@ -72,7 +75,8 @@ export default class Radio extends React.Component {
72
75
  } = a11y;
73
76
  let {
74
77
  ContainerProps = {},
75
- LabelProps = {}
78
+ LabelProps = {},
79
+ secondaryTextProps = {}
76
80
  } = customProps;
77
81
  return /*#__PURE__*/React.createElement(Container, {
78
82
  dataId: value ? value.toLowerCase() : 'RadioComp',
@@ -94,7 +98,8 @@ export default class Radio extends React.Component {
94
98
  ...ContainerProps
95
99
  }, /*#__PURE__*/React.createElement(Box, {
96
100
  className: `${style.radio} ${checked ? `${style[`rdBox${palette}`]}` : ''}
97
- ${!isEditable ? '' : `${style[`hover${palette}`]}`} ${style[size]} ${isFilled ? style.filled : ''} ${style[`centerPath${palette}`]} ${customRadio} ${!isEditable ? `${style.disabled}` : ''}`
101
+ ${!isEditable ? '' : `${style[`hover${palette}`]}`} ${style[size]} ${isFilled ? style.filled : ''} ${style[`centerPath${palette}`]} ${customRadio} ${!isEditable ? `${style.disabled}` : ''} ${secondaryText ? style.withSecondaryText : ''}`,
102
+ align: secondaryText ? "start" : undefined
98
103
  }, /*#__PURE__*/React.createElement("input", {
99
104
  type: "hidden",
100
105
  id: id,
@@ -115,10 +120,10 @@ export default class Radio extends React.Component {
115
120
  cy: "20",
116
121
  r: "11.03",
117
122
  className: `${style.centerPath}`
118
- }) : null))), text && /*#__PURE__*/React.createElement(Box, {
123
+ }) : null))), (text || secondaryText) && /*#__PURE__*/React.createElement(Box, {
119
124
  flexible: true,
120
- className: `${style.text} ${disabled ? `${style.disabled}` : ''}`
121
- }, /*#__PURE__*/React.createElement(Label, {
125
+ className: style.labelContainer
126
+ }, text && /*#__PURE__*/React.createElement(Label, {
122
127
  text: text,
123
128
  palette: labelPalette,
124
129
  size: labelSize,
@@ -127,10 +132,16 @@ export default class Radio extends React.Component {
127
132
  dataId: `${text}_label`,
128
133
  variant: variant,
129
134
  title: toolTip ? toolTip : text,
130
- customClass: `${checked && active ? `${style[`${palette}checkedActive`]}` : ''}
131
- ${style[`${palette}Label`]} ${isEditable ? style.pointer : ''} ${isReadOnly ? style.readonly : ''} ${customLabel}`,
135
+ customClass: `${checked && active ? `${style[`${palette}checkedActive`]}` : ''} ${disabled ? `${style.disabled}` : ''}
136
+ ${style[`${palette}Label`]} ${isEditable ? style.pointer : ''} ${isReadOnly ? style.readonly : ''} ${customLabel}`,
132
137
  ...LabelProps
133
- })), children, renderRightPlaceholderNode ? renderRightPlaceholderNode : null);
138
+ }), secondaryText ? /*#__PURE__*/React.createElement(Typography, {
139
+ $ui_size: "12",
140
+ $ui_lineHeight: "1.2",
141
+ ...secondaryTextProps,
142
+ $i18n_dataTitle: toolTip ? null : secondaryText,
143
+ $ui_className: `${style.secondaryText} ${customSecondaryText}`
144
+ }, secondaryText) : null), children, renderRightPlaceholderNode ? renderRightPlaceholderNode : null);
134
145
  }
135
146
 
136
147
  }
@@ -10,20 +10,25 @@
10
10
  }[dir=ltr] .varClass {
11
11
  --radio_label_margin: 0 0 0 var(--zd_size6);
12
12
  }[dir=rtl] .varClass {
13
- --radio_label_margin: 0 var(--zd_size6) 0 0;
13
+ --radio_label_margin: 0 0 0 var(--zd_size6);
14
14
  }
15
+
15
16
  .container {
16
17
  composes: varClass;
17
18
  }
19
+
18
20
  .pointer {
19
21
  cursor: pointer;
20
22
  }
23
+
21
24
  .readonly, .disabled {
22
25
  cursor: default;
23
26
  }
27
+
24
28
  .disabled {
25
29
  opacity: 0.7
26
30
  }
31
+
27
32
  .radio {
28
33
  composes: offSelection from '../common/common.module.css';
29
34
  width: var(--radio_width);
@@ -32,10 +37,12 @@
32
37
  background: var(--radio_bg_color);
33
38
  border-radius: 50%;
34
39
  }
40
+
35
41
  .radio,
36
42
  .centerPath {
37
43
  fill: var(--radio_fill);
38
44
  }
45
+
39
46
  .filled {
40
47
  --radio_bg_color: var(--zdt_radio_default_bg);
41
48
  }
@@ -44,48 +51,66 @@
44
51
  --radio_width: var(--zd_size16);
45
52
  --radio_height: var(--zd_size16);
46
53
  }
54
+
47
55
  .small {
48
56
  --radio_width: var(--zd_size13);
49
57
  --radio_height: var(--zd_size13);
50
58
  }
59
+
60
+ .medium.withSecondaryText {
61
+ margin-top: var(--zd_size1) ;
62
+ }
63
+
64
+ .small.withSecondaryText {
65
+ margin-top: var(--zd_size3) ;
66
+ }
67
+
51
68
  .radioLabel {
52
69
  font-size: 0 ;
53
70
  display: block;
54
71
  }
72
+
55
73
  .rdBox {
56
74
  fill: none;
57
75
  stroke-width: var(--radio_stroke_width);
58
76
  stroke-linecap: round;
59
77
  stroke: inherit;
60
78
  }
79
+
61
80
  .centerPath {
62
81
  --radio_fill: inherit;
63
82
  stroke-width: var(--radio_inner_stroke_width);
64
83
  transform-origin: center;
65
84
  }
85
+
66
86
  [dir=ltr] .checked .centerPath {
67
87
  animation: circleAnimate var(--zd_transition3) ease forwards;
68
88
  }
89
+
69
90
  [dir=rtl] .checked .centerPath {
70
91
  animation: circleAnimate var(--zd_transition3) ease forwards;
71
92
  }
93
+
72
94
  .rdBoxprimary,
73
95
  .hoverEfffect:hover .hoverprimary
96
+
74
97
  /* .hoverEfffect:focus .hoverprimary */
75
- {
98
+ {
76
99
  --radio_stroke_color: var(--zdt_radio_primary_stroke);
77
100
  }
78
101
 
79
102
  .rdBoxdanger,
80
103
  .hoverEfffect:hover .hoverdanger
104
+
81
105
  /* .hoverEfffect:focus .hoverdanger */
82
- {
106
+ {
83
107
  --radio_stroke_color: var(--zdt_radio_danger_stroke);
84
108
  }
85
109
 
86
110
  .centerPathprimary {
87
111
  --radio_fill: var(--zdt_radio_primary_fill);
88
112
  }
113
+
89
114
  .centerPathdanger {
90
115
  --radio_fill: var(--zdt_radio_danger_fill);
91
116
  }
@@ -102,14 +127,22 @@
102
127
  --label_text_color: var(--zdt_radio_label_danger_text);
103
128
  }
104
129
 
105
- .text {
130
+ .secondaryText {
131
+ color: var(--zdt_radio_secondary_text);
132
+ }
133
+
134
+ .labelContainer {
135
+ composes: dflex flexcolumn from '../common/common.module.css';
136
+ gap: var(--zd_size4) ;
106
137
  margin: var(--radio_label_margin);
107
138
  }
139
+
108
140
  @keyframes circleAnimate {
109
141
  0% {
110
142
  transform: scale(0);
111
143
  }
144
+
112
145
  100% {
113
146
  transform: scale(1);
114
147
  }
115
- }
148
+ }
@@ -235,4 +235,14 @@ describe('Radio', () => {
235
235
  })));
236
236
  expect(asFragment()).toMatchSnapshot();
237
237
  });
238
+ test('rendering secondaryText with checked state', () => {
239
+ const {
240
+ asFragment
241
+ } = render( /*#__PURE__*/React.createElement(Radio, {
242
+ secondaryText: "Secondary text",
243
+ text: "Radio Text",
244
+ checked: true
245
+ }));
246
+ expect(asFragment()).toMatchSnapshot();
247
+ });
238
248
  });