@zohodesk/components 1.0.0-temp-241 → 1.0.0-temp-243

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 (137) hide show
  1. package/README.md +48 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +176 -172
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +8 -8
  4. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +12 -465
  5. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +31 -31
  6. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +7 -4
  7. package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +12 -465
  8. package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +31 -31
  9. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +7 -4
  10. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +12 -465
  11. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +31 -31
  12. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +7 -4
  13. package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +12 -465
  14. package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +31 -31
  15. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +7 -4
  16. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +12 -465
  17. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +31 -31
  18. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +7 -4
  19. package/assets/Appearance/light/mode/Component_LightMode.module.css +175 -171
  20. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +8 -8
  21. package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +12 -465
  22. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +31 -31
  23. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +7 -4
  24. package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +12 -465
  25. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +31 -31
  26. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +7 -4
  27. package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +12 -465
  28. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +31 -31
  29. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +7 -4
  30. package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +12 -465
  31. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +31 -31
  32. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +7 -4
  33. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +12 -465
  34. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +31 -31
  35. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +7 -4
  36. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +177 -173
  37. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +8 -8
  38. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +12 -465
  39. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +31 -31
  40. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +7 -4
  41. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +12 -465
  42. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +31 -31
  43. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +7 -4
  44. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +12 -465
  45. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +31 -31
  46. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +7 -4
  47. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +12 -465
  48. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +31 -31
  49. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +7 -4
  50. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +12 -465
  51. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +31 -31
  52. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +7 -4
  53. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  54. package/es/Button/css/Button.module.css +60 -6
  55. package/es/Button/css/cssJSLogic.js +2 -2
  56. package/es/Card/__tests__/Card.spec.js +48 -0
  57. package/es/Card/__tests__/CardContent.spec.js +61 -0
  58. package/es/Card/__tests__/CardHeader.spec.js +33 -0
  59. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +125 -0
  60. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +177 -0
  61. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +51 -0
  62. package/es/ListItem/ListItem.js +10 -3
  63. package/es/ListItem/ListItemWithAvatar.js +15 -6
  64. package/es/ListItem/ListItemWithCheckBox.js +13 -6
  65. package/es/ListItem/ListItemWithIcon.js +14 -5
  66. package/es/ListItem/ListItemWithRadio.js +13 -6
  67. package/es/ListItem/__tests__/ListItem.spec.js +19 -0
  68. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
  69. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
  70. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
  71. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
  72. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +78 -0
  73. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
  74. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
  75. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
  76. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
  77. package/es/ListItem/props/propTypes.js +15 -5
  78. package/es/MultiSelect/MultiSelect.js +8 -1
  79. package/es/MultiSelect/Suggestions.js +2 -1
  80. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +6 -6
  81. package/es/MultiSelect/props/propTypes.js +2 -3
  82. package/es/Popup/Popup.js +76 -72
  83. package/es/Select/GroupSelect.js +4 -2
  84. package/es/Select/Select.js +7 -1
  85. package/es/Select/SelectWithAvatar.js +17 -4
  86. package/es/Select/SelectWithIcon.js +15 -5
  87. package/es/Select/props/defaultProps.js +2 -0
  88. package/es/Select/props/propTypes.js +5 -0
  89. package/es/Typography/__tests__/Typography.spec.js +225 -0
  90. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1226 -0
  91. package/es/common/common.module.css +1 -1
  92. package/es/utils/dropDownUtils.js +13 -4
  93. package/es/v1/Switch/__tests__/Switch.spec.js +41 -6
  94. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +176 -5
  95. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  96. package/lib/Button/css/Button.module.css +60 -6
  97. package/lib/Button/css/cssJSLogic.js +1 -1
  98. package/lib/Card/__tests__/Card.spec.js +54 -6
  99. package/lib/Card/__tests__/CardContent.spec.js +68 -0
  100. package/lib/Card/__tests__/CardHeader.spec.js +40 -0
  101. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +125 -0
  102. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +177 -0
  103. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +51 -0
  104. package/lib/ListItem/ListItem.js +10 -3
  105. package/lib/ListItem/ListItemWithAvatar.js +15 -6
  106. package/lib/ListItem/ListItemWithCheckBox.js +15 -6
  107. package/lib/ListItem/ListItemWithIcon.js +13 -5
  108. package/lib/ListItem/ListItemWithRadio.js +15 -6
  109. package/lib/ListItem/__tests__/ListItem.spec.js +23 -0
  110. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
  111. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
  112. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
  113. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
  114. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +78 -0
  115. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
  116. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
  117. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
  118. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
  119. package/lib/ListItem/props/propTypes.js +15 -6
  120. package/lib/MultiSelect/MultiSelect.js +6 -2
  121. package/lib/MultiSelect/Suggestions.js +2 -1
  122. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +6 -6
  123. package/lib/MultiSelect/props/propTypes.js +3 -4
  124. package/lib/Popup/Popup.js +76 -73
  125. package/lib/Select/GroupSelect.js +4 -3
  126. package/lib/Select/Select.js +7 -1
  127. package/lib/Select/SelectWithAvatar.js +17 -7
  128. package/lib/Select/SelectWithIcon.js +15 -5
  129. package/lib/Select/props/defaultProps.js +2 -1
  130. package/lib/Select/props/propTypes.js +5 -0
  131. package/lib/Typography/__tests__/Typography.spec.js +232 -0
  132. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1226 -0
  133. package/lib/common/common.module.css +1 -1
  134. package/lib/utils/dropDownUtils.js +17 -4
  135. package/lib/v1/Switch/__tests__/Switch.spec.js +41 -6
  136. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +176 -5
  137. package/package.json +10 -10
