@zohodesk/components 1.2.61 → 1.2.63

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 (49) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +11 -0
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +8 -0
  4. package/assets/Appearance/light/mode/Component_LightMode.module.css +8 -0
  5. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +8 -0
  6. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  7. package/es/Button/css/Button.module.css +57 -10
  8. package/es/Button/css/cssJSLogic.js +1 -1
  9. package/es/Button/props/propTypes.js +1 -1
  10. package/es/MultiSelect/AdvancedGroupMultiSelect.js +12 -4
  11. package/es/MultiSelect/AdvancedMultiSelect.js +12 -6
  12. package/es/MultiSelect/MultiSelect.js +10 -4
  13. package/es/MultiSelect/MultiSelectWithAvatar.js +4 -2
  14. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
  15. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
  16. package/es/MultiSelect/props/defaultProps.js +8 -4
  17. package/es/MultiSelect/props/propTypes.js +4 -2
  18. package/es/RippleEffect/RippleEffect.module.css +16 -0
  19. package/es/RippleEffect/props/propTypes.js +1 -1
  20. package/es/Select/GroupSelect.js +4 -2
  21. package/es/Select/Select.js +3 -1
  22. package/es/Select/SelectWithAvatar.js +4 -2
  23. package/es/Select/props/defaultProps.js +4 -2
  24. package/es/Select/props/propTypes.js +4 -2
  25. package/es/Tag/Tag.js +1 -1
  26. package/es/utils/dropDownUtils.js +10 -6
  27. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  28. package/lib/Button/css/Button.module.css +57 -10
  29. package/lib/Button/css/cssJSLogic.js +1 -1
  30. package/lib/Button/props/propTypes.js +1 -1
  31. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +11 -5
  32. package/lib/MultiSelect/AdvancedMultiSelect.js +12 -6
  33. package/lib/MultiSelect/MultiSelect.js +8 -4
  34. package/lib/MultiSelect/MultiSelectWithAvatar.js +4 -2
  35. package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
  36. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
  37. package/lib/MultiSelect/props/defaultProps.js +8 -4
  38. package/lib/MultiSelect/props/propTypes.js +3 -2
  39. package/lib/RippleEffect/RippleEffect.module.css +16 -0
  40. package/lib/RippleEffect/props/propTypes.js +1 -1
  41. package/lib/Select/GroupSelect.js +4 -2
  42. package/lib/Select/Select.js +3 -1
  43. package/lib/Select/SelectWithAvatar.js +4 -2
  44. package/lib/Select/props/defaultProps.js +4 -2
  45. package/lib/Select/props/propTypes.js +4 -2
  46. package/lib/Tag/Tag.js +1 -1
  47. package/lib/utils/dropDownUtils.js +12 -6
  48. package/package.json +1 -1
  49. package/result.json +1 -1
@@ -25,6 +25,7 @@
25
25
  /* button success status default variable */
26
26
  --button_success_border_color: var(--zdt_button_success_default_border);
27
27
  }
28
+
28
29
  .native {
29
30
  composes: varClass;
30
31
  /* transition: all var(--zd_transition2) ease 0s; */
@@ -130,22 +131,43 @@
130
131
  composes: container;
131
132
  }
132
133
 
133
- .plainprimary {
134
- --button_text_color: var(--zdt_button_default_text);
134
+ .plainprimary,
135
+ .plaindanger,
136
+ .plainsuccess,
137
+ .plainsecondary {
135
138
  --button_padding: var(--zd_size5);
136
139
  --button_min_width: initial;
137
140
  --button_bg_color: var(--zdt_button_default_bg);
138
141
  }
142
+
143
+ .plainprimary {
144
+ --button_text_color: var(--zdt_button_default_text);
145
+ }
146
+
139
147
  .plainprimary:hover {
140
148
  --button_text_color: var(--zdt_button_plainprimary_hover_text);
141
149
  }
142
150
 
151
+ .plaindanger {
152
+ --button_text_color: var(--zdt_button_danger_text);
153
+ }
154
+
155
+ .plaindanger:hover {
156
+ --button_text_color: var(--zdt_button_danger_hover_text);
157
+ }
158
+
159
+ .plainsuccess {
160
+ --button_text_color: var(--zdt_button_success_text);
161
+ }
162
+
163
+ .plainsuccess:hover {
164
+ --button_text_color: var(--zdt_button_success_hover_text);
165
+ }
166
+
143
167
  .plainsecondary {
144
168
  --button_text_color: var(--zdt_button_secondary_text);
145
- --button_padding: var(--zd_size5);
146
- --button_min_width: initial;
147
- --button_bg_color: var(--zdt_button_default_bg);
148
169
  }
170
+
149
171
  .plainsecondary:hover {
150
172
  --button_text_color: var(--zdt_button_secondary_hover_text);
151
173
  }
@@ -156,10 +178,12 @@
156
178
  .dangerfilled,
157
179
  .secondary,
158
180
  .secondaryfilled,
181
+ .success,
159
182
  .successfilled,
160
183
  .tertiaryfilled {
161
184
  --button_border_width: 1px;
162
185
  }
186
+
163
187
  .primary:hover {
164
188
  --button_border_color: var(--zdt_button_primary_hover_border);
165
189
  --button_text_color: var(--zdt_button_primary_hover_text);
@@ -170,6 +194,7 @@
170
194
  --button_bg_color: var(--zdt_button_primaryfill_bg);
171
195
  --button_text_color: var(--zdt_button_primaryfill_text);
172
196
  }
197
+
173
198
  .primaryfilled:hover {
174
199
  --button_bg_color: var(--zdt_button_primaryfill_hover_bg);
175
200
  }
@@ -179,16 +204,29 @@
179
204
  --button_bg_color: var(--zdt_button_default_bg);
180
205
  --button_text_color: var(--zdt_button_danger_text);
181
206
  }
