@zohodesk/components 1.6.31 → 1.6.34

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 (163) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/assets/Appearance/light/mode/Component_LightMode.module.css +1 -1
  3. package/es/Accordion/__tests__/Accordion.spec.js +117 -3
  4. package/es/Accordion/__tests__/AccordionItem.spec.js +118 -6
  5. package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +344 -2
  6. package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +155 -3
  7. package/es/Animation/__tests__/Animation.spec.js +28 -4
  8. package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +92 -2
  9. package/es/Button/css/Button.module.css +2 -3
  10. package/es/CheckBox/CheckBox.js +1 -1
  11. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
  12. package/es/DateTime/DateTime.module.css +2 -2
  13. package/es/DateTime/__tests__/CalendarView.spec.js +70 -3
  14. package/es/DateTime/__tests__/DateTime.spec.js +89 -6
  15. package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +20 -2
  16. package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +29 -2
  17. package/es/DateTime/__tests__/DateWidget.spec.js +34 -2
  18. package/es/DateTime/__tests__/DaysRow.spec.js +19 -3
  19. package/es/DateTime/__tests__/Time.spec.js +50 -3
  20. package/es/DateTime/__tests__/YearView.spec.js +60 -3
  21. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +2907 -170
  22. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +4392 -108
  23. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +67 -1
  24. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +187 -1
  25. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +265 -1
  26. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +155 -2
  27. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +522 -5
  28. package/es/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +540 -0
  29. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +1 -4
  30. package/es/Heading/Heading.module.css +1 -1
  31. package/es/Heading/__tests__/Heading.spec.js +57 -3
  32. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +87 -14
  33. package/es/ListItem/__tests__/ListContainer.spec.js +228 -1
  34. package/es/ListItem/__tests__/ListItem.spec.js +359 -1
  35. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +390 -1
  36. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +214 -1
  37. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +303 -1
  38. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +230 -1
  39. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +602 -0
  40. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1807 -0
  41. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +2703 -0
  42. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2909 -0
  43. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +2009 -0
  44. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +3070 -0
  45. package/es/MultiSelect/MultiSelect.module.css +1 -2
  46. package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +671 -1
  47. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +730 -1
  48. package/es/MultiSelect/__tests__/EmptyState.spec.js +268 -1
  49. package/es/MultiSelect/__tests__/MultiSelect.spec.js +889 -2
  50. package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +50 -1
  51. package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +487 -1
  52. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +291 -1
  53. package/es/MultiSelect/__tests__/Suggestions.spec.js +370 -2
  54. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +11785 -0
  55. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +12083 -0
  56. package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +253 -0
  57. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +14052 -0
  58. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +136 -0
  59. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +11506 -0
  60. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1382 -0
  61. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +3611 -0
  62. package/es/PopOver/__tests__/PopOver.spec.js +141 -2
  63. package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1260 -0
  64. package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +212 -1
  65. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1802 -0
  66. package/es/Tab/Tabs.module.css +1 -2
  67. package/es/Tab/__tests__/Tab.spec.js +249 -1
  68. package/es/Tab/__tests__/TabContent.spec.js +34 -1
  69. package/es/Tab/__tests__/TabContentWrapper.spec.js +72 -1
  70. package/es/Tab/__tests__/TabWrapper.spec.js +163 -1
  71. package/es/Tab/__tests__/Tabs.spec.js +681 -1
  72. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1049 -0
  73. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +99 -0
  74. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +121 -0
  75. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2002 -0
  76. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +11053 -0
  77. package/es/Textarea/Textarea.module.css +1 -1
  78. package/es/Tooltip/Tooltip.module.css +1 -2
  79. package/es/Tooltip/__tests__/Tooltip.spec.js +590 -0
  80. package/es/Tooltip/__tests__/__snapshots__/Tooltip.spec.js.snap +813 -0
  81. package/es/Typography/css/Typography.module.css +8 -7
  82. package/es/common/common.module.css +4 -4
  83. package/lib/Accordion/__tests__/Accordion.spec.js +122 -2
  84. package/lib/Accordion/__tests__/AccordionItem.spec.js +126 -4
  85. package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +344 -2
  86. package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +155 -3
  87. package/lib/Animation/__tests__/Animation.spec.js +31 -5
  88. package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +92 -2
  89. package/lib/Button/css/Button.module.css +2 -3
  90. package/lib/CheckBox/CheckBox.js +1 -1
  91. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
  92. package/lib/DateTime/DateTime.module.css +2 -2
  93. package/lib/DateTime/__tests__/CalendarView.spec.js +71 -2
  94. package/lib/DateTime/__tests__/DateTime.spec.js +92 -6
  95. package/lib/DateTime/__tests__/DateTimePopupFooter.spec.js +21 -1
  96. package/lib/DateTime/__tests__/DateTimePopupHeader.spec.js +30 -1
  97. package/lib/DateTime/__tests__/DateWidget.spec.js +35 -1
  98. package/lib/DateTime/__tests__/DaysRow.spec.js +20 -2
  99. package/lib/DateTime/__tests__/Time.spec.js +51 -2
  100. package/lib/DateTime/__tests__/YearView.spec.js +61 -2
  101. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +2907 -170
  102. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +4392 -108
  103. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +67 -1
  104. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +187 -1
  105. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +265 -1
  106. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +155 -2
  107. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +522 -5
  108. package/lib/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +540 -0
  109. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +1 -4
  110. package/lib/Heading/Heading.module.css +1 -1
  111. package/lib/Heading/__tests__/Heading.spec.js +60 -4
  112. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +87 -14
  113. package/lib/ListItem/__tests__/ListContainer.spec.js +229 -0
  114. package/lib/ListItem/__tests__/ListItem.spec.js +362 -0
  115. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +391 -0
  116. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +215 -0
  117. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +304 -0
  118. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +231 -0
  119. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +602 -0
  120. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1807 -0
  121. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +2703 -0
  122. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2909 -0
  123. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +2009 -0
  124. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +3070 -0
  125. package/lib/MultiSelect/MultiSelect.module.css +1 -2
  126. package/lib/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +692 -0
  127. package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +741 -0
  128. package/lib/MultiSelect/__tests__/EmptyState.spec.js +273 -0
  129. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +910 -0
  130. package/lib/MultiSelect/__tests__/MultiSelectHeader.spec.js +51 -0
  131. package/lib/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +497 -0
  132. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +305 -0
  133. package/lib/MultiSelect/__tests__/Suggestions.spec.js +375 -0
  134. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +11785 -0
  135. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +12083 -0
  136. package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +253 -0
  137. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +14052 -0
  138. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +136 -0
  139. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +11506 -0
  140. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1382 -0
  141. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +3611 -0
  142. package/lib/PopOver/__tests__/PopOver.spec.js +150 -1
  143. package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1260 -0
  144. package/lib/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +213 -0
  145. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1802 -0
  146. package/lib/Tab/Tabs.module.css +1 -2
  147. package/lib/Tab/__tests__/Tab.spec.js +250 -0
  148. package/lib/Tab/__tests__/TabContent.spec.js +35 -0
  149. package/lib/Tab/__tests__/TabContentWrapper.spec.js +76 -0
  150. package/lib/Tab/__tests__/TabWrapper.spec.js +174 -0
  151. package/lib/Tab/__tests__/Tabs.spec.js +741 -0
  152. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1049 -0
  153. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +99 -0
  154. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +121 -0
  155. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2002 -0
  156. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +11053 -0
  157. package/lib/Textarea/Textarea.module.css +1 -1
  158. package/lib/Tooltip/Tooltip.module.css +1 -2
  159. package/lib/Tooltip/__tests__/Tooltip.spec.js +629 -0
  160. package/lib/Tooltip/__tests__/__snapshots__/Tooltip.spec.js.snap +813 -0
  161. package/lib/Typography/css/Typography.module.css +8 -7
  162. package/lib/common/common.module.css +4 -4
  163. package/package.json +6 -5
