@zohodesk/components 1.0.0-temp-199.5 → 1.0.0-temp-214

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 (322) hide show
  1. package/README.md +3 -0
  2. package/es/Accordion/Accordion.js +2 -2
  3. package/es/Accordion/AccordionItem.js +4 -4
  4. package/es/Accordion/__tests__/Accordion.spec.js +1 -1
  5. package/es/Accordion/__tests__/AccordionItem.spec.js +1 -1
  6. package/es/Accordion/index.js +2 -2
  7. package/es/Animation/Animation.js +3 -3
  8. package/es/Animation/__tests__/Animation.spec.js +1 -1
  9. package/es/Animation/utils.js +1 -1
  10. package/es/AppContainer/AppContainer.js +9 -9
  11. package/es/AppContainer/__tests__/AppContainer.spec.js +1 -1
  12. package/es/Avatar/Avatar.js +5 -5
  13. package/es/Avatar/__tests__/Avatar.spec.js +1 -1
  14. package/es/AvatarTeam/AvatarTeam.js +4 -4
  15. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -1
  16. package/es/Button/Button.js +4 -4
  17. package/es/Button/__tests__/Button.spec.js +1 -1
  18. package/es/Button/index.js +2 -2
  19. package/es/Button/props/defaultProps.js +1 -1
  20. package/es/Buttongroup/Buttongroup.js +3 -3
  21. package/es/Buttongroup/__tests__/Buttongroup.spec.js +1 -1
  22. package/es/Card/Card.js +5 -5
  23. package/es/Card/__tests__/Card.spec.js +1 -1
  24. package/es/Card/index.js +4 -4
  25. package/es/CheckBox/CheckBox.js +6 -6
  26. package/es/CheckBox/__tests__/CheckBox.spec.js +1 -1
  27. package/es/DateTime/CalendarView.js +6 -6
  28. package/es/DateTime/DateTime.js +15 -15
  29. package/es/DateTime/DateTimePopupFooter.js +5 -5
  30. package/es/DateTime/DateTimePopupHeader.js +4 -4
  31. package/es/DateTime/DateWidget.js +17 -17
  32. package/es/DateTime/DaysRow.js +3 -3
  33. package/es/DateTime/Time.js +5 -5
  34. package/es/DateTime/YearView.js +6 -6
  35. package/es/DateTime/__tests__/CalendarView.spec.js +1 -1
  36. package/es/DateTime/__tests__/DateTime.spec.js +1 -1
  37. package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +1 -1
  38. package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +1 -1
  39. package/es/DateTime/__tests__/DateWidget.spec.js +1 -1
  40. package/es/DateTime/__tests__/DaysRow.spec.js +1 -1
  41. package/es/DateTime/__tests__/Time.spec.js +1 -1
  42. package/es/DateTime/__tests__/YearView.spec.js +1 -1
  43. package/es/DateTime/dateFormatUtils/dateFormat.js +4 -4
  44. package/es/DateTime/dateFormatUtils/dayChange.js +2 -2
  45. package/es/DateTime/dateFormatUtils/index.js +3 -3
  46. package/es/DateTime/dateFormatUtils/monthChange.js +2 -2
  47. package/es/DateTime/dateFormatUtils/timeChange.js +2 -2
  48. package/es/DateTime/dateFormatUtils/yearChange.js +2 -2
  49. package/es/DateTime/index.js +1 -1
  50. package/es/DateTime/props/propTypes.js +1 -1
  51. package/es/DateTime/validator.js +2 -2
  52. package/es/DropBox/DropBox.js +9 -9
  53. package/es/DropBox/DropBoxElement/DropBoxElement.js +6 -6
  54. package/es/DropBox/DropBoxElement/__tests__/DropBoxElement.spec.js +1 -1
  55. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +1 -1
  56. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +1 -1
  57. package/es/DropBox/__tests__/DropBox.spec.js +1 -1
  58. package/es/DropBox/css/cssJSLogic.js +1 -1
  59. package/es/DropBox/props/defaultProps.js +1 -1
  60. package/es/DropBox/props/propTypes.js +1 -1
  61. package/es/DropBox/utils/isMobilePopover.js +1 -1
  62. package/es/DropDown/DropDown.js +4 -4
  63. package/es/DropDown/DropDownHeading.js +3 -3
  64. package/es/DropDown/DropDownItem.js +3 -3
  65. package/es/DropDown/DropDownSearch.js +4 -4
  66. package/es/DropDown/DropDownSeparator.js +2 -2
  67. package/es/DropDown/__tests__/DropDown.spec.js +1 -1
  68. package/es/DropDown/__tests__/DropDownHeading.spec.js +1 -1
  69. package/es/DropDown/__tests__/DropDownItem.spec.js +1 -1
  70. package/es/DropDown/__tests__/DropDownSearch.spec.js +1 -1
  71. package/es/DropDown/__tests__/DropDownSeparator.spec.js +1 -1
  72. package/es/DropDown/index.js +7 -7
  73. package/es/DropDown/props/propTypes.js +1 -1
  74. package/es/Heading/Heading.js +4 -4
  75. package/es/Heading/__tests__/Heading.spec.js +1 -1
  76. package/es/Label/Label.js +4 -4
  77. package/es/Label/__tests__/Label.spec.js +1 -1
  78. package/es/Layout/Box.js +4 -4
  79. package/es/Layout/Container.js +4 -4
  80. package/es/Layout/__tests__/Box.spec.js +1 -1
  81. package/es/Layout/__tests__/Container.spec.js +1 -1
  82. package/es/Layout/index.js +2 -2
  83. package/es/ListItem/ListContainer.js +6 -6
  84. package/es/ListItem/ListItem.js +7 -7
  85. package/es/ListItem/ListItem.module.css +18 -85
  86. package/es/ListItem/ListItemWithAvatar.js +17 -13
  87. package/es/ListItem/ListItemWithCheckBox.js +6 -6
  88. package/es/ListItem/ListItemWithIcon.js +7 -7
  89. package/es/ListItem/ListItemWithRadio.js +6 -6
  90. package/es/ListItem/__tests__/ListContainer.spec.js +1 -1
  91. package/es/ListItem/__tests__/ListItem.spec.js +1 -1
  92. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +1 -1
  93. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +1 -1
  94. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +1 -1
  95. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +1 -1
  96. package/es/ListItem/index.js +6 -6
  97. package/es/ListItem/props/propTypes.js +4 -1
  98. package/es/Modal/Modal.js +3 -3
  99. package/es/Modal/__tests__/Modal.spec.js +1 -1
  100. package/es/MultiSelect/AdvancedGroupMultiSelect.js +19 -24
  101. package/es/MultiSelect/AdvancedMultiSelect.js +18 -19
  102. package/es/MultiSelect/EmptyState.js +3 -3
  103. package/es/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  104. package/es/MultiSelect/MobileHeader/__tests__/MobileHeader.spec.js +1 -1
  105. package/es/MultiSelect/MultiSelect.js +22 -27
  106. package/es/MultiSelect/MultiSelectHeader.js +4 -4
  107. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -16
  108. package/es/MultiSelect/SelectedOptions.js +5 -5
  109. package/es/MultiSelect/Suggestions.js +10 -14
  110. package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +1 -1
  111. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +1 -1
  112. package/es/MultiSelect/__tests__/EmptyState.spec.js +1 -1
  113. package/es/MultiSelect/__tests__/MultiSelect.spec.js +1 -1
  114. package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +1 -1
  115. package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +1 -1
  116. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +1 -1
  117. package/es/MultiSelect/__tests__/Suggestions.spec.js +1 -1
  118. package/es/MultiSelect/index.js +4 -4
  119. package/es/MultiSelect/props/defaultProps.js +5 -7
  120. package/es/MultiSelect/props/propTypes.js +3 -6
  121. package/es/PopOver/PopOver.js +6 -6
  122. package/es/PopOver/__tests__/PopOver.spec.js +1 -1
  123. package/es/PopOver/index.js +3 -3
  124. package/es/Popup/Popup.js +37 -18
  125. package/es/Popup/intersectionObserver.js +33 -23
  126. package/es/Provider/AvatarSize.js +1 -1
  127. package/es/Provider/CssProvider.js +1 -1
  128. package/es/Provider/IdProvider.js +2 -2
  129. package/es/Provider/LibraryContext.js +2 -2
  130. package/es/Provider/ZindexProvider.js +2 -2
  131. package/es/Provider/index.js +4 -4
  132. package/es/Radio/Radio.js +5 -5
  133. package/es/Radio/__tests__/Radio.spec.js +1 -1
  134. package/es/Responsive/CustomResponsive.js +7 -7
  135. package/es/Responsive/ResizeComponent.js +2 -2
  136. package/es/Responsive/Responsive.js +6 -6
  137. package/es/Responsive/index.js +3 -3
  138. package/es/Responsive/utils/index.js +1 -1
  139. package/es/Responsive/windowResizeObserver.js +1 -1
  140. package/es/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  141. package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +1 -1
  142. package/es/ResponsiveDropBox/props/propTypes.js +1 -1
  143. package/es/Ribbon/Ribbon.js +3 -3
  144. package/es/Ribbon/__tests__/Ribbon.spec.js +1 -1
  145. package/es/RippleEffect/RippleEffect.js +4 -4
  146. package/es/RippleEffect/__tests__/RippleEffect.spec.js +1 -1
  147. package/es/Select/GroupSelect.js +18 -23
  148. package/es/Select/Select.js +15 -15
  149. package/es/Select/SelectWithAvatar.js +19 -24
  150. package/es/Select/SelectWithIcon.js +15 -17
  151. package/es/Select/__tests__/GroupSelect.spec.js +1 -1
  152. package/es/Select/__tests__/Select.spec.js +1 -1
  153. package/es/Select/__tests__/SelectWithAvatar.spec.js +1 -1
  154. package/es/Select/__tests__/SelectWithIcon.spec.js +1 -1
  155. package/es/Select/index.js +4 -4
  156. package/es/Select/props/defaultProps.js +3 -5
  157. package/es/Select/props/propTypes.js +2 -4
  158. package/es/Stencils/Stencils.js +3 -3
  159. package/es/Stencils/__tests__/Stencils.spec.js +1 -1
  160. package/es/Switch/Switch.js +5 -5
  161. package/es/Switch/__tests__/Switch.spec.js +1 -1
  162. package/es/Tab/Tab.js +5 -5
  163. package/es/Tab/TabContent.js +4 -4
  164. package/es/Tab/TabContentWrapper.js +3 -3
  165. package/es/Tab/TabWrapper.js +3 -3
  166. package/es/Tab/Tabs.js +13 -13
  167. package/es/Tab/__tests__/Tab.spec.js +1 -1
  168. package/es/Tab/__tests__/TabContent.spec.js +1 -1
  169. package/es/Tab/__tests__/TabContentWrapper.spec.js +1 -1
  170. package/es/Tab/__tests__/TabWrapper.spec.js +1 -1
  171. package/es/Tab/__tests__/Tabs.spec.js +1 -1
  172. package/es/Tab/index.js +5 -5
  173. package/es/Tag/Tag.js +7 -7
  174. package/es/Tag/__tests__/Tag.spec.js +1 -1
  175. package/es/TextBox/TextBox.js +3 -3
  176. package/es/TextBox/__tests__/TextBox.spec.js +1 -1
  177. package/es/TextBoxIcon/TextBoxIcon.js +6 -6
  178. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +1 -1
  179. package/es/TextBoxIcon/props/propTypes.js +1 -1
  180. package/es/Textarea/Textarea.js +3 -3
  181. package/es/Textarea/__tests__/Textarea.spec.js +1 -1
  182. package/es/Tooltip/Tooltip.js +6 -6
  183. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  184. package/es/VelocityAnimation/VelocityAnimation/__tests__/VelocityAnimation.spec.js +1 -1
  185. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  186. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js +1 -1
  187. package/es/VelocityAnimation/index.js +2 -2
  188. package/es/css.js +37 -37
  189. package/es/deprecated/PortalLayer/PortalLayer.js +3 -3
  190. package/es/index.js +39 -39
  191. package/es/semantic/Button/Button.js +3 -3
  192. package/es/semantic/Button/__tests__/Button.spec.js +1 -1
  193. package/es/semantic/index.js +1 -1
  194. package/es/utils/Common.js +1 -1
  195. package/es/utils/ContextOptimizer.js +1 -1
  196. package/es/utils/cssUtils.js +1 -1
  197. package/es/utils/datetime/common.js +1 -1
  198. package/es/utils/dropDownUtils.js +1 -1
  199. package/es/utils/index.js +1 -1
  200. package/es/v1/Accordion/Accordion.js +2 -2
  201. package/es/v1/Accordion/AccordionItem.js +4 -4
  202. package/es/v1/Accordion/index.js +2 -2
  203. package/es/v1/Animation/Animation.js +3 -3
  204. package/es/v1/Animation/utils.js +1 -1
  205. package/es/v1/AppContainer/AppContainer.js +8 -8
  206. package/es/v1/Avatar/Avatar.js +5 -5
  207. package/es/v1/AvatarTeam/AvatarTeam.js +4 -4
  208. package/es/v1/Button/Button.js +4 -4
  209. package/es/v1/Button/props/defaultProps.js +1 -1
  210. package/es/v1/Buttongroup/Buttongroup.js +3 -3
  211. package/es/v1/Card/Card.js +5 -5
  212. package/es/v1/Card/index.js +4 -4
  213. package/es/v1/CheckBox/CheckBox.js +6 -6
  214. package/es/v1/DateTime/CalendarView.js +7 -7
  215. package/es/v1/DateTime/DateTime.js +15 -15
  216. package/es/v1/DateTime/DateTimePopupFooter.js +5 -5
  217. package/es/v1/DateTime/DateTimePopupHeader.js +4 -4
  218. package/es/v1/DateTime/DateWidget.js +17 -17
  219. package/es/v1/DateTime/DaysRow.js +3 -3
  220. package/es/v1/DateTime/Time.js +5 -5
  221. package/es/v1/DateTime/YearView.js +6 -6
  222. package/es/v1/DateTime/index.js +1 -1
  223. package/es/v1/DateTime/props/propTypes.js +1 -1
  224. package/es/v1/DropBox/DropBox.js +9 -9
  225. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +6 -6
  226. package/es/v1/DropBox/props/defaultProps.js +1 -1
  227. package/es/v1/DropBox/props/propTypes.js +1 -1
  228. package/es/v1/DropBox/utils/isMobilePopover.js +1 -1
  229. package/es/v1/DropDown/DropDown.js +4 -4
  230. package/es/v1/DropDown/DropDownHeading.js +3 -3
  231. package/es/v1/DropDown/DropDownItem.js +3 -3
  232. package/es/v1/DropDown/DropDownSearch.js +4 -4
  233. package/es/v1/DropDown/DropDownSeparator.js +2 -2
  234. package/es/v1/DropDown/props/propTypes.js +1 -1
  235. package/es/v1/Heading/Heading.js +4 -4
  236. package/es/v1/Label/Label.js +4 -4
  237. package/es/v1/Layout/Box.js +4 -4
  238. package/es/v1/Layout/Container.js +4 -4
  239. package/es/v1/Layout/index.js +2 -2
  240. package/es/v1/ListItem/ListContainer.js +6 -6
  241. package/es/v1/ListItem/ListItem.js +5 -5
  242. package/es/v1/ListItem/ListItemWithAvatar.js +7 -7
  243. package/es/v1/ListItem/ListItemWithCheckBox.js +6 -6
  244. package/es/v1/ListItem/ListItemWithIcon.js +5 -5
  245. package/es/v1/ListItem/ListItemWithRadio.js +6 -6
  246. package/es/v1/ListItem/index.js +6 -6
  247. package/es/v1/Modal/Modal.js +3 -3
  248. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
  249. package/es/v1/MultiSelect/AdvancedMultiSelect.js +18 -19
  250. package/es/v1/MultiSelect/EmptyState.js +3 -3
  251. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  252. package/es/v1/MultiSelect/MultiSelect.js +21 -26
  253. package/es/v1/MultiSelect/MultiSelectHeader.js +4 -4
  254. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +16 -16
  255. package/es/v1/MultiSelect/SelectedOptions.js +5 -5
  256. package/es/v1/MultiSelect/Suggestions.js +10 -14
  257. package/es/v1/MultiSelect/index.js +4 -4
  258. package/es/v1/MultiSelect/props/defaultProps.js +3 -5
  259. package/es/v1/MultiSelect/props/propTypes.js +2 -6
  260. package/es/v1/PopOver/PopOver.js +6 -6
  261. package/es/v1/Popup/Popup.js +3 -3
  262. package/es/v1/Radio/Radio.js +5 -5
  263. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  264. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -1
  265. package/es/v1/Ribbon/Ribbon.js +3 -3
  266. package/es/v1/RippleEffect/RippleEffect.js +4 -4
  267. package/es/v1/Select/GroupSelect.js +18 -23
  268. package/es/v1/Select/Select.js +15 -15
  269. package/es/v1/Select/SelectWithAvatar.js +19 -24
  270. package/es/v1/Select/SelectWithIcon.js +13 -13
  271. package/es/v1/Select/index.js +4 -4
  272. package/es/v1/Select/props/defaultProps.js +3 -5
  273. package/es/v1/Select/props/propTypes.js +2 -6
  274. package/es/v1/Stencils/Stencils.js +3 -3
  275. package/es/v1/Switch/Switch.js +5 -5
  276. package/es/v1/Tab/Tab.js +5 -5
  277. package/es/v1/Tab/TabContent.js +4 -4
  278. package/es/v1/Tab/TabContentWrapper.js +3 -3
  279. package/es/v1/Tab/TabWrapper.js +3 -3
  280. package/es/v1/Tab/Tabs.js +13 -13
  281. package/es/v1/Tab/index.js +5 -5
  282. package/es/v1/Tag/Tag.js +7 -7
  283. package/es/v1/TextBox/TextBox.js +3 -3
  284. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -6
  285. package/es/v1/TextBoxIcon/props/propTypes.js +1 -1
  286. package/es/v1/Textarea/Textarea.js +3 -3
  287. package/es/v1/Tooltip/Tooltip.js +6 -6
  288. package/es/v1/Typography/Typography.js +4 -4
  289. package/es/v1/Typography/css/cssJSLogic.js +1 -1
  290. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  291. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  292. package/es/v1/semantic/Button/Button.js +3 -3
  293. package/es/v1/semantic/index.js +1 -1
  294. package/lib/ListItem/ListItem.js +2 -2
  295. package/lib/ListItem/ListItem.module.css +18 -85
  296. package/lib/ListItem/ListItemWithAvatar.js +11 -7
  297. package/lib/ListItem/ListItemWithIcon.js +2 -2
  298. package/lib/ListItem/props/propTypes.js +4 -1
  299. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +3 -7
  300. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -3
  301. package/lib/MultiSelect/MultiSelect.js +3 -6
  302. package/lib/MultiSelect/Suggestions.js +4 -8
  303. package/lib/MultiSelect/props/defaultProps.js +4 -6
  304. package/lib/MultiSelect/props/propTypes.js +6 -8
  305. package/lib/Popup/Popup.js +32 -14
  306. package/lib/Popup/intersectionObserver.js +35 -25
  307. package/lib/Select/GroupSelect.js +3 -8
  308. package/lib/Select/SelectWithAvatar.js +3 -8
  309. package/lib/Select/SelectWithIcon.js +3 -5
  310. package/lib/Select/props/defaultProps.js +2 -4
  311. package/lib/Select/props/propTypes.js +2 -4
  312. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +1 -3
  313. package/lib/v1/MultiSelect/MultiSelect.js +3 -8
  314. package/lib/v1/MultiSelect/Suggestions.js +4 -8
  315. package/lib/v1/MultiSelect/props/defaultProps.js +2 -4
  316. package/lib/v1/MultiSelect/props/propTypes.js +2 -6
  317. package/lib/v1/Select/GroupSelect.js +3 -8
  318. package/lib/v1/Select/SelectWithAvatar.js +3 -8
  319. package/lib/v1/Select/props/defaultProps.js +2 -4
  320. package/lib/v1/Select/props/propTypes.js +2 -6
  321. package/package.json +2 -2
  322. package/result.json +1 -1