207
+
182
208
  .danger:hover {
183
209
  --button_border_color: var(--zdt_button_danger_hover_border);
184
210
  --button_text_color: var(--zdt_button_danger_hover_text);
185
211
  }
186
212
 
213
+ .success {
214
+ --button_border_color: var(--zdt_button_success_border);
215
+ --button_bg_color: var(--zdt_button_default_bg);
216
+ --button_text_color: var(--zdt_button_success_text);
217
+ }
218
+
219
+ .success:hover {
220
+ --button_border_color: var(--zdt_button_success_hover_border);
221
+ --button_text_color: var(--zdt_button_success_hover_text);
222
+ }
223
+
187
224
  .dangerfilled {
188
225
  --button_border_color: var(--zdt_button_primaryfill_border);
189
226
  --button_bg_color: var(--zdt_button_dangerfill_bg);
190
227
  --button_text_color: var(--zdt_button_dangerfill_text);
191
228
  }
229
+
192
230
  .dangerfilled:hover {
193
231
  --button_bg_color: var(--zdt_button_dangerfill_hover_bg);
194
232
  }
@@ -198,6 +236,7 @@
198
236
  --button_bg_color: var(--zdt_button_default_bg);
199
237
  --button_text_color: var(--zdt_button_secondary_text);
200
238
  }
239
+
201
240
  .secondary:hover {
202
241
  --button_border_color: var(--zdt_button_secondary_hover_border);
203
242
  --button_text_color: var(--zdt_button_secondary_hover_text);
@@ -208,6 +247,7 @@
208
247
  --button_bg_color: var(--zdt_button_secondaryfill_bg);
209
248
  --button_text_color: var(--zdt_button_secondary_text);
210
249
  }
250
+
211
251
  .secondaryfilled:hover {
212
252
  --button_text_color: var(--zdt_button_secondary_hover_text);
213
253
  }
@@ -217,6 +257,7 @@
217
257
  --button_bg_color: var(--zdt_button_successfill_bg);
218
258
  --button_text_color: var(--zdt_button_dangerfill_text);
219
259
  }
260
+
220
261
  .successfilled:hover {
221
262
  --button_border_color: var(--zdt_button_successfill_hover_border);
222
263
  --button_bg_color: var(--zdt_button_successfill_hover_bg);
@@ -227,6 +268,7 @@
227
268
  --button_bg_color: var(--zdt_button_tertiaryfill_bg);
228
269
  --button_text_color: var(--zdt_button_dangerfill_text);
229
270
  }
271
+
230
272
  .tertiaryfilled:hover {
231
273
  --button_bg_color: var(--zdt_button_tertiaryfill_hover_bg);
232
274
  }
@@ -326,18 +368,23 @@
326
368
  .loadingelement {
327
369
  --button_loading_bg_color: var(--zdt_button_primaryfill_bg);
328
370
  }
371
+
329
372
  .primaryelement {
330
373
  --button_loading_bg_color: var(--zdt_button_loading_default_bg);
331
374
  }
375
+
332
376
  .primaryfilledelement {
333
377
  --button_loading_bg_color: var(--zdt_button_primaryfill_bg);
334
378
  }
379
+
335
380
  .dangerelement {
336
381
  --button_loading_bg_color: var(--zdt_button_loading_default_bg);
337
382
  }
