@zohodesk/dot 1.4.13 → 1.4.15

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 (113) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +14 -0
  3. package/coverage/ExternalLink/ExternalLink.js.html +1 -1
  4. package/coverage/ExternalLink/ExternalLink.module.css.html +1 -1
  5. package/coverage/ExternalLink/index.html +1 -1
  6. package/coverage/ExternalLink/props/defaultProps.js.html +1 -1
  7. package/coverage/ExternalLink/props/index.html +1 -1
  8. package/coverage/ExternalLink/props/propTypes.js.html +1 -1
  9. package/coverage/IconButton/IconButton.js.html +1 -1
  10. package/coverage/IconButton/IconButton.module.css.html +2 -5
  11. package/coverage/IconButton/index.html +1 -1
  12. package/coverage/IconButton/props/defaultProps.js.html +1 -1
  13. package/coverage/IconButton/props/index.html +1 -1
  14. package/coverage/IconButton/props/propTypes.js.html +1 -1
  15. package/coverage/Image/Image.js.html +1 -1
  16. package/coverage/Image/Image.module.css.html +1 -1
  17. package/coverage/Image/index.html +1 -1
  18. package/coverage/Image/props/defaultProps.js.html +1 -1
  19. package/coverage/Image/props/index.html +1 -1
  20. package/coverage/Image/props/propTypes.js.html +1 -1
  21. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.js.html +1 -1
  22. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.module.css.html +1 -1
  23. package/coverage/avatar/AvatarWithTeam/index.html +1 -1
  24. package/coverage/avatar/AvatarWithTeam/props/defaultProps.js.html +1 -1
  25. package/coverage/avatar/AvatarWithTeam/props/index.html +1 -1
  26. package/coverage/avatar/AvatarWithTeam/props/propTypes.js.html +1 -1
  27. package/coverage/coverage-final.json +16 -16
  28. package/coverage/coverage-summary.json +16 -16
  29. package/coverage/index.html +1 -1
  30. package/es/ActionButton/ActionButton.module.css +51 -4
  31. package/es/AlphabeticList/AlphabeticList.module.css +0 -2
  32. package/es/AttachmentViewer/AttachmentViewer.module.css +0 -2
  33. package/es/ChannelIcon/ChannelIcon.module.css +9 -4
  34. package/es/FormAction/FormAction.module.css +18 -1
  35. package/es/IconButton/IconButton.module.css +0 -1
  36. package/es/TagWithIcon/TagWithIcon.module.css +0 -3
  37. package/es/avatar/AvatarIcon/AvatarIcon.module.css +0 -6
  38. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +0 -4
  39. package/es/form/fields/ValidationMessage/ValidationMessage.module.css +0 -1
  40. package/es/layout/SubtabLayout/SubtabLayout.module.css +0 -2
  41. package/es/list/Comment/Comment.module.css +0 -1
  42. package/es/list/Dot/Dot.module.css +0 -1
  43. package/es/list/ListLayout/ListLayout.module.css +0 -6
  44. package/es/list/Subject/Subject.module.css +8 -1
  45. package/es/list/Thread/Thread.js +1 -2
  46. package/es/list/Thread/Thread.module.css +0 -1
  47. package/es/list/status/StatusDropdown/StatusDropdown.js +50 -179
  48. package/es/list/status/StatusDropdown/StatusDropdown.module.css +1 -10
  49. package/es/list/status/StatusDropdown/props/defaultProps.js +2 -1
  50. package/es/list/status/StatusDropdown/props/propTypes.js +1 -1
  51. package/es/list/status/StatusListItem/StatusListItem.js +5 -1
  52. package/es/lookup/Lookup/Lookup.js +3 -2
  53. package/es/lookup/Lookup/Lookup.module.css +4 -1
  54. package/es/lookup/Lookup/props/propTypes.js +3 -2
  55. package/es/lookup/header/TicketHeader/TicketHeader.js +88 -73
  56. package/es/lookup/header/TicketHeader/props/defaultProps.js +7 -1
  57. package/es/lookup/header/TicketHeader/props/propTypes.js +2 -1
  58. package/es/v1/list/Thread/Thread.js +1 -2
  59. package/es/v1/list/status/StatusDropdown/StatusDropdown.js +49 -134
  60. package/es/v1/list/status/StatusDropdown/props/defaultProps.js +2 -1
  61. package/es/v1/list/status/StatusDropdown/props/propTypes.js +1 -1
  62. package/es/v1/list/status/StatusListItem/StatusListItem.js +5 -1
  63. package/es/v1/lookup/Lookup/Lookup.js +3 -2
  64. package/es/v1/lookup/Lookup/props/propTypes.js +3 -2
  65. package/es/v1/lookup/header/TicketHeader/TicketHeader.js +30 -12
  66. package/es/v1/lookup/header/TicketHeader/props/defaultProps.js +7 -1
  67. package/es/v1/lookup/header/TicketHeader/props/propTypes.js +2 -1
  68. package/es/version2/GlobalNotification/GlobalNotification.module.css +0 -4
  69. package/es/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +0 -1
  70. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +0 -2
  71. package/lib/ActionButton/ActionButton.module.css +51 -4
  72. package/lib/AlphabeticList/AlphabeticList.module.css +0 -2
  73. package/lib/AttachmentViewer/AttachmentViewer.module.css +0 -2
  74. package/lib/ChannelIcon/ChannelIcon.module.css +9 -4
  75. package/lib/FormAction/FormAction.module.css +18 -1
  76. package/lib/IconButton/IconButton.module.css +0 -1
  77. package/lib/TagWithIcon/TagWithIcon.module.css +0 -3
  78. package/lib/avatar/AvatarIcon/AvatarIcon.module.css +0 -6
  79. package/lib/emptystate/CommonEmptyState/CommonEmptyState.module.css +0 -4
  80. package/lib/form/fields/ValidationMessage/ValidationMessage.module.css +0 -1
  81. package/lib/layout/SubtabLayout/SubtabLayout.module.css +0 -2
  82. package/lib/list/Comment/Comment.module.css +0 -1
  83. package/lib/list/Dot/Dot.module.css +0 -1
  84. package/lib/list/ListLayout/ListLayout.module.css +0 -6
  85. package/lib/list/Subject/Subject.module.css +8 -1
  86. package/lib/list/Thread/Thread.js +1 -2
  87. package/lib/list/Thread/Thread.module.css +0 -1
  88. package/lib/list/status/StatusDropdown/StatusDropdown.js +96 -231
  89. package/lib/list/status/StatusDropdown/StatusDropdown.module.css +1 -10
  90. package/lib/list/status/StatusDropdown/props/defaultProps.js +2 -1
  91. package/lib/list/status/StatusDropdown/props/propTypes.js +1 -1
  92. package/lib/list/status/StatusListItem/StatusListItem.js +6 -1
  93. package/lib/lookup/Lookup/Lookup.js +3 -2
  94. package/lib/lookup/Lookup/Lookup.module.css +4 -1
  95. package/lib/lookup/Lookup/props/propTypes.js +3 -2
  96. package/lib/lookup/header/TicketHeader/TicketHeader.js +93 -106
  97. package/lib/lookup/header/TicketHeader/props/defaultProps.js +7 -1
  98. package/lib/lookup/header/TicketHeader/props/propTypes.js +2 -1
  99. package/lib/v1/list/Thread/Thread.js +1 -2
  100. package/lib/v1/list/status/StatusDropdown/StatusDropdown.js +41 -132
  101. package/lib/v1/list/status/StatusDropdown/props/defaultProps.js +2 -1
  102. package/lib/v1/list/status/StatusDropdown/props/propTypes.js +1 -1
  103. package/lib/v1/list/status/StatusListItem/StatusListItem.js +6 -1
  104. package/lib/v1/lookup/Lookup/Lookup.js +3 -2
  105. package/lib/v1/lookup/Lookup/props/propTypes.js +3 -2
  106. package/lib/v1/lookup/header/TicketHeader/TicketHeader.js +37 -12
  107. package/lib/v1/lookup/header/TicketHeader/props/defaultProps.js +7 -1
  108. package/lib/v1/lookup/header/TicketHeader/props/propTypes.js +2 -1
  109. package/lib/version2/GlobalNotification/GlobalNotification.module.css +0 -4
  110. package/lib/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +0 -1
  111. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +0 -2
  112. package/package.json +12 -12
  113. package/result.json +1 -1
