@zohodesk/components 1.0.0-temp-164 → 1.0.0-temp-165

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 (560) hide show
  1. package/README.md +1237 -1212
  2. package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
  3. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
  4. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
  6. package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
  7. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
  8. package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
  9. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
  10. package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
  11. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
  12. package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
  13. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
  14. package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
  15. package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
  16. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
  17. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
  18. package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
  19. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
  20. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
  21. package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
  22. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
  23. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
  24. package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
  25. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
  26. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
  27. package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
  28. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
  29. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
  30. package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
  31. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
  32. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
  33. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
  34. package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
  35. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
  36. package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
  37. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
  38. package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
  39. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
  40. package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
  41. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
  42. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  43. package/es/Accordion/Accordion.js +8 -3
  44. package/es/Accordion/AccordionItem.js +5 -2
  45. package/es/Animation/Animation.js +3 -3
  46. package/es/AppContainer/AppContainer.js +27 -10
  47. package/es/AppContainer/AppContainer.module.css +18 -18
  48. package/es/AppContainer/props/defaultProps.js +2 -1
  49. package/es/AppContainer/props/propTypes.js +1 -0
  50. package/es/Avatar/Avatar.js +35 -20
  51. package/es/Avatar/Avatar.module.css +175 -175
  52. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  53. package/es/AvatarTeam/AvatarTeam.js +11 -10
  54. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  55. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  56. package/es/Button/Button.js +9 -7
  57. package/es/Button/css/Button.module.css +525 -525
  58. package/es/Buttongroup/Buttongroup.js +5 -4
  59. package/es/Buttongroup/Buttongroup.module.css +105 -106
  60. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  61. package/es/Card/Card.js +25 -14
  62. package/es/Card/Card.module.css +20 -20
  63. package/es/CheckBox/CheckBox.js +5 -3
  64. package/es/CheckBox/CheckBox.module.css +157 -157
  65. package/es/DateTime/CalendarView.js +33 -20
  66. package/es/DateTime/DateTime.js +78 -11
  67. package/es/DateTime/DateTime.module.css +235 -235
  68. package/es/DateTime/DateTimePopupFooter.js +4 -2
  69. package/es/DateTime/DateTimePopupHeader.js +8 -2
  70. package/es/DateTime/DateWidget.js +100 -35
  71. package/es/DateTime/DateWidget.module.css +38 -38
  72. package/es/DateTime/DaysRow.js +4 -2
  73. package/es/DateTime/Time.js +10 -2
  74. package/es/DateTime/YearView.js +28 -4
  75. package/es/DateTime/YearView.module.css +98 -98
  76. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  77. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  78. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  79. package/es/DateTime/common.js +3 -0
  80. package/es/DateTime/constants.js +1 -0
  81. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  82. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  83. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  84. package/es/DateTime/dateFormatUtils/index.js +32 -2
  85. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  86. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  87. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  88. package/es/DateTime/index.js +0 -0
  89. package/es/DateTime/objectUtils.js +14 -20
  90. package/es/DateTime/props/defaultProps.js +2 -1
  91. package/es/DateTime/typeChecker.js +3 -0
  92. package/es/DateTime/validator.js +58 -6
  93. package/es/DropBox/DropBox.js +9 -5
  94. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  95. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  96. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  97. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  98. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  99. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  100. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  101. package/es/DropBox/css/DropBox.module.css +58 -58
  102. package/es/DropBox/props/defaultProps.js +1 -2
  103. package/es/DropBox/props/propTypes.js +1 -2
  104. package/es/DropDown/DropDown.js +10 -5
  105. package/es/DropDown/DropDown.module.css +5 -5
  106. package/es/DropDown/DropDownHeading.js +5 -5
  107. package/es/DropDown/DropDownHeading.module.css +53 -53
  108. package/es/DropDown/DropDownItem.js +8 -1
  109. package/es/DropDown/DropDownItem.module.css +94 -94
  110. package/es/DropDown/DropDownSearch.js +4 -0
  111. package/es/DropDown/DropDownSearch.module.css +14 -14
  112. package/es/DropDown/DropDownSeparator.js +1 -0
  113. package/es/DropDown/DropDownSeparator.module.css +7 -7
  114. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  115. package/es/Heading/Heading.js +3 -3
  116. package/es/Heading/Heading.module.css +4 -4
  117. package/es/Label/Label.js +12 -7
  118. package/es/Label/Label.module.css +52 -52
  119. package/es/Label/LabelColors.module.css +20 -20
  120. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  121. package/es/Label/props/propTypes.js +4 -1
  122. package/es/Layout/Box.js +17 -3
  123. package/es/Layout/Container.js +16 -4
  124. package/es/Layout/Layout.module.css +335 -335
  125. package/es/Layout/index.js +1 -2
  126. package/es/Layout/props/defaultProps.js +2 -0
  127. package/es/Layout/props/propTypes.js +2 -0
  128. package/es/Layout/utils.js +5 -1
  129. package/es/ListItem/ListContainer.js +8 -3
  130. package/es/ListItem/ListItem.js +9 -3
  131. package/es/ListItem/ListItem.module.css +216 -216
  132. package/es/ListItem/ListItemWithAvatar.js +9 -3
  133. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  134. package/es/ListItem/ListItemWithIcon.js +8 -3
  135. package/es/ListItem/ListItemWithRadio.js +7 -3
  136. package/es/Modal/Modal.js +28 -11
  137. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -18
  138. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  139. package/es/MultiSelect/EmptyState.js +6 -0
  140. package/es/MultiSelect/MultiSelect.js +105 -37
  141. package/es/MultiSelect/MultiSelect.module.css +206 -206
  142. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  143. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  144. package/es/MultiSelect/SelectedOptions.js +6 -3
  145. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  146. package/es/MultiSelect/Suggestions.js +7 -3
  147. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  148. package/es/MultiSelect/props/propTypes.js +2 -0
  149. package/es/PopOver/PopOver.js +18 -2
  150. package/es/PopOver/PopOver.module.css +8 -8
  151. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  152. package/es/Popup/Popup.js +77 -27
  153. package/es/Popup/PositionMapping.json +73 -73
  154. package/es/Popup/__tests__/Popup.spec.js +17 -5
  155. package/es/Popup/viewPort.js +16 -4
  156. package/es/Provider/IdProvider.js +10 -5
  157. package/es/Provider/LibraryContext.js +6 -4
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  159. package/es/Provider/ZindexProvider.js +9 -2
  160. package/es/Radio/Radio.js +4 -2
  161. package/es/Radio/Radio.module.css +112 -112
  162. package/es/Responsive/CustomResponsive.js +30 -18
  163. package/es/Responsive/RefWrapper.js +6 -7
  164. package/es/Responsive/ResizeComponent.js +35 -25
  165. package/es/Responsive/ResizeObserver.js +26 -6
  166. package/es/Responsive/Responsive.js +34 -20
  167. package/es/Responsive/index.js +1 -3
  168. package/es/Responsive/sizeObservers.js +28 -7
  169. package/es/Responsive/utils/index.js +7 -5
  170. package/es/Responsive/utils/shallowCompare.js +7 -2
  171. package/es/Responsive/windowResizeObserver.js +7 -0
  172. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  173. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  174. package/es/Ribbon/Ribbon.js +4 -2
  175. package/es/Ribbon/Ribbon.module.css +454 -456
  176. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  177. package/es/RippleEffect/RippleEffect.js +1 -3
  178. package/es/RippleEffect/RippleEffect.module.css +92 -92
  179. package/es/Select/GroupSelect.js +59 -14
  180. package/es/Select/Select.js +81 -34
  181. package/es/Select/Select.module.css +108 -108
  182. package/es/Select/SelectWithAvatar.js +19 -4
  183. package/es/Select/SelectWithIcon.js +48 -6
  184. package/es/Select/__tests__/Select.spec.js +6 -8
  185. package/es/Select/props/propTypes.js +1 -0
  186. package/es/Stencils/Stencils.js +3 -3
  187. package/es/Stencils/Stencils.module.css +96 -96
  188. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  189. package/es/Switch/Switch.js +6 -3
  190. package/es/Switch/Switch.module.css +127 -127
  191. package/es/Tab/Tab.js +4 -4
  192. package/es/Tab/Tab.module.css +100 -100
  193. package/es/Tab/TabContent.js +1 -0
  194. package/es/Tab/TabContent.module.css +4 -4
  195. package/es/Tab/TabContentWrapper.js +2 -0
  196. package/es/Tab/TabWrapper.js +5 -2
  197. package/es/Tab/Tabs.js +73 -25
  198. package/es/Tab/Tabs.module.css +136 -154
  199. package/es/Tab/__tests__/Tab.spec.js +1 -3
  200. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  201. package/es/Tag/Tag.js +15 -11
  202. package/es/Tag/Tag.module.css +254 -254
  203. package/es/TextBox/TextBox.js +16 -3
  204. package/es/TextBox/TextBox.module.css +158 -158
  205. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  206. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  207. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  208. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  209. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  210. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  211. package/es/Textarea/Textarea.js +13 -3
  212. package/es/Textarea/Textarea.module.css +139 -139
  213. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  214. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  215. package/es/Tooltip/Tooltip.js +60 -15
  216. package/es/Tooltip/Tooltip.module.css +140 -140
  217. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  218. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  219. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  220. package/es/common/a11y.module.css +3 -3
  221. package/es/common/animation.module.css +624 -624
  222. package/es/common/avatarsizes.module.css +48 -48
  223. package/es/common/basic.module.css +33 -33
  224. package/es/common/basicReset.module.css +40 -40
  225. package/es/common/boxShadow.module.css +33 -33
  226. package/es/common/common.module.css +524 -524
  227. package/es/common/customscroll.module.css +91 -91
  228. package/es/common/reset.module.css +13 -13
  229. package/es/common/transition.module.css +146 -146
  230. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  231. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  232. package/es/semantic/Button/Button.js +4 -2
  233. package/es/semantic/Button/semanticButton.module.css +9 -9
  234. package/es/utils/Common.js +58 -9
  235. package/es/utils/ContextOptimizer.js +4 -5
  236. package/es/utils/__tests__/debounce.spec.js +2 -2
  237. package/es/utils/constructFullName.js +2 -0
  238. package/es/utils/css/compileClassNames.js +5 -0
  239. package/es/utils/css/mergeStyle.js +7 -6
  240. package/es/utils/css/utils.js +1 -0
  241. package/es/utils/datetime/GMTZones.js +48 -0
  242. package/es/utils/datetime/common.js +31 -7
  243. package/es/utils/debounce.js +5 -1
  244. package/es/utils/dropDownUtils.js +68 -11
  245. package/es/utils/getInitial.js +4 -0
  246. package/es/utils/shallowEqual.js +6 -0
  247. package/install.md +10 -10
  248. package/lib/Accordion/Accordion.js +43 -18
  249. package/lib/Accordion/AccordionItem.js +41 -18
  250. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  251. package/lib/Accordion/index.js +3 -0
  252. package/lib/Accordion/props/propTypes.js +3 -0
  253. package/lib/Animation/Animation.js +38 -18
  254. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/AppContainer/AppContainer.js +66 -26
  257. package/lib/AppContainer/AppContainer.module.css +18 -18
  258. package/lib/AppContainer/props/defaultProps.js +2 -1
  259. package/lib/AppContainer/props/propTypes.js +4 -0
  260. package/lib/Avatar/Avatar.js +90 -47
  261. package/lib/Avatar/Avatar.module.css +175 -175
  262. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  263. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  264. package/lib/Avatar/props/propTypes.js +3 -0
  265. package/lib/AvatarTeam/AvatarTeam.js +60 -37
  266. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  267. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  268. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  269. package/lib/AvatarTeam/props/propTypes.js +3 -0
  270. package/lib/Button/Button.js +36 -24
  271. package/lib/Button/css/Button.module.css +525 -525
  272. package/lib/Button/css/cssJSLogic.js +18 -17
  273. package/lib/Button/index.js +3 -0
  274. package/lib/Button/props/defaultProps.js +2 -0
  275. package/lib/Button/props/propTypes.js +3 -0
  276. package/lib/Buttongroup/Buttongroup.js +34 -13
  277. package/lib/Buttongroup/Buttongroup.module.css +105 -106
  278. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  279. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  280. package/lib/Buttongroup/props/propTypes.js +3 -0
  281. package/lib/Card/Card.js +106 -50
  282. package/lib/Card/Card.module.css +20 -20
  283. package/lib/Card/__tests__/Card.spec.js +10 -1
  284. package/lib/Card/index.js +4 -0
  285. package/lib/Card/props/propTypes.js +3 -0
  286. package/lib/CheckBox/CheckBox.js +71 -47
  287. package/lib/CheckBox/CheckBox.module.css +157 -157
  288. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  289. package/lib/CheckBox/props/propTypes.js +3 -0
  290. package/lib/DateTime/CalendarView.js +83 -42
  291. package/lib/DateTime/DateTime.js +249 -159
  292. package/lib/DateTime/DateTime.module.css +235 -235
  293. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  294. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  295. package/lib/DateTime/DateWidget.js +354 -250
  296. package/lib/DateTime/DateWidget.module.css +38 -38
  297. package/lib/DateTime/DaysRow.js +27 -5
  298. package/lib/DateTime/Time.js +73 -32
  299. package/lib/DateTime/YearView.js +77 -28
  300. package/lib/DateTime/YearView.module.css +98 -98
  301. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  302. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  303. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  304. package/lib/DateTime/common.js +6 -0
  305. package/lib/DateTime/constants.js +1 -0
  306. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  307. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  308. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  309. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  310. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  311. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  312. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  313. package/lib/DateTime/index.js +2 -0
  314. package/lib/DateTime/objectUtils.js +24 -20
  315. package/lib/DateTime/props/defaultProps.js +2 -1
  316. package/lib/DateTime/props/propTypes.js +11 -1
  317. package/lib/DateTime/typeChecker.js +4 -0
  318. package/lib/DateTime/validator.js +73 -10
  319. package/lib/DropBox/DropBox.js +36 -12
  320. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  321. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  322. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  323. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  324. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  325. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  326. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  327. package/lib/DropBox/css/DropBox.module.css +58 -58
  328. package/lib/DropBox/css/cssJSLogic.js +3 -1
  329. package/lib/DropBox/props/defaultProps.js +8 -4
  330. package/lib/DropBox/props/propTypes.js +10 -4
  331. package/lib/DropDown/DropDown.js +54 -9
  332. package/lib/DropDown/DropDown.module.css +5 -5
  333. package/lib/DropDown/DropDownHeading.js +40 -20
  334. package/lib/DropDown/DropDownHeading.module.css +53 -53
  335. package/lib/DropDown/DropDownItem.js +44 -21
  336. package/lib/DropDown/DropDownItem.module.css +94 -94
  337. package/lib/DropDown/DropDownSearch.js +40 -17
  338. package/lib/DropDown/DropDownSearch.module.css +14 -14
  339. package/lib/DropDown/DropDownSeparator.js +24 -4
  340. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  341. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  342. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  343. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  344. package/lib/DropDown/index.js +9 -0
  345. package/lib/DropDown/props/propTypes.js +6 -4
  346. package/lib/Heading/Heading.js +39 -16
  347. package/lib/Heading/Heading.module.css +4 -4
  348. package/lib/Heading/props/propTypes.js +3 -0
  349. package/lib/Label/Label.js +45 -20
  350. package/lib/Label/Label.module.css +52 -52
  351. package/lib/Label/LabelColors.module.css +20 -20
  352. package/lib/Label/__tests__/Label.spec.js +14 -1
  353. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  354. package/lib/Label/props/propTypes.js +7 -1
  355. package/lib/Layout/Box.js +39 -15
  356. package/lib/Layout/Container.js +37 -14
  357. package/lib/Layout/Layout.module.css +335 -335
  358. package/lib/Layout/__tests__/Box.spec.js +65 -49
  359. package/lib/Layout/__tests__/Container.spec.js +67 -50
  360. package/lib/Layout/index.js +3 -0
  361. package/lib/Layout/props/defaultProps.js +2 -0
  362. package/lib/Layout/props/propTypes.js +5 -0
  363. package/lib/Layout/utils.js +15 -1
  364. package/lib/ListItem/ListContainer.js +48 -27
  365. package/lib/ListItem/ListItem.js +69 -45
  366. package/lib/ListItem/ListItem.module.css +216 -216
  367. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  368. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  369. package/lib/ListItem/ListItemWithIcon.js +68 -44
  370. package/lib/ListItem/ListItemWithRadio.js +65 -41
  371. package/lib/ListItem/index.js +7 -0
  372. package/lib/ListItem/props/propTypes.js +6 -4
  373. package/lib/Modal/Modal.js +45 -10
  374. package/lib/Modal/props/propTypes.js +3 -0
  375. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -171
  376. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  377. package/lib/MultiSelect/EmptyState.js +49 -24
  378. package/lib/MultiSelect/MultiSelect.js +329 -211
  379. package/lib/MultiSelect/MultiSelect.module.css +206 -206
  380. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  381. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  382. package/lib/MultiSelect/SelectedOptions.js +43 -17
  383. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  384. package/lib/MultiSelect/Suggestions.js +64 -32
  385. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  386. package/lib/MultiSelect/index.js +5 -0
  387. package/lib/MultiSelect/props/defaultProps.js +2 -0
  388. package/lib/MultiSelect/props/propTypes.js +5 -0
  389. package/lib/PopOver/PopOver.js +95 -49
  390. package/lib/PopOver/PopOver.module.css +8 -8
  391. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  392. package/lib/PopOver/index.js +4 -0
  393. package/lib/PopOver/props/propTypes.js +3 -0
  394. package/lib/Popup/Popup.js +158 -84
  395. package/lib/Popup/PositionMapping.json +73 -73
  396. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  397. package/lib/Popup/viewPort.js +28 -14
  398. package/lib/Provider/AvatarSize.js +4 -0
  399. package/lib/Provider/Config.js +2 -0
  400. package/lib/Provider/CssProvider.js +4 -0
  401. package/lib/Provider/IdProvider.js +17 -6
  402. package/lib/Provider/LibraryContext.js +35 -15
  403. package/lib/Provider/LibraryContextInit.js +4 -0
  404. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  405. package/lib/Provider/ZindexProvider.js +15 -3
  406. package/lib/Provider/index.js +5 -0
  407. package/lib/Radio/Radio.js +61 -38
  408. package/lib/Radio/Radio.module.css +112 -112
  409. package/lib/Radio/__tests__/Radiospec.js +9 -5
  410. package/lib/Radio/props/propTypes.js +3 -0
  411. package/lib/Responsive/CustomResponsive.js +73 -29
  412. package/lib/Responsive/RefWrapper.js +17 -11
  413. package/lib/Responsive/ResizeComponent.js +62 -36
  414. package/lib/Responsive/ResizeObserver.js +24 -10
  415. package/lib/Responsive/Responsive.js +80 -30
  416. package/lib/Responsive/index.js +4 -0
  417. package/lib/Responsive/props/propTypes.js +3 -0
  418. package/lib/Responsive/sizeObservers.js +53 -17
  419. package/lib/Responsive/utils/index.js +11 -3
  420. package/lib/Responsive/utils/shallowCompare.js +11 -2
  421. package/lib/Responsive/windowResizeObserver.js +8 -0
  422. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  423. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  424. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  425. package/lib/Ribbon/Ribbon.js +34 -13
  426. package/lib/Ribbon/Ribbon.module.css +454 -456
  427. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  428. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  429. package/lib/Ribbon/props/propTypes.js +3 -0
  430. package/lib/RippleEffect/RippleEffect.js +18 -10
  431. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  432. package/lib/RippleEffect/props/propTypes.js +3 -0
  433. package/lib/Select/GroupSelect.js +230 -130
  434. package/lib/Select/Select.js +292 -210
  435. package/lib/Select/Select.module.css +108 -108
  436. package/lib/Select/SelectWithAvatar.js +104 -56
  437. package/lib/Select/SelectWithIcon.js +134 -77
  438. package/lib/Select/__tests__/Select.spec.js +133 -91
  439. package/lib/Select/index.js +5 -0
  440. package/lib/Select/props/defaultProps.js +5 -4
  441. package/lib/Select/props/propTypes.js +4 -0
  442. package/lib/Stencils/Stencils.js +29 -10
  443. package/lib/Stencils/Stencils.module.css +96 -96
  444. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  445. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  446. package/lib/Stencils/props/propTypes.js +3 -0
  447. package/lib/Switch/Switch.js +58 -34
  448. package/lib/Switch/Switch.module.css +127 -127
  449. package/lib/Switch/props/propTypes.js +3 -0
  450. package/lib/Tab/Tab.js +40 -27
  451. package/lib/Tab/Tab.module.css +100 -100
  452. package/lib/Tab/TabContent.js +12 -5
  453. package/lib/Tab/TabContent.module.css +4 -4
  454. package/lib/Tab/TabContentWrapper.js +13 -6
  455. package/lib/Tab/TabWrapper.js +37 -19
  456. package/lib/Tab/Tabs.js +184 -103
  457. package/lib/Tab/Tabs.module.css +136 -154
  458. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  459. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  460. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  461. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  462. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  463. package/lib/Tab/index.js +6 -0
  464. package/lib/Tab/props/propTypes.js +3 -0
  465. package/lib/Tag/Tag.js +81 -51
  466. package/lib/Tag/Tag.module.css +254 -254
  467. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  468. package/lib/Tag/props/propTypes.js +3 -0
  469. package/lib/TextBox/TextBox.js +86 -59
  470. package/lib/TextBox/TextBox.module.css +158 -158
  471. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  472. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  473. package/lib/TextBox/props/propTypes.js +6 -4
  474. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  475. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  476. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  477. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  478. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  479. package/lib/Textarea/Textarea.js +55 -29
  480. package/lib/Textarea/Textarea.module.css +139 -139
  481. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  482. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  483. package/lib/Textarea/props/propTypes.js +3 -0
  484. package/lib/Tooltip/Tooltip.js +96 -32
  485. package/lib/Tooltip/Tooltip.module.css +140 -140
  486. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  487. package/lib/Tooltip/props/propTypes.js +3 -0
  488. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  489. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  490. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  491. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  492. package/lib/VelocityAnimation/index.js +3 -0
  493. package/lib/common/a11y.module.css +3 -3
  494. package/lib/common/animation.module.css +624 -624
  495. package/lib/common/avatarsizes.module.css +48 -48
  496. package/lib/common/basic.module.css +33 -33
  497. package/lib/common/basicReset.module.css +40 -40
  498. package/lib/common/boxShadow.module.css +33 -33
  499. package/lib/common/common.module.css +524 -524
  500. package/lib/common/customscroll.module.css +91 -91
  501. package/lib/common/reset.module.css +13 -13
  502. package/lib/common/transition.module.css +146 -146
  503. package/lib/css.js +40 -0
  504. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  505. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  506. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  507. package/lib/index.js +57 -0
  508. package/lib/semantic/Button/Button.js +43 -22
  509. package/lib/semantic/Button/props/propTypes.js +3 -0
  510. package/lib/semantic/Button/semanticButton.module.css +9 -9
  511. package/lib/semantic/index.js +2 -0
  512. package/lib/utils/Common.js +117 -19
  513. package/lib/utils/ContextOptimizer.js +16 -10
  514. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  515. package/lib/utils/__tests__/debounce.spec.js +3 -2
  516. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  517. package/lib/utils/constructFullName.js +13 -4
  518. package/lib/utils/css/compileClassNames.js +6 -0
  519. package/lib/utils/css/mergeStyle.js +10 -7
  520. package/lib/utils/css/utils.js +8 -0
  521. package/lib/utils/datetime/GMTZones.js +55 -0
  522. package/lib/utils/datetime/common.js +52 -7
  523. package/lib/utils/debounce.js +6 -1
  524. package/lib/utils/dropDownUtils.js +175 -59
  525. package/lib/utils/dummyFunction.js +2 -0
  526. package/lib/utils/getHTMLFontSize.js +1 -0
  527. package/lib/utils/getInitial.js +6 -0
  528. package/lib/utils/index.js +4 -0
  529. package/lib/utils/scrollTo.js +2 -0
  530. package/lib/utils/shallowEqual.js +8 -0
  531. package/package.json +113 -123
  532. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
  533. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
  534. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
  535. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
  536. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
  537. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
  538. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
  539. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
  540. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
  541. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
  542. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
  543. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
  544. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
  545. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
  546. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
  547. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
  548. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
  549. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
  550. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
  551. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
  552. package/assets/Contrast/lightContrastLightness.module.css +0 -39
  553. /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
  554. /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
  555. /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
  556. /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
  557. /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
  558. /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
  559. /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
  560. /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
