@zohodesk/components 1.0.0-temp-220.7 → 1.0.0-temp-223

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 (70) hide show
  1. package/.cli/config/variables/variableMapping.json +6 -0
  2. package/.cli/propValidation_report.html +1 -1
  3. package/README.md +8 -0
  4. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +1 -0
  5. package/assets/Appearance/light/mode/Component_LightMode.module.css +1 -0
  6. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +1 -0
  7. package/es/ListItem/ListContainer.js +3 -2
  8. package/es/ListItem/ListItem.module.css +52 -6
  9. package/es/ListItem/ListItemWithAvatar.js +17 -6
  10. package/es/ListItem/ListItemWithCheckBox.js +18 -6
  11. package/es/ListItem/ListItemWithIcon.js +20 -7
  12. package/es/ListItem/ListItemWithRadio.js +19 -6
  13. package/es/ListItem/__tests__/ListContainer.spec.js +8 -0
  14. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +35 -0
  15. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +35 -0
  16. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +35 -0
  17. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +35 -0
  18. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +13 -0
  19. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +200 -2
  20. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +451 -30
  21. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +202 -4
  22. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +447 -30
  23. package/es/ListItem/props/defaultProps.js +13 -5
  24. package/es/ListItem/props/propTypes.js +13 -1
  25. package/es/MultiSelect/AdvancedMultiSelect.js +10 -4
  26. package/es/MultiSelect/MultiSelect.js +8 -4
  27. package/es/MultiSelect/MultiSelect.module.css +9 -1
  28. package/es/MultiSelect/MultiSelectWithAvatar.js +6 -2
  29. package/es/MultiSelect/Suggestions.js +5 -2
  30. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
  31. package/es/MultiSelect/props/propTypes.js +3 -0
  32. package/es/Popup/Popup.js +22 -56
  33. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +21 -2
  34. package/es/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +2 -1
  35. package/es/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +2 -1
  36. package/es/common/common.module.css +10 -0
  37. package/es/utils/dropDownUtils.js +33 -8
  38. package/lib/ListItem/ListContainer.js +3 -2
  39. package/lib/ListItem/ListItem.module.css +52 -6
  40. package/lib/ListItem/ListItemWithAvatar.js +16 -5
  41. package/lib/ListItem/ListItemWithCheckBox.js +17 -5
  42. package/lib/ListItem/ListItemWithIcon.js +19 -6
  43. package/lib/ListItem/ListItemWithRadio.js +18 -5
  44. package/lib/ListItem/__tests__/ListContainer.spec.js +8 -0
  45. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +35 -0
  46. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +35 -0
  47. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +35 -0
  48. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +35 -0
  49. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +13 -0
  50. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +200 -2
  51. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +451 -30
  52. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +202 -4
  53. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +447 -30
  54. package/lib/ListItem/props/defaultProps.js +13 -5
  55. package/lib/ListItem/props/propTypes.js +12 -2
  56. package/lib/MultiSelect/AdvancedMultiSelect.js +76 -69
  57. package/lib/MultiSelect/MultiSelect.js +8 -4
  58. package/lib/MultiSelect/MultiSelect.module.css +9 -1
  59. package/lib/MultiSelect/MultiSelectWithAvatar.js +6 -2
  60. package/lib/MultiSelect/Suggestions.js +5 -2
  61. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
  62. package/lib/MultiSelect/props/propTypes.js +4 -1
  63. package/lib/Popup/Popup.js +60 -96
  64. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +49 -9
  65. package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +2 -1
  66. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +2 -1
  67. package/lib/common/common.module.css +10 -0
  68. package/lib/utils/dropDownUtils.js +41 -11
  69. package/package.json +3 -3
  70. package/result.json +0 -1
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -29,6 +27,20 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
29
27
 
30
28
  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); }
31
29
 
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
34
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
36
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
38
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
43
+
32
44
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
45
 