@@ -27,10 +27,6 @@ var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"))
27
27
 
28
28
  var _EmptySearch = _interopRequireDefault(require("@zohodesk/svg/lib/emptystate/version3/EmptySearch"));
29
29
 
30
- var _Common = require("@zohodesk/components/lib/utils/Common.js");
31
-
32
- var _TextBox = _interopRequireDefault(require("@zohodesk/components/lib/TextBox/TextBox"));
33
-
34
30
  var _CommonEmptyState = _interopRequireDefault(require("../../../emptystate/CommonEmptyState/CommonEmptyState"));
35
31
 
36
32
  var _StatusListItem = _interopRequireDefault(require("../StatusListItem/StatusListItem"));
@@ -82,20 +78,13 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
82
78
  _this = _super.call(this, props);
83
79
  _this.state = {
84
80
  searchString: '',
85
- selectedIndex: 0,
86
81
  options: props.options
87
82
  };
88
83
  _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));
89
- _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this));
90
84
  _this.onSelect = _this.onSelect.bind(_assertThisInitialized(_this));
91
85
  _this.handleTogglePopup = _this.handleTogglePopup.bind(_assertThisInitialized(_this));
92
86
  _this.onSearchClear = _this.onSearchClear.bind(_assertThisInitialized(_this));
93
87
  _this.searchList = _this.searchList.bind(_assertThisInitialized(_this));
