@zohodesk/components 1.2.42 → 1.2.44

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/propValidation_report.html +1 -1
  2. package/README.md +19 -0
  3. package/es/MultiSelect/AdvancedGroupMultiSelect.js +12 -2
  4. package/es/MultiSelect/AdvancedMultiSelect.js +9 -1
  5. package/es/MultiSelect/MultiSelect.js +8 -0
  6. package/es/MultiSelect/MultiSelectWithAvatar.js +8 -0
  7. package/es/MultiSelect/props/defaultProps.js +9 -1
  8. package/es/MultiSelect/props/propTypes.js +8 -0
  9. package/es/Select/GroupSelect.js +8 -0
  10. package/es/Select/SelectWithAvatar.js +11 -2
  11. package/es/Select/SelectWithIcon.js +8 -0
  12. package/es/Select/props/defaultProps.js +6 -0
  13. package/es/Select/props/propTypes.js +10 -2
  14. package/es/Tab/Tabs.js +12 -2
  15. package/es/Tab/Tabs.module.css +2 -2
  16. package/es/Tab/props/defaultProps.js +4 -1
  17. package/es/Tab/props/propTypes.js +5 -1
  18. package/es/Tooltip/Tooltip.js +1 -1
  19. package/es/v1/DropDown/DropDownSearch.js +1 -1
  20. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +12 -2
  21. package/es/v1/MultiSelect/AdvancedMultiSelect.js +9 -1
  22. package/es/v1/MultiSelect/MultiSelect.js +8 -0
  23. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +8 -0
  24. package/es/v1/MultiSelect/props/defaultProps.js +9 -1
  25. package/es/v1/MultiSelect/props/propTypes.js +8 -0
  26. package/es/v1/Select/GroupSelect.js +8 -0
  27. package/es/v1/Select/SelectWithAvatar.js +11 -2
  28. package/es/v1/Select/SelectWithIcon.js +8 -0
  29. package/es/v1/Select/props/defaultProps.js +6 -0
  30. package/es/v1/Select/props/propTypes.js +9 -1
  31. package/es/v1/Tab/Tabs.js +12 -2
  32. package/es/v1/Tab/props/defaultProps.js +4 -1
  33. package/es/v1/Tab/props/propTypes.js +5 -1
  34. package/es/v1/Tab/v1Tabs.module.css +2 -2
  35. package/es/v1/Tooltip/Tooltip.js +1 -1
  36. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +12 -2
  37. package/lib/MultiSelect/AdvancedMultiSelect.js +10 -2
  38. package/lib/MultiSelect/MultiSelect.js +8 -0
  39. package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -0
  40. package/lib/MultiSelect/props/defaultProps.js +9 -1
  41. package/lib/MultiSelect/props/propTypes.js +8 -0
  42. package/lib/Select/GroupSelect.js +8 -0
  43. package/lib/Select/SelectWithAvatar.js +11 -2
  44. package/lib/Select/SelectWithIcon.js +8 -0
  45. package/lib/Select/props/defaultProps.js +5 -1
  46. package/lib/Select/props/propTypes.js +10 -2
  47. package/lib/Tab/Tabs.js +14 -4
  48. package/lib/Tab/Tabs.module.css +2 -2
  49. package/lib/Tab/props/defaultProps.js +4 -1
  50. package/lib/Tab/props/propTypes.js +5 -1
  51. package/lib/Tooltip/Tooltip.js +1 -1
  52. package/lib/v1/DropDown/DropDownSearch.js +1 -1
  53. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +12 -2
  54. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +10 -2
  55. package/lib/v1/MultiSelect/MultiSelect.js +8 -0
  56. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +8 -0
  57. package/lib/v1/MultiSelect/props/defaultProps.js +9 -1
  58. package/lib/v1/MultiSelect/props/propTypes.js +8 -0
  59. package/lib/v1/Select/GroupSelect.js +8 -0
  60. package/lib/v1/Select/SelectWithAvatar.js +11 -2
  61. package/lib/v1/Select/SelectWithIcon.js +8 -0
  62. package/lib/v1/Select/props/defaultProps.js +5 -1
  63. package/lib/v1/Select/props/propTypes.js +9 -1
  64. package/lib/v1/Tab/Tabs.js +14 -4
  65. package/lib/v1/Tab/props/defaultProps.js +4 -1
  66. package/lib/v1/Tab/props/propTypes.js +5 -1
  67. package/lib/v1/Tab/v1Tabs.module.css +2 -2
  68. package/lib/v1/Tooltip/Tooltip.js +1 -1
  69. package/package.json +5 -5
  70. package/result.json +1 -1