34
46
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -63,14 +75,37 @@ var VelocityAnimationGroup = /*#__PURE__*/function (_React$Component) {
63
75
  var _super = _createSuper(VelocityAnimationGroup);
64
76
 
65
77
  function VelocityAnimationGroup(props) {
78
+ var _this;
79
+
66
80
  _classCallCheck(this, VelocityAnimationGroup);
67
81
 
68
- return _super.call(this, props);
82
+ _this = _super.call(this, props);
83
+ _this.handleOnEnterComplete = _this.handleOnEnterComplete.bind(_assertThisInitialized(_this));
84
+ return _this;
69
85
  }
70
86
 
71
87
  _createClass(VelocityAnimationGroup, [{
88
+ key: "handleOnEnterComplete",
89
+ value: function handleOnEnterComplete(onEnterComplete, elements) {
90
+ if (typeof onEnterComplete === 'function') {
91
+ onEnterComplete(elements);
92
+ } else if (onEnterComplete && _typeof(onEnterComplete) === 'object') {
93
+ elements.forEach(function (rootElement) {
94
+ Object.entries(onEnterComplete).forEach(function (_ref) {
95
+ var _ref2 = _slicedToArray(_ref, 2),
96
+ cssProperty = _ref2[0],
97
+ cssValue = _ref2[1];
98
+
99
+ if (cssProperty.includes) rootElement.style[cssProperty] = cssValue;
100
+ });
101
+ });
102
+ }
103
+ }
104
+ }, {
72
105
  key: "render",
73
106
  value: function render() {
107
+ var _this2 = this;
108
+
74
109
  var _this$props = this.props,
75
110
  children = _this$props.children,
76
111
  enterName = _this$props.enterName,
@@ -87,11 +122,12 @@ var VelocityAnimationGroup = /*#__PURE__*/function (_React$Component) {
87
122
  enterDelay = _this$props.enterDelay,
88
123
  isCustomized = _this$props.isCustomized,
89
124
  name = _this$props.name,
90
- needUIPack = _this$props.needUIPack;
125
+ needUIPack = _this$props.needUIPack,
126
+ onEnterComplete = _this$props.onEnterComplete;
91
127
 
92
- var _ref = this.context || {},
93
- direction = _ref.direction,
94
- isReducedMotion = _ref.isReducedMotion;
128
+ var _ref3 = this.context || {},
129
+ direction = _ref3.direction,
130
+ isReducedMotion = _ref3.isReducedMotion;
95
131
 
96
132
  var childProps = clearProps(this.props);
97
133
  var enterAnimationObj = {
@@ -128,7 +164,10 @@ var VelocityAnimationGroup = /*#__PURE__*/function (_React$Component) {
128
164
  animation: isCustomized ? enterAnimationObj[name] : needUIPack ? "transition.".concat(enterName, "In") : enterName,
129
165
  duration: !isReducedMotion ? enterDuration : 0,
130
166
  delay: enterDelay ? enterDelay : 0,
131
- display: isFlex ? 'flex' : ''
167
+ display: isFlex ? 'flex' : '',
168
+ complete: function complete(elements) {
169
+ _this2.handleOnEnterComplete(onEnterComplete, elements);
170
+ }
132
171
  };
133
172
  var exitAnimation = {
134
173
  animation: isCustomized ? exitAnimationObj[name] : needUIPack ? "transition.".concat(exitName ? exitName : enterName, "Out") : exitName ? exitName : enterName,
@@ -142,7 +181,8 @@ var VelocityAnimationGroup = /*#__PURE__*/function (_React$Component) {
142
181
  component: component && component,
143
182
  runOnMount: runOnMount,
144
183
  enterHideStyle: enterHideStyle,
145
- enterShowStyle: enterShowStyle
184
+ enterShowStyle: enterShowStyle,
185
+ onEnterComplete: onEnterComplete
146
186
  }, childProps), isActive ? children : null);
147
187
  }
148
188
  }]);
@@ -17,6 +17,7 @@ var defaultProps = {
17
17
  exitDuration: 300,
18
18
  isActive: false,
19
19
  isCustomized: true,
20
- needUIPack: true
20
+ needUIPack: true,
21
+ onEnterComplete: {}
21
22
  };
22
23
  exports.defaultProps = defaultProps;
@@ -25,6 +25,7 @@ var propTypes = {
25
25
  isFlex: _propTypes["default"].bool,
26
26
  name: _propTypes["default"].oneOf(['fade', 'slideDown', 'flyDown', 'slideRight', 'shrink', 'expand', 'slideLeft']),
27
27
  needUIPack: _propTypes["default"].bool,
28
- runOnMount: _propTypes["default"].bool
28
+ runOnMount: _propTypes["default"].bool,
29
+ onEnterComplete: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].func])
29
30
  };