94
- _this.scrollContentRef = _this.scrollContentRef.bind(_assertThisInitialized(_this));
95
- _this.handleMouseEnter = _this.handleMouseEnter.bind(_assertThisInitialized(_this));
96
- _this.searchInputRef = _this.searchInputRef.bind(_assertThisInitialized(_this));
97
- _this.itemRef = _this.itemRef.bind(_assertThisInitialized(_this));
98
- _this.inputRef = _this.inputRef.bind(_assertThisInitialized(_this));
99
88
  _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
100
89
  _this.emptySearchSVG = _this.emptySearchSVG.bind(_assertThisInitialized(_this));
101
90
  _this.getAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
@@ -109,21 +98,6 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
109
98
  size: "small"
110
99
  });
111
100
  }
112
- }, {
113
- key: "inputRef",
114
- value: function inputRef(el) {
115
- this.hiddenInput = el;
116
- }
117
- }, {
118
- key: "itemRef",
119
- value: function itemRef(ele, index, id) {
120
- this["suggestion_".concat(id)] = ele;
121
- }
122
- }, {
123
- key: "searchInputRef",
124
- value: function searchInputRef(el) {
125
- this.searchInput = el;
126
- }
127
101
  }, {
128
102
  key: "handleTogglePopup",
129
103
  value: function handleTogglePopup(e) {
@@ -137,15 +111,6 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
137
111
  onTogglePopup && onTogglePopup(isPopupOpen);
138
112
  togglePopup(e, boxPosition);
139
113
  }
140
- }, {
141
- key: "scrollContentRef",
142
- value: function scrollContentRef(el) {
143
- var isPopupOpen = this.props.isPopupOpen;
144
-
145
- if (isPopupOpen) {
146
- this.optionsContainer = el;
147
- }
148
- }
149
114
  }, {
150
115
  key: "componentWillReceiveProps",
151
116
  value: function componentWillReceiveProps(nextProps) {
@@ -170,110 +135,16 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
170
135
  }, {
171
136
  key: "componentDidUpdate",
172
137
  value: function componentDidUpdate(prevProps) {
173
- var _this2 = this;
174
-
175
- var _this$props3 = this.props,
176
- isPopupOpen = _this$props3.isPopupOpen,
177
- isSearch = _this$props3.isSearch,
178
- idName = _this$props3.idName;
179
- var _this$state = this.state,
180
- selectedIndex = _this$state.selectedIndex,
181
- options = _this$state.options;
182
-
183
- if (prevProps.isPopupOpen != isPopupOpen) {
184
- setTimeout(function () {
185
- isPopupOpen && isSearch ? _this2.searchInput && _this2.searchInput.focus() : _this2.hiddenInput && _this2.hiddenInput.focus();
186
- }, 10);
187
- }
188
-
189
- var mergeOptions = options;
190
- var option = mergeOptions[selectedIndex];
191
- var id = option && option[idName] || {};
192
- var selSuggestion = this["suggestion_".concat(id)];
193
-
194
- if (isPopupOpen) {
195
- this.optionsContainer && (0, _Common.scrollTo)(this.optionsContainer, selSuggestion);
196
- }
197
-
198
138
  if (!prevProps.isPopupOpen && this.props.isPopupOpen) {
199
139
  this.onSearchClear();
200
140
  }
201
141
  }
202
- }, {
203
- key: "handleKeyDown",
204
- value: function handleKeyDown(e) {
205
- var keyCode = e.keyCode;
206
- var _this$state2 = this.state,
207
- selectedIndex = _this$state2.selectedIndex,
208
- options = _this$state2.options;
209
- var totalIndex = options.length;
210
- var _this$props4 = this.props,
211
- togglePopup = _this$props4.togglePopup,
212
- onClick = _this$props4.onClick,
213
- boxPosition = _this$props4.boxPosition,
214
- isPopupReady = _this$props4.isPopupReady,
215
- isNextOptions = _this$props4.isNextOptions,
216
- getNextOptions = _this$props4.getNextOptions,
217
- onTogglePopup = _this$props4.onTogglePopup,
218
- isPopupOpen = _this$props4.isPopupOpen;
219
-
220
- if (isPopupReady && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
221
- e.preventDefault(); //prevent body scroll
222
- }
223
-
224
- if (isPopupReady) {
225
- switch (keyCode) {
226
- case 40:
227
- if (selectedIndex === totalIndex - 1) {
228
- this.setState({
229
- selectedIndex: 0
230
- });
231
- } else {
232
- if (selectedIndex === totalIndex - 3) {
233
- isNextOptions && getNextOptions && getNextOptions();
234
- }
235
-
236
- this.setState({
237
- selectedIndex: selectedIndex + 1
238
- });
239
- }
240
-
241
- break;
242
-
243
- case 38:
244
- if (selectedIndex === 0) {
245
- this.setState({
246
- selectedIndex: totalIndex - 1
247
- });
248
- } else {
249
- this.setState({
250
- selectedIndex: selectedIndex - 1
251
- });
252
- }
253
-
254
- break;
255
-
256
- case 13:
257
- onClick && onClick(options[selectedIndex].name, e);
258
- onTogglePopup && onTogglePopup(isPopupOpen);
259
- togglePopup(e, boxPosition);
260
- break;
261
-
262
- default:
263
- break;
264
- }
265
- } else {
266
- if (keyCode === 13 || keyCode === 40) {
267
- togglePopup(e, boxPosition);
268
- }
269
- }
270
- }
271
142
  }, {
272
143
  key: "searchList",
273
144
  value: function searchList(value) {
274
- var _this$props5 = this.props,
275
- options = _this$props5.options,
276
- keyName = _this$props5.keyName;
145
+ var _this$props3 = this.props,
146
+ options = _this$props3.options,
147
+ keyName = _this$props3.keyName;
277
148
  var foptions = options.filter(function (dept) {
278
149
  return dept[keyName].toLowerCase().indexOf(value.toLowerCase()) != -1;
279
150
  });
@@ -285,7 +156,6 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
285
156
  var foptions = this.searchList(value);
286
157
  this.setState({
287
158
  searchString: value,
288
- selectedIndex: -1,
289
159
  options: foptions
290
160
  });
291
161
  }
@@ -298,22 +168,13 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
298
168
  options: foptions
299
169
  });