@@ -0,0 +1,177 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`CardContent Should render with name - both 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="grow basis shrinkOff scrollboth"
7
+ data-id="CardContent"
8
+ data-scroll="true"
9
+ data-selector-id="cardContent"
10
+ data-test-id="CardContent"
11
+ >
12
+ <div>
13
+ Test Animation
14
+ </div>
15
+ </div>
16
+ </DocumentFragment>
17
+ `;
18
+
19
+ exports[`CardContent Should render with name - both 2`] = `
20
+ <DocumentFragment>
21
+ <div
22
+ class="grow basis shrinkOff scrolly preventScrollBubbleBoth"
23
+ data-id="CardContent"
24
+ data-scroll="true"
25
+ data-selector-id="cardContent"
26
+ data-test-id="CardContent"
27
+ >
28
+ <div>
29
+ Test
30
+ </div>
31
+ </div>
32
+ </DocumentFragment>
33
+ `;
34
+
35
+ exports[`CardContent Should render with name - horizontal 1`] = `
36
+ <DocumentFragment>
37
+ <div
38
+ class="grow basis shrinkOff scrollx"
39
+ data-id="CardContent"
40
+ data-scroll="true"
41
+ data-selector-id="cardContent"
42
+ data-test-id="CardContent"
43
+ >
44
+ <div>
45
+ Test Animation
46
+ </div>
47
+ </div>
48
+ </DocumentFragment>
49
+ `;
50
+
51
+ exports[`CardContent Should render with name - horizontal 2`] = `
52
+ <DocumentFragment>
53
+ <div
54
+ class="grow basis shrinkOff scrolly preventScrollBubbleX"
55
+ data-id="CardContent"
56
+ data-scroll="true"
57
+ data-selector-id="cardContent"
58
+ data-test-id="CardContent"
59
+ >
60
+ <div>
61
+ Test
62
+ </div>
63
+ </div>
64
+ </DocumentFragment>
65
+ `;
66
+
67
+ exports[`CardContent Should render with name - none 1`] = `
68
+ <DocumentFragment>
69
+ <div
70
+ class="grow basis shrinkOff scrollnone"
71
+ data-id="CardContent"
72
+ data-scroll="true"
73
+ data-selector-id="cardContent"
74
+ data-test-id="CardContent"
75
+ >
76
+ <div>
77
+ Test Animation
78
+ </div>
79
+ </div>
80
+ </DocumentFragment>
81
+ `;
82
+
83
+ exports[`CardContent Should render with name - vertical 1`] = `
84
+ <DocumentFragment>
85
+ <div
86
+ class="grow basis shrinkOff scrolly"
87
+ data-id="CardContent"
88
+ data-scroll="true"
89
+ data-selector-id="cardContent"
90
+ data-test-id="CardContent"
91
+ >
92
+ <div>
93
+ Test Animation
94
+ </div>
95
+ </div>
96
+ </DocumentFragment>
97
+ `;
98
+
99
+ exports[`CardContent Should render with name - vertical 2`] = `
100
+ <DocumentFragment>
101
+ <div
102
+ class="grow basis shrinkOff scrolly preventScrollBubbleY"
103
+ data-id="CardContent"
104
+ data-scroll="true"
105
+ data-selector-id="cardContent"
106
+ data-test-id="CardContent"
107
+ >
108
+ <div>
109
+ Test
110
+ </div>
111
+ </div>
112
+ </DocumentFragment>
113
+ `;
114
+
115
+ exports[`CardContent rendering children 1`] = `
116
+ <DocumentFragment>
117
+ <div
118
+ class="grow basis shrinkOff scrolly"
119
+ data-id="CardContent"
120
+ data-selector-id="cardContent"
121
+ data-test-id="CardContent"
122
+ >
123
+ Test
124
+ </div>
125
+ </DocumentFragment>
126
+ `;
127
+
128
+ exports[`CardContent rendering customClass is true 1`] = `
129
+ <DocumentFragment>
130
+ <div
131
+ class="cardCustomClass grow basis shrinkOff scrolly"
132
+ data-id="CardContent"
133
+ data-selector-id="cardContent"
134
+ data-test-id="CardContent"
135
+ >
136
+ Test
137
+ </div>
138
+ </DocumentFragment>
139
+ `;
140
+
141
+ exports[`CardContent rendering isScrollAttribute is true 1`] = `
142
+ <DocumentFragment>
143
+ <div
144
+ class="grow basis shrinkOff scrolly"
145
+ data-id="CardContent"
146
+ data-scroll="true"
147
+ data-selector-id="cardContent"
148
+ data-test-id="CardContent"
149
+ >
150
+ Test
151
+ </div>
152
+ </DocumentFragment>
153
+ `;
154
+
155
+ exports[`CardContent rendering shrink is true 1`] = `
156
+ <DocumentFragment>
157
+ <div
158
+ class="grow basis shrinkOn scrolly"
159
+ data-id="CardContent"
160
+ data-selector-id="cardContent"
161
+ data-test-id="CardContent"
162
+ >
163
+ Test
164
+ </div>
165
+ </DocumentFragment>
166
+ `;
167
+
168
+ exports[`CardContent rendering the defult props 1`] = `
169
+ <DocumentFragment>
170
+ <div
171
+ class="grow basis shrinkOff scrolly"
172
+ data-id="CardContent"
173
+ data-selector-id="cardContent"
174
+ data-test-id="CardContent"
175
+ />
176
+ </DocumentFragment>
177
+ `;
@@ -0,0 +1,51 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`CardHeader rendering the Children is true 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="notScroll shrinkOff"
7
+ data-id="CardHeader"
8
+ data-selector-id="cardHeader"
9
+ data-test-id="CardHeader"
10
+ >
11
+ Children
12
+ </div>
13
+ </DocumentFragment>
14
+ `;
15
+
16
+ exports[`CardHeader rendering the customClass 1`] = `
17
+ <DocumentFragment>
18
+ <div
19
+ class="notScroll cardHeader-class shrinkOff"
20
+ data-id="CardHeader"
21
+ data-selector-id="cardHeader"
22
+ data-test-id="CardHeader"
23
+ >
24
+ Children
25
+ </div>
26
+ </DocumentFragment>
27
+ `;
28
+
29
+ exports[`CardHeader rendering the defult props 1`] = `
30
+ <DocumentFragment>
31
+ <div
32
+ class="notScroll shrinkOff"
33
+ data-id="CardHeader"
34
+ data-selector-id="cardHeader"
35
+ data-test-id="CardHeader"
36
+ />
37
+ </DocumentFragment>
38
+ `;
39
+
40
+ exports[`CardHeader rendering the isScroll is true 1`] = `
41
+ <DocumentFragment>
42
+ <div
43
+ class="scroll shrinkOff"
44
+ data-id="CardHeader"
45
+ data-selector-id="cardHeader"
46
+ data-test-id="CardHeader"
47
+ >
48
+ Children
49
+ </div>
50
+ </DocumentFragment>
51
+ `;
@@ -7,6 +7,9 @@ import { ListItem_Props } from "./props/propTypes";
7
7
  /**** Components ****/