383
+
338
384
  .dangerfilledelement {
339
385
  --button_loading_bg_color: var(--zdt_button_dangerfill_bg);
340
386
  }
387
+
341
388
  .loadingelement:after,
342
389
  .primaryelement:after,
343
390
  .primaryfilledelement:after,
@@ -366,13 +413,13 @@
366
413
 
367
414
  .primaryelement:before {
368
415
  --button_loading_bg_color: var(--zdt_button_primaryfill_bg);
369
- --zdt_button_loading_linear_gradient:var(--zdt_button_loading_primary_linear_gradient);
416
+ --zdt_button_loading_linear_gradient: var(--zdt_button_loading_primary_linear_gradient);
370
417
  transform: rotateX(180deg);
371
418
  }
372
419
 
373
420
  .dangerelement:before {
374
421
  --button_loading_bg_color: var(--zdt_button_dangerfill_bg);
375
- --zdt_button_loading_linear_gradient:var(--zdt_button_loading_danger_linear_gradient);
422
+ --zdt_button_loading_linear_gradient: var(--zdt_button_loading_danger_linear_gradient);
376
423
  transform: rotateX(180deg);
377
424
  }
378
425
 
@@ -447,7 +494,7 @@
447
494
  -webkit-transform: scaleX(-1) rotate(360deg);
448
495
  }
449
496
  }
450
- .success {
497
+ .successstate {
451
498
  position: absolute;
452
499
  top: 50% ;
453
500
  left: 50% ;
@@ -523,6 +570,6 @@
523
570
  }
524
571
  }
525
572
 