300
170
  }
301
- }, {
302
- key: "handleMouseEnter",
303
- value: function handleMouseEnter(id, value, index, e) {
304
- this.setState({
305
- selectedIndex: index
306
- });
307
- }
308
171
  }, {
309
172
  key: "handleScroll",
310
173
  value: function handleScroll(e) {
311
- var _this$props6 = this.props,
312
- isNextOptions = _this$props6.isNextOptions,
313
- getNextOptions = _this$props6.getNextOptions;
174
+ var getNextOptions = this.props.getNextOptions;
314
175
 
315
176
  if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1) {
316
- isNextOptions && getNextOptions && getNextOptions(e);
177
+ getNextOptions && getNextOptions(e);
317
178
  }
318
179
  }
319
180
  }, {
@@ -329,58 +190,58 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
329
190
  }, {
330
191
  key: "render",
331
192
  value: function render() {
332
- var _this3 = this;
333
-
334
- var _this$state3 = this.state,
335
- options = _this$state3.options,
336
- selectedIndex = _this$state3.selectedIndex;
337
- var _this$props7 = this.props,
338
- value = _this$props7.value,
339
- removeClose = _this$props7.removeClose,
340
- boxSize = _this$props7.boxSize,
341
- keyName = _this$props7.keyName,
342
- idName = _this$props7.idName,
343
- title = _this$props7.title,
344
- isSearch = _this$props7.isSearch,
345
- isArrow = _this$props7.isArrow,
346
- placeHolderText = _this$props7.placeHolderText,
347
- className = _this$props7.className,
348
- right = _this$props7.right,
349
- left = _this$props7.left,
350
- top = _this$props7.top,
351
- bottom = _this$props7.bottom,
352
- isOpen = _this$props7.isPopupOpen,
353
- isPopupReady = _this$props7.isPopupReady,
354
- position = _this$props7.position,
355
- getTargetRef = _this$props7.getTargetRef,
356
- getContainerRef = _this$props7.getContainerRef,
357
- dataId = _this$props7.dataId,
358
- searchBoxSize = _this$props7.searchBoxSize,
359
- searchEmptyHint = _this$props7.searchEmptyHint,
360
- searchErrorText = _this$props7.searchErrorText,
361
- activeStyle = _this$props7.activeStyle,
362
- _this$props7$showOnHo = _this$props7.showOnHover,
363
- showOnHover = _this$props7$showOnHo === void 0 ? false : _this$props7$showOnHo,
364
- isDisabled = _this$props7.isDisabled,
365
- showIconOnHover = _this$props7.showIconOnHover,
366
- isReadOnly = _this$props7.isReadOnly,
367
- hoverStyle = _this$props7.hoverStyle,
368
- isEditable = _this$props7.isEditable,
369
- needTick = _this$props7.needTick,
370
- dataTitle = _this$props7.dataTitle,
371
- isDataLoaded = _this$props7.isDataLoaded,
372
- children = _this$props7.children,
373
- targetAlign = _this$props7.targetAlign,
374
- needResponsive = _this$props7.needResponsive,
375
- arrowIconPosition = _this$props7.arrowIconPosition,
376
- statusColor = _this$props7.statusColor,
377
- _this$props7$needExte = _this$props7.needExternalPopupState,
378
- needExternalPopupState = _this$props7$needExte === void 0 ? false : _this$props7$needExte,
379
- _this$props7$isPopupA = _this$props7.isPopupActive,
380
- isPopupActive = _this$props7$isPopupA === void 0 ? false : _this$props7$isPopupA,
381
- needMultiLineText = _this$props7.needMultiLineText,
382
- _this$props7$a11y = _this$props7.a11y,
383
- a11y = _this$props7$a11y === void 0 ? {} : _this$props7$a11y;
193
+ var _this2 = this;
194
+
195
+ var options = this.state.options;
196
+ var _this$props4 = this.props,
197
+ value = _this$props4.value,
198
+ removeClose = _this$props4.removeClose,
199
+ boxSize = _this$props4.boxSize,
200
+ keyName = _this$props4.keyName,
201
+ idName = _this$props4.idName,
202
+ title = _this$props4.title,
203
+ isSearch = _this$props4.isSearch,
204
+ isArrow = _this$props4.isArrow,
205
+ placeHolderText = _this$props4.placeHolderText,
206
+ className = _this$props4.className,
207
+ right = _this$props4.right,
208
+ left = _this$props4.left,
209
+ top = _this$props4.top,
210
+ bottom = _this$props4.bottom,
211
+ isOpen = _this$props4.isPopupOpen,
212
+ isPopupReady = _this$props4.isPopupReady,
213
+ position = _this$props4.position,
214
+ getTargetRef = _this$props4.getTargetRef,
215
+ getContainerRef = _this$props4.getContainerRef,
216
+ dataId = _this$props4.dataId,
217
+ searchBoxSize = _this$props4.searchBoxSize,
218
+ searchEmptyHint = _this$props4.searchEmptyHint,
219
+ searchErrorText = _this$props4.searchErrorText,
220
+ activeStyle = _this$props4.activeStyle,
221
+ _this$props4$showOnHo = _this$props4.showOnHover,
222
+ showOnHover = _this$props4$showOnHo === void 0 ? false : _this$props4$showOnHo,
223
+ isDisabled = _this$props4.isDisabled,
224
+ showIconOnHover = _this$props4.showIconOnHover,
225
+ isReadOnly = _this$props4.isReadOnly,
226
+ hoverStyle = _this$props4.hoverStyle,
227
+ isEditable = _this$props4.isEditable,
228
+ needTick = _this$props4.needTick,
229
+ dataTitle = _this$props4.dataTitle,
230
+ isDataLoaded = _this$props4.isDataLoaded,
231
+ children = _this$props4.children,
232
+ targetAlign = _this$props4.targetAlign,
233
+ needResponsive = _this$props4.needResponsive,
234
+ arrowIconPosition = _this$props4.arrowIconPosition,
235
+ statusColor = _this$props4.statusColor,
236
+ _this$props4$needExte = _this$props4.needExternalPopupState,
237
+ needExternalPopupState = _this$props4$needExte === void 0 ? false : _this$props4$needExte,
238
+ _this$props4$isPopupA = _this$props4.isPopupActive,
239
+ isPopupActive = _this$props4$isPopupA === void 0 ? false : _this$props4$isPopupA,
240
+ needMultiLineText = _this$props4.needMultiLineText,
241
+ isFetchingOptions = _this$props4.isFetchingOptions,
242
+ getNextOptions = _this$props4.getNextOptions,
243
+ _this$props4$a11y = _this$props4.a11y,
244
+ a11y = _this$props4$a11y === void 0 ? {} : _this$props4$a11y;
384
245
  var _a11y$tabIndex = a11y.tabIndex,
385
246
  tabIndex = _a11y$tabIndex === void 0 ? 0 : _a11y$tabIndex,
386
247
  ariaLabelledby = a11y.ariaLabelledby,
@@ -397,12 +258,11 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
397
258
  tagName: "button",
398
259
  alignBox: "row",
399
260
  className: "".concat(_StatusDropdownModule["default"].container, " ").concat(containerClass, " ").concat(_semanticButtonModule["default"].buttonReset),
400
- onMouseDown: !showOnHover && !isDisabled && !isReadOnly && isEditable ? this.handleTogglePopup : null,
261
+ onClick: !showOnHover && !isDisabled && !isReadOnly && isEditable ? this.handleTogglePopup : null,
401
262
  eleRef: getTargetRef,
402
263
  align: targetAlign,
403
264
  isCover: false,
404
265
  dataId: dataId,
405
- onClick: removeClose,
406
266
  disabled: isDisabled || isReadOnly ? true : false,
407
267
  "aria-haspopup": isSearch ? 'listbox' : 'menu',
408
268
  "aria-expanded": isPopupReady && isEditable ? true : false,
@@ -410,15 +270,7 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
410
270
  "aria-labelledby": ariaLabelledby,
411
271
  "aria-label": ariaLabel,
412
272
  "aria-disabled": isDisabled || isReadOnly
413
- }, isEditable ? /*#__PURE__*/_react["default"].createElement("div", {
414
- className: _StatusDropdownModule["default"].hiddenInput
415
- }, /*#__PURE__*/_react["default"].createElement(_TextBox["default"], {
416
- type: "text",
417
- inputRef: this.inputRef,
418
- onKeyDown: this.handleKeyDown,
419
- needAppearance: false,
420
- placeHolder: placeHolderText
421
- })) : null, children ? children : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
273
+ }, children ? children : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
422
274
  className: "".concat(_StatusDropdownModule["default"].value, " toggleDropText"),