8
8
 
9
9
  import { Icon } from '@zohodesk/icons';
10
+ /*** Utils ****/
11
+
12
+ import { renderNode, isRenderable } from '@zohodesk/utils';
10
13
  /**** CSS ****/
11
14
 
12
15
  import style from "./ListItem.module.css";
@@ -71,7 +74,8 @@ export default class ListItem extends React.Component {
71
74
  customClass,
72
75
  customProps,
73
76
  needMultiLineText,
74
- secondaryValue
77
+ secondaryValue,
78
+ renderValueRightPlaceholderNode
75
79
  } = this.props;
76
80
  let {
77
81
  ListItemProps = {},
@@ -79,7 +83,8 @@ export default class ListItem extends React.Component {
79
83
  } = customProps;
80
84
  let {
81
85
  customListItem = '',
82
- customTickIcon = ''
86
+ customTickIcon = '',
87
+ customValueRightPlaceholder = ''
83
88
  } = customClass;
84
89
  const listA11y = {
85
90
  ariaHidden: true,
@@ -123,7 +128,9 @@ export default class ListItem extends React.Component {
123
128
  shrink: true,
124
129
  adjust: true,
125
130
  className: needMultiLineText ? style.multiLineValue : style.value
126
- }, value) : null, children ? /*#__PURE__*/React.createElement(Box, {
131
+ }, value) : null, isRenderable(renderValueRightPlaceholderNode) ? /*#__PURE__*/React.createElement(Box, {
132
+ className: customValueRightPlaceholder
133
+ }, renderNode(renderValueRightPlaceholderNode)) : null, children ? /*#__PURE__*/React.createElement(Box, {
127
134
  shrink: true,
128
135
  adjust: true,
129
136
  className: style.children
@@ -9,6 +9,9 @@ import { ListItemWithAvatar_Props } from "./props/propTypes";
9
9
  import Avatar from "../Avatar/Avatar";
10
10
  import AvatarTeam from "../AvatarTeam/AvatarTeam";
11
11
  import { Icon } from '@zohodesk/icons';
12
+ /*** Utils ****/
13
+
14
+ import { renderNode, isRenderable } from '@zohodesk/utils';
12
15
  /**** CSS ****/
13
16
 
14
17
  import style from "./ListItem.module.css";
@@ -76,6 +79,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
76
79
  customProps,
77
80
  needMultiLineText,
78
81
  secondaryValue,
82
+ renderValueRightPlaceholderNode,
79
83
  lhsAlignContent
80
84
  } = this.props;
81
85
  let {
@@ -87,7 +91,8 @@ export default class ListItemWithAvatar extends React.PureComponent {
87
91
  let {
88
92
  customListItem = '',
89
93
  customAvatar = '',
90
- customAvatarTeam = ''
94
+ customAvatarTeam = '',
95
+ customValueRightPlaceholder = ''
91
96
  } = customClass;
92
97
  const listA11y = {
93
98
  ariaHidden: true,
@@ -148,16 +153,20 @@ export default class ListItemWithAvatar extends React.PureComponent {
148
153
  ...AvatarProps
149
154
  }))) : null, /*#__PURE__*/React.createElement(Box, {
150
155
  flexible: true,
151
- shrink: true
152
- }, /*#__PURE__*/React.createElement(Container, {
153
- alignBox: "column"
156
+ className: style.leftBox
157
+ }, /*#__PURE__*/React.createElement(Box, {
158
+ className: style.titleBox
154
159
  }, value ? /*#__PURE__*/React.createElement(Box, {
160
+ shrink: true,
161
+ adjust: true,
155
162
  "data-title": isDisabled ? null : title,
156
163
  className: needMultiLineText ? style.multiLineValue : style.value
157
- }, value) : null, secondaryValue ? /*#__PURE__*/React.createElement(Box, {
164
+ }, value) : null, isRenderable(renderValueRightPlaceholderNode) ? /*#__PURE__*/React.createElement(Box, {
165
+ className: customValueRightPlaceholder
166
+ }, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
158
167
  "data-title": isDisabled ? null : secondaryValue,
159
168
  className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
160
- }, secondaryValue) : null)), needTick && active ? /*#__PURE__*/React.createElement(Box, {
169
+ }, secondaryValue) : null), needTick && active ? /*#__PURE__*/React.createElement(Box, {
161
170
  className: style.tickIcon,
162
171
  "aria-hidden": ariaHidden,
163
172
  dataId: `${dataIdString}_tickIcon`,
@@ -4,6 +4,7 @@ import { ListItemWithCheckBoxDefaultProps } from "./props/defaultProps";
4
4
  import { ListItemWithCheckBox_Props } from "./props/propTypes";
5
5
  import CheckBox from "../CheckBox/CheckBox";
6
6
  import { Box, Container } from "../Layout";
7
+ import { renderNode, isRenderable } from '@zohodesk/utils';
7
8
  import style from "./ListItem.module.css";
8
9
  export default class ListItemWithCheckBox extends React.Component {
9
10
  constructor(props) {
@@ -61,6 +62,7 @@ export default class ListItemWithCheckBox extends React.Component {
61
62
  customProps,
62
63
  needMultiLineText,
63
64
  secondaryValue,
65
+ renderValueRightPlaceholderNode,
64
66
  lhsAlignContent,
65
67
  lhsJustifyContent
66
68
  } = this.props;
@@ -75,7 +77,8 @@ export default class ListItemWithCheckBox extends React.Component {
75
77
  let {
76
78
  customListItem = '',
77
79
  customCheckBox = '',
78
- customLabel = ''
80
+ customLabel = '',
81
+ customValueRightPlaceholder = ''
79
82
  } = customClass;
80
83
  return /*#__PURE__*/React.createElement(ListContainer, {
81
84
  a11y: listA11y,
@@ -112,16 +115,20 @@ export default class ListItemWithCheckBox extends React.Component {
112
115
  }
113
116
  }))), /*#__PURE__*/React.createElement(Box, {
114
117
  flexible: true,
115
- shrink: true
116
- }, /*#__PURE__*/React.createElement(Container, {
117
- alignBox: "column"
118
+ className: style.leftBox
119
+ }, /*#__PURE__*/React.createElement(Box, {
120
+ className: style.titleBox
118
121
  }, value ? /*#__PURE__*/React.createElement(Box, {
122
+ shrink: true,
123
+ adjust: true,
119
124
  "data-title": isDisabled ? null : title,
120
125
  className: needMultiLineText ? style.multiLineValue : style.value
121
- }, value) : null, secondaryValue ? /*#__PURE__*/React.createElement(Box, {
126
+ }, value) : null, isRenderable(renderValueRightPlaceholderNode) ? /*#__PURE__*/React.createElement(Box, {
127
+ className: customValueRightPlaceholder
128
+ }, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
122
129
  "data-title": isDisabled ? null : secondaryValue,
123
130
  className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
124
- }, secondaryValue) : null)));
131
+ }, secondaryValue) : null));
125
132
  }