30
31
  exports.propTypes = propTypes;
@@ -260,6 +260,12 @@
260
260
  justify-content: space-between;
261
261
  }
262
262
 
263
+ .justifyFstart {
264
+ -webkit-box-pack: flex-start;
265
+ -ms-flex-pack: flex-start;
266
+ justify-content: flex-start;
267
+ }
268
+
263
269
  .justifyFend {
264
270
  -webkit-box-pack: flex-end;
265
271
  -ms-flex-pack: flex-end;
@@ -493,6 +499,10 @@
493
499
  display: -webkit-box;
494
500
  overflow: hidden;
495
501
  }
502
+ .lineClamp {
503
+ composes: wbreak clamp;
504
+ -webkit-line-clamp: var(--line-clamp,2);
505
+ }
496
506
 
497
507
  .offSelection {
498
508
  -webkit-user-select: none;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.optionIdGrouping = exports.makeObjectConcat = exports.makeGetSelectedValueText = exports.makeGetOptionIdChange = exports.makeGetMultiSelectSelectedOptions = exports.makeGetMultiSelectFilterSuggestions = exports.makeGetIsShowClearIcon = exports.makeGetGroupSelectOptions = exports.makeGetGroupSelectFilterSuggestions = exports.makeFormatOptions = exports.getValueField = exports.getTextField = exports.getPrefixText = exports.getOptions = exports.getOptionType = exports.getImageField = exports.getIconSize = exports.getIconName = exports.filterSelectedOptions = exports.extractOptionIdFromJson = exports.extractOptionId = exports.dummyObj = exports.dummyArray = void 0;
6
+ exports.optionIdGrouping = exports.makeObjectConcat = exports.makeGetSelectedValueText = exports.makeGetOptionIdChange = exports.makeGetMultiSelectSelectedOptions = exports.makeGetMultiSelectFilterSuggestions = exports.makeGetIsShowClearIcon = exports.makeGetGroupSelectOptions = exports.makeGetGroupSelectFilterSuggestions = exports.makeFormatOptions = exports.getValueField = exports.getTextField = exports.getSecondaryField = exports.getPrefixText = exports.getOptions = exports.getOptionType = exports.getImageField = exports.getIconSize = exports.getIconName = exports.filterSelectedOptions = exports.extractOptionIdFromJson = exports.extractOptionId = exports.dummyObj = exports.dummyArray = void 0;
7
7
 
8
8
  var _reselect = require("reselect");
9
9
 
@@ -66,6 +66,12 @@ var getValueField = function getValueField(props) {
66
66
 
67
67
  exports.getValueField = getValueField;
68
68
 
69
+ var getSecondaryField = function getSecondaryField(props) {
70
+ return props.secondaryField || '';
71
+ };
72
+
73
+ exports.getSecondaryField = getSecondaryField;
74
+
69
75
  var getTextField = function getTextField(props) {
70
76
  return props.textField || '';
71
77
  };
@@ -142,25 +148,38 @@ var getListItemProps = function getListItemProps(props) {
142
148
  return props.listItemProps || '';
143
149
  };
144
150
 
151
+ var getSearchFields = function getSearchFields(props) {
152
+ return props.searchFields || ['value'];
153
+ };
154
+
155
+ var isObjectContainsSearchString = function isObjectContainsSearchString() {
156
+ var searchFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
157
+ var searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
158
+ var obj = arguments.length > 2 ? arguments[2] : undefined;
159
+ var matchedFields = searchFields.filter(function (element) {
160
+ return (0, _Common.getSearchString)(obj[element]).indexOf(searchStr) !== -1;
161
+ });
162
+ return matchedFields.length !== 0;
163
+ };
164
+
145
165
  var getAllowValueFallback = function getAllowValueFallback(props) {
146
166
  return props.allowValueFallback !== false;
147
167
  };
148
168
 
149
169
  var makeGetMultiSelectFilterSuggestions = function makeGetMultiSelectFilterSuggestions() {
150
- return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions) {
170
+ return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions, getSearchFields], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions, searchFields) {
151
171
  var suggestions = [];
152
172
  var suggestionIds = [];
153
173
  options.forEach(function (option) {
154
- var id = option.id,
155
- _option$value = option.value,
174
+ var searchString = (0, _Common.getSearchString)(searchStr);
175
+ var _option$value = option.value,
156
176
  value = _option$value === void 0 ? '' : _option$value;
157
177
  var valueString = (0, _Common.getSearchString)(value);
158
- var searchString = (0, _Common.getSearchString)(searchStr);
159
- var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : valueString.indexOf(searchString) !== -1 : true;
178
+ var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : isObjectContainsSearchString(searchFields, searchString, option) : true;
160
179
 
161
- if (selectedOptions.indexOf(id) === -1 && isMatch || keepSelectedOptions) {
180
+ if (selectedOptions.indexOf(option.id) === -1 && isMatch || keepSelectedOptions) {
162
181
  suggestions.push(option);
163
- suggestionIds.push(id);
182
+ suggestionIds.push(option.id);
164
183
  }
165
184
  });
166
185
  return {
@@ -232,7 +251,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
232
251
  exports.extractOptionIdFromJson = extractOptionIdFromJson;
233
252
 
234
253
  var makeFormatOptions = function makeFormatOptions() {
235
- return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps, getAllowValueFallback], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps, allowValueFallback) {
254
+ return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps, getAllowValueFallback, getSearchFields, getSecondaryField], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps, allowValueFallback, searchFields, secondaryField) {
236
255
  var revampOptions = [];
237
256
  var remvampOptionIds = [];
238
257
  var normalizedAllOptions = {};
@@ -243,23 +262,34 @@ var makeFormatOptions = function makeFormatOptions() {
243
262
  var impValueField = option.valueField,
244
263
  impTextField = option.textField,
245
264
  impImageField = option.imageField,
265
+ impSecondaryField = option.secondaryField,
246
266
  impOptionType = option.optionType,
247
267
  impIconName = option.iconName,
248
268
  impIconSize = option.iconSize,
249
269
  listStyle = option.listItemProps;
250
270
  var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
251
271
  var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
272
+ var secondaryValue = _typeof(option) === 'object' ? option[impSecondaryField || secondaryField] : '';
252
273
  var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
253
274
 
254
275
  id = !(0, _Common.getIsEmptyValue)(id) ? optionIdGrouping(id, prefixText) : '';
276
+ var additionalSearchFieldData = searchFields.reduce(function (value, item) {
277
+ if (_typeof(option) === 'object' && option.hasOwnProperty(item)) {
278
+ value[item] = option[item];
279
+ }
280
+
281
+ return value;
282
+ }, {});
255
283
 
256
284
  if (remvampOptionIds.indexOf(id) === -1 && !(0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(value)) {
257
285
  remvampOptionIds.push(id);
258
- var optionDetails = {
286
+
287
+ var optionDetails = _objectSpread(_objectSpread({}, additionalSearchFieldData), {}, {
259
288
  id: id,
260
289
  value: value,
290
+ secondaryValue: secondaryValue,
261
291
  optionType: impOptionType || optionType
262
- };
292
+ });
263
293
 
264
294
  if (imageField) {
265
295
  optionDetails.photoURL = photoURL;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-temp-220.7",
3
+ "version": "1.0.0-temp-223",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -38,7 +38,7 @@
38
38
  "build:css:umd": "npm run clean && npm run init && react-cli build:css:umd",
39
39
  "coverage": "react-cli coverage",
40
40
  "prepare": "npm run init && npm run build && npm run rtl && npm run cssVariableConvert ",
41
- "prepublishOnly": "node prePublish.js && npm run download && npm run css:review && npm run review:props ",
41
+ "prepublishOnly": "node prePublish.js && npm run test-clean && npm run download && npm run css:review && npm run review:props ",
42
42
  "postpublish": "node postPublish.js",
43
43
  "report": "react-cli publish:report",
44
44
  "test": "react-cli test",
@@ -65,7 +65,7 @@
65
65
  "@testing-library/react-hooks": "^7.0.2",
66
66
  "@testing-library/user-event": "^13.0.10",
67
67
  "@zohodesk-private/color-variable-preprocessor": "1.2.0",
68
- "@zohodesk-private/css-variable-migrator": "^1.0.7",
68
+ "@zohodesk-private/css-variable-migrator": "^1.0.8",
69
69
  "@zohodesk-private/node-plugins": "1.1.8",
70
70
  "@zohodesk-private/react-prop-validator": "1.2.3",
71
71
  "@zohodesk/a11y": "2.3.4",