423
275
  shrink: true,
424
276
  tagName: "span",
@@ -450,17 +302,29 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
450
302
  customDropBoxWrap: _StatusDropdownModule["default"].dropBoxContainer
451
303
  },
452
304
  needResponsive: needResponsive,
453
- isResponsivePadding: true
305
+ isResponsivePadding: true,
306
+ needFocusScope: true,
307
+ onClose: _this2.handleTogglePopup,
308
+ customProps: {
309
+ focusScopeProps: {
310
+ loadNextOptions: getNextOptions,
311
+ searchValue: searchString,
312
+ isFetchingOptions: isFetchingOptions
313
+ }
314
+ }
454
315
  }, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isSearch ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
455
316
  className: _StatusDropdownModule["default"].search
456
317
  }, /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
457
318
  placeHolder: placeHolderText,
458
- onChange: _this3.handleChange,
319
+ onChange: _this2.handleChange,
459
320
  value: searchString,
460
- onClear: _this3.onSearchClear,
321
+ onClear: _this2.onSearchClear,
461
322
  size: searchBoxSize,
462
- inputRef: _this3.searchInputRef,
463
- onKeyDown: _this3.handleKeyDown,
323
+ customProps: {
324
+ TextBoxProps: {
325
+ 'data-a11y-autofocus': true
326
+ }
327
+ },
464
328
  a11y: {
465
329
  ariaHaspopup: isSearch ? 'listbox' : 'menu',
466
330
  ariaExpanded: isPopupReady,
@@ -483,41 +347,42 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
483
347
  dataId: "".concat(dataId, "_list"),
484
348
  preventParentScroll: "vertical",
485
349
  className: "".concat(tabletMode ? _StatusDropdownModule["default"].responsivemaxHgt : _StatusDropdownModule["default"].maxHgt),
486
- eleRef: _this3.scrollContentRef,
487
- onScroll: _this3.handleScroll,
350
+ onScroll: _this2.handleScroll,
488
351
  role: isSearch ? 'listbox' : 'menu',
489
- "aria-labelledby": ariaTitleId,
490
- tabindex: "-1"
352
+ tabindex: "-1",
353
+ isScrollAttribute: true
491
354
  }, options.length != 0 && isDataLoaded ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, options.map(function (item, i) {
492
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
493
- key: i
494
- }, /*#__PURE__*/_react["default"].createElement(_StatusListItem["default"], {
355
+ var listItemText = item[keyName];
356
+ var isActive = value === listItemText;
357
+ return /*#__PURE__*/_react["default"].createElement(_StatusListItem["default"], {
358
+ key: i,
495
359
  dataId: "dataid_".concat(i),
496
- value: item[keyName],
360
+ value: listItemText,
497
361
  id: item[idName],
498
- active: value === item[keyName],
499
- onClick: _this3.onSelect.bind(_this3, item),
362
+ active: isActive,
363
+ onClick: _this2.onSelect.bind(_this2, item),
500
364
  index: i,
501
- highlight: selectedIndex === i,
502
365
  needTick: needTick,
503
366
  needBorder: false,
504
- onMouseEnter: _this3.handleMouseEnter,
505
- getRef: _this3.itemRef,
506
367
  bulletColor: item[statusColor],
507
- title: item[keyName],
368
+ title: listItemText,
508
369
  needMultiLineText: needMultiLineText,
370
+ autoHover: true,
509
371
  a11y: {
510
372
  role: isSearch ? 'option' : 'menuitem',
511
- ariaSelected: value === item[keyName],
512
- 'data-a11y-list-active': selectedIndex === i
373
+ ariaSelected: isActive,
374
+ ariaLabel: listItemText
513
375
  }
514
- }));
515
- })) : isDataLoaded ? /*#__PURE__*/_react["default"].createElement(_CommonEmptyState["default"], {
376
+ });
377
+ }), isFetchingOptions && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
378
+ isCover: false,
379
+ align: "both"
380
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))) : isDataLoaded ? /*#__PURE__*/_react["default"].createElement(_CommonEmptyState["default"], {
516
381
  className: _StatusDropdownModule["default"].svgWrapper,
517
382
  title: searchErrorText || 'No results',
518
383
  description: searchEmptyHint,
519
384
  size: "small",
520
- getEmptyState: _this3.emptySearchSVG
385
+ getEmptyState: _this2.emptySearchSVG
521
386
  }) : /*#__PURE__*/_react["default"].createElement("div", {
522
387
  className: _StatusDropdownModule["default"].loader
523
388
  }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)))));