126
133
 
127
134
  }
@@ -5,6 +5,9 @@ import { Icon } from '@zohodesk/icons';
5
5
  import ListContainer from "./ListContainer";
6
6
  import { ListItemWithIconDefaultProps } from "./props/defaultProps";
7
7
  import { ListItemWithIcon_Props } from "./props/propTypes";
8
+ /*** Utils ****/
9
+
10
+ import { renderNode, isRenderable } from '@zohodesk/utils';
8
11
  /**** CSS ****/
9
12
 
10
13
  import style from "./ListItem.module.css";
@@ -69,9 +72,11 @@ export default class ListItemWithIcon extends React.Component {
69
72
  disableTitle,
70
73
  a11y,
71
74
  customClass,
75
+ customValueRightPlaceholderClass,
72
76
  customProps,
73
77
  needMultiLineText,
74
78
  secondaryValue,
79
+ renderValueRightPlaceholderNode,
75
80
  lhsAlignContent,
76
81
  lhsJustifyContent
77
82
  } = this.props;
@@ -127,17 +132,21 @@ export default class ListItemWithIcon extends React.Component {
127
132
  className: iconClass
128
133
  }) : null, /*#__PURE__*/React.createElement(Box, {
129
134
  flexible: true,
130
- shrink: true
131
- }, /*#__PURE__*/React.createElement(Container, {
132
- alignBox: "column"
135
+ className: style.leftBox
136
+ }, /*#__PURE__*/React.createElement(Box, {
137
+ className: style.titleBox
133
138
  }, value ? /*#__PURE__*/React.createElement(Box, {
139
+ shrink: true,
140
+ adjust: true,
134
141
  className: needMultiLineText ? style.multiLineValue : style.value,
135
142
  "data-title": isDisabled ? null : title,
136
143
  dataId: `${dataIdString}_Text`
137
- }, value) : null, secondaryValue ? /*#__PURE__*/React.createElement(Box, {
144
+ }, value) : null, isRenderable(renderValueRightPlaceholderNode) ? /*#__PURE__*/React.createElement(Box, {
145
+ className: customValueRightPlaceholderClass
146
+ }, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
138
147
  "data-title": isDisabled ? null : secondaryValue,
139
148
  className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
140
- }, secondaryValue) : null)), needTick && active ? /*#__PURE__*/React.createElement(Box, {
149
+ }, secondaryValue) : null), needTick && active ? /*#__PURE__*/React.createElement(Box, {
141
150
  className: style.tickIcon,
142
151
  "aria-hidden": ariaHidden,
143
152
  dataId: `${dataIdString}_tickIcon`,
@@ -4,6 +4,7 @@ import { Box, Container } from "../Layout";
4
4
  import ListContainer from "./ListContainer";
5
5
  import { ListItemWithRadioDefaultProps } from "./props/defaultProps";
6
6
  import { ListItemWithRadio_Props } from "./props/propTypes";
7
+ import { renderNode, isRenderable } from '@zohodesk/utils';
7
8
  import style from "./ListItem.module.css";
8
9
  export default class ListItemWithRadio extends React.Component {
9
10
  constructor(props) {
@@ -62,6 +63,7 @@ export default class ListItemWithRadio extends React.Component {
62
63
  customProps,
63
64
  needMultiLineText,
64
65
  secondaryValue,
66
+ renderValueRightPlaceholderNode,
65
67
  lhsAlignContent,
66
68
  lhsJustifyContent
67
69
  } = this.props;
@@ -76,7 +78,8 @@ export default class ListItemWithRadio extends React.Component {
76
78
  let {
77
79
  customListItem = '',
78
80
  customRadio = '',
79
- customRadioWrap = ''
81
+ customRadioWrap = '',
82
+ customValueRightPlaceholder = ''
80
83
  } = customClass;
81
84
  return /*#__PURE__*/React.createElement(ListContainer, {
82
85
  a11y: listA11y,
@@ -115,16 +118,20 @@ export default class ListItemWithRadio extends React.Component {
115
118
  }
116
119
  }))), /*#__PURE__*/React.createElement(Box, {
117
120
  flexible: true,
118
- shrink: true
119
- }, /*#__PURE__*/React.createElement(Container, {
120
- alignBox: "column"
121
+ className: style.leftBox
122
+ }, /*#__PURE__*/React.createElement(Box, {
123
+ className: style.titleBox
121
124
  }, value ? /*#__PURE__*/React.createElement(Box, {
125
+ shrink: true,
126
+ adjust: true,
122
127
  "data-title": disableTitle ? null : title,
123
128
  className: needMultiLineText ? style.multiLineValue : style.value
124
- }, value) : null, secondaryValue ? /*#__PURE__*/React.createElement(Box, {
129
+ }, value) : null, isRenderable(renderValueRightPlaceholderNode) ? /*#__PURE__*/React.createElement(Box, {
130
+ className: customValueRightPlaceholder
131
+ }, renderNode(renderValueRightPlaceholderNode)) : null), secondaryValue ? /*#__PURE__*/React.createElement(Box, {
125
132
  "data-title": isDisabled ? null : secondaryValue,
126
133
  className: `${style.secondaryField} ${needMultiLineText ? style.multiLine : style.secondaryValue}`
127
- }, secondaryValue) : null)));
134
+ }, secondaryValue) : null));
128
135
  }