526
- .loader{
527
- color:var(--dot_mirror)
573
+ .loader {
574
+ color: var(--dot_mirror)
528
575
  }
@@ -31,7 +31,7 @@ function cssJSLogic(_ref) {
31
31
  var paletteLower = palette.toLowerCase();
32
32
  var statusLower = status.toLowerCase();
33
33
  var buttonClass = (0, _utils.compileClassNames)((_compileClassNames = {}, _defineProperty(_compileClassNames, customButton, !!customButton), _defineProperty(_compileClassNames, style.bold, isBold), _defineProperty(_compileClassNames, style["default"], !needAppearance), _defineProperty(_compileClassNames, style[paletteLower], needAppearance), _defineProperty(_compileClassNames, style.rounded, needAppearance && rounded), _defineProperty(_compileClassNames, style[size.toLowerCase()], needAppearance && !children), _defineProperty(_compileClassNames, style["".concat(size, "Btn")], needAppearance && children), _defineProperty(_compileClassNames, style["".concat(size, "Btn").concat(paletteLower)], needAppearance && children && rounded), _defineProperty(_compileClassNames, style.loader, !!needAppearance && statusLower !== 'none'), _compileClassNames));
34
- var loaderParentClass = (0, _utils.compileClassNames)((_compileClassNames2 = {}, _defineProperty(_compileClassNames2, customStatusSize, !!customStatusSize), _defineProperty(_compileClassNames2, style.loading, statusLower === 'loading'), _defineProperty(_compileClassNames2, style["".concat(size, "loading")], statusLower === 'loading'), _defineProperty(_compileClassNames2, style.success, statusLower != 'loading'), _compileClassNames2));
34
+ var loaderParentClass = (0, _utils.compileClassNames)((_compileClassNames2 = {}, _defineProperty(_compileClassNames2, customStatusSize, !!customStatusSize), _defineProperty(_compileClassNames2, style.loading, statusLower === 'loading'), _defineProperty(_compileClassNames2, style["".concat(size, "loading")], statusLower === 'loading'), _defineProperty(_compileClassNames2, style.successstate, statusLower != 'loading'), _compileClassNames2));
35
35
  var loaderChildClass = (0, _utils.compileClassNames)((_compileClassNames3 = {}, _defineProperty(_compileClassNames3, customStatus, !!customStatus), _defineProperty(_compileClassNames3, style.loadingelement, statusLower === 'loading'), _defineProperty(_compileClassNames3, style["".concat(paletteLower, "element")], statusLower === 'loading'), _defineProperty(_compileClassNames3, style.successelement, statusLower != 'loading'), _defineProperty(_compileClassNames3, style["".concat(paletteLower, "success")], statusLower != 'loading'), _compileClassNames3));
36
36
  return {
37
37
  buttonClass: buttonClass,
@@ -18,7 +18,7 @@ var propTypes = {
18
18
  isBold: _propTypes["default"].bool,
19
19
  needAppearance: _propTypes["default"].bool,
20
20
  onClick: _propTypes["default"].func,
21
- palette: _propTypes["default"].oneOf(['plainPrimary', 'plainSecondary', 'primary', 'primaryFilled', 'danger', 'dangerFilled', 'secondary', 'secondaryFilled', 'successFilled', 'info', 'tertiaryFilled']),
21
+ palette: _propTypes["default"].oneOf(['plainPrimary', 'plainSecondary', 'plainDanger', 'plainSuccess', 'primary', 'primaryFilled', 'danger', 'dangerFilled', 'secondary', 'secondaryFilled', 'success', 'successFilled', 'info', 'tertiaryFilled']),
22
22
  rounded: _propTypes["default"].bool,
23
23
  size: _propTypes["default"].oneOf(['small', 'medium', 'large', 'xlarge']),
24
24
  status: _propTypes["default"].oneOf(['loading', 'success', 'none']),
@@ -199,11 +199,13 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
199
199
  key: "handleFormatSelectedOptions",
200
200
  value: function handleFormatSelectedOptions(selectedOptionDetails, props) {
201
201
  var valueField = props.valueField,
202
- textField = props.textField;
202
+ textField = props.textField,
203
+ allowValueFallback = props.allowValueFallback;
203
204
  return this.formatSelectedOptions({
204
205
  options: selectedOptionDetails,
205
206
  valueField: valueField,
206
- textField: textField
207
+ textField: textField,
208
+ allowValueFallback: allowValueFallback
207
209
  });
208
210
  }
209
211
  }, {
@@ -264,6 +266,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
264
266
  }, {
265
267
  key: "handleSelectedOptionIdChange",
266
268
  value: function handleSelectedOptionIdChange(selectedGroupOptions, normalizedFormatOptions, normalizedSelectedOptions) {
269
+ var allowValueFallback = this.props.allowValueFallback;
267
270
  var newSelectedOptions = selectedGroupOptions.map(function (option) {
268
271
  return (0, _dropDownUtils.optionIdGrouping)(option.id, option.groupId);
269
272
  });
@@ -275,7 +278,8 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
275
278
  return this.getSelectedOptions({
276
279
  selectedOptions: newSelectedOptions,
277
280
  normalizedFormatOptions: formatOptions,
278
- selectedOptionsLength: selectedOptionsLength
281
+ selectedOptionsLength: selectedOptionsLength,
282
+ allowValueFallback: allowValueFallback
279
283
  });
280
284
  }
281
285
  }, {
@@ -322,10 +326,12 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
322
326
  }, {
323
327
  key: "handleGetGroupSelectOptions",
324
328
  value: function handleGetGroupSelectOptions(props) {
325
- var _props$groupedOptions = props.groupedOptions,
329
+ var allowValueFallback = props.allowValueFallback,
330
+ _props$groupedOptions = props.groupedOptions,
326
331
  groupedOptions = _props$groupedOptions === void 0 ? [] : _props$groupedOptions;
327
332
  return this.getGroupSelectOptions({
328
- groupedOptions: groupedOptions
333
+ groupedOptions: groupedOptions,
334
+ allowValueFallback: allowValueFallback
329
335
  });
330
336
  }
331
337
  }, {
@@ -218,7 +218,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
218
218
  iconSize = props.iconSize,
219
219
  prefixText = props.prefixText,
220
220
  optionType = props.optionType,
221
- disabledOptions = props.disabledOptions;
221
+ disabledOptions = props.disabledOptions,
222
+ allowValueFallback = props.allowValueFallback;
222
223
  return this.formatOptions({
223
224
  options: options,
224
225
  valueField: valueField,
@@ -228,7 +229,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
228
229
  prefixText: prefixText,
229
230
  optionType: optionType,
230
231
  iconSize: iconSize,
231
- disabledOptions: disabledOptions
232
+ disabledOptions: disabledOptions,
233
+ allowValueFallback: allowValueFallback
232
234
  });
233
235
  }
234
236
  }, {
@@ -239,7 +241,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
239
241
  showedSelectedOptionsCount = _ref.showedSelectedOptionsCount;
240
242
 
241
243
  var selectedOptionsLimit = props.selectedOptionsLimit,
242
- selectedOptionDetails = props.selectedOptionDetails;
244
+ selectedOptionDetails = props.selectedOptionDetails,
245
+ allowValueFallback = props.allowValueFallback;
243
246
  showedSelectedOptionsCount = (0, _Common.getIsEmptyValue)(showedSelectedOptionsCount) ? selectedOptionsLimit : showedSelectedOptionsCount;
244
247
 
245
248
  var _this$handleFormatSel = this.handleFormatSelectedOptions(selectedOptionDetails, props),
@@ -252,7 +255,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
252
255
  return this.getSelectedOptions({
253
256
  selectedOptions: selectedOptions,
254
257
  normalizedFormatOptions: formatOptions,
255
- selectedOptionsLength: showedSelectedOptionsCount
258
+ selectedOptionsLength: showedSelectedOptionsCount,
259
+ allowValueFallback: allowValueFallback
256
260
  });
257
261
  }
258
262
  }, {
@@ -264,7 +268,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
264
268
  optionType = props.optionType,
265
269
  iconName = props.iconName,
266
270
  iconSize = props.iconSize,
267
- disabledOptions = props.disabledOptions;
271
+ disabledOptions = props.disabledOptions,
272
+ allowValueFallback = props.allowValueFallback;
268
273
  return this.formatSelectedOptions({
269
274
  options: selectedOptionDetails,
270
275
  valueField: valueField,
@@ -273,7 +278,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
273
278
  optionType: optionType,
274
279
  iconName: iconName,
275
280
  iconSize: iconSize,
276
- disabledOptions: disabledOptions
281
+ disabledOptions: disabledOptions,
282
+ allowValueFallback: allowValueFallback
277
283
  });
278
284
  }
279
285
  }, {
@@ -299,22 +299,26 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
299
299
  valueField = props.valueField,
300
300
  textField = props.textField,
301
301
  prefixText = props.prefixText,
302
- disabledOptions = props.disabledOptions;
302
+ disabledOptions = props.disabledOptions,
303
+ allowValueFallback = props.allowValueFallback;
303
304
  return this.formatOptions({
304
305
  options: options,
305
306
  valueField: valueField,
306
307
  textField: textField,
307
308
  prefixText: prefixText,
308
309
  optionType: 'default',
309
- disabledOptions: disabledOptions
310
+ disabledOptions: disabledOptions,
311
+ allowValueFallback: allowValueFallback
310
312
  });
311
313
  }