@@ -80,13 +80,4 @@
80
80
  height: var(--zd_size1) ;
81
81
  border-bottom: 1px solid var(--zdt_statusdropdown_line_border);
82
82
  margin: var(--zd_size9) 0 var(--zd_size10) ;
83
- }
84
- .hiddenInput {
85
- width: 0 ;
86
- height: 0 ;
87
- opacity: 0;
88
- }
89
- .hiddenInput > input {
90
- width: 100% ;
91
- padding: 0 ;
92
- }
83
+ }
@@ -21,6 +21,7 @@ var defaultProps = {
21
21
  boxSize: 'medium',
22
22
  needExternalPopupState: false,
23
23
  statusColor: 'statusColor',
24
- needMultiLineText: false
24
+ needMultiLineText: false,
25
+ isFetchingOptions: false
25
26
  };
26
27
  exports.defaultProps = defaultProps;
@@ -30,5 +30,5 @@ var propTypes = (_propTypes = {
30
30
  idName: _propTypes2["default"].string,
31
31
  isArrow: _propTypes2["default"].bool,
32
32
  isDataLoaded: _propTypes2["default"].bool
33
- }, _defineProperty(_propTypes, "isDataLoaded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isDisabled", _propTypes2["default"].bool), _defineProperty(_propTypes, "isEditable", _propTypes2["default"].bool), _defineProperty(_propTypes, "isNextOptions", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupActive", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupOpen", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupReady", _propTypes2["default"].bool), _defineProperty(_propTypes, "isReadOnly", _propTypes2["default"].bool), _defineProperty(_propTypes, "isSearch", _propTypes2["default"].bool), _defineProperty(_propTypes, "keyName", _propTypes2["default"].string), _defineProperty(_propTypes, "left", _propTypes2["default"].number), _defineProperty(_propTypes, "needExternalPopupState", _propTypes2["default"].bool), _defineProperty(_propTypes, "needResponsive", _propTypes2["default"].bool), _defineProperty(_propTypes, "needTick", _propTypes2["default"].bool), _defineProperty(_propTypes, "onClick", _propTypes2["default"].func), _defineProperty(_propTypes, "onTogglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "options", _propTypes2["default"].array.isRequired), _defineProperty(_propTypes, "placeHolderText", _propTypes2["default"].string), _defineProperty(_propTypes, "position", _propTypes2["default"].string), _defineProperty(_propTypes, "removeClose", _propTypes2["default"].func), _defineProperty(_propTypes, "right", _propTypes2["default"].number), _defineProperty(_propTypes, "searchBoxSize", _propTypes2["default"].oneOf(['small', 'medium', 'xmedium'])), _defineProperty(_propTypes, "searchEmptyHint", _propTypes2["default"].string), _defineProperty(_propTypes, "searchErrorText", _propTypes2["default"].string), _defineProperty(_propTypes, "showIconOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "showOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "statusColor", _propTypes2["default"].string), _defineProperty(_propTypes, "targetAlign", _propTypes2["default"].oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around'])), _defineProperty(_propTypes, "title", _propTypes2["default"].string), _defineProperty(_propTypes, "togglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "value", _propTypes2["default"].node), _defineProperty(_propTypes, "needMultiLineText", _propTypes2["default"].bool), _defineProperty(_propTypes, "onSelectLabel", _propTypes2["default"].func), _defineProperty(_propTypes, "top", _propTypes2["default"].number), _defineProperty(_propTypes, "a11y", _propTypes2["default"].object), _propTypes);
33
+ }, _defineProperty(_propTypes, "isDataLoaded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isDisabled", _propTypes2["default"].bool), _defineProperty(_propTypes, "isEditable", _propTypes2["default"].bool), _defineProperty(_propTypes, "isFetchingOptions", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupActive", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupOpen", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupReady", _propTypes2["default"].bool), _defineProperty(_propTypes, "isReadOnly", _propTypes2["default"].bool), _defineProperty(_propTypes, "isSearch", _propTypes2["default"].bool), _defineProperty(_propTypes, "keyName", _propTypes2["default"].string), _defineProperty(_propTypes, "left", _propTypes2["default"].number), _defineProperty(_propTypes, "needExternalPopupState", _propTypes2["default"].bool), _defineProperty(_propTypes, "needResponsive", _propTypes2["default"].bool), _defineProperty(_propTypes, "needTick", _propTypes2["default"].bool), _defineProperty(_propTypes, "onClick", _propTypes2["default"].func), _defineProperty(_propTypes, "onTogglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "options", _propTypes2["default"].array.isRequired), _defineProperty(_propTypes, "placeHolderText", _propTypes2["default"].string), _defineProperty(_propTypes, "position", _propTypes2["default"].string), _defineProperty(_propTypes, "removeClose", _propTypes2["default"].func), _defineProperty(_propTypes, "right", _propTypes2["default"].number), _defineProperty(_propTypes, "searchBoxSize", _propTypes2["default"].oneOf(['small', 'medium', 'xmedium'])), _defineProperty(_propTypes, "searchEmptyHint", _propTypes2["default"].string), _defineProperty(_propTypes, "searchErrorText", _propTypes2["default"].string), _defineProperty(_propTypes, "showIconOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "showOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "statusColor", _propTypes2["default"].string), _defineProperty(_propTypes, "targetAlign", _propTypes2["default"].oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around'])), _defineProperty(_propTypes, "title", _propTypes2["default"].string), _defineProperty(_propTypes, "togglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "value", _propTypes2["default"].node), _defineProperty(_propTypes, "needMultiLineText", _propTypes2["default"].bool), _defineProperty(_propTypes, "onSelectLabel", _propTypes2["default"].func), _defineProperty(_propTypes, "top", _propTypes2["default"].number), _defineProperty(_propTypes, "a11y", _propTypes2["default"].object), _propTypes);
34
34
  exports.propTypes = propTypes;
@@ -119,7 +119,10 @@ var StatusListItem = /*#__PURE__*/function (_React$Component) {
119
119
  var role = a11y.role,
120
120
  ariaSelected = a11y.ariaSelected,
121
121
  _a11y$ariaHidden = a11y.ariaHidden,
122
- ariaHidden = _a11y$ariaHidden === void 0 ? true : _a11y$ariaHidden;
122
+ ariaHidden = _a11y$ariaHidden === void 0 ? true : _a11y$ariaHidden,
123
+ ariaLabel = a11y.ariaLabel,
124
+ _a11y$insetFocus = a11y.insetFocus,
125
+ insetFocus = _a11y$insetFocus === void 0 ? true : _a11y$insetFocus;
123
126
 
124
127
  if (isLink) {
125
128
  options.href = href;
@@ -129,6 +132,8 @@ var StatusListItem = /*#__PURE__*/function (_React$Component) {
129
132
  return /*#__PURE__*/_react["default"].createElement(_Layout.Container, _extends({
130
133
  role: role,
131
134
  "aria-selected": ariaSelected,
135
+ "aria-label": ariaLabel,
136
+ "data-a11y-inset-focus": insetFocus,
132
137
  isCover: false,
133
138
  align: "baseline",
134
139
  alignBox: "row",
@@ -109,7 +109,8 @@ var Lookup = /*#__PURE__*/function (_Component) {
109
109
  onClose = _this$props.onClose,
110
110
  needFocusScope = _this$props.needFocusScope,
111
111
  customProps = _this$props.customProps,
112
- isMinHeight = _this$props.isMinHeight;
112
+ isMinHeight = _this$props.isMinHeight,
113
+ lookupClass = _this$props.lookupClass;
113
114
 
114
115
  var _a11y$role = a11y.role,
115
116
  role = _a11y$role === void 0 ? 'dialog' : _a11y$role,
@@ -143,7 +144,7 @@ var Lookup = /*#__PURE__*/function (_Component) {
143
144
  "aria-label": ariaLabel,
144
145
  "aria-modal": ariaModal,
145
146
  id: htmlId,
146
- className: "".concat(_LookupModule["default"].box, " ").concat(_LookupModule["default"]["".concat(size, "Size")]),
147
+ className: "".concat(_LookupModule["default"].box, " ").concat(_LookupModule["default"]["".concat(size, "Size")], " ").concat(lookupClass ? lookupClass : ''),
147
148
  "data-id": dataId,
148
149
  "data-test-id": dataId
149
150
  }, a11yAttributes), /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
@@ -35,7 +35,10 @@
35
35
  .largeSize {
36
36
  max-width: 70% ;
37
37
  }
38
+ .xlargeSize {
39
+ max-width: 80% ;
40
+ }
38
41
 
39
42
  .fullSize {
40
43
  max-width: 90% ;
41
- }
44
+ }
@@ -14,7 +14,7 @@ var propTypes = {
14
14
  customClass: _propTypes["default"].string,
15
15
  dataId: _propTypes["default"].string,
16
16
  isActive: _propTypes["default"].bool,
17
- size: _propTypes["default"].oneOf(['small', 'xmedium', 'medium', 'large', 'full']),
17
+ size: _propTypes["default"].oneOf(['small', 'xmedium', 'medium', 'large', 'xlarge', 'full']),
18
18
  htmlId: _propTypes["default"].string,
19
19
  a11y: _propTypes["default"].shape({
20
20
  role: _propTypes["default"].string,
@@ -29,6 +29,7 @@ var propTypes = {
29
29
  forwardRef: _propTypes["default"].object,
30
30
  onClick: _propTypes["default"].func,
31
31
  onClose: _propTypes["default"].func,
32
- isMinHeight: _propTypes["default"].bool
32
+ isMinHeight: _propTypes["default"].bool,
33
+ lookupClass: _propTypes["default"].string
33
34
  };
34
35
  exports.propTypes = propTypes;