129
136
 
130
137
  }
@@ -8,4 +8,23 @@ describe('ListItem', () => {
8
8
  } = render( /*#__PURE__*/React.createElement(ListItem, null));
9
9
  expect(asFragment()).toMatchSnapshot();
10
10
  });
11
+ test('ListItem with renderValueRightPlaceholderNode', () => {
12
+ const {
13
+ asFragment
14
+ } = render( /*#__PURE__*/React.createElement(ListItem, {
15
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder")
16
+ }));
17
+ expect(asFragment()).toMatchSnapshot();
18
+ });
19
+ test('ListItem with renderValueRightPlaceholderNode & it\'s custom class', () => {
20
+ const {
21
+ asFragment
22
+ } = render( /*#__PURE__*/React.createElement(ListItem, {
23
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder"),
24
+ customClass: {
25
+ customValueRightPlaceholder: "customValueRightPlaceholderClass"
26
+ }
27
+ }));
28
+ expect(asFragment()).toMatchSnapshot();
29
+ });
11
30
  });
@@ -43,4 +43,23 @@ describe('ListItemWithAvatar', () => {
43
43
  }));
44
44
  expect(asFragment()).toMatchSnapshot();
45
45
  });
46
+ test('ListItemWithAvatar with renderValueRightPlaceholderNode', () => {
47
+ const {
48
+ asFragment
49
+ } = render( /*#__PURE__*/React.createElement(ListItemWithAvatar, {
50
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder")
51
+ }));
52
+ expect(asFragment()).toMatchSnapshot();
53
+ });
54
+ test('ListItemWithAvatar with renderValueRightPlaceholderNode & it\'s custom class', () => {
55
+ const {
56
+ asFragment
57
+ } = render( /*#__PURE__*/React.createElement(ListItemWithAvatar, {
58
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder"),
59
+ customClass: {
60
+ customValueRightPlaceholder: "customValueRightPlaceholderClass"
61
+ }
62
+ }));
63
+ expect(asFragment()).toMatchSnapshot();
64
+ });
46
65
  });