package/README.md CHANGED
@@ -32,6 +32,25 @@ In this Package, we Provide Some Basic Components to Build Web App
32
32
  - TextBoxIcon
33
33
  - Tooltip
34
34
 
35
+ # 1.2.44
36
+
37
+ - **Tabs (v0&v1), AdvancedGroupMultiSelect (v1)**
38
+ - `isAbsolutePositioningNeeded` `isRestrictScroll` `positionsOffset` `targetOffset` props supported for fixed position.
39
+
40
+ - **Tabs (v0&v1)**
41
+ - padding css fix
42
+
43
+ - **DropDownSearch (v1)**
44
+ - Input not focus on mount issue fixed
45
+
46
+ # 1.2.43
47
+
48
+ - **AdvancedMultiSelect, MultiSelect, MultiSelectWithAvatar, GroupSelect, SelectWithIcon** - Fixed position support added.
49
+
50
+ - **SelectWithAvatar, AdvancedGroupMultiSelect** - Fixed position support added and getTargetRef issue fixed.
51
+
52
+ - **Tooltip** - Fixed white space attribute value from preWrap to pre-wrap.
53
+
35
54
  # 1.2.42
36
55
 
37
56
  - **Heading (v0&v1)** -
@@ -852,6 +852,10 @@ class AdvancedGroupMultiSelect extends React.Component {
852
852
  dropBoxSize,
853
853
  position,
854
854
  getContainerRef,
855
+ isAbsolutePositioningNeeded,
856
+ positionsOffset,
857
+ targetOffset,
858
+ isRestrictScroll,
855
859
  emptyMessage,
856
860
  searchEmptyMessage,
857
861
  title,
@@ -870,7 +874,8 @@ class AdvancedGroupMultiSelect extends React.Component {
870
874
  a11y,
871
875
  palette,
872
876
  needEffect,
873
- autoComplete
877
+ autoComplete,
878
+ getTargetRef
874
879
  } = this.props;
875
880
  let {
876
881
  clearText = 'Clear all'
@@ -910,7 +915,8 @@ class AdvancedGroupMultiSelect extends React.Component {
910
915
  align: "vertical",
911
916
  alignBox: "row",
912
917
  onClick: this.togglePopup,
913
- className: customClass
918
+ className: customClass,
919
+ eleRef: getTargetRef
914
920
  }, children) : /*#__PURE__*/React.createElement(Container, {
915
921
  align: "vertical",
916
922
  alignBox: "row",
@@ -994,6 +1000,10 @@ class AdvancedGroupMultiSelect extends React.Component {
994
1000
  needResponsive: needResponsive,
995
1001
  isPadding: isPadding,
996
1002
  isBoxPaddingNeed: !needSelectAll,
1003
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1004
+ positionsOffset: positionsOffset,
1005
+ targetOffset: targetOffset,
1006
+ isRestrictScroll: isRestrictScroll,
997
1007
  htmlId: setAriaId,
998
1008
  a11y: {
999
1009
  role: 'listbox',
@@ -368,7 +368,11 @@ export class AdvancedMultiSelectComponent extends MultiSelectComponent {
368
368
  disabledOptions,
369
369
  isLoading,
370
370
  dataSelectorId,
371
- customClass
371
+ customClass,
372
+ isAbsolutePositioningNeeded,
373
+ positionsOffset,
374
+ targetOffset,
375
+ isRestrictScroll
372
376
  } = this.props;
373
377
  let {
374
378
  SuggestionsProps = {},
@@ -508,6 +512,10 @@ export class AdvancedMultiSelectComponent extends MultiSelectComponent {
508
512
  ariaMultiselectable: true
509
513
  },
510
514
  dataId: `${dataIdMultiSelectComp}_dropbox`,
515
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
516
+ positionsOffset: positionsOffset,
517
+ targetOffset: targetOffset,
518
+ isRestrictScroll: isRestrictScroll,
511
519
  ...DropBoxProps,
512
520
  alignBox: "row",
513
521
  isResponsivePadding: getFooter ? false : true
@@ -992,6 +992,10 @@ export class MultiSelectComponent extends React.Component {
992
992
  borderColor,
993
993
  disableAction,
994
994
  isBoxPaddingNeed,
995
+ isAbsolutePositioningNeeded,
996
+ positionsOffset,
997
+ targetOffset,
998
+ isRestrictScroll,
995
999
  palette,
996
1000
  i18nKeys,
997
1001
  getFooter,
@@ -1039,6 +1043,10 @@ export class MultiSelectComponent extends React.Component {
1039
1043
  needResponsive: needResponsive,
1040
1044
  isPadding: false,
1041
1045
  isBoxPaddingNeed: isBoxPaddingNeed,
1046
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1047
+ positionsOffset: positionsOffset,
1048
+ targetOffset: targetOffset,
1049
+ isRestrictScroll: isRestrictScroll,
1042
1050
  palette: palette,
1043
1051
  htmlId: setAriaId,
1044
1052
  a11y: {
@@ -68,6 +68,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
68
68
  selectAllText,
69
69
  getContainerRef,
70
70
  removeClose,
71
+ isAbsolutePositioningNeeded,
72
+ positionsOffset,
73
+ targetOffset,
74
+ isRestrictScroll,
71
75
  isAnimate,
72
76
  animationStyle,
73
77
  isDisabled,
@@ -124,6 +128,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
124
128
  needResponsive: needResponsive,
125
129
  isPadding: false,
126
130
  isBoxPaddingNeed: isBoxPaddingNeed,
131
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
132
+ positionsOffset: positionsOffset,
133
+ targetOffset: targetOffset,
134
+ isRestrictScroll: isRestrictScroll,
127
135
  palette: palette,
128
136
  htmlId: setAriaId,
129
137
  a11y: {
@@ -32,6 +32,8 @@ export const AdvancedGroupMultiSelect_defaultProps = {
32
32
  i18nKeys: {},
33
33
  a11y: {},
34
34
  isSearchClearOnSelect: true,
35
+ isAbsolutePositioningNeeded: true,
36
+ isRestrictScroll: false,
35
37
  needEffect: true,
36
38
  palette: 'default',
37
39
  isLoading: false,
@@ -67,7 +69,9 @@ export const AdvancedMultiSelect_defaultProps = {
67
69
  needEffect: true,
68
70
  isLoading: false,
69
71
  dataSelectorId: 'advancedMultiSelect',
70
- customClass: {}
72
+ customClass: {},
73
+ isAbsolutePositioningNeeded: true,
74
+ isRestrictScroll: false
71
75
  };
72
76
  export const EmptyState_defaultProps = {
73
77
  dataId: 'empty',
@@ -104,6 +108,8 @@ export const MultiSelect_defaultProps = {
104
108
  textBoxClass: '',
105
109
  palette: 'default',
106
110
  isSearchClearOnSelect: true,
111
+ isAbsolutePositioningNeeded: true,
112
+ isRestrictScroll: false,
107
113
  needEffect: true,
108
114
  boxSize: 'default',
109
115
  isLoading: false,
@@ -142,6 +148,8 @@ export const MultiSelectWithAvatar_defaultProps = {
142
148
  palette: 'default',
143
149
  isBoxPaddingNeed: true,
144
150
  isSearchClearOnSelect: true,
151
+ isAbsolutePositioningNeeded: true,
152
+ isRestrictScroll: false,
145
153
  needEffect: true,
146
154
  isLoading: false,
147
155
  dataSelectorId: 'multiSelectWithAvatar',
@@ -98,6 +98,10 @@ export const MultiSelect_propTypes = {
98
98
  getFooter: PropTypes.func,
99
99
  needEffect: PropTypes.bool,
100
100
  boxSize: PropTypes.string,
101
+ isAbsolutePositioningNeeded: PropTypes.bool,
102
+ isRestrictScroll: PropTypes.bool,
103
+ positionsOffset: PropTypes.object,
104
+ targetOffset: PropTypes.object,
101
105
  isLoading: PropTypes.bool,
102
106
  dataSelectorId: PropTypes.string,
103
107
  keepSelectedOptions: PropTypes.bool,
@@ -230,6 +234,10 @@ export const AdvancedGroupMultiSelect_propTypes = {
230
234
  textField: PropTypes.string,
231
235
  getTargetRef: PropTypes.func,
232
236
  togglePopup: PropTypes.func,
237
+ isAbsolutePositioningNeeded: PropTypes.bool,
238
+ isRestrictScroll: PropTypes.bool,
239
+ positionsOffset: PropTypes.object,
240
+ targetOffset: PropTypes.object,
233
241
  needLocalSearch: PropTypes.bool,
234
242
  isNextOptions: PropTypes.bool,
235
243
  getNextOptions: PropTypes.func,
@@ -576,6 +576,10 @@ export class GroupSelectComponent extends PureComponent {
576
576
  getContainerRef,
577
577
  isPopupReady,
578
578
  removeClose,
579
+ isAbsolutePositioningNeeded,
580
+ positionsOffset,
581
+ targetOffset,
582
+ isRestrictScroll,
579
583
  borderColor,
580
584
  needTick,
581
585
  children,
@@ -705,6 +709,10 @@ export class GroupSelectComponent extends PureComponent {
705
709
  onClick: removeClose,
706
710
  needResponsive: needResponsive,
707
711
  isPadding: false,
712
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
713
+ positionsOffset: positionsOffset,
714
+ targetOffset: targetOffset,
715
+ isRestrictScroll: isRestrictScroll,
708
716
  isResponsivePadding: getFooter ? false : true,
709
717
  alignBox: "row",
710
718
  dataId: `${dataId}_suggestionBox`
@@ -133,6 +133,10 @@ class SelectWithAvatarComponent extends SelectComponent {
133
133
  isPopupOpen,
134
134
  removeClose,
135
135
  isPopupReady,
136
+ isAbsolutePositioningNeeded,
137
+ positionsOffset,
138
+ targetOffset,
139
+ isRestrictScroll,
136
140
  animationStyle,
137
141
  textBoxSize,
138
142
  textBoxVariant,
@@ -158,7 +162,8 @@ class SelectWithAvatarComponent extends SelectComponent {
158
162
  htmlId,
159
163
  needEffect,
160
164
  isLoading,
161
- dataSelectorId
165
+ dataSelectorId,
166
+ getTargetRef
162
167
  } = this.props;
163
168
  i18nKeys = Object.assign({}, i18nKeys, {
164
169
  emptyText: i18nKeys.emptyText || emptyMessage,
@@ -190,7 +195,7 @@ class SelectWithAvatarComponent extends SelectComponent {
190
195
  align: "vertical",
191
196
  alignBox: "row",
192
197
  className: `${style.container} ${style[size]} ${style[`borderColor_${borderColor}`]} ${isActive && needBorder ? style.active : ''} ${textBoxClass ? textBoxClass : ''} ${needBorder ? style.hasBorder : ''}`,
193
- eleRef: this.getTargetRef,
198
+ eleRef: getTargetRef,
194
199
  onClick: !isDisabled && this.togglePopup
195
200
  }, selectedId ? /*#__PURE__*/React.createElement(Box, {
196
201
  className: style.tag,
@@ -256,6 +261,10 @@ class SelectWithAvatarComponent extends SelectComponent {
256
261
  isArrow: false,
257
262
  onClick: removeClose,
258
263
  needResponsive: needResponsive,
264
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
265
+ positionsOffset: positionsOffset,
266
+ targetOffset: targetOffset,
267
+ isRestrictScroll: isRestrictScroll,
259
268
  isPadding: false,
260
269
  isResponsivePadding: true,
261
270
  alignBox: "row",
@@ -323,6 +323,10 @@ class SelectWithIcon extends Component {
323
323
  isPopupReady,
324
324
  position,
325
325
  getContainerRef,
326
+ isAbsolutePositioningNeeded,
327
+ positionsOffset,
328
+ targetOffset,
329
+ isRestrictScroll,
326
330
  valueKey,
327
331
  idKey,
328
332
  needListBorder,
@@ -453,6 +457,10 @@ class SelectWithIcon extends Component {
453
457
  onClick: removeClose,
454
458
  getRef: getContainerRef,
455
459
  needResponsive: needResponsive,
460
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
461
+ positionsOffset: positionsOffset,
462
+ targetOffset: targetOffset,
463
+ isRestrictScroll: isRestrictScroll,
456
464
  dataId: `${dataId}_suggestions`,
457
465
  size: boxSize,
458
466
  isPadding: false,
@@ -65,6 +65,8 @@ export const GroupSelect_defaultProps = {
65
65
  needTick: true,
66
66
  needLocalSearch: true,
67
67
  isSearchClearOnClose: true,
68
+ isAbsolutePositioningNeeded: true,
69
+ isRestrictScroll: false,
68
70
  i18nKeys: {},
69
71
  iconOnHover: false,
70
72
  isLoading: false
@@ -89,6 +91,8 @@ export const SelectWithAvatar_defaultProps = {
89
91
  dataSelectorId: 'selectWithAvatar',
90
92
  borderColor: 'default',
91
93
  isSearchClearOnClose: true,
94
+ isAbsolutePositioningNeeded: true,
95
+ isRestrictScroll: false,
92
96
  i18nKeys: {},
93
97
  needEffect: true,
94
98
  isLoading: false
@@ -117,5 +121,7 @@ export const SelectWithIcon_defaultProps = {
117
121
  iconSize: '14',
118
122
  i18nKeys: {},
119
123
  isLoading: false,
124
+ isAbsolutePositioningNeeded: true,
125
+ isRestrictScroll: false,
120
126
  customProps: {}
121
127
  };
@@ -90,8 +90,8 @@ export const Select_propTypes = {
90
90
  isAbsolutePositioningNeeded: PropTypes.bool,
91
91
  openPopupOnly: PropTypes.bool,
92
92
  ariaLabelledby: PropTypes.string,
93
- positionsOffset: PropTypes.array,
94
- targetOffset: PropTypes.array,
93
+ positionsOffset: PropTypes.object,
94
+ targetOffset: PropTypes.object,
95
95
  isRestrictScroll: PropTypes.bool,
96
96
  dropBoxPortalId: PropTypes.string
97
97
  };
@@ -162,6 +162,10 @@ export const GroupSelect_propTypes = {
162
162
  closePopupOnly: PropTypes.func,
163
163
  position: PropTypes.string,
164
164
  removeClose: PropTypes.func,
165
+ isAbsolutePositioningNeeded: PropTypes.bool,
166
+ isRestrictScroll: PropTypes.bool,
167
+ positionsOffset: PropTypes.object,
168
+ targetOffset: PropTypes.object,
165
169
  i18nKeys: PropTypes.shape({
166
170
  loadingText: PropTypes.string,
167
171
  emptyText: PropTypes.string,
@@ -286,6 +290,10 @@ export const SelectWithIcon_propTypes = {
286
290
  needResponsive: PropTypes.bool,
287
291
  boxSize: PropTypes.string,
288
292
  emptyMessage: PropTypes.string,
293
+ isAbsolutePositioningNeeded: PropTypes.bool,
294
+ isRestrictScroll: PropTypes.bool,
295
+ positionsOffset: PropTypes.object,
296
+ targetOffset: PropTypes.object,
289
297
  customProps: PropTypes.shape({
290
298
  TextBoxProps: PropTypes.object,
291
299
  DropdownSearchTextBoxProps: PropTypes.object,
package/es/Tab/Tabs.js CHANGED
@@ -512,7 +512,11 @@ class Tabs extends React.Component {
512
512
  dataId,
513
513
  placeHolderText,
514
514
  searchBoxSize,
515
- removeClose
515
+ removeClose,
516
+ isAbsolutePositioningNeeded,
517
+ isRestrictScroll,
518
+ positionsOffset,
519
+ targetOffset
516
520
  } = this.props;
517
521
  const {
518
522
  searchValue
@@ -590,8 +594,12 @@ class Tabs extends React.Component {
590
594
  },
591
595
  boxPosition: position,
592
596
  getRef: getContainerRef,
593
- isBoxPaddingNeed: true,
597
+ isBoxPaddingNeed: false,
594
598
  isArrow: false,
599
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
600
+ isRestrictScroll: isRestrictScroll,
601
+ positionsOffset: positionsOffset,
602
+ targetOffset: targetOffset,
595
603
  ...DropBoxProps,
596
604
  isResponsivePadding: true,
597
605
  needFocusScope: true,
@@ -612,6 +620,8 @@ class Tabs extends React.Component {
612
620
  }
613
621
  },
614
622
  dataId: `${dataId}_search`,
623
+ autoComplete: false,
624
+ name: "search",
615
625
  ...TextBoxIconProps
616
626
  })) : null, /*#__PURE__*/React.createElement(Box, {
617
627
  flexible: true,
@@ -137,7 +137,7 @@
137
137
  }
138
138
 
139
139
  .search {
140
- padding: 0 var(--zd_size20) 0 ;
140
+ padding: var(--zd_size6) var(--zd_size20) 0 ;
141
141
  }
142
142
 
143
143
  .emptyStateContainer {
@@ -163,5 +163,5 @@
163
163
  }
164
164
 
165
165
  .listWrapper {
166
- padding-top: var(--zd_size10) ;
166
+ padding: var(--zd_size10) 0 ;
167
167
  }
@@ -33,7 +33,10 @@ export const Tabs_defaultProps = {
33
33
  dataSelectorId: 'tabs',
34
34
  searchBoxSize: 'small',
35
35
  searchErrorText: 'No results',
36
- placeHolderText: 'Search'
36
+ placeHolderText: 'Search',
37
+ isAbsolutePositioningNeeded: true,
38
+ isRestrictScroll: false,
39
+ moreContainerClass: ''
37
40
  };
38
41
  export const TabWrapper_defaultProps = {
39
42
  hookToDisableInternalState: false,
@@ -94,7 +94,11 @@ export const Tabs_propTypes = {
94
94
  placeHolderText: PropTypes.string,
95
95
  searchBoxSize: PropTypes.string,
96
96
  searchErrorText: PropTypes.string,
97
- closePopupOnly: PropTypes.func
97
+ closePopupOnly: PropTypes.func,
98
+ isAbsolutePositioningNeeded: PropTypes.bool,
99
+ isRestrictScroll: PropTypes.bool,
100
+ positionsOffset: PropTypes.object,
101
+ targetOffset: PropTypes.object
98
102
  };
99
103
  export const TabWrapper_propTypes = {
100
104
  align: PropTypes.oneOf(['vertical', 'horizontal']),
@@ -486,7 +486,7 @@ export default class Tooltip extends React.Component {
486
486
  let tooltipWhiteSpaceModification = dataTooltipWrap;
487
487
 
488
488
  if (dataTooltipWrap == 'pre') {
489
- tooltipWhiteSpaceModification = 'preWrap';
489
+ tooltipWhiteSpaceModification = 'pre-wrap';
490
490
  } else if (dataTooltipWrap == 'nowrap') {
491
491
  tooltipWhiteSpaceModification = 'normal';
492
492
  }
@@ -26,7 +26,7 @@ export default function DropDownSearch(props) {
26
26
  const inputRef = useRef(null); // eslint-disable-next-line func-call-spacing
27
27
 
28
28
  useEffect(() => {
29
- inputRef.current && input.current.focus({
29
+ inputRef.current && inputRef.current.focus({
30
30
  preventScroll: true
31
31
  });
32
32
  }, []);
@@ -853,6 +853,10 @@ class AdvancedGroupMultiSelect extends React.Component {
853
853
  dropBoxSize,
854
854
  position,
855
855
  getContainerRef,
856
+ isAbsolutePositioningNeeded,
857
+ positionsOffset,
858
+ targetOffset,
859
+ isRestrictScroll,
856
860
  emptyMessage,
857
861
  searchEmptyMessage,
858
862
  title,
@@ -871,7 +875,8 @@ class AdvancedGroupMultiSelect extends React.Component {
871
875
  a11y,
872
876
  palette,
873
877
  needEffect,
874
- autoComplete
878
+ autoComplete,
879
+ getTargetRef
875
880
  } = this.props;
876
881
  let {
877
882
  clearText = 'Clear all'
@@ -911,7 +916,8 @@ class AdvancedGroupMultiSelect extends React.Component {
911
916
  align: "vertical",
912
917
  alignBox: "row",
913
918
  onClick: this.togglePopup,
914
- className: customClass
919
+ className: customClass,
920
+ eleRef: getTargetRef
915
921
  }, children) : /*#__PURE__*/React.createElement(Container, {
916
922
  align: "vertical",
917
923
  alignBox: "row",
@@ -995,6 +1001,10 @@ class AdvancedGroupMultiSelect extends React.Component {
995
1001
  needResponsive: needResponsive,
996
1002
  isPadding: isPadding,
997
1003
  isBoxPaddingNeed: !needSelectAll,
1004
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1005
+ positionsOffset: positionsOffset,
1006
+ targetOffset: targetOffset,
1007
+ isRestrictScroll: isRestrictScroll,
998
1008
  htmlId: setAriaId,
999
1009
  a11y: {
1000
1010
  role: 'listbox',
@@ -368,7 +368,11 @@ export class AdvancedMultiSelectComponent extends MultiSelectComponent {
368
368
  disabledOptions,
369
369
  isLoading,
370
370
  dataSelectorId,
371
- customClass
371
+ customClass,
372
+ isAbsolutePositioningNeeded,
373
+ positionsOffset,
374
+ targetOffset,
375
+ isRestrictScroll
372
376
  } = this.props;
373
377
  let {
374
378
  SuggestionsProps = {},
@@ -508,6 +512,10 @@ export class AdvancedMultiSelectComponent extends MultiSelectComponent {
508
512
  ariaMultiselectable: true
509
513
  },
510
514
  dataId: `${dataIdMultiSelectComp}_dropbox`,
515
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
516
+ positionsOffset: positionsOffset,
517
+ targetOffset: targetOffset,
518
+ isRestrictScroll: isRestrictScroll,
511
519
  ...DropBoxProps,
512
520
  alignBox: "row",
513
521
  isResponsivePadding: getFooter ? false : true
@@ -985,6 +985,10 @@ export class MultiSelectComponent extends React.Component {
985
985
  borderColor,
986
986
  disableAction,
987
987
  isBoxPaddingNeed,
988
+ isAbsolutePositioningNeeded,
989
+ positionsOffset,
990
+ targetOffset,
991
+ isRestrictScroll,
988
992
  palette,
989
993
  i18nKeys,
990
994
  getFooter,
@@ -1032,6 +1036,10 @@ export class MultiSelectComponent extends React.Component {
1032
1036
  needResponsive: needResponsive,
1033
1037
  isPadding: false,
1034
1038
  isBoxPaddingNeed: isBoxPaddingNeed,
1039
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1040
+ positionsOffset: positionsOffset,
1041
+ targetOffset: targetOffset,
1042
+ isRestrictScroll: isRestrictScroll,
1035
1043
  palette: palette,
1036
1044
  htmlId: setAriaId,
1037
1045
  a11y: {
@@ -71,6 +71,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
71
71
  selectAllText,
72
72
  getContainerRef,
73
73
  removeClose,
74
+ isAbsolutePositioningNeeded,
75
+ positionsOffset,
76
+ targetOffset,
77
+ isRestrictScroll,
74
78
  isAnimate,
75
79
  animationStyle,
76
80
  isDisabled,
@@ -127,6 +131,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
127
131
  needResponsive: needResponsive,
128
132
  isPadding: false,
129
133
  isBoxPaddingNeed: isBoxPaddingNeed,
134
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
135
+ positionsOffset: positionsOffset,
136
+ targetOffset: targetOffset,
137
+ isRestrictScroll: isRestrictScroll,
130
138
  palette: palette,
131
139
  htmlId: setAriaId,
132
140
  a11y: {
@@ -32,6 +32,8 @@ export const AdvancedGroupMultiSelect_defaultProps = {
32
32
  i18nKeys: {},
33
33
  a11y: {},
34
34
  isSearchClearOnSelect: true,
35
+ isAbsolutePositioningNeeded: true,
36
+ isRestrictScroll: false,
35
37
  needEffect: true,
36
38
  palette: 'default',
37
39
  isLoading: false,
@@ -67,7 +69,9 @@ export const AdvancedMultiSelect_defaultProps = {
67
69
  needEffect: true,
68
70
  isLoading: false,
69
71
  dataSelectorId: 'advancedMultiSelect',
70
- customClass: {}
72
+ customClass: {},
73
+ isAbsolutePositioningNeeded: true,
74
+ isRestrictScroll: false
71
75
  };
72
76
  export const EmptyState_defaultProps = {
73
77
  dataId: 'empty',
@@ -104,6 +108,8 @@ export const MultiSelect_defaultProps = {
104
108
  textBoxClass: '',
105
109
  palette: 'default',
106
110
  isSearchClearOnSelect: true,
111
+ isAbsolutePositioningNeeded: true,
112
+ isRestrictScroll: false,
107
113
  needEffect: true,
108
114
  boxSize: 'default',
109
115
  isLoading: false,
@@ -141,6 +147,8 @@ export const MultiSelectWithAvatar_defaultProps = {
141
147
  palette: 'default',
142
148
  isBoxPaddingNeed: true,
143
149
  isSearchClearOnSelect: true,
150
+ isAbsolutePositioningNeeded: true,
151
+ isRestrictScroll: false,
144
152
  needEffect: true,
145
153
  isLoading: false,
146
154
  dataSelectorId: 'multiSelectWithAvatar',
@@ -98,6 +98,10 @@ export const MultiSelect_propTypes = {
98
98
  getFooter: PropTypes.func,
99
99
  needEffect: PropTypes.bool,
100
100
  boxSize: PropTypes.string,
101
+ isAbsolutePositioningNeeded: PropTypes.bool,
102
+ isRestrictScroll: PropTypes.bool,
103
+ positionsOffset: PropTypes.object,
104
+ targetOffset: PropTypes.object,
101
105
  isLoading: PropTypes.bool,
102
106
  dataSelectorId: PropTypes.string,
103
107
  keepSelectedOptions: PropTypes.bool,
@@ -227,6 +231,10 @@ export const AdvancedGroupMultiSelect_propTypes = {
227
231
  textField: PropTypes.string,
228
232
  getTargetRef: PropTypes.func,
229
233
  togglePopup: PropTypes.func,
234
+ isAbsolutePositioningNeeded: PropTypes.bool,
235
+ isRestrictScroll: PropTypes.bool,
236
+ positionsOffset: PropTypes.object,
237
+ targetOffset: PropTypes.object,
230
238
  needLocalSearch: PropTypes.bool,
231
239
  isNextOptions: PropTypes.bool,
232
240
  getNextOptions: PropTypes.func,
@@ -578,6 +578,10 @@ export class GroupSelectComponent extends PureComponent {
578
578
  getContainerRef,
579
579
  isPopupReady,
580
580
  removeClose,
581
+ isAbsolutePositioningNeeded,
582
+ positionsOffset,
583
+ targetOffset,
584
+ isRestrictScroll,
581
585
  borderColor,
582
586
  needTick,
583
587
  children,
@@ -707,6 +711,10 @@ export class GroupSelectComponent extends PureComponent {
707
711
  onClick: removeClose,
708
712
  needResponsive: needResponsive,
709
713
  isPadding: false,
714
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
715
+ positionsOffset: positionsOffset,
716
+ targetOffset: targetOffset,
717
+ isRestrictScroll: isRestrictScroll,
710
718
  isResponsivePadding: getFooter ? false : true,
711
719
  alignBox: "row",
712
720
  dataId: `${dataId}_suggestionBox`
@@ -133,6 +133,10 @@ class SelectWithAvatarComponent extends SelectComponent {
133
133
  isPopupOpen,
134
134
  removeClose,
135
135
  isPopupReady,
136
+ isAbsolutePositioningNeeded,
137
+ positionsOffset,
138
+ targetOffset,
139
+ isRestrictScroll,
136
140
  animationStyle,
137
141
  textBoxSize,
138
142
  textBoxVariant,
@@ -158,7 +162,8 @@ class SelectWithAvatarComponent extends SelectComponent {
158
162
  htmlId,
159
163
  needEffect,
160
164
  isLoading,
161
- dataSelectorId
165
+ dataSelectorId,
166
+ getTargetRef
162
167
  } = this.props;
163
168
  i18nKeys = Object.assign({}, i18nKeys, {
164
169
  emptyText: i18nKeys.emptyText || emptyMessage,
@@ -190,7 +195,7 @@ class SelectWithAvatarComponent extends SelectComponent {
190
195
  align: "vertical",
191
196
  alignBox: "row",
192
197
  className: `${style.container} ${style[size]} ${style[`borderColor_${borderColor}`]} ${isActive && needBorder ? style.active : ''} ${textBoxClass ? textBoxClass : ''} ${needBorder ? style.hasBorder : ''}`,
193
- eleRef: this.getTargetRef,
198
+ eleRef: getTargetRef,
194
199
  onClick: !isDisabled && this.togglePopup
195
200
  }, selectedId ? /*#__PURE__*/React.createElement(Box, {
196
201
  className: style.tag,
@@ -256,6 +261,10 @@ class SelectWithAvatarComponent extends SelectComponent {
256
261
  isArrow: false,
257
262
  onClick: removeClose,
258
263
  needResponsive: needResponsive,
264
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
265
+ positionsOffset: positionsOffset,
266
+ targetOffset: targetOffset,
267
+ isRestrictScroll: isRestrictScroll,
259
268
  isPadding: false,
260
269
  isResponsivePadding: true,
261
270
  alignBox: "row",