312
314
  }, {
313
315
  key: "handleGetSelectedOptions",
314
- value: function handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
316
+ value: function handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, props) {
317
+ var allowValueFallback = props.allowValueFallback;
315
318
  return this.getSelectedOptions({
316
319
  selectedOptions: selectedOptions,
317
- normalizedFormatOptions: normalizedFormatOptions
320
+ normalizedFormatOptions: normalizedFormatOptions,
321
+ allowValueFallback: allowValueFallback
318
322
  });
319
323
  }
320
324
  }, {
@@ -99,14 +99,16 @@ var MultiSelectWithAvatarComponent = /*#__PURE__*/function (_MultiSelectComponen
99
99
  valueField = props.valueField,
100
100
  textField = props.textField,
101
101
  imageField = props.imageField,
102
- disabledOptions = props.disabledOptions;
102
+ disabledOptions = props.disabledOptions,
103
+ allowValueFallback = props.allowValueFallback;
103
104
  return this.formatOptions({
104
105
  options: options,
105
106
  valueField: valueField,
106
107
  textField: textField,
107
108
  imageField: imageField,
108
109
  optionType: 'avatar',
109
- disabledOptions: disabledOptions
110
+ disabledOptions: disabledOptions,
111
+ allowValueFallback: allowValueFallback
110
112
  });
111
113
  }
112
114
  }, {
@@ -17,4 +17,32 @@ describe('AdvancedMultiSelect', function () {
17
17
 
18
18
  expect(asFragment()).toMatchSnapshot();
19
19
  });
20
+ var options = [{
21
+ id: 1,
22
+ text: 'Apple'
23
+ }, {
24
+ id: 2,
25
+ text: 'Orange'
26
+ }, 'string test'];
27
+ test('rendering the options array with objects and string', function () {
28
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AdvancedMultiSelect["default"], {
29
+ isPopupOpen: true,
30
+ isPopupReady: true,
31
+ options: options
32
+ })),
33
+ asFragment = _render2.asFragment;
34
+
35
+ expect(asFragment()).toMatchSnapshot();
36
+ });
37
+ test('rendering the options array with only objects using allowValueFallback', function () {
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AdvancedMultiSelect["default"], {
39
+ isPopupOpen: true,
40
+ isPopupReady: true,
41
+ options: options,
42
+ allowValueFallback: false
43
+ })),
44
+ asFragment = _render3.asFragment;
45
+
46
+ expect(asFragment()).toMatchSnapshot();
47
+ });
20
48
  });