@@ -2,8 +2,8 @@
2
2
  import React, { PureComponent } from 'react';
3
3
  import { GroupSelect_defaultProps } from './props/defaultProps';
4
4
  import { GroupSelect_propTypes } from './props/propTypes';
5
-
6
5
  /**** Components ****/
6
+
7
7
  import Popup from '../Popup/Popup';
8
8
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
9
9
  import Textbox from '../TextBox/TextBox';
@@ -18,13 +18,14 @@ import { getUniqueId } from '../Provider/IdProvider';
18
18
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
19
19
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
20
20
  import style from './Select.module.css';
21
-
22
21
  /**** Methods ****/
22
+
23
23
  import { makeGetGroupSelectOptions, optionIdGrouping, makeGetGroupSelectFilterSuggestions, extractOptionId } from '../utils/dropDownUtils';
24
24
  import { getIsEmptyValue, scrollTo, debounce, getSearchString, findScrollEnd } from '../utils/Common';
25
-
26
25
  /* eslint-disable react/no-unused-prop-types */
26
+
27
27
  /* eslint-disable react/sort-prop-types */
28
+
28
29
  /* eslint-disable react/forbid-component-props */
29
30
 
30
31
  export class GroupSelectComponent extends PureComponent {
@@ -84,9 +85,11 @@ export class GroupSelectComponent extends PureComponent {
84
85
  };
85
86
  this._isMounted = false;
86
87
  }