@@ -43,4 +43,23 @@ describe('ListItemWithCheckBox', () => {
43
43
  }));
44
44
  expect(asFragment()).toMatchSnapshot();
45
45
  });
46
+ test('ListItemWithCheckBox with renderValueRightPlaceholderNode', () => {
47
+ const {
48
+ asFragment
49
+ } = render( /*#__PURE__*/React.createElement(ListItemWithCheckBox, {
50
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder")
51
+ }));
52
+ expect(asFragment()).toMatchSnapshot();
53
+ });
54
+ test('ListItemWithCheckBox with renderValueRightPlaceholderNode & it\'s custom class', () => {
55
+ const {
56
+ asFragment
57
+ } = render( /*#__PURE__*/React.createElement(ListItemWithCheckBox, {
58
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder"),
59
+ customClass: {
60
+ customValueRightPlaceholder: "customValueRightPlaceholderClass"
61
+ }
62
+ }));
63
+ expect(asFragment()).toMatchSnapshot();
64
+ });
46
65
  });
@@ -43,4 +43,21 @@ describe('ListItemWithIcon', () => {
43
43
  }));
44
44
  expect(asFragment()).toMatchSnapshot();
45
45
  });
46
+ test('ListItemWithIcon with renderValueRightPlaceholderNode', () => {
47
+ const {
48
+ asFragment
49
+ } = render( /*#__PURE__*/React.createElement(ListItemWithIcon, {
50
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder")
51
+ }));
52
+ expect(asFragment()).toMatchSnapshot();
53
+ });
54
+ test('ListItemWithIcon with renderValueRightPlaceholderNode & it\'s custom class', () => {
55
+ const {
56
+ asFragment
57
+ } = render( /*#__PURE__*/React.createElement(ListItemWithIcon, {
58
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder"),
59
+ customValueRightPlaceholderClass: "customValueRightPlaceholderClass"
60
+ }));
61
+ expect(asFragment()).toMatchSnapshot();
62
+ });
46
63
  });