@@ -181,11 +181,10 @@
181
181
  }
182
182
 
183
183
  .more {
184
- composes: d-cursor-pointer from global;
184
+ composes: d-cursor-pointer d-font-normal from global;
185
185
  font-size: var(--zd_font_size14) ;
186
186
  color: var(--zdt_multiselect_more_text);
187
187
  margin-block-start: var(--zd_size5) ;
188
- font-weight: var(--zd-fw-normal);
189
188
  margin-inline-end:var(--zd_size3) ;
190
189
  background-color: var(--zdt_multiselect_delete_bg);
191
190
  border: 0
@@ -1,7 +1,10 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
1
3
  import React from 'react';
2
- import { render } from '@testing-library/react';
4
+ import { render, cleanup, fireEvent } from '@testing-library/react';
3
5
  import AdvancedGroupMultiSelect from "../AdvancedGroupMultiSelect";
4
6
  describe('AdvancedGroupMultiSelect', () => {
7
+ afterEach(() => cleanup());
5
8
  const options = [{
6
9
  id: 'Group1',
7
10
  name: 'Group 1',
@@ -50,5 +53,672 @@ describe('AdvancedGroupMultiSelect', () => {
50
53
  isDisabled: true
51
54
  }));
52
55
  expect(asFragment()).toMatchSnapshot();
56
+ }); // the existing cases pass `options`; the component reads `groupedOptions`
57
+
58
+ const oneSelected = [{
59
+ groupId: 'Group1',
60
+ id: 'group11'
61
+ }]; // groupedOptions, selectedGroupOptions, onChange and emptyMessage are required without defaults
62
+
63
+ const getRequiredProps = () => ({
64
+ emptyMessage: 'No options',
65
+ onChange: jest.fn(),
66
+ groupedOptions: options,
67
+ selectedGroupOptions: []
68
+ });
69
+
70
+ const getSearchInput = container => container.querySelector('input[role="combobox"]'); // selected options and clear icon
71
+
72
+
73
+ test('Render with selectedGroupOptions', () => {
74
+ const {
75
+ asFragment
76
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
77
+ selectedGroupOptions: oneSelected
78
+ })));
79
+ expect(asFragment()).toMatchSnapshot();
80
+ });
81
+ test('Render with two selectedGroupOptions', () => {
82
+ const {
83
+ asFragment
84
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
85
+ selectedGroupOptions: selectedGroupOptions
86
+ })));
87
+ expect(asFragment()).toMatchSnapshot();
88
+ });
89
+ test('Render with selectedGroupOptions not in groupedOptions', () => {
90
+ const {
91
+ asFragment
92
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
93
+ selectedGroupOptions: [{
94
+ groupId: 'Group1',
95
+ id: 'unknown'
96
+ }]
97
+ })));
98
+ expect(asFragment()).toMatchSnapshot();
99
+ });
100
+ test('Render with selectedGroupOptions not in groupedOptions and allowValueFallback=false', () => {
101
+ const {
102
+ asFragment
103
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
104
+ selectedGroupOptions: [{
105
+ groupId: 'Group1',
106
+ id: 'unknown'
107
+ }],
108
+ allowValueFallback: false
109
+ })));
110
+ expect(asFragment()).toMatchSnapshot();
111
+ });
112
+ test('Render with selectedOptionDetails', () => {
113
+ const {
114
+ asFragment
115
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
116
+ selectedGroupOptions: [{
117
+ groupId: 'Group1',
118
+ id: 'remote1'
119
+ }],
120
+ selectedOptionDetails: {
121
+ Group1: [{
122
+ id: 'remote1',
123
+ value: 'Remote option'
124
+ }]
125
+ },
126
+ allowValueFallback: false
127
+ })));
128
+ expect(asFragment()).toMatchSnapshot();
129
+ });
130
+ test('Render with limit as 1 and two selectedGroupOptions', () => {
131
+ const {
132
+ asFragment
133
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
134
+ selectedGroupOptions: selectedGroupOptions,
135
+ limit: 1
136
+ })));
137
+ expect(asFragment()).toMatchSnapshot();
138
+ });
139
+ test('Render with isReadOnly', () => {
140
+ const {
141
+ asFragment
142
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
143
+ selectedGroupOptions: selectedGroupOptions,
144
+ isReadOnly: true
145
+ })));
146
+ expect(asFragment()).toMatchSnapshot();
147
+ });
148
+ test('Render with isDisabled and title', () => {
149
+ const {
150
+ asFragment
151
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
152
+ selectedGroupOptions: oneSelected,
153
+ isDisabled: true,
154
+ title: "Disabled title"
155
+ })));
156
+ expect(asFragment()).toMatchSnapshot();
157
+ }); // appearance
158
+
159
+ test('Render with size as xmedium', () => {
160
+ const {
161
+ asFragment
162
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
163
+ selectedGroupOptions: oneSelected,
164
+ size: "xmedium"
165
+ })));
166
+ expect(asFragment()).toMatchSnapshot();
167
+ });
168
+ test.each(['small', 'xmedium'])('Render with textBoxSize as %s', textBoxSize => {
169
+ const {
170
+ asFragment
171
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
172
+ textBoxSize: textBoxSize
173
+ })));
174
+ expect(asFragment()).toMatchSnapshot();
175
+ });
176
+ test.each(['primary', 'secondary'])('Render with variant as %s', variant => {
177
+ const {
178
+ asFragment
179
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
180
+ variant: variant
181
+ })));
182
+ expect(asFragment()).toMatchSnapshot();
183
+ });
184
+ test('Render with borderColor as transparent', () => {
185
+ const {
186
+ asFragment
187
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
188
+ borderColor: "transparent"
189
+ })));
190
+ expect(asFragment()).toMatchSnapshot();
191
+ });
192
+ test('Render with needBorder=false', () => {
193
+ const {
194
+ asFragment
195
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
196
+ needBorder: false
197
+ })));
198
+ expect(asFragment()).toMatchSnapshot();
199
+ });
200
+ test('Render with isFocus', () => {
201
+ const {
202
+ asFragment
203
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
204
+ isFocus: true
205
+ })));
206
+ expect(asFragment()).toMatchSnapshot();
207
+ });
208
+ test('Render with isFocus and isReadOnly', () => {
209
+ const {
210
+ asFragment
211
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
212
+ isFocus: true,
213
+ isReadOnly: true
214
+ })));
215
+ expect(asFragment()).toMatchSnapshot();
216
+ });
217
+ test('Render with needEffect=false', () => {
218
+ const {
219
+ asFragment
220
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
221
+ needEffect: false
222
+ })));
223
+ expect(asFragment()).toMatchSnapshot();
224
+ });
225
+ test('Render with palette as dark', () => {
226
+ const {
227
+ asFragment
228
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
229
+ selectedGroupOptions: selectedGroupOptions,
230
+ palette: "dark"
231
+ })));
232
+ expect(asFragment()).toMatchSnapshot();
233
+ });
234
+ test('Render with customClass', () => {
235
+ const {
236
+ asFragment
237
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
238
+ customClass: "custom-container"
239
+ })));
240
+ expect(asFragment()).toMatchSnapshot();
241
+ });
242
+ test('Render with placeHolder', () => {
243
+ const {
244
+ asFragment
245
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
246
+ placeHolder: "Select options"
247
+ })));
248
+ expect(asFragment()).toMatchSnapshot();
249
+ }); // the placeholder is hidden once an option is selected
250
+
251
+ test('Render with placeHolder and selectedGroupOptions', () => {
252
+ const {
253
+ asFragment
254
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
255
+ selectedGroupOptions: oneSelected,
256
+ placeHolder: "Select options"
257
+ })));
258
+ expect(asFragment()).toMatchSnapshot();
259
+ });
260
+ test('Render with autoComplete', () => {
261
+ const {
262
+ asFragment
263
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
264
+ autoComplete: true
265
+ })));
266
+ expect(asFragment()).toMatchSnapshot();
267
+ }); // children replace the textbox UI
268
+
269
+ test('Render with children', () => {
270
+ const {
271
+ asFragment
272
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, getRequiredProps(), /*#__PURE__*/React.createElement("span", null, "Custom trigger")));
273
+ expect(asFragment()).toMatchSnapshot();
274
+ });
275
+ test('Render with children and customClass', () => {
276
+ const {
277
+ asFragment
278
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
279
+ customClass: "custom-trigger"
280
+ }), /*#__PURE__*/React.createElement("span", null, "Custom trigger")));
281
+ expect(asFragment()).toMatchSnapshot();
282
+ }); // identification and accessibility
283
+
284
+ test('Render with dataId', () => {
285
+ const {
286
+ asFragment
287
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
288
+ dataId: "group-dataId"
289
+ })));
290
+ expect(asFragment()).toMatchSnapshot();
291
+ });
292
+ test('Render with dataId and isDisabled', () => {
293
+ const {
294
+ asFragment
295
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
296
+ dataId: "group-dataId",
297
+ isDisabled: true
298
+ })));
299
+ expect(asFragment()).toMatchSnapshot();
300
+ });
301
+ test('Render with dataId and isReadOnly', () => {
302
+ const {
303
+ asFragment
304
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
305
+ dataId: "group-dataId",
306
+ isReadOnly: true
307
+ })));
308
+ expect(asFragment()).toMatchSnapshot();
309
+ });
310
+ test('Render with dataSelectorId', () => {
311
+ const {
312
+ asFragment
313
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
314
+ dataSelectorId: "group-selector"
315
+ })));
316
+ expect(asFragment()).toMatchSnapshot();
317
+ });
318
+ test('Render with htmlId', () => {
319
+ const {
320
+ asFragment
321
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
322
+ htmlId: "group-htmlId"
323
+ })));
324
+ expect(asFragment()).toMatchSnapshot();
325
+ });
326
+ test('Render with a11y clearLabel', () => {
327
+ const {
328
+ asFragment
329
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
330
+ selectedGroupOptions: selectedGroupOptions,
331
+ a11y: {
332
+ clearLabel: 'Clear selected'
333
+ }
334
+ })));
335
+ expect(asFragment()).toMatchSnapshot();
336
+ });
337
+ test('Render with i18nKeys clearText', () => {
338
+ const {
339
+ asFragment
340
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
341
+ selectedGroupOptions: selectedGroupOptions,
342
+ i18nKeys: {
343
+ clearText: 'Remove all'
344
+ }
345
+ })));
346
+ expect(asFragment()).toMatchSnapshot();
347
+ }); // open menu
348
+
349
+ test('Render with isPopupOpen and isPopupReady', () => {
350
+ const {
351
+ asFragment
352
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
353
+ isPopupOpen: true,
354
+ isPopupReady: true
355
+ })));
356
+ expect(asFragment()).toMatchSnapshot();
357
+ });
358
+ test('Render with isPopupOpen, isPopupReady and isDisabled', () => {
359
+ const {
360
+ asFragment
361
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
362
+ isPopupOpen: true,
363
+ isPopupReady: true,
364
+ isDisabled: true
365
+ })));
366
+ expect(asFragment()).toMatchSnapshot();
367
+ });
368
+ test('Render with isPopupOpen, isPopupReady and isReadOnly', () => {
369
+ const {
370
+ asFragment
371
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
372
+ isPopupOpen: true,
373
+ isPopupReady: true,
374
+ isReadOnly: true
375
+ })));
376
+ expect(asFragment()).toMatchSnapshot();
377
+ });
378
+ test('Render with isPopupOpen, isPopupReady and selectedGroupOptions', () => {
379
+ const {
380
+ asFragment
381
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
382
+ isPopupOpen: true,
383
+ isPopupReady: true,
384
+ selectedGroupOptions: selectedGroupOptions
385
+ })));
386
+ expect(asFragment()).toMatchSnapshot();
387
+ });
388
+ test('Render with isPopupOpen, isPopupReady and a group without name', () => {
389
+ const {
390
+ asFragment
391
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
392
+ isPopupOpen: true,
393
+ isPopupReady: true,
394
+ groupedOptions: [{ ...options[0],
395
+ name: undefined
396
+ }]
397
+ })));
398
+ expect(asFragment()).toMatchSnapshot();
399
+ });
400
+ test('Render with isPopupOpen, isPopupReady and group valueField and textField', () => {
401
+ const {
402
+ asFragment
403
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
404
+ isPopupOpen: true,
405
+ isPopupReady: true,
406
+ groupedOptions: [{
407
+ id: 'Group3',
408
+ name: 'Group 3',
409
+ options: [{
410
+ key: 'k1',
411
+ label: 'Label 1'
412
+ }],
413
+ valueField: 'key',
414
+ textField: 'label'
415
+ }]
416
+ })));
417
+ expect(asFragment()).toMatchSnapshot();
418
+ });
419
+ test('Render with isPopupOpen, isPopupReady and group secondaryField', () => {
420
+ const {
421
+ asFragment
422
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
423
+ isPopupOpen: true,
424
+ isPopupReady: true,
425
+ groupedOptions: [{
426
+ id: 'Group3',
427
+ name: 'Group 3',
428
+ options: [{
429
+ id: 'k1',
430
+ text: 'Option 1',
431
+ secondary: 'Secondary 1'
432
+ }],
433
+ valueField: 'id',
434
+ textField: 'text',
435
+ secondaryField: 'secondary'
436
+ }]
437
+ })));
438
+ expect(asFragment()).toMatchSnapshot();
439
+ });
440
+ test.each(['small', 'medium'])('Render with isPopupOpen, isPopupReady and listItemSize as %s', listItemSize => {
441
+ const {
442
+ asFragment
443
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
444
+ isPopupOpen: true,
445
+ isPopupReady: true,
446
+ listItemSize: listItemSize
447
+ })));
448
+ expect(asFragment()).toMatchSnapshot();
449
+ });
450
+ test('Render with isPopupOpen, isPopupReady and customProps SuggestionsProps', () => {
451
+ const {
452
+ asFragment
453
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
454
+ isPopupOpen: true,
455
+ isPopupReady: true,
456
+ customProps: {
457
+ SuggestionsProps: {
458
+ needBorder: false
459
+ }
460
+ }
461
+ })));
462
+ expect(asFragment()).toMatchSnapshot();
463
+ });
464
+ test('Render with isPopupOpen, isPopupReady and needSelectAll', () => {
465
+ const {
466
+ asFragment
467
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
468
+ isPopupOpen: true,
469
+ isPopupReady: true,
470
+ needSelectAll: true
471
+ })));
472
+ expect(asFragment()).toMatchSnapshot();
473
+ });
474
+ test('Render with isPopupOpen, isPopupReady, needSelectAll and selectAllText', () => {
475
+ const {
476
+ asFragment
477
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
478
+ isPopupOpen: true,
479
+ isPopupReady: true,
480
+ needSelectAll: true,
481
+ selectAllText: "Select every option"
482
+ })));
483
+ expect(asFragment()).toMatchSnapshot();
484
+ }); // select all is hidden once a limit is set
485
+
486
+ test('Render with isPopupOpen, isPopupReady, needSelectAll and limit', () => {
487
+ const {
488
+ asFragment
489
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
490
+ isPopupOpen: true,
491
+ isPopupReady: true,
492
+ needSelectAll: true,
493
+ limit: 3
494
+ })));
495
+ expect(asFragment()).toMatchSnapshot();
496
+ });
497
+ test('Render with isPopupOpen, isPopupReady and limit reached', () => {
498
+ const {
499
+ asFragment
500
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
501
+ isPopupOpen: true,
502
+ isPopupReady: true,
503
+ selectedGroupOptions: oneSelected,
504
+ limit: 1
505
+ })));
506
+ expect(asFragment()).toMatchSnapshot();
507
+ });
508
+ test('Render with isPopupOpen, isPopupReady, limit reached and i18nKeys limitReachedMessage', () => {
509
+ const {
510
+ asFragment
511
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
512
+ isPopupOpen: true,
513
+ isPopupReady: true,
514
+ selectedGroupOptions: oneSelected,
515
+ limit: 1,
516
+ i18nKeys: {
517
+ limitReachedMessage: 'Only one allowed'
518
+ }
519
+ })));
520
+ expect(asFragment()).toMatchSnapshot();
521
+ });
522
+ test('Render with isPopupOpen, isPopupReady and isDataLoaded=false', () => {
523
+ const {
524
+ asFragment
525
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
526
+ isPopupOpen: true,
527
+ isPopupReady: true,
528
+ isDataLoaded: false
529
+ })));
530
+ expect(asFragment()).toMatchSnapshot();
531
+ });
532
+ test('Render with isPopupOpen, isPopupReady and isNextOptions', () => {
533
+ const {
534
+ asFragment
535
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
536
+ isPopupOpen: true,
537
+ isPopupReady: true,
538
+ isNextOptions: true
539
+ })));
540
+ expect(asFragment()).toMatchSnapshot();
541
+ });
542
+ test('Render with isPopupOpen, isPopupReady and getFooter', () => {
543
+ const {
544
+ asFragment
545
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
546
+ isPopupOpen: true,
547
+ isPopupReady: true,
548
+ getFooter: () => /*#__PURE__*/React.createElement("span", null, "Footer content")
549
+ })));
550
+ expect(asFragment()).toMatchSnapshot();
551
+ }); // the footer is replaced by a loader while data is loading
552
+
553
+ test('Render with isPopupOpen, isPopupReady, getFooter and isDataLoaded=false', () => {
554
+ const {
555
+ asFragment
556
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
557
+ isPopupOpen: true,
558
+ isPopupReady: true,
559
+ isDataLoaded: false,
560
+ getFooter: () => /*#__PURE__*/React.createElement("span", null, "Footer content")
561
+ })));
562
+ expect(asFragment()).toMatchSnapshot();
563
+ }); // empty states
564
+
565
+ test('Render with isPopupOpen, isPopupReady and no groupedOptions', () => {
566
+ const {
567
+ asFragment
568
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
569
+ groupedOptions: [],
570
+ isPopupOpen: true,
571
+ isPopupReady: true
572
+ })));
573
+ expect(asFragment()).toMatchSnapshot();
574
+ });
575
+ test('Render with isPopupOpen, isPopupReady, no groupedOptions and emptyMessage', () => {
576
+ const {
577
+ asFragment
578
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
579
+ groupedOptions: [],
580
+ isPopupOpen: true,
581
+ isPopupReady: true,
582
+ emptyMessage: "Nothing to select"
583
+ })));
584
+ expect(asFragment()).toMatchSnapshot();
585
+ });
586
+ test('Render with isPopupOpen, isPopupReady, no groupedOptions and i18nKeys emptyText', () => {
587
+ const {
588
+ asFragment
589
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
590
+ groupedOptions: [],
591
+ isPopupOpen: true,
592
+ isPopupReady: true,
593
+ i18nKeys: {
594
+ emptyText: 'Empty from i18n'
595
+ }
596
+ })));
597
+ expect(asFragment()).toMatchSnapshot();
598
+ });
599
+ test('Render with isPopupOpen, isPopupReady, no groupedOptions and renderCustomEmptyState', () => {
600
+ const {
601
+ asFragment
602
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
603
+ groupedOptions: [],
604
+ isPopupOpen: true,
605
+ isPopupReady: true,
606
+ renderCustomEmptyState: () => /*#__PURE__*/React.createElement("span", null, "Custom empty state")
607
+ })));
608
+ expect(asFragment()).toMatchSnapshot();
609
+ }); // typed search
610
+
611
+ test('Render with isPopupOpen, isPopupReady and search text matching an option', () => {
612
+ const {
613
+ asFragment,
614
+ container
615
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
616
+ isPopupOpen: true,
617
+ isPopupReady: true
618
+ })));
619
+ fireEvent.change(getSearchInput(container), {
620
+ target: {
621
+ value: 'Group2 Option 1'
622
+ }
623
+ });
624
+ expect(asFragment()).toMatchSnapshot();
625
+ });
626
+ test('Render with isPopupOpen, isPopupReady and search text matching no option', () => {
627
+ const {
628
+ asFragment,
629
+ container
630
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
631
+ isPopupOpen: true,
632
+ isPopupReady: true
633
+ })));
634
+ fireEvent.change(getSearchInput(container), {
635
+ target: {
636
+ value: 'zzz'
637
+ }
638
+ });
639
+ expect(asFragment()).toMatchSnapshot();
640
+ });
641
+ test('Render with isPopupOpen, isPopupReady, search text matching no option and searchEmptyMessage', () => {
642
+ const {
643
+ asFragment,
644
+ container
645
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
646
+ isPopupOpen: true,
647
+ isPopupReady: true,
648
+ searchEmptyMessage: "No matches found"
649
+ })));
650
+ fireEvent.change(getSearchInput(container), {
651
+ target: {
652
+ value: 'zzz'
653
+ }
654
+ });
655
+ expect(asFragment()).toMatchSnapshot();
656
+ });
657
+ test('Render with isPopupOpen, isPopupReady, search text and needLocalSearch=false', () => {
658
+ const {
659
+ asFragment,
660
+ container
661
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
662
+ isPopupOpen: true,
663
+ isPopupReady: true,
664
+ needLocalSearch: false
665
+ })));
666
+ fireEvent.change(getSearchInput(container), {
667
+ target: {
668
+ value: 'zzz'
669
+ }
670
+ });
671
+ expect(asFragment()).toMatchSnapshot();
672
+ }); // drop box
673
+
674
+ test.each(['medium', 'large'])('Render with isPopupOpen, isPopupReady and dropBoxSize as %s', dropBoxSize => {
675
+ const {
676
+ asFragment
677
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
678
+ isPopupOpen: true,
679
+ isPopupReady: true,
680
+ dropBoxSize: dropBoxSize
681
+ })));
682
+ expect(asFragment()).toMatchSnapshot();
683
+ });
684
+ test('Render with isPopupOpen, isPopupReady and palette as dark', () => {
685
+ const {
686
+ asFragment
687
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
688
+ isPopupOpen: true,
689
+ isPopupReady: true,
690
+ palette: "dark"
691
+ })));
692
+ expect(asFragment()).toMatchSnapshot();
693
+ });
694
+ test('Render with isPopupOpen, isPopupReady and isPadding', () => {
695
+ const {
696
+ asFragment
697
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
698
+ isPopupOpen: true,
699
+ isPopupReady: true,
700
+ isPadding: true
701
+ })));
702
+ expect(asFragment()).toMatchSnapshot();
703
+ });
704
+ test('Render with isPopupOpen, isPopupReady and animationStyle as default', () => {
705
+ const {
706
+ asFragment
707
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
708
+ isPopupOpen: true,
709
+ isPopupReady: true,
710
+ animationStyle: "default"
711
+ })));
712
+ expect(asFragment()).toMatchSnapshot();
713
+ });
714
+ test('Render with isPopupOpen, isPopupReady and dataId', () => {
715
+ const {
716
+ asFragment
717
+ } = render( /*#__PURE__*/React.createElement(AdvancedGroupMultiSelect, _extends({}, getRequiredProps(), {
718
+ isPopupOpen: true,
719
+ isPopupReady: true,
720
+ dataId: "group-dataId"
721
+ })));
722
+ expect(asFragment()).toMatchSnapshot();
53
723
  });
54
724
  });