@zohodesk/components 1.0.0-temp-230.1 → 1.0.0-temp-234
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.
- package/.cli/propValidation_report.html +1 -1
- package/README.md +41 -11
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +0 -8
- package/assets/Appearance/light/mode/Component_LightMode.module.css +0 -8
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +0 -8
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
- package/es/ListItem/ListItem.js +7 -8
- package/es/ListItem/ListItem.module.css +0 -6
- package/es/ListItem/ListItemWithAvatar.js +12 -6
- package/es/ListItem/ListItemWithCheckBox.js +12 -6
- package/es/ListItem/ListItemWithIcon.js +11 -5
- package/es/ListItem/ListItemWithRadio.js +12 -6
- package/es/ListItem/__tests__/ListItem.spec.js +14 -3
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
- package/es/ListItem/props/propTypes.js +14 -5
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -8
- package/es/MultiSelect/AdvancedMultiSelect.js +13 -6
- package/es/MultiSelect/EmptyState.js +2 -1
- package/es/MultiSelect/MultiSelect.js +67 -35
- package/es/MultiSelect/MultiSelectWithAvatar.js +9 -2
- package/es/MultiSelect/SelectedOptions.js +3 -24
- package/es/MultiSelect/Suggestions.js +175 -98
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +19 -32
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +0 -13
- package/es/MultiSelect/__tests__/Suggestions.spec.js +52 -6
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
- package/es/MultiSelect/constants.js +6 -0
- package/es/MultiSelect/props/defaultProps.js +2 -0
- package/es/MultiSelect/props/propTypes.js +16 -58
- package/es/Select/GroupSelect.js +4 -2
- package/es/Select/Select.js +50 -44
- package/es/Select/SelectWithAvatar.js +14 -3
- package/es/Select/SelectWithIcon.js +7 -3
- package/es/Select/__tests__/Select.spec.js +0 -10
- package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
- package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
- package/es/Select/props/defaultProps.js +2 -0
- package/es/Select/props/propTypes.js +7 -2
- package/es/TextBoxIcon/TextBoxIcon.js +12 -17
- package/es/TextBoxIcon/TextBoxIcon.module.css +38 -3
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
- package/es/TextBoxIcon/props/propTypes.js +2 -1
- package/es/utils/Common.js +3 -4
- package/es/utils/dropDownUtils.js +40 -16
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
- package/lib/ListItem/ListItem.js +8 -8
- package/lib/ListItem/ListItem.module.css +0 -6
- package/lib/ListItem/ListItemWithAvatar.js +13 -6
- package/lib/ListItem/ListItemWithCheckBox.js +13 -6
- package/lib/ListItem/ListItemWithIcon.js +11 -5
- package/lib/ListItem/ListItemWithRadio.js +13 -6
- package/lib/ListItem/__tests__/ListItem.spec.js +18 -3
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
- package/lib/ListItem/props/propTypes.js +14 -6
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +94 -83
- package/lib/MultiSelect/AdvancedMultiSelect.js +16 -7
- package/lib/MultiSelect/EmptyState.js +3 -1
- package/lib/MultiSelect/MultiSelect.js +68 -33
- package/lib/MultiSelect/MultiSelectWithAvatar.js +11 -3
- package/lib/MultiSelect/SelectedOptions.js +3 -24
- package/lib/MultiSelect/Suggestions.js +177 -101
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +19 -34
- package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +0 -15
- package/lib/MultiSelect/__tests__/Suggestions.spec.js +52 -8
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
- package/lib/MultiSelect/constants.js +13 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +15 -58
- package/lib/Select/GroupSelect.js +4 -3
- package/lib/Select/Select.js +48 -41
- package/lib/Select/SelectWithAvatar.js +14 -6
- package/lib/Select/SelectWithIcon.js +7 -4
- package/lib/Select/__tests__/Select.spec.js +0 -12
- package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
- package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
- package/lib/Select/props/defaultProps.js +2 -0
- package/lib/Select/props/propTypes.js +7 -2
- package/lib/TextBoxIcon/TextBoxIcon.js +13 -18
- package/lib/TextBoxIcon/TextBoxIcon.module.css +38 -3
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
- package/lib/TextBoxIcon/props/propTypes.js +2 -1
- package/lib/utils/Common.js +5 -9
- package/lib/utils/dropDownUtils.js +40 -15
- package/package.json +10 -10
- package/es/ColorSelect/ColorMultiSelect.js +0 -36
- package/es/ColorSelect/ColorSingleSelect.js +0 -50
- package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -59
- package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -59
- package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
- package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
- package/es/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -27
- package/es/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
- package/es/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -60
- package/es/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
- package/es/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -7
- package/es/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -9
- package/es/ColorSelect/common/ColoredTag/ColoredTag.js +0 -33
- package/es/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -50
- package/es/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
- package/es/ColorSelect/common/ColoredTag/props/propTypes.js +0 -9
- package/es/ColorSelect/common/helpers.js +0 -35
- package/es/ColorSelect/props/defaultProps.js +0 -13
- package/es/ColorSelect/props/propTypes.js +0 -14
- package/es/shared/ArrowIcon/ArrowIcon.js +0 -36
- package/es/shared/ArrowIcon/ArrowIcon.module.css +0 -22
- package/es/shared/ArrowIcon/props/defaultProps.js +0 -6
- package/es/shared/ArrowIcon/props/propTypes.js +0 -10
- package/es/shared/InputFieldLine/InputFieldLine.js +0 -39
- package/es/shared/InputFieldLine/InputFieldLine.module.css +0 -90
- package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -114
- package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
- package/es/shared/InputFieldLine/props/defaultProps.js +0 -14
- package/es/shared/InputFieldLine/props/propTypes.js +0 -19
- package/lib/ColorSelect/ColorMultiSelect.js +0 -65
- package/lib/ColorSelect/ColorSingleSelect.js +0 -78
- package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -70
- package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -70
- package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
- package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
- package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -40
- package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
- package/lib/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -67
- package/lib/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
- package/lib/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -14
- package/lib/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -20
- package/lib/ColorSelect/common/ColoredTag/ColoredTag.js +0 -61
- package/lib/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -58
- package/lib/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
- package/lib/ColorSelect/common/ColoredTag/props/propTypes.js +0 -28
- package/lib/ColorSelect/common/helpers.js +0 -53
- package/lib/ColorSelect/props/defaultProps.js +0 -31
- package/lib/ColorSelect/props/propTypes.js +0 -35
- package/lib/shared/ArrowIcon/ArrowIcon.js +0 -51
- package/lib/shared/ArrowIcon/ArrowIcon.module.css +0 -22
- package/lib/shared/ArrowIcon/props/defaultProps.js +0 -13
- package/lib/shared/ArrowIcon/props/propTypes.js +0 -21
- package/lib/shared/InputFieldLine/InputFieldLine.js +0 -53
- package/lib/shared/InputFieldLine/InputFieldLine.module.css +0 -90
- package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -122
- package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
- package/lib/shared/InputFieldLine/props/defaultProps.js +0 -21
- package/lib/shared/InputFieldLine/props/propTypes.js +0 -36
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[`ListItemWithRadio ListItemWithRadio with
|
|
3
|
+
exports[`ListItemWithRadio ListItemWithRadio with renderValueRightPlaceholderNode & it's custom class 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
5
|
<li
|
|
6
6
|
class="list medium default withBorder flex rowdir vCenter"
|
|
@@ -12,13 +12,13 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
12
12
|
tabindex="0"
|
|
13
13
|
>
|
|
14
14
|
<div
|
|
15
|
-
class="iconBox lhsBox lhsJustifyContent_center shrinkOff
|
|
15
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfStart"
|
|
16
16
|
data-id="listItemWithRadioComp_radio"
|
|
17
17
|
data-selector-id="box"
|
|
18
18
|
data-test-id="listItemWithRadioComp_radio"
|
|
19
19
|
>
|
|
20
20
|
<div
|
|
21
|
-
class="shrinkOff
|
|
21
|
+
class="lhsBox_medium shrinkOff selfStart"
|
|
22
22
|
data-id="boxComponent"
|
|
23
23
|
data-selector-id="box"
|
|
24
24
|
data-test-id="boxComponent"
|
|
@@ -65,19 +65,19 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
<div
|
|
68
|
-
class="grow basis
|
|
68
|
+
class="leftBox grow basis shrinkOff"
|
|
69
69
|
data-id="boxComponent"
|
|
70
70
|
data-selector-id="box"
|
|
71
71
|
data-test-id="boxComponent"
|
|
72
72
|
>
|
|
73
73
|
<div
|
|
74
|
-
class="
|
|
75
|
-
data-id="
|
|
76
|
-
data-selector-id="
|
|
77
|
-
data-test-id="
|
|
74
|
+
class="titleBox shrinkOff"
|
|
75
|
+
data-id="boxComponent"
|
|
76
|
+
data-selector-id="box"
|
|
77
|
+
data-test-id="boxComponent"
|
|
78
78
|
>
|
|
79
79
|
<div
|
|
80
|
-
class="value
|
|
80
|
+
class="value basisAuto shrinkOn"
|
|
81
81
|
data-id="boxComponent"
|
|
82
82
|
data-selector-id="box"
|
|
83
83
|
data-test-id="boxComponent"
|
|
@@ -85,13 +85,14 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
85
85
|
List
|
|
86
86
|
</div>
|
|
87
87
|
<div
|
|
88
|
-
class="
|
|
88
|
+
class="customValueRightPlaceholderClass shrinkOff"
|
|
89
89
|
data-id="boxComponent"
|
|
90
90
|
data-selector-id="box"
|
|
91
91
|
data-test-id="boxComponent"
|
|
92
|
-
data-title="secondaryValue"
|
|
93
92
|
>
|
|
94
|
-
|
|
93
|
+
<div>
|
|
94
|
+
Custom Placeholder
|
|
95
|
+
</div>
|
|
95
96
|
</div>
|
|
96
97
|
</div>
|
|
97
98
|
</div>
|
|
@@ -99,7 +100,7 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
99
100
|
</DocumentFragment>
|
|
100
101
|
`;
|
|
101
102
|
|
|
102
|
-
exports[`ListItemWithRadio ListItemWithRadio with
|
|
103
|
+
exports[`ListItemWithRadio ListItemWithRadio with renderValueRightPlaceholderNode 1`] = `
|
|
103
104
|
<DocumentFragment>
|
|
104
105
|
<li
|
|
105
106
|
class="list medium default withBorder flex rowdir vCenter"
|
|
@@ -111,13 +112,13 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
111
112
|
tabindex="0"
|
|
112
113
|
>
|
|
113
114
|
<div
|
|
114
|
-
class="iconBox lhsBox lhsJustifyContent_center shrinkOff
|
|
115
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfStart"
|
|
115
116
|
data-id="listItemWithRadioComp_radio"
|
|
116
117
|
data-selector-id="box"
|
|
117
118
|
data-test-id="listItemWithRadioComp_radio"
|
|
118
119
|
>
|
|
119
120
|
<div
|
|
120
|
-
class="lhsBox_medium shrinkOff
|
|
121
|
+
class="lhsBox_medium shrinkOff selfStart"
|
|
121
122
|
data-id="boxComponent"
|
|
122
123
|
data-selector-id="box"
|
|
123
124
|
data-test-id="boxComponent"
|
|
@@ -164,19 +165,19 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
164
165
|
</div>
|
|
165
166
|
</div>
|
|
166
167
|
<div
|
|
167
|
-
class="grow basis
|
|
168
|
+
class="leftBox grow basis shrinkOff"
|
|
168
169
|
data-id="boxComponent"
|
|
169
170
|
data-selector-id="box"
|
|
170
171
|
data-test-id="boxComponent"
|
|
171
172
|
>
|
|
172
173
|
<div
|
|
173
|
-
class="
|
|
174
|
-
data-id="
|
|
175
|
-
data-selector-id="
|
|
176
|
-
data-test-id="
|
|
174
|
+
class="titleBox shrinkOff"
|
|
175
|
+
data-id="boxComponent"
|
|
176
|
+
data-selector-id="box"
|
|
177
|
+
data-test-id="boxComponent"
|
|
177
178
|
>
|
|
178
179
|
<div
|
|
179
|
-
class="value
|
|
180
|
+
class="value basisAuto shrinkOn"
|
|
180
181
|
data-id="boxComponent"
|
|
181
182
|
data-selector-id="box"
|
|
182
183
|
data-test-id="boxComponent"
|
|
@@ -184,13 +185,14 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
184
185
|
List
|
|
185
186
|
</div>
|
|
186
187
|
<div
|
|
187
|
-
class="
|
|
188
|
+
class="shrinkOff"
|
|
188
189
|
data-id="boxComponent"
|
|
189
190
|
data-selector-id="box"
|
|
190
191
|
data-test-id="boxComponent"
|
|
191
|
-
data-title="secondaryValue"
|
|
192
192
|
>
|
|
193
|
-
|
|
193
|
+
<div>
|
|
194
|
+
Custom Placeholder
|
|
195
|
+
</div>
|
|
194
196
|
</div>
|
|
195
197
|
</div>
|
|
196
198
|
</div>
|
|
@@ -198,7 +200,7 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS a
|
|
|
198
200
|
</DocumentFragment>
|
|
199
201
|
`;
|
|
200
202
|
|
|
201
|
-
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue 1`] = `
|
|
203
|
+
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS align center 1`] = `
|
|
202
204
|
<DocumentFragment>
|
|
203
205
|
<li
|
|
204
206
|
class="list medium default withBorder flex rowdir vCenter"
|
|
@@ -210,13 +212,13 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue 1`] = `
|
|
|
210
212
|
tabindex="0"
|
|
211
213
|
>
|
|
212
214
|
<div
|
|
213
|
-
class="iconBox lhsBox lhsJustifyContent_center shrinkOff
|
|
215
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfCenter"
|
|
214
216
|
data-id="listItemWithRadioComp_radio"
|
|
215
217
|
data-selector-id="box"
|
|
216
218
|
data-test-id="listItemWithRadioComp_radio"
|
|
217
219
|
>
|
|
218
220
|
<div
|
|
219
|
-
class="
|
|
221
|
+
class="shrinkOff selfCenter"
|
|
220
222
|
data-id="boxComponent"
|
|
221
223
|
data-selector-id="box"
|
|
222
224
|
data-test-id="boxComponent"
|
|
@@ -263,41 +265,140 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue 1`] = `
|
|
|
263
265
|
</div>
|
|
264
266
|
</div>
|
|
265
267
|
<div
|
|
266
|
-
class="grow basis
|
|
268
|
+
class="leftBox grow basis shrinkOff"
|
|
267
269
|
data-id="boxComponent"
|
|
268
270
|
data-selector-id="box"
|
|
269
271
|
data-test-id="boxComponent"
|
|
270
272
|
>
|
|
271
273
|
<div
|
|
272
|
-
class="
|
|
273
|
-
data-id="
|
|
274
|
-
data-selector-id="
|
|
275
|
-
data-test-id="
|
|
274
|
+
class="titleBox shrinkOff"
|
|
275
|
+
data-id="boxComponent"
|
|
276
|
+
data-selector-id="box"
|
|
277
|
+
data-test-id="boxComponent"
|
|
276
278
|
>
|
|
277
279
|
<div
|
|
278
|
-
class="value
|
|
280
|
+
class="value basisAuto shrinkOn"
|
|
279
281
|
data-id="boxComponent"
|
|
280
282
|
data-selector-id="box"
|
|
281
283
|
data-test-id="boxComponent"
|
|
282
284
|
>
|
|
283
285
|
List
|
|
284
286
|
</div>
|
|
287
|
+
</div>
|
|
288
|
+
<div
|
|
289
|
+
class="secondaryField secondaryValue shrinkOff"
|
|
290
|
+
data-id="boxComponent"
|
|
291
|
+
data-selector-id="box"
|
|
292
|
+
data-test-id="boxComponent"
|
|
293
|
+
data-title="secondaryValue"
|
|
294
|
+
>
|
|
295
|
+
secondaryValue
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
</li>
|
|
299
|
+
</DocumentFragment>
|
|
300
|
+
`;
|
|
301
|
+
|
|
302
|
+
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS align end 1`] = `
|
|
303
|
+
<DocumentFragment>
|
|
304
|
+
<li
|
|
305
|
+
class="list medium default withBorder flex rowdir vCenter"
|
|
306
|
+
data-a11y-inset-focus="true"
|
|
307
|
+
data-id="listItemWithRadioComp"
|
|
308
|
+
data-selector-id="listItemWithRadio"
|
|
309
|
+
data-test-id="listItemWithRadioComp"
|
|
310
|
+
role="option"
|
|
311
|
+
tabindex="0"
|
|
312
|
+
>
|
|
313
|
+
<div
|
|
314
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfEnd"
|
|
315
|
+
data-id="listItemWithRadioComp_radio"
|
|
316
|
+
data-selector-id="box"
|
|
317
|
+
data-test-id="listItemWithRadioComp_radio"
|
|
318
|
+
>
|
|
319
|
+
<div
|
|
320
|
+
class="lhsBox_medium shrinkOff selfEnd"
|
|
321
|
+
data-id="boxComponent"
|
|
322
|
+
data-selector-id="box"
|
|
323
|
+
data-test-id="boxComponent"
|
|
324
|
+
>
|
|
285
325
|
<div
|
|
286
|
-
|
|
326
|
+
aria-checked="false"
|
|
327
|
+
aria-hidden="true"
|
|
328
|
+
aria-readonly="false"
|
|
329
|
+
class="container pointer hoverEfffect inflex rowdir both"
|
|
330
|
+
data-id="RadioComp"
|
|
331
|
+
data-selector-id="container"
|
|
332
|
+
data-test-id="RadioComp"
|
|
333
|
+
role="radio"
|
|
334
|
+
tabindex="-1"
|
|
335
|
+
>
|
|
336
|
+
<div
|
|
337
|
+
class="radio
|
|
338
|
+
hoverprimary medium filled centerPathprimary shrinkOff"
|
|
339
|
+
data-id="boxComponent"
|
|
340
|
+
data-selector-id="box"
|
|
341
|
+
data-test-id="boxComponent"
|
|
342
|
+
>
|
|
343
|
+
<input
|
|
344
|
+
type="hidden"
|
|
345
|
+
value=""
|
|
346
|
+
/>
|
|
347
|
+
<label
|
|
348
|
+
class="radioLabel pointer"
|
|
349
|
+
>
|
|
350
|
+
<svg
|
|
351
|
+
viewBox="0 0 40 40"
|
|
352
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
353
|
+
>
|
|
354
|
+
<circle
|
|
355
|
+
class="rdBox"
|
|
356
|
+
cx="20"
|
|
357
|
+
cy="20"
|
|
358
|
+
r="19"
|
|
359
|
+
/>
|
|
360
|
+
</svg>
|
|
361
|
+
</label>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
</div>
|
|
366
|
+
<div
|
|
367
|
+
class="leftBox grow basis shrinkOff"
|
|
368
|
+
data-id="boxComponent"
|
|
369
|
+
data-selector-id="box"
|
|
370
|
+
data-test-id="boxComponent"
|
|
371
|
+
>
|
|
372
|
+
<div
|
|
373
|
+
class="titleBox shrinkOff"
|
|
374
|
+
data-id="boxComponent"
|
|
375
|
+
data-selector-id="box"
|
|
376
|
+
data-test-id="boxComponent"
|
|
377
|
+
>
|
|
378
|
+
<div
|
|
379
|
+
class="value basisAuto shrinkOn"
|
|
287
380
|
data-id="boxComponent"
|
|
288
381
|
data-selector-id="box"
|
|
289
382
|
data-test-id="boxComponent"
|
|
290
|
-
data-title="secondaryValue"
|
|
291
383
|
>
|
|
292
|
-
|
|
384
|
+
List
|
|
293
385
|
</div>
|
|
294
386
|
</div>
|
|
387
|
+
<div
|
|
388
|
+
class="secondaryField secondaryValue shrinkOff"
|
|
389
|
+
data-id="boxComponent"
|
|
390
|
+
data-selector-id="box"
|
|
391
|
+
data-test-id="boxComponent"
|
|
392
|
+
data-title="secondaryValue"
|
|
393
|
+
>
|
|
394
|
+
secondaryValue
|
|
395
|
+
</div>
|
|
295
396
|
</div>
|
|
296
397
|
</li>
|
|
297
398
|
</DocumentFragment>
|
|
298
399
|
`;
|
|
299
400
|
|
|
300
|
-
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue
|
|
401
|
+
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue 1`] = `
|
|
301
402
|
<DocumentFragment>
|
|
302
403
|
<li
|
|
303
404
|
class="list medium default withBorder flex rowdir vCenter"
|
|
@@ -362,35 +463,134 @@ exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS al
|
|
|
362
463
|
</div>
|
|
363
464
|
</div>
|
|
364
465
|
<div
|
|
365
|
-
class="grow basis
|
|
466
|
+
class="leftBox grow basis shrinkOff"
|
|
366
467
|
data-id="boxComponent"
|
|
367
468
|
data-selector-id="box"
|
|
368
469
|
data-test-id="boxComponent"
|
|
369
470
|
>
|
|
370
471
|
<div
|
|
371
|
-
class="
|
|
372
|
-
data-id="
|
|
373
|
-
data-selector-id="
|
|
374
|
-
data-test-id="
|
|
472
|
+
class="titleBox shrinkOff"
|
|
473
|
+
data-id="boxComponent"
|
|
474
|
+
data-selector-id="box"
|
|
475
|
+
data-test-id="boxComponent"
|
|
375
476
|
>
|
|
376
477
|
<div
|
|
377
|
-
class="value
|
|
478
|
+
class="value basisAuto shrinkOn"
|
|
378
479
|
data-id="boxComponent"
|
|
379
480
|
data-selector-id="box"
|
|
380
481
|
data-test-id="boxComponent"
|
|
381
482
|
>
|
|
382
483
|
List
|
|
383
484
|
</div>
|
|
485
|
+
</div>
|
|
486
|
+
<div
|
|
487
|
+
class="secondaryField secondaryValue shrinkOff"
|
|
488
|
+
data-id="boxComponent"
|
|
489
|
+
data-selector-id="box"
|
|
490
|
+
data-test-id="boxComponent"
|
|
491
|
+
data-title="secondaryValue"
|
|
492
|
+
>
|
|
493
|
+
secondaryValue
|
|
494
|
+
</div>
|
|
495
|
+
</div>
|
|
496
|
+
</li>
|
|
497
|
+
</DocumentFragment>
|
|
498
|
+
`;
|
|
499
|
+
|
|
500
|
+
exports[`ListItemWithRadio ListItemWithRadio with secondaryValue text and LHS align start 1`] = `
|
|
501
|
+
<DocumentFragment>
|
|
502
|
+
<li
|
|
503
|
+
class="list medium default withBorder flex rowdir vCenter"
|
|
504
|
+
data-a11y-inset-focus="true"
|
|
505
|
+
data-id="listItemWithRadioComp"
|
|
506
|
+
data-selector-id="listItemWithRadio"
|
|
507
|
+
data-test-id="listItemWithRadioComp"
|
|
508
|
+
role="option"
|
|
509
|
+
tabindex="0"
|
|
510
|
+
>
|
|
511
|
+
<div
|
|
512
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfStart"
|
|
513
|
+
data-id="listItemWithRadioComp_radio"
|
|
514
|
+
data-selector-id="box"
|
|
515
|
+
data-test-id="listItemWithRadioComp_radio"
|
|
516
|
+
>
|
|
517
|
+
<div
|
|
518
|
+
class="lhsBox_medium shrinkOff selfStart"
|
|
519
|
+
data-id="boxComponent"
|
|
520
|
+
data-selector-id="box"
|
|
521
|
+
data-test-id="boxComponent"
|
|
522
|
+
>
|
|
523
|
+
<div
|
|
524
|
+
aria-checked="false"
|
|
525
|
+
aria-hidden="true"
|
|
526
|
+
aria-readonly="false"
|
|
527
|
+
class="container pointer hoverEfffect inflex rowdir both"
|
|
528
|
+
data-id="RadioComp"
|
|
529
|
+
data-selector-id="container"
|
|
530
|
+
data-test-id="RadioComp"
|
|
531
|
+
role="radio"
|
|
532
|
+
tabindex="-1"
|
|
533
|
+
>
|
|
534
|
+
<div
|
|
535
|
+
class="radio
|
|
536
|
+
hoverprimary medium filled centerPathprimary shrinkOff"
|
|
537
|
+
data-id="boxComponent"
|
|
538
|
+
data-selector-id="box"
|
|
539
|
+
data-test-id="boxComponent"
|
|
540
|
+
>
|
|
541
|
+
<input
|
|
542
|
+
type="hidden"
|
|
543
|
+
value=""
|
|
544
|
+
/>
|
|
545
|
+
<label
|
|
546
|
+
class="radioLabel pointer"
|
|
547
|
+
>
|
|
548
|
+
<svg
|
|
549
|
+
viewBox="0 0 40 40"
|
|
550
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
551
|
+
>
|
|
552
|
+
<circle
|
|
553
|
+
class="rdBox"
|
|
554
|
+
cx="20"
|
|
555
|
+
cy="20"
|
|
556
|
+
r="19"
|
|
557
|
+
/>
|
|
558
|
+
</svg>
|
|
559
|
+
</label>
|
|
560
|
+
</div>
|
|
561
|
+
</div>
|
|
562
|
+
</div>
|
|
563
|
+
</div>
|
|
564
|
+
<div
|
|
565
|
+
class="leftBox grow basis shrinkOff"
|
|
566
|
+
data-id="boxComponent"
|
|
567
|
+
data-selector-id="box"
|
|
568
|
+
data-test-id="boxComponent"
|
|
569
|
+
>
|
|
570
|
+
<div
|
|
571
|
+
class="titleBox shrinkOff"
|
|
572
|
+
data-id="boxComponent"
|
|
573
|
+
data-selector-id="box"
|
|
574
|
+
data-test-id="boxComponent"
|
|
575
|
+
>
|
|
384
576
|
<div
|
|
385
|
-
class="
|
|
577
|
+
class="value basisAuto shrinkOn"
|
|
386
578
|
data-id="boxComponent"
|
|
387
579
|
data-selector-id="box"
|
|
388
580
|
data-test-id="boxComponent"
|
|
389
|
-
data-title="secondaryValue"
|
|
390
581
|
>
|
|
391
|
-
|
|
582
|
+
List
|
|
392
583
|
</div>
|
|
393
584
|
</div>
|
|
585
|
+
<div
|
|
586
|
+
class="secondaryField secondaryValue shrinkOff"
|
|
587
|
+
data-id="boxComponent"
|
|
588
|
+
data-selector-id="box"
|
|
589
|
+
data-test-id="boxComponent"
|
|
590
|
+
data-title="secondaryValue"
|
|
591
|
+
>
|
|
592
|
+
secondaryValue
|
|
593
|
+
</div>
|
|
394
594
|
</div>
|
|
395
595
|
</li>
|
|
396
596
|
</DocumentFragment>
|
|
@@ -461,19 +661,19 @@ exports[`ListItemWithRadio rendering the defult props 1`] = `
|
|
|
461
661
|
</div>
|
|
462
662
|
</div>
|
|
463
663
|
<div
|
|
464
|
-
class="grow basis
|
|
664
|
+
class="leftBox grow basis shrinkOff"
|
|
465
665
|
data-id="boxComponent"
|
|
466
666
|
data-selector-id="box"
|
|
467
667
|
data-test-id="boxComponent"
|
|
468
668
|
>
|
|
469
669
|
<div
|
|
470
|
-
class="
|
|
471
|
-
data-id="
|
|
472
|
-
data-selector-id="
|
|
473
|
-
data-test-id="
|
|
670
|
+
class="titleBox shrinkOff"
|
|
671
|
+
data-id="boxComponent"
|
|
672
|
+
data-selector-id="box"
|
|
673
|
+
data-test-id="boxComponent"
|
|
474
674
|
>
|
|
475
675
|
<div
|
|
476
|
-
class="value
|
|
676
|
+
class="value basisAuto shrinkOn"
|
|
477
677
|
data-id="boxComponent"
|
|
478
678
|
data-selector-id="box"
|
|
479
679
|
data-test-id="boxComponent"
|
|
@@ -60,13 +60,14 @@ export const ListItem_Props = {
|
|
|
60
60
|
needMultiLineText: PropTypes.bool,
|
|
61
61
|
customClass: PropTypes.shape({
|
|
62
62
|
customListItem: PropTypes.string,
|
|
63
|
-
customTickIcon: PropTypes.string
|
|
63
|
+
customTickIcon: PropTypes.string,
|
|
64
|
+
customValueRightPlaceholder: PropTypes.string
|
|
64
65
|
}),
|
|
65
66
|
customProps: PropTypes.shape({
|
|
66
67
|
ListItemProps: PropTypes.object
|
|
67
68
|
}),
|
|
68
69
|
secondaryValue: PropTypes.string,
|
|
69
|
-
|
|
70
|
+
renderValueRightPlaceholderNode: PropTypes.func
|
|
70
71
|
};
|
|
71
72
|
export const ListItemWithAvatar_Props = {
|
|
72
73
|
active: PropTypes.bool,
|
|
@@ -95,6 +96,7 @@ export const ListItemWithAvatar_Props = {
|
|
|
95
96
|
title: PropTypes.string,
|
|
96
97
|
value: PropTypes.string,
|
|
97
98
|
secondaryValue: PropTypes.string,
|
|
99
|
+
renderValueRightPlaceholderNode: PropTypes.func,
|
|
98
100
|
lhsAlignContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
99
101
|
a11y: PropTypes.shape({
|
|
100
102
|
role: PropTypes.string,
|
|
@@ -104,7 +106,8 @@ export const ListItemWithAvatar_Props = {
|
|
|
104
106
|
customClass: PropTypes.shape({
|
|
105
107
|
customListItem: PropTypes.string,
|
|
106
108
|
customAvatar: PropTypes.string,
|
|
107
|
-
customAvatarTeam: PropTypes.string
|
|
109
|
+
customAvatarTeam: PropTypes.string,
|
|
110
|
+
customValueRightPlaceholder: PropTypes.string
|
|
108
111
|
}),
|
|
109
112
|
needMultiLineText: PropTypes.bool,
|
|
110
113
|
customProps: PropTypes.shape({
|
|
@@ -133,6 +136,7 @@ export const ListItemWithCheckBox_Props = {
|
|
|
133
136
|
title: PropTypes.string,
|
|
134
137
|
value: PropTypes.string,
|
|
135
138
|
secondaryValue: PropTypes.string,
|
|
139
|
+
renderValueRightPlaceholderNode: PropTypes.func,
|
|
136
140
|
lhsAlignContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
137
141
|
lhsJustifyContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
138
142
|
a11y: PropTypes.shape({
|
|
@@ -143,7 +147,8 @@ export const ListItemWithCheckBox_Props = {
|
|
|
143
147
|
customClass: PropTypes.shape({
|
|
144
148
|
customListItem: PropTypes.string,
|
|
145
149
|
customCheckBox: PropTypes.string,
|
|
146
|
-
customLabel: PropTypes.string
|
|
150
|
+
customLabel: PropTypes.string,
|
|
151
|
+
customValueRightPlaceholder: PropTypes.string
|
|
147
152
|
}),
|
|
148
153
|
customProps: PropTypes.object
|
|
149
154
|
};
|
|
@@ -170,6 +175,7 @@ export const ListItemWithIcon_Props = {
|
|
|
170
175
|
title: PropTypes.string,
|
|
171
176
|
value: PropTypes.string,
|
|
172
177
|
secondaryValue: PropTypes.string,
|
|
178
|
+
renderValueRightPlaceholderNode: PropTypes.func,
|
|
173
179
|
lhsAlignContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
174
180
|
lhsJustifyContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
175
181
|
a11y: PropTypes.shape({
|
|
@@ -179,6 +185,7 @@ export const ListItemWithIcon_Props = {
|
|
|
179
185
|
}),
|
|
180
186
|
needMultiLineText: PropTypes.bool,
|
|
181
187
|
customClass: PropTypes.string,
|
|
188
|
+
customValueRightPlaceholderClass: PropTypes.string,
|
|
182
189
|
customProps: PropTypes.shape({
|
|
183
190
|
ListItemProps: PropTypes.object
|
|
184
191
|
}),
|
|
@@ -205,6 +212,7 @@ export const ListItemWithRadio_Props = {
|
|
|
205
212
|
title: PropTypes.string,
|
|
206
213
|
value: PropTypes.string,
|
|
207
214
|
secondaryValue: PropTypes.string,
|
|
215
|
+
renderValueRightPlaceholderNode: PropTypes.func,
|
|
208
216
|
lhsAlignContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
209
217
|
lhsJustifyContent: PropTypes.oneOf(['start', 'center', 'end']),
|
|
210
218
|
a11y: PropTypes.shape({
|
|
@@ -215,7 +223,8 @@ export const ListItemWithRadio_Props = {
|
|
|
215
223
|
customClass: PropTypes.shape({
|
|
216
224
|
customListItem: PropTypes.string,
|
|
217
225
|
customRadio: PropTypes.string,
|
|
218
|
-
customRadioWrap: PropTypes.string
|
|
226
|
+
customRadioWrap: PropTypes.string,
|
|
227
|
+
customValueRightPlaceholder: PropTypes.string
|
|
219
228
|
}),
|
|
220
229
|
customProps: PropTypes.object
|
|
221
230
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AdvancedGroupMultiSelect_propTypes } from "./props/propTypes";
|
|
3
3
|
import { AdvancedGroupMultiSelect_defaultProps } from "./props/defaultProps";
|
|
4
|
+
import { MULTISELECT_I18N_KEYS } from "./constants";
|
|
4
5
|
/**** Components ****/
|
|
5
6
|
|
|
6
7
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
@@ -185,7 +186,8 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
185
186
|
|
|
186
187
|
handleSelectedOptionIdChange(selectedGroupOptions, normalizedFormatOptions, normalizedSelectedOptions) {
|
|
187
188
|
const {
|
|
188
|
-
allowValueFallback
|
|
189
|
+
allowValueFallback,
|
|
190
|
+
limit
|
|
189
191
|
} = this.props;
|
|
190
192
|
let newSelectedOptions = selectedGroupOptions.map(option => optionIdGrouping(option.id, option.groupId));
|
|
191
193
|
let selectedOptionsLength = newSelectedOptions.length;
|
|
@@ -197,7 +199,8 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
197
199
|
selectedOptions: newSelectedOptions,
|
|
198
200
|
normalizedFormatOptions: formatOptions,
|
|
199
201
|
selectedOptionsLength,
|
|
200
|
-
allowValueFallback
|
|
202
|
+
allowValueFallback,
|
|
203
|
+
limit
|
|
201
204
|
});
|
|
202
205
|
}
|
|
203
206
|
|
|
@@ -390,7 +393,8 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
390
393
|
getNextOptions,
|
|
391
394
|
isPopupOpen,
|
|
392
395
|
isPopupOpenOnEnter,
|
|
393
|
-
onKeyDown
|
|
396
|
+
onKeyDown,
|
|
397
|
+
limit
|
|
394
398
|
} = this.props;
|
|
395
399
|
let highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
396
400
|
|
|
@@ -442,7 +446,7 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
442
446
|
hoverIndex: hoverIndex + 1
|
|
443
447
|
});
|
|
444
448
|
}
|
|
445
|
-
} else if (keyCode === 13) {
|
|
449
|
+
} else if (keyCode === 13 && selectedOptions.length < limit) {
|
|
446
450
|
//enter key
|
|
447
451
|
let id = suggestions[hoverIndex] || {};
|
|
448
452
|
isPopupOpen && !getIsEmptyValue(id) && this.handleSelectOption(id, null, null, e);
|
|
@@ -884,13 +888,15 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
884
888
|
needEffect,
|
|
885
889
|
autoComplete,
|
|
886
890
|
getTargetRef,
|
|
887
|
-
isFocus
|
|
891
|
+
isFocus,
|
|
892
|
+
limit
|
|
888
893
|
} = this.props;
|
|
889
894
|
let {
|
|
890
|
-
clearText =
|
|
895
|
+
clearText = MULTISELECT_I18N_KEYS.clearText,
|
|
896
|
+
limitReachedMessage = MULTISELECT_I18N_KEYS.limitReachedMessage
|
|
891
897
|
} = i18nKeys;
|
|
892
898
|
let {
|
|
893
|
-
clearLabel =
|
|
899
|
+
clearLabel = MULTISELECT_I18N_KEYS.clearText
|
|
894
900
|
} = a11y;
|
|
895
901
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
896
902
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -1026,7 +1032,7 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
1026
1032
|
}, /*#__PURE__*/React.createElement(Card, {
|
|
1027
1033
|
customClass: `${style.box} ${style[`${palette}Box`]}`,
|
|
1028
1034
|
onScroll: this.handleScroll
|
|
1029
|
-
}, needSelectAll ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
|
|
1035
|
+
}, needSelectAll && !(limit >= 0) ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
|
|
1030
1036
|
onSelect: this.handleSelectAll,
|
|
1031
1037
|
selectAllText: selectAllText,
|
|
1032
1038
|
suggestions: suggestionOptionIds,
|
|
@@ -1065,6 +1071,8 @@ class AdvancedGroupMultiSelect extends React.Component {
|
|
|
1065
1071
|
a11y: {
|
|
1066
1072
|
role: 'option'
|
|
1067
1073
|
},
|
|
1074
|
+
limit: limit,
|
|
1075
|
+
limitReachedMessage: limitReachedMessage,
|
|
1068
1076
|
dataId: `${dataId}_Options`
|
|
1069
1077
|
}));
|
|
1070
1078
|
}) : /*#__PURE__*/React.createElement(EmptyState, {
|