@@ -43,4 +43,23 @@ describe('ListItemWithRadio', () => {
43
43
  }));
44
44
  expect(asFragment()).toMatchSnapshot();
45
45
  });
46
+ test('ListItemWithRadio with renderValueRightPlaceholderNode', () => {
47
+ const {
48
+ asFragment
49
+ } = render( /*#__PURE__*/React.createElement(ListItemWithRadio, {
50
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder")
51
+ }));
52
+ expect(asFragment()).toMatchSnapshot();
53
+ });
54
+ test('ListItemWithRadio with renderValueRightPlaceholderNode & it\'s custom class', () => {
55
+ const {
56
+ asFragment
57
+ } = render( /*#__PURE__*/React.createElement(ListItemWithRadio, {
58
+ renderValueRightPlaceholderNode: () => /*#__PURE__*/React.createElement("div", null, "Custom Placeholder"),
59
+ customClass: {
60
+ customValueRightPlaceholder: "customValueRightPlaceholderClass"
61
+ }
62
+ }));
63
+ expect(asFragment()).toMatchSnapshot();
64
+ });
46
65
  });
@@ -1,5 +1,83 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`ListItem ListItem with renderValueRightPlaceholderNode & it's custom class 1`] = `
4
+ <DocumentFragment>
5
+ <li
6
+ class="list medium default withBorder flex rowdir vCenter"
7
+ data-a11y-inset-focus="true"
8
+ data-id="listItem"
9
+ data-selector-id="listItem"
10
+ data-test-id="listItem"
11
+ role="option"
12
+ tabindex="0"
13
+ >
14
+ <div
15
+ class="leftBox grow basis shrinkOff"
16
+ data-id="boxComponent"
17
+ data-selector-id="box"
18
+ data-test-id="boxComponent"
19
+ >
20
+ <div
21
+ class="titleBox shrinkOff"
22
+ data-id="boxComponent"
23
+ data-selector-id="box"
24
+ data-test-id="boxComponent"
25
+ >
26
+ <div
27
+ class="customValueRightPlaceholderClass shrinkOff"
28
+ data-id="boxComponent"
29
+ data-selector-id="box"
30
+ data-test-id="boxComponent"
31
+ >
32
+ <div>
33
+ Custom Placeholder
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </li>
39
+ </DocumentFragment>
40
+ `;
41
+
42
+ exports[`ListItem ListItem with renderValueRightPlaceholderNode 1`] = `
43
+ <DocumentFragment>
44
+ <li
45
+ class="list medium default withBorder flex rowdir vCenter"
46
+ data-a11y-inset-focus="true"
47
+ data-id="listItem"
48
+ data-selector-id="listItem"
49
+ data-test-id="listItem"
50
+ role="option"
51
+ tabindex="0"
52
+ >
53
+ <div
54
+ class="leftBox grow basis shrinkOff"
55
+ data-id="boxComponent"
56
+ data-selector-id="box"
57
+ data-test-id="boxComponent"
58
+ >
59
+ <div
60
+ class="titleBox shrinkOff"
61
+ data-id="boxComponent"
62
+ data-selector-id="box"
63
+ data-test-id="boxComponent"
64
+ >
65
+ <div
66
+ class="shrinkOff"
67
+ data-id="boxComponent"
68
+ data-selector-id="box"
69
+ data-test-id="boxComponent"
70
+ >
71
+ <div>
72
+ Custom Placeholder
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </li>
78
+ </DocumentFragment>
79
+ `;
80
+
3
81
  exports[`ListItem rendering the defult props 1`] = `
4
82
  <DocumentFragment>
5
83
  <li