@@ -1,10 +1,10 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { EmptyState_propTypes } from "./props/propTypes";
4
- import { EmptyState_defaultProps } from "./props/defaultProps";
3
+ import { EmptyState_propTypes } from './props/propTypes';
4
+ import { EmptyState_defaultProps } from './props/defaultProps';
5
5
  /**** CSS ****/
6
6
 
7
- import style from "./MultiSelect.module.css";
7
+ import style from './MultiSelect.module.css';
8
8
  export default class EmptyState extends React.PureComponent {
9
9
  render() {
10
10
  let {
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import Button from "../../Button/Button";
3
- import { Container, Box } from "../../Layout";
4
- import { defaultProps } from "./props/defaultProps";
5
- import { propTypes } from "./props/propTypes";
6
- import style from "./MobileHeader.module.css";
2
+ import Button from '../../Button/Button';
3
+ import { Container, Box } from '../../Layout';
4
+ import { defaultProps } from './props/defaultProps';
5
+ import { propTypes } from './props/propTypes';
6
+ import style from './MobileHeader.module.css';
7
7
  export default function MobileHeader(props) {
8
8
  let {
9
9
  i18nKeys,
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import MobileHeader from "../MobileHeader";
3
+ import MobileHeader from '../MobileHeader';
4
4
  describe('MobileHeader', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,35 +1,35 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { MultiSelect_propTypes } from "./props/propTypes";
4
- import { MultiSelect_defaultProps } from "./props/defaultProps";
5
- import { defaultProps as MobileHeader_defaultProps } from "./MobileHeader/props/defaultProps";
3
+ import { MultiSelect_propTypes } from './props/propTypes';
4
+ import { MultiSelect_defaultProps } from './props/defaultProps';
5
+ import { defaultProps as MobileHeader_defaultProps } from './MobileHeader/props/defaultProps';
6
6
  /**** Components ****/
7
7
 
8
- import Popup from "../Popup/Popup";
9
- import TextBoxIcon from "../TextBoxIcon/TextBoxIcon";
10
- import { Container, Box } from "../Layout";
11
- import Card, { CardContent, CardFooter, CardHeader } from "../Card/Card";
12
- import SelectedOptions from "./SelectedOptions";
13
- import Suggestions from "./Suggestions";
14
- import EmptyState from "./EmptyState";
15
- import CssProvider from "../Provider/CssProvider";
16
- import { getUniqueId } from "../Provider/IdProvider";
17
- import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox"; // import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
18
-
19
- import MultiSelectHeader from "./MultiSelectHeader";
8
+ import Popup from '../Popup/Popup';
9
+ import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
10
+ import { Container, Box } from '../Layout';
11
+ import Card, { CardContent, CardFooter, CardHeader } from '../Card/Card';
12
+ import SelectedOptions from './SelectedOptions';
13
+ import Suggestions from './Suggestions';
14
+ import EmptyState from './EmptyState';
15
+ import CssProvider from '../Provider/CssProvider';
16
+ import { getUniqueId } from '../Provider/IdProvider';
17
+ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox'; // import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
18
+
19
+ import MultiSelectHeader from './MultiSelectHeader';
20
20
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
21
- import isMobilePopover from "../DropBox/utils/isMobilePopover";
21
+ import isMobilePopover from '../DropBox/utils/isMobilePopover';
22
22
  /**** Icons ****/
23
23
 
24
24
  import { Icon } from '@zohodesk/icons';
25
25
  /**** CSS ****/
26
26
 
27
- import style from "./MultiSelect.module.css";
27
+ import style from './MultiSelect.module.css';
28
28
  /**** Methods ****/
29
29
 
30
- import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from "../utils/Common.js";
31
- import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from "../utils/dropDownUtils";
32
- import MobileHeader from "./MobileHeader/MobileHeader";
30
+ import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
31
+ import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../utils/dropDownUtils';
32
+ import MobileHeader from './MobileHeader/MobileHeader';
33
33
  /* eslint-disable react/forbid-component-props */
34
34
 
35
35
  /* eslint-disable react/no-unused-prop-types */
@@ -1015,12 +1015,8 @@ export class MultiSelectComponent extends React.Component {
1015
1015
  boxSize,
1016
1016
  isLoading,
1017
1017
  selectAllText,
1018
- needSelectAll,
1019
- customProps
1018
+ needSelectAll
1020
1019
  } = this.props;
1021
- const {
1022
- suggestionsProps = {}
1023
- } = customProps;
1024
1020
  const {
1025
1021
  selectedOptions,
1026
1022
  searchStr,
@@ -1110,8 +1106,7 @@ export class MultiSelectComponent extends React.Component {
1110
1106
  selectedOptions: selectedOptionIds,
1111
1107
  a11y: {
1112
1108
  role: 'option'
1113
- },
1114
- ...suggestionsProps
1109
+ }
1115
1110
  }) : /*#__PURE__*/React.createElement(EmptyState, {
1116
1111
  isLoading: isFetchingOptions,
1117
1112
  options: options,
@@ -1,13 +1,13 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { MultiSelectHeader_propTypes } from "./props/propTypes";
4
- import { MultiSelectHeader_defaultProps } from "./props/defaultProps";
3
+ import { MultiSelectHeader_propTypes } from './props/propTypes';
4
+ import { MultiSelectHeader_defaultProps } from './props/defaultProps';
5
5
  /**** Icons ****/
6
6
 
7
- import ListItemWithIcon from "../ListItem/ListItemWithIcon";
7
+ import ListItemWithIcon from '../ListItem/ListItemWithIcon';
8
8
  /**** CSS ****/
9
9
 
10
- import style from "./MultiSelect.module.css";
10
+ import style from './MultiSelect.module.css';
11
11
  export default class MultiSelectHeader extends React.PureComponent {
12
12
  render() {
13
13
  let {
@@ -1,27 +1,27 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { MultiSelectWithAvatar_propTypes } from "./props/propTypes";
4
- import { MultiSelectWithAvatar_defaultProps } from "./props/defaultProps";
5
- import { defaultProps as MobileHeader_defaultProps } from "./MobileHeader/props/defaultProps";
3
+ import { MultiSelectWithAvatar_propTypes } from './props/propTypes';
4
+ import { MultiSelectWithAvatar_defaultProps } from './props/defaultProps';
5
+ import { defaultProps as MobileHeader_defaultProps } from './MobileHeader/props/defaultProps';
6
6
  /**** Components ****/
7
7
 
8
- import { MultiSelectComponent } from "./MultiSelect";
9
- import Popup from "../Popup/Popup";
10
- import { Container, Box } from "../Layout";
11
- import Card, { CardContent, CardHeader } from "../Card/Card";
12
- import Suggestions from "./Suggestions";
13
- import EmptyState from "./EmptyState";
14
- import CssProvider from "../Provider/CssProvider";
15
- import { getUniqueId } from "../Provider/IdProvider";
16
- import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox"; // import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
8
+ import { MultiSelectComponent } from './MultiSelect';
9
+ import Popup from '../Popup/Popup';
10
+ import { Container, Box } from '../Layout';
11
+ import Card, { CardContent, CardHeader } from '../Card/Card';
12
+ import Suggestions from './Suggestions';
13
+ import EmptyState from './EmptyState';
14
+ import CssProvider from '../Provider/CssProvider';
15
+ import { getUniqueId } from '../Provider/IdProvider';
16
+ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox'; // import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
17
17
 
18
18
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
19
- import MultiSelectHeader from "./MultiSelectHeader";
20
- import isMobilePopover from "../DropBox/utils/isMobilePopover";
19
+ import MultiSelectHeader from './MultiSelectHeader';
20
+ import isMobilePopover from '../DropBox/utils/isMobilePopover';
21
21
  /**** CSS ****/
22
22
 
23
- import style from "./MultiSelect.module.css";
24
- import MobileHeader from "./MobileHeader/MobileHeader";
23
+ import style from './MultiSelect.module.css';
24
+ import MobileHeader from './MobileHeader/MobileHeader';
25
25
  /*eslint-disable react/sort-prop-types*/
26
26
 
27
27
  /* eslint-disable react/forbid-component-props */
@@ -1,14 +1,14 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { SelectedOptions_propTypes } from "./props/propTypes";
4
- import { SelectedOptions_defaultProps } from "./props/defaultProps";
3
+ import { SelectedOptions_propTypes } from './props/propTypes';
4
+ import { SelectedOptions_defaultProps } from './props/defaultProps';
5
5
  /**** Components ****/
6
6
 
7
- import Tag from "../Tag/Tag";
8
- import { Box } from "../Layout";
7
+ import Tag from '../Tag/Tag';
8
+ import { Box } from '../Layout';
9
9
  /**** Style ****/
10
10
 
11
- import style from "./SelectedOptions.module.css";
11
+ import style from './SelectedOptions.module.css';
12
12
  /* eslint-disable react/forbid-component-props */
13
13
 
14
14
  export default class SelectedOptions extends React.PureComponent {
@@ -1,13 +1,13 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
- import { Suggestions_propTypes } from "./props/propTypes";
4
- import { Suggestions_defaultProps } from "./props/defaultProps";
3
+ import { Suggestions_propTypes } from './props/propTypes';
4
+ import { Suggestions_defaultProps } from './props/defaultProps';
5
5
  /**** Components ****/
6
6
 
7
- import ListItem from "../ListItem/ListItem";
8
- import ListItemWithAvatar from "../ListItem/ListItemWithAvatar";
9
- import ListItemWithIcon from "../ListItem/ListItemWithIcon";
10
- import { Container, Box } from "../Layout";
7
+ import ListItem from '../ListItem/ListItem';
8
+ import ListItemWithAvatar from '../ListItem/ListItemWithAvatar';
9
+ import ListItemWithIcon from '../ListItem/ListItemWithIcon';
10
+ import { Container, Box } from '../Layout';
11
11
  export default class Suggestions extends React.PureComponent {
12
12
  render() {
13
13
  const {
@@ -27,8 +27,7 @@ export default class Suggestions extends React.PureComponent {
27
27
  avatarPalette,
28
28
  palette,
29
29
  htmlId,
30
- a11y,
31
- needMultiLineText
30
+ a11y
32
31
  } = this.props;
33
32
  const {
34
33
  ariaParentRole,
@@ -93,8 +92,7 @@ export default class Suggestions extends React.PureComponent {
93
92
  size: listItemSize,
94
93
  avatarPalette: avatarPalette,
95
94
  palette: palette,
96
- a11y: list_a11y,
97
- needMultiLineText: needMultiLineText
95
+ a11y: list_a11y
98
96
  });
99
97
  } else if (optionType === 'icon') {
100
98
  return /*#__PURE__*/React.createElement(ListItemWithIcon, { ...commonProps,
@@ -114,8 +112,7 @@ export default class Suggestions extends React.PureComponent {
114
112
  iconSize: iconSize,
115
113
  size: listItemSize,
116
114
  palette: palette,
117
- a11y: list_a11y,
118
- needMultiLineText: needMultiLineText
115
+ a11y: list_a11y
119
116
  });
120
117
  }
121
118
 
@@ -134,8 +131,7 @@ export default class Suggestions extends React.PureComponent {
134
131
  active: isActive,
135
132
  size: listItemSize,
136
133
  palette: palette,
137
- a11y: list_a11y,
138
- needMultiLineText: needMultiLineText
134
+ a11y: list_a11y
139
135
  });
140
136
  })));
141
137
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import AdvancedGroupMultiSelect from "../AdvancedGroupMultiSelect";
3
+ import AdvancedGroupMultiSelect from '../AdvancedGroupMultiSelect';
4
4
  describe('AdvancedGroupMultiSelect', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const mockOnChange = jest.fn();
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import AdvancedMultiSelect from "../AdvancedMultiSelect";
3
+ import AdvancedMultiSelect from '../AdvancedMultiSelect';
4
4
  describe('AdvancedMultiSelect', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const mockOnChange = jest.fn();
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import EmptyState from "../EmptyState";
3
+ import EmptyState from '../EmptyState';
4
4
  describe('EmptyState', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import MultiSelect from "../MultiSelect";
3
+ import MultiSelect from '../MultiSelect';
4
4
  describe('MultiSelect', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import MultiSelectHeader from "../MultiSelectHeader";
3
+ import MultiSelectHeader from '../MultiSelectHeader';
4
4
  describe('MultiSelectHeader', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import MultiSelectWithAvatar from "../MultiSelectWithAvatar";
3
+ import MultiSelectWithAvatar from '../MultiSelectWithAvatar';
4
4
  describe('MultiSelectWithAvatar', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import SelectedOptions from "../SelectedOptions";
3
+ import SelectedOptions from '../SelectedOptions';
4
4
  describe('SelectedOptions', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import Suggestions from "../Suggestions";
3
+ import Suggestions from '../Suggestions';
4
4
  describe('Suggestions', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,4 +1,4 @@
1
- export { default as MultiSelect } from "./MultiSelect";
2
- export { default as MultiSelectWithAvatar } from "./MultiSelectWithAvatar";
3
- export { default as AdvancedMultiSelect } from "./AdvancedMultiSelect";
4
- export { default as AdvancedGroupMultiSelect } from "./AdvancedGroupMultiSelect";
1
+ export { default as MultiSelect } from './MultiSelect';
2
+ export { default as MultiSelectWithAvatar } from './MultiSelectWithAvatar';
3
+ export { default as AdvancedMultiSelect } from './AdvancedMultiSelect';
4
+ export { default as AdvancedGroupMultiSelect } from './AdvancedGroupMultiSelect';
@@ -1,4 +1,4 @@
1
- import { getLibraryConfig } from "../../Provider/Config";
1
+ import { getLibraryConfig } from '../../Provider/Config';
2
2
  export const AdvancedGroupMultiSelect_defaultProps = {
3
3
  animationStyle: 'bounce',
4
4
  autoComplete: getLibraryConfig('autoComplete'),
@@ -37,8 +37,7 @@ export const AdvancedGroupMultiSelect_defaultProps = {
37
37
  needEffect: true,
38
38
  palette: 'default',
39
39
  isLoading: false,
40
- dataSelectorId: 'advancedGroupMultiSelect',
41
- customProps: {}
40
+ dataSelectorId: 'advancedGroupMultiSelect'
42
41
  };
43
42
  export const AdvancedMultiSelect_defaultProps = {
44
43
  animationStyle: 'bounce',
@@ -155,14 +154,13 @@ export const MultiSelectWithAvatar_defaultProps = {
155
154
  isLoading: false,
156
155
  dataSelectorId: 'multiSelectWithAvatar',
157
156
  keepSelectedOptions: false,
158
- needResponsive: true,
159
- customProps: {}
157
+ customProps: {},
158
+ needResponsive: true
160
159
  };
161
160
  export const SelectedOptions_defaultProps = {
162
161
  size: 'medium',
163
162
  dataId: 'selectedOptions'
164
163
  };
165
164
  export const Suggestions_defaultProps = {
166
- a11y: {},
167
- needMultiLineText: false
165
+ a11y: {}
168
166
  };
@@ -110,8 +110,7 @@ export const MultiSelect_propTypes = {
110
110
  setAriaId: PropTypes.string,
111
111
  ariaErrorId: PropTypes.string,
112
112
  customProps: PropTypes.shape({
113
- TextBoxIconProps: PropTypes.object,
114
- suggestionsProps: PropTypes.object
113
+ TextBoxIconProps: PropTypes.object
115
114
  })
116
115
  };
117
116
  export const MultiSelectHeader_propTypes = {
@@ -177,8 +176,7 @@ export const Suggestions_propTypes = {
177
176
  logo: PropTypes.string,
178
177
  optionType: PropTypes.string,
179
178
  listItemProps: PropTypes.object
180
- })),
181
- needMultiLineText: PropTypes.bool
179
+ }))
182
180
  };
183
181
  export const AdvancedGroupMultiSelect_propTypes = {
184
182
  animationStyle: PropTypes.string,
@@ -248,8 +246,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
248
246
  needToCloseOnSelect: PropTypes.func,
249
247
  searchStr: PropTypes.string,
250
248
  children: PropTypes.node,
251
- dataSelectorId: PropTypes.string,
252
- customProps: PropTypes.string
249
+ dataSelectorId: PropTypes.string
253
250
  };
254
251
  export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
255
252
  selectedOptionDetails: PropTypes.string,
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { PopOver_defaultProps, PopOverContainer_defaultProps } from "./props/defaultProps";
3
- import { PopOver_propTypes, PopOverTarget_propTypes, PopOverContainer_propTypes } from "./props/propTypes";
4
- import Popup from "../Popup/Popup";
5
- import { Box } from "../Layout";
6
- import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox";
7
- import style from "./PopOver.module.css";
2
+ import { PopOver_defaultProps, PopOverContainer_defaultProps } from './props/defaultProps';
3
+ import { PopOver_propTypes, PopOverTarget_propTypes, PopOverContainer_propTypes } from './props/propTypes';
4
+ import Popup from '../Popup/Popup';
5
+ import { Box } from '../Layout';
6
+ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
7
+ import style from './PopOver.module.css';
8
8
 
9
9
  class PopOver extends React.Component {
10
10
  constructor(props) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import PopOver from "../PopOver";
3
+ import PopOver from '../PopOver';
4
4
  describe('PopOver', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,3 +1,3 @@
1
- export { default as PopOver } from "./PopOver";
2
- export { PopOverTarget } from "./PopOver";
3
- export { PopOverContainer } from "./PopOver";
1
+ export { default as PopOver } from './PopOver';
2
+ export { PopOverTarget } from './PopOver';
3
+ export { PopOverContainer } from './PopOver';
package/es/Popup/Popup.js CHANGED
@@ -1,14 +1,14 @@
1
1
  /**** Libraries ****/
2
2
  import React from 'react';
3
3
  import hoistStatics from 'hoist-non-react-statics';
4
- import { PopupPropTypes, ContextTypes } from "./props/propTypes";
4
+ import { PopupPropTypes, ContextTypes } from './props/propTypes';
5
5
  /**** Methods ****/
6
6
 
7
- import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from "../utils/Common.js";
8
- import viewPort from "./viewPort";
9
- import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from "./PositionMapping.js";
7
+ import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from '../utils/Common.js';
8
+ import viewPort from './viewPort';
9
+ import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from './PositionMapping.js';
10
10
  import ResizeObserver from '@zohodesk/virtualizer/lib/commons/ResizeObserver.js';
11
- import { addIntersectionObserver, removeIntersectionObserver } from "./intersectionObserver";
11
+ import { addIntersectionObserver, removeIntersectionObserver } from './intersectionObserver';
12
12
  let lastOpenedGroup = [];
13
13
  let popups = {};
14
14
 
@@ -95,6 +95,8 @@ const Popup = function (Component) {
95
95
  this.preventKeyboardScroll = this.preventKeyboardScroll.bind(this);
96
96
  this.addScrollBlockListeners = this.addScrollBlockListeners.bind(this);
97
97
  this.removeScrollBlockListeners = this.removeScrollBlockListeners.bind(this);
98
+ this.handleAddingScrollBlock = this.handleAddingScrollBlock.bind(this);
99
+ this.handleRemovingScrollBlock = this.handleRemovingScrollBlock.bind(this);
98
100
  this.handleIntersectionObserver = this.handleIntersectionObserver.bind(this);
99
101
  this.popupObserver = new ResizeObserver(this.handlePopupResize); //dropBoxSize
100
102
 
@@ -152,9 +154,7 @@ const Popup = function (Component) {
152
154
  dropElement
153
155
  } = this;
154
156
  const {
155
- needResizeHandling: propResizeHandling,
156
- isAbsolutePositioningNeeded,
157
- isOutsideScrollBlocked
157
+ needResizeHandling: propResizeHandling
158
158
  } = this.props;
159
159
 
160
160
  if (oldStateOpen !== isPopupReady) {
@@ -165,14 +165,10 @@ const Popup = function (Component) {
165
165
  this.popupObserver.disconnect();
166
166
  }
167
167
 
168
- if (isOutsideScrollBlocked && !isAbsolutePositioningNeeded) {
169
- if (isPopupReady) {
170
- addIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
171
- this.addScrollBlockListeners();
172
- } else {
173
- removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
174
- this.removeScrollBlockListeners();
175
- }
168
+ if (isPopupReady) {
169
+ this.handleAddingScrollBlock();
170
+ } else {
171
+ this.handleRemovingScrollBlock();
176
172
  }
177
173
  }
178
174
  }
@@ -189,8 +185,7 @@ const Popup = function (Component) {
189
185
 
190
186
  return res;
191
187
  }, popups);
192
- removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
193
- this.removeScrollBlockListeners();
188
+ this.handleRemovingScrollBlock();
194
189
  let noPopups = true;
195
190
 
196
191
  for (const i in popups) {
@@ -215,6 +210,30 @@ const Popup = function (Component) {
215
210
  }
216
211
  }
217
212
 
213
+ handleAddingScrollBlock() {
214
+ const {
215
+ isAbsolutePositioningNeeded,
216
+ isOutsideScrollBlocked
217
+ } = this.props;
218
+
219
+ if (isOutsideScrollBlocked && !isAbsolutePositioningNeeded) {
220
+ addIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
221
+ this.addScrollBlockListeners();
222
+ }
223
+ }
224
+
225
+ handleRemovingScrollBlock() {
226
+ const {
227
+ isAbsolutePositioningNeeded,
228
+ isOutsideScrollBlocked
229
+ } = this.props;
230
+
231
+ if (isOutsideScrollBlocked && !isAbsolutePositioningNeeded) {
232
+ removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
233
+ this.removeScrollBlockListeners();
234
+ }
235
+ }
236
+
218
237
  addScrollBlockListeners() {
219
238
  document.addEventListener('wheel', this.handleBlockScroll, {
220
239
  capture: true,
@@ -2,38 +2,48 @@ let observerCallbacks = null;
2
2
  let intersectionObserver = null;
3
3
 
4
4
  function handleObserverCallbacks(entries) {
5
- entries.map((entry, i) => {
5
+ entries.forEach(entry => {
6
6
  let oldCallbacks = observerCallbacks.get(entry.target);
7
- oldCallbacks.length && oldCallbacks.forEach(callback => {
8
- callback && callback(entry);
9
- });
7
+
8
+ if (Array.isArray(oldCallbacks) && oldCallbacks.length) {
9
+ oldCallbacks.forEach(callback => {
10
+ callback && callback(entry);
11
+ });
12
+ }
10
13
  });
11
14
  }
12
15
 
13
16
  export function addIntersectionObserver(element, callback, options) {
14
- if (intersectionObserver === null && observerCallbacks === null) {
15
- intersectionObserver = new IntersectionObserver(entries => {
16
- handleObserverCallbacks(entries);
17
- }, options);
18
- observerCallbacks = new Map();
19
- }
17
+ if (!!element && typeof callback == 'function') {
18
+ if (intersectionObserver === null && observerCallbacks === null) {
19
+ intersectionObserver = new IntersectionObserver(entries => {
20
+ handleObserverCallbacks(entries);
21
+ }, options);
22
+ observerCallbacks = new Map();
23
+ }
20
24
 
21
- intersectionObserver.observe(element);
22
- let oldCallbacks = observerCallbacks.get(element) || [];
23
- observerCallbacks.set(element, [...oldCallbacks, callback]);
25
+ intersectionObserver.observe(element);
26
+ let oldCallbacks = observerCallbacks.get(element) || [];
27
+ observerCallbacks.set(element, [...oldCallbacks, callback]);
28
+ }
24
29
  }
25
30
  export function removeIntersectionObserver(element, callback) {
26
- let oldCallbacks = observerCallbacks ? observerCallbacks.get(element) : [];
27
- oldCallbacks = oldCallbacks.filter(handler => handler !== callback);
31
+ if (!!element && typeof callback == 'function') {
32
+ let oldCallbacks = observerCallbacks ? observerCallbacks.get(element) : null;
28
33
 
29
- if (intersectionObserver && oldCallbacks.length === 0) {
30
- observerCallbacks.delete(element);
31
- intersectionObserver.unobserve(element);
32
- }
34
+ if (Array.isArray(oldCallbacks)) {
35
+ let callbacks = oldCallbacks.filter(handler => handler !== callback);
36
+
37
+ if (intersectionObserver && callbacks.length === 0) {
38
+ observerCallbacks.delete(element);
39
+ intersectionObserver.unobserve(element);
40
+ }
41
+ }
33
42
 
34
- if (intersectionObserver && observerCallbacks && observerCallbacks.size === 0) {
35
- intersectionObserver.disconnect();
36
- intersectionObserver = null;
37
- observerCallbacks = null;
43
+ if (intersectionObserver && observerCallbacks && observerCallbacks.size === 0) {
44
+ intersectionObserver.disconnect();
45
+ intersectionObserver = null;
46
+ observerCallbacks = null;
47
+ }
38
48
  }
39
49
  }
@@ -1,4 +1,4 @@
1
- import style from "../common/avatarsizes.module.css";
1
+ import style from '../common/avatarsizes.module.css';
2
2
  let styleList = {
3
3
  small: style.small,
4
4
  xsmall: style.xsmall,
@@ -1,4 +1,4 @@
1
- import style from "../common/common.module.css";
1
+ import style from '../common/common.module.css';
2
2
  let styleList = {
3
3
  hide: style.hide,
4
4
  isDisabled: style.disabled,