88
+
87
89
  componentDidMount() {
88
90
  this._isMounted = true;
89
91
  }
92
+
90
93
  componentDidUpdate(prevProps) {
91
94
  let {
92
95
  groupedOptions,
@@ -106,6 +109,7 @@ export class GroupSelectComponent extends PureComponent {
106
109
  } = this;
107
110
  let newOptionIds = allOptionIds;
108
111
  let newSelectedId = selectedId;
112
+
109
113
  if (groupedOptions !== prevProps.groupedOptions) {
110
114
  let {
111
115
  revampedGroups,
@@ -121,6 +125,7 @@ export class GroupSelectComponent extends PureComponent {
121
125
  allOptionIds
122
126
  });
123
127
  }
128
+
124
129
  if (selectedOption !== prevProps.selectedOption) {
125
130
  let {
126
131
  selectedId,
@@ -132,12 +137,14 @@ export class GroupSelectComponent extends PureComponent {
132
137
  hoverIndex
133
138
  });
134
139
  }
140
+
135
141
  let {
136
142
  suggestionOptionIds
137
143
  } = this.handleFilterSuggestions();
138
144
  let hoverId = getIsEmptyValue(suggestionOptionIds[hoverIndex]) ? '' : suggestionOptionIds[hoverIndex];
139
145
  let selSuggestion = this[`suggestion_${hoverId}`];
140
146
  isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
147
+
141
148
  if (isPopupOpen !== prevProps.isPopupOpen) {
142
149
  if (isPopupOpen) {
143
150
  setTimeout(() => {
@@ -156,9 +163,11 @@ export class GroupSelectComponent extends PureComponent {
156
163
  }
157
164
  }
158
165
  }
166
+
159
167
  componentWillUnmount() {
160
168
  this._isMounted = false;
161
169
  }
170
+
162
171
  handleGetGroupSelectOptions(props) {
163
172
  let {
164
173
  groupedOptions
@@ -167,6 +176,7 @@ export class GroupSelectComponent extends PureComponent {
167
176
  groupedOptions
168
177
  });
169
178
  }
179
+
170
180
  handleGetSelectedId(props, allOptionIds) {
171
181
  let {
172
182
  selectedOption,
@@ -178,19 +188,23 @@ export class GroupSelectComponent extends PureComponent {
178
188
  } = selectedOption;
179
189
  let selectedId = optionIdGrouping(selected, groupId);
180
190
  let selectedIdIndex = allOptionIds.indexOf(selectedId);
191
+
181
192
  if (selectedIdIndex === -1) {
182
193
  selectedIdIndex = 0;
194
+
183
195
  if (isDefaultSelectValue) {
184
196
  [selectedId] = allOptionIds;
185
197
  } else {
186
198
  selectedId = '';
187
199
  }
188
200
  }
201
+
189
202
  return {
190
203
  selectedId,
191
204
  hoverIndex: selectedIdIndex
192
205
  };
193
206
  }
207
+
194
208
  handleFilterSuggestions() {
195
209
  let {
196
210
  needSearch,
@@ -201,6 +215,7 @@ export class GroupSelectComponent extends PureComponent {
201
215
  searchStr = '',
202
216
  allOptionIds
203
217
  } = this.state;
218
+
204
219
  if (needSearch && searchStr && searchStr.trim().length) {
205
220
  searchStr = getSearchString(searchStr);
206
221
  let {
@@ -216,11 +231,13 @@ export class GroupSelectComponent extends PureComponent {
216
231
  suggestionOptionIds
217
232
  };
218
233
  }
234
+
219
235
  return {
220
236
  suggestionGroups: revampedGroups,
221
237
  suggestionOptionIds: allOptionIds
222
238
  };
223
239
  }
240
+
224
241
  handleSearchOptions() {
225
242
  let {
226
243
  onSearch
@@ -230,6 +247,7 @@ export class GroupSelectComponent extends PureComponent {
230
247
  } = this.state;
231
248
  searchStr && this.handleFetchOptions(onSearch, searchStr);
232
249
  }
250
+
233
251
  handleSearch(value) {
234
252
  // let { value = '' } = e.target;
235
253
  let {
@@ -252,6 +270,7 @@ export class GroupSelectComponent extends PureComponent {
252
270
  }
253
271
  });
254
272
  }
273
+
255
274
  handleKeyDown(e) {
256
275
  let {
257
276
  isPopupOpen,
@@ -267,33 +286,38 @@ export class GroupSelectComponent extends PureComponent {
267
286
  let {
268
287
  keyCode
269
288
  } = e;
289
+
270
290
  if (!isPopupOpen && !isPopupOpenOnEnter) {
271
291
  onKeyDown && onKeyDown(e);
272
292
  }
293
+
273
294
  if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
274
295
  e.preventDefault(); //prevent body scroll
275
296
  } else if (!isPopupOpen && keyCode === 40) {
276
297
  e.preventDefault(); //prevent body scroll
298
+
277
299
  this.togglePopup(e);
278
300
  }
301
+
279
302
  if (keyCode === 38 && isPopupOpen && suggestionOptionIds.length) {
280
- if (hoverIndex === 0) {
281
- // hoverIndex = options.length - 1;
303
+ if (hoverIndex === 0) {// hoverIndex = options.length - 1;
282
304
  } else {
283
305
  hoverIndex -= 1;
284
306
  }
307
+
285
308
  this.setState({
286
309
  hoverIndex
287
310
  });
288
311
  } else if (keyCode === 40 && isPopupOpen && suggestionOptionIds.length) {
289
- if (hoverIndex === suggestionOptionIds.length - 1) {
290
- // hoverIndex = 0;
312
+ if (hoverIndex === suggestionOptionIds.length - 1) {// hoverIndex = 0;
291
313
  } else {
292
314
  if (hoverIndex === suggestionOptionIds.length - 3) {
293
315
  this.handleGetNextOptions();
294
316
  }
317
+
295
318
  hoverIndex += 1;
296
319
  }
320
+
297
321
  this.setState({
298
322
  hoverIndex
299
323
  });
@@ -304,8 +328,7 @@ export class GroupSelectComponent extends PureComponent {
304
328
  } else if (keyCode === 27) {
305
329
  this.valueInput && this.valueInput.focus({
306
330
  preventScroll: true
307
- });
308
- // this.handlePopupClose(e);
331
+ }); // this.handlePopupClose(e);
309
332
  }
310
333
  }
311
334
 
@@ -321,6 +344,7 @@ export class GroupSelectComponent extends PureComponent {
321
344
  hoverIndex: newHoverIndex
322
345
  });
323
346
  }
347
+
324
348
  handleChange(id, value, index, e) {
325
349
  e && e.preventDefault && e.preventDefault();
326
350
  let {
@@ -334,13 +358,13 @@ export class GroupSelectComponent extends PureComponent {
334
358
  id: selected,
335
359
  groupId
336
360
  } = extractOptionId(id);
361
+
337
362
  if (!getIsEmptyValue(id) && !isReadOnly) {
338
363
  onChange && onChange({
339
364
  groupId,
340
365
  selected
341
366
  }, normalizedAllOptions[id]);
342
- this.handlePopupClose();
343
- // this.valueInput && this.valueInput.focus({preventScroll:true});
367
+ this.handlePopupClose(); // this.valueInput && this.valueInput.focus({preventScroll:true});
344
368
  }
345
369
  }
346
370
 
@@ -352,6 +376,7 @@ export class GroupSelectComponent extends PureComponent {
352
376
  } = this.props;
353
377
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}Center` : null);
354
378
  }
379
+
355
380
  handlePopupClose(e) {
356
381
  let {
357
382
  closePopupOnly,
@@ -362,15 +387,19 @@ export class GroupSelectComponent extends PureComponent {
362
387
  });
363
388
  isPopupOpen && closePopupOnly(e);
364
389
  }
390
+
365
391
  suggestionContainerRef(el) {
366
392
  this.suggestionContainer = el;
367
393
  }
394
+
368
395
  suggestionItemRef(el, index, id) {
369
396
  this[`suggestion_${id}`] = el;
370
397
  }
398
+
371
399
  searchInputRef(el) {
372
400
  this.searchInput = el;
373
401
  }
402
+
374
403
  valueInputRef(el) {
375
404
  let {
376
405
  getRef
@@ -378,12 +407,14 @@ export class GroupSelectComponent extends PureComponent {
378
407
  this.valueInput = el;
379
408
  getRef && getRef(el);
380
409
  }
410
+
381
411
  handleSelectFocus(e) {
382
412
  let {
383
413
  target
384
414
  } = e || {};
385
415
  target && target.setSelectionRange(target, 0);
386
416
  }
417
+
387
418
  handleClearSearch() {
388
419
  this.handleSearch('');
389
420
  setTimeout(() => {
@@ -392,6 +423,7 @@ export class GroupSelectComponent extends PureComponent {
392
423
  });
393
424
  }, 1);
394
425
  }
426
+
395
427
  handleValueInputChange(e) {
396
428
  let {
397
429
  which
@@ -401,22 +433,26 @@ export class GroupSelectComponent extends PureComponent {
401
433
  isPopupOpen,
402
434
  autoSelectOnType
403
435
  } = this.props;
436
+
404
437
  if (!isPopupOpen && autoSelectOnType) {
405
438
  this.valueInputTypeString += (typeString || '').trim();
406
439
  this.handleChangeOnType();
407
440
  }
408
441
  }
442
+
409
443
  handleChangeOnType() {
410
444
  let {
411
445
  revampedGroups
412
446
  } = this.state;
413
447
  let typeString = this.valueInputTypeString;
414
448
  this.valueInputTypeString = '';
449
+
415
450
  let changeValue = () => {
416
451
  let id = this.autoSelectSuggestions[this.autoSelectIndex];
417
452
  let {
418
453
  suggestionOptionIds
419
454
  } = this.handleFilterSuggestions();
455
+
420
456
  if (!getIsEmptyValue(id)) {
421
457
  this.handleChange(id);
422
458
  let hoverIndex = suggestionOptionIds.indexOf(id);
@@ -425,12 +461,14 @@ export class GroupSelectComponent extends PureComponent {
425
461
  });
426
462
  }
427
463
  };
464
+
428
465
  if (typeString && typeString === this.valueInputSearchString) {
429
466
  if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
430
467
  this.autoSelectIndex += 1;
431
468
  } else {
432
469
  this.autoSelectIndex = 0;
433
470
  }
471
+
434
472
  changeValue();
435
473
  } else if (typeString) {
436
474
  this.valueInputSearchString = typeString;
@@ -447,11 +485,13 @@ export class GroupSelectComponent extends PureComponent {
447
485
  changeValue();
448
486
  }
449
487
  }
488
+
450
489
  handleScroll(e) {
451
490
  let ele = e.target;
452
491
  let isScrollReachedBottom = findScrollEnd(ele);
453
492
  isScrollReachedBottom && this.handleGetNextOptions();
454
493
  }
494
+
455
495
  handleFetchOptions(APICall) {
456
496
  let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
457
497
  // let funcArgs = args.slice(1, args.length);
@@ -461,10 +501,12 @@ export class GroupSelectComponent extends PureComponent {
461
501
  let {
462
502
  _isMounted
463
503
  } = this;
504
+
464
505
  if (!isFetchingOptions && APICall) {
465
506
  this.setState({
466
507
  isFetchingOptions: true
467
508
  });
509
+
468
510
  try {
469
511
  return APICall(searchStr).then(() => {
470
512
  _isMounted && this.setState({
@@ -482,6 +524,7 @@ export class GroupSelectComponent extends PureComponent {
482
524
  }
483
525
  }
484
526
  }
527
+
485
528
  handleGetNextOptions() {
486
529
  let {
487
530
  isNextOptions,
@@ -492,6 +535,7 @@ export class GroupSelectComponent extends PureComponent {
492
535
  } = this.state;
493
536
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
494
537
  }
538
+
495
539
  responsiveFunc(_ref) {
496
540
  let {
497
541
  mediaQueryOR
@@ -502,6 +546,7 @@ export class GroupSelectComponent extends PureComponent {
502
546
  }])
503
547
  };
504
548
  }
549
+
505
550
  render() {
506
551
  let {
507
552
  isDisabled,
@@ -570,6 +615,7 @@ export class GroupSelectComponent extends PureComponent {
570
615
  return /*#__PURE__*/React.createElement("div", {
571
616
  className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
572
617
  "data-id": dataIdSlctComp,
618
+ "data-test-id": dataIdSlctComp,
573
619
  "data-title": isDisabled ? title : null,
574
620
  "data-selector-id": dataSelectorId
575
621
  }, /*#__PURE__*/React.createElement("div", {
@@ -737,15 +783,14 @@ export class GroupSelectComponent extends PureComponent {
737
783
  }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
738
784
  }) : null);
739
785
  }
786
+
740
787
  }
741
788
  GroupSelectComponent.propTypes = GroupSelect_propTypes;
742
789
  GroupSelectComponent.defaultProps = GroupSelect_defaultProps;
743
790
  GroupSelectComponent.displayName = 'GroupSelect';
744
791
  let GroupSelect = Popup(GroupSelectComponent);
745
792
  GroupSelect.defaultProps = GroupSelectComponent.defaultProps;
746
- export default GroupSelect;
747
-
748
- // if (__DOCS__) {
793
+ export default GroupSelect; // if (__DOCS__) {
749
794
  // GroupSelect.docs = {
750
795
  // componentGroup: 'Form Elements',
751
796
  // folderName: 